mirror of https://github.com/CGAL/cgal
Improve documentation of Nef
This commit is contained in:
parent
346f530d07
commit
2f1435c838
|
|
@ -20,7 +20,7 @@ polyhedra in a sorted way and add them one by one to `Nef_nary_union_3`.
|
|||
|
||||
|
||||
*/
|
||||
template< typename Nef_polyhedron_3 >
|
||||
template< typename NefPolyhedron_3 >
|
||||
class Nef_nary_union_3 {
|
||||
public:
|
||||
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ namespace CGAL {
|
|||
`Quotient<Gmpz>` or any other number type modeling \f$\mathbb{Q}\f$.
|
||||
|
||||
The second parameter and the third parameter are for future considerations.
|
||||
Neither `Nef_polyhedronItems_3` nor `Nef_polyhedronMarks` is
|
||||
Neither `NefPolyhedronItems_3` nor `Nef_polyhedronMarks` is
|
||||
specified, yet. Do not use any other than the default types for these two
|
||||
template parameters.
|
||||
|
||||
|
|
@ -49,8 +49,8 @@ namespace CGAL {
|
|||
\sa `CGAL::Polyhedron_3<Traits>`
|
||||
|
||||
*/
|
||||
template< class Nef_polyhedronTraits_3,
|
||||
class Nef_polyhedronItems_3 = CGAL::Default_items<Nef_polyhedronTraits_3>
|
||||
template< class NefPolyhedronTraits_3,
|
||||
class NefPolyhedronItems_3 = CGAL::Default_items<NefPolyhedronTraits_3>
|
||||
class Nef_polyhedronMarks = bool
|
||||
> class Nef_polyhedron_3 {
|
||||
public:
|
||||
|
|
@ -79,7 +79,7 @@ public:
|
|||
function `twin()` returns the opposite halfedge.
|
||||
|
||||
Looking at the incidence structure on a sphere map, the member function
|
||||
`out_sedge` returns the first outgoing shalfedge, and `incident_sface`
|
||||
`out_sedge()` returns the first outgoing shalfedge, and `incident_sface()`
|
||||
returns the incident sface.
|
||||
|
||||
\cgalHeading{Creation}
|
||||
|
|
@ -946,7 +946,7 @@ public:
|
|||
}; /* end Volume */
|
||||
|
||||
/*!
|
||||
traits class selected for `Nef_polyhedronTraits_3`.
|
||||
traits class selected for `NefPolyhedronTraits_3`.
|
||||
*/
|
||||
typedef unspecified_type Traits;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ namespace CGAL {
|
|||
\ingroup PkgNef3IOFunctions
|
||||
|
||||
This function creates a 3D Nef polyhedron from an OFF file which
|
||||
is read from input stream `in`. The purpose of `OFF_to_nef_3`
|
||||
is read from input stream `in`. The purpose of `OFF_to_nef_3()`
|
||||
is to create a Nef polyhedron from an OFF file that cannot be handled
|
||||
by the `Nef_polyhedron_3` constructors. It handles double
|
||||
coordinates while using a homogeneous kernel, non-coplanar facets,
|
||||
|
|
@ -12,10 +12,12 @@ surfaces with boundaries, self-intersecting surfaces, and single
|
|||
facets. Every closed volume gets marked. The function returns the
|
||||
number of facets it could not handle.
|
||||
|
||||
@tparam NefPolyhedron_3 an object of type `Nef_polyhedron_3`.
|
||||
|
||||
\sa `CGAL::Nef_polyhedron_3<Traits>`
|
||||
|
||||
*/
|
||||
template<class Nef_polyhedron_3>
|
||||
std::size_t OFF_to_nef_3(std::istream& in, Nef_polyhedron_3& N);
|
||||
template<class NefPolyhedron_3>
|
||||
std::size_t OFF_to_nef_3(std::istream& in, NefPolyhedron_3& N);
|
||||
|
||||
} /* namespace CGAL */
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
namespace CGAL {
|
||||
|
||||
/// \ingroup PkgNef3IOFunctions
|
||||
/// Converts an object of type `Nef_polyhedron_3` into a polygon mesh model of `MutableFaceGraph`.
|
||||
/// Converts an object of type `NefPolyhedron_3` into a polygon mesh model of `MutableFaceGraph`.
|
||||
/// Note that contrary to `Nef_polyhedron_3::convert_to_polyhedron()`, the output is not triangulated
|
||||
/// (but faces with more than one connected component of the boundary).
|
||||
/// The polygon mesh can be triangulated by setting `triangulate_all_faces` to `true` or by calling the function `triangulate_faces()`.
|
||||
/// @tparam Nef_polyhedron an object of type `Nef_polyhedron_3`.
|
||||
/// @tparam Polygon_mesh a model of `MutableFaceGraph` with an internal property map for `CGAL::vertex_point_t`.
|
||||
/// The polygon mesh can be triangulated by setting `triangulate_all_faces` to `true` or by calling the function `Polygon_mesh_processing::triangulate_faces()`.
|
||||
/// @tparam NefPolyhedron_3 an object of type `Nef_polyhedron_3`.
|
||||
/// @tparam PolygonMesh a model of `MutableFaceGraph` with an internal property map for `CGAL::vertex_point_t`.
|
||||
///
|
||||
/// The points from `nef` to `pm` are converted using
|
||||
/// `CGAL::Cartesian_converter<NefKernel, TargetKernel>`.
|
||||
|
|
@ -17,16 +17,16 @@ namespace CGAL {
|
|||
/// @param pm the output.
|
||||
/// @param triangulate_all_faces indicates whether all the faces must be triangulated.
|
||||
///
|
||||
/// \pre `Polygon_mesh` must have an internal point property map with value type being `Nef_polyhedron_3::Point_3`.
|
||||
/// \pre `PolygonMesh` must have an internal point property map with value type being `NefPolyhedron_3::Point_3`.
|
||||
/// \pre `nef.simple()`
|
||||
|
||||
template <class Nef_polyhedron, class Polygon_mesh>
|
||||
void convert_nef_polyhedron_to_polygon_mesh(const Nef_polyhedron& nef, Polygon_mesh& pm, bool triangulate_all_faces = false);
|
||||
template <class NefPolyhedron_3, class PolygonMesh>
|
||||
void convert_nef_polyhedron_to_polygon_mesh(const NefPolyhedron_3& nef, PolygonMesh& pm, bool triangulate_all_faces = false);
|
||||
|
||||
/// \ingroup PkgNef3IOFunctions
|
||||
/// Converts an object of type `Nef_polyhedron_3` into a polygon soup.
|
||||
/// Converts an object of type `NefPolyhedron_3` into a polygon soup.
|
||||
/// The polygons can be triangulated by setting `triangulate_all_faces` to `true`.
|
||||
/// @tparam Nef_polyhedron an object of type `Nef_polyhedron_3`.
|
||||
/// @tparam NefPolyhedron_3 an object of type `Nef_polyhedron_3`.
|
||||
/// @tparam PointRange a model of the concept `BackInsertionSequence`
|
||||
/// whose `value_type` is the point type
|
||||
/// @tparam PolygonRange a model of the concept
|
||||
|
|
@ -43,8 +43,8 @@ namespace CGAL {
|
|||
/// @param points the output points of the soup
|
||||
/// @param polygons the output polygons of the soup.
|
||||
/// @param triangulate_all_faces indicates whether all polygons must be triangulated.
|
||||
template <class Nef_polyhedron, typename PolygonRange, typename PointRange>
|
||||
void convert_nef_polyhedron_to_polygon_soup(const Nef_polyhedron& nef,
|
||||
template <class NefPolyhedron_3, typename PolygonRange, typename PointRange>
|
||||
void convert_nef_polyhedron_to_polygon_soup(const NefPolyhedron_3& nef,
|
||||
PointRange& points,
|
||||
PolygonRange& polygons,
|
||||
bool triangulate_all_faces = false);
|
||||
|
|
|
|||
|
|
@ -12,3 +12,4 @@ BGL
|
|||
Surface_mesh
|
||||
Polygon_mesh_processing
|
||||
GraphicsView
|
||||
Basic_viewer
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ under the topological operations `boundary`, `closure`, and
|
|||
\cgalHeading{Parameters}
|
||||
|
||||
\code
|
||||
template< class Nef_polyhedronTraits_S2,
|
||||
class Nef_polyhedronItems_S2 = CGAL::SM_items,
|
||||
template< class NefPolyhedronTraits_S2,
|
||||
class NefPolyhedronItems_S2 = CGAL::SM_items,
|
||||
class Nef_polyhedronMarks = bool >
|
||||
class Nef_polyhedron_S2;
|
||||
\endcode
|
||||
|
|
@ -30,7 +30,7 @@ modeling \f$\mathbb{Z}\f$, or `Cartesian`, `Simple_cartesian` parametrized with
|
|||
type modeling \f$\mathbb{Q}\f$.
|
||||
|
||||
The second parameter and the third parameter are for future considerations.
|
||||
Neither `Nef_polyhedronItems_S2` nor `Nef_polyhedronMarks` is
|
||||
Neither `NefPolyhedronItems_S2` nor `Nef_polyhedronMarks` is
|
||||
specified, yet. Do not use other than the default types for these two
|
||||
template parameters.
|
||||
|
||||
|
|
@ -55,8 +55,8 @@ output operator is defined in the file
|
|||
Nef polyhedra are implemented on top of a halfedge data structure and
|
||||
use linear space in the number of vertices, edges and facets.
|
||||
Operations like `empty` take constant time. The operations
|
||||
`clear`, `complement`, `interior`, `closure`,
|
||||
`boundary`, `regularization`, input and output take linear
|
||||
`clear()`, `complement()`, `interior()`, `closure()`,
|
||||
`boundary()`, `regularization()`, input and output take linear
|
||||
time. All binary set operations and comparison operations take time
|
||||
\cgalBigO{n \log n} where \f$ n\f$ is the size of the output plus the size of the
|
||||
input.
|
||||
|
|
|
|||
Loading…
Reference in New Issue