mirror of https://github.com/CGAL/cgal
64 lines
1.6 KiB
C++
64 lines
1.6 KiB
C++
|
|
namespace CGAL {
|
|
|
|
/*!
|
|
\ingroup PkgBGLHelper
|
|
|
|
The class `Polyhedron_items_with_id_3` is a model of the `PolyhedronItems_3`
|
|
concept. It provides definitions for vertices with points, halfedges,
|
|
and faces with plane equations, all of them with an additional integer
|
|
field which can be used to index the items in a \sc{Bgl} algorithm.
|
|
The polyhedron traits class must provide the respective types for
|
|
the point and the plane equation.
|
|
Vertices and facets both contain a halfedge handle to an incident
|
|
halfedge.
|
|
|
|
\cgalModels `PolyhedronItems_3`
|
|
|
|
\cgalHeading{Operations}
|
|
|
|
Supported as required by the `PolyhedronItems_3` concept.
|
|
|
|
\cgalHeading{Additional Methods in All Three Items}
|
|
|
|
\code
|
|
int id() const; // Returns the index.
|
|
int& id(); // Returns a reference to the index stored in the item.
|
|
\endcode
|
|
|
|
\sa `CGAL::Polyhedron_3<Traits>`
|
|
\sa `CGAL::Polyhedron_min_items_3`
|
|
\sa `CGAL::HalfedgeDS_min_items`
|
|
\sa `CGAL::HalfedgeDS_items_2`
|
|
\sa `CGAL::HalfedgeDS_vertex_max_base_with_id<Refs>`
|
|
\sa `CGAL::HalfedgeDS_halfedge_max_base_with_id<Refs>`
|
|
\sa `CGAL::HalfedgeDS_face_max_base_with_id<Refs>`
|
|
|
|
*/
|
|
|
|
class Polyhedron_items_with_id_3 {
|
|
public:
|
|
|
|
template < class Refs, class Traits>
|
|
struct Vertex_wrapper {
|
|
typedef typename Traits::Point_3 Point;
|
|
typedef CGAL::Tag_true Supports_vertex_point;
|
|
};
|
|
|
|
template < class Refs, class Traits>
|
|
struct Face_wrapper {
|
|
typedef typename Traits::Plane_3 Plane;
|
|
typedef CGAL::Tag_true Supports_face_plane;
|
|
};
|
|
/// \name Creation
|
|
/// @{
|
|
|
|
/*!
|
|
%Default constructor.
|
|
*/
|
|
Polyhedron_items_with_id_3();
|
|
|
|
/// @}
|
|
}; /* end Polyhedron_items_with_id_3 */
|
|
} /* end namespace CGAL */
|