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