CGAL 5.0.1 - 3D Surface Subdivision Methods
|
#include <CGAL/Subdivision_method_3/subdivision_masks_3.h>
CGAL::Linear_mask_3< PolygonMesh, VertexPointMap >.
The geometry mask of Catmull-Clark subdivision.
A stencil determines a source neighborhood whose points contribute to the position of a refined point. The geometry mask of a stencil specifies the computation on the nodes of the stencil. CatmullClark_mask_3
implements the geometry masks of Catmull-Clark subdivision on models of MutableFaceGraph
, such as Polyhedron_3
and Surface_mesh
.
PolygonMesh | must be a model of the concept MutableFaceGraph . |
VertexPointMap | must be a model of WritablePropertyMap with value type Point_3 |
CGAL::Subdivision_method_3
Public Types | |
typedef PolygonMesh | Mesh |
Public Types inherited from CGAL::Linear_mask_3< PolygonMesh, VertexPointMap > | |
typedef PolygonMesh | Mesh |
Public Types inherited from CGAL::PQQ_stencil_3< PolygonMesh, VertexPointMap > | |
typedef PolygonMesh | Mesh |
typedef boost::property_map< Mesh, vertex_point_t >::type | Vertex_pmap |
typedef boost::graph_traits< Mesh >::vertex_descriptor | vertex_descriptor |
typedef boost::graph_traits< Mesh >::halfedge_descriptor | halfedge_descriptor |
typedef boost::graph_traits< Mesh >::face_descriptor | face_descriptor |
typedef boost::property_traits< Vertex_pmap >::value_type | Point |
typedef Kernel_traits< Point >::Kernel | Kernel |
typedef Kernel::FT | FT |
typedef Kernel::Vector_3 | Vector |
Creation | |
CatmullClark_mask_3 (Mesh *pmesh) | |
Constructor. More... | |
CatmullClark_mask_3 (Mesh *pmesh, VertexPointMap vpmap) | |
Constructor with a custom vertex point property map. | |
Stencil functions | |
void | edge_node (halfedge_descriptor edge, Point &pt) |
computes the Catmull-Clark edge-point pt of the edge edge . | |
void | vertex_node (vertex_descriptor vertex, Point &pt) |
computes the Catmull-Clark vertex-point pt of the vertex vertex . | |
void | border_node (halfedge_descriptor edge, Point &ept, Point &vpt) |
computes the Catmull-Clark edge-point ept and the Catmull-Clark vertex-point vpt of the border edge edge . More... | |
Additional Inherited Members | |
Public Member Functions inherited from CGAL::Linear_mask_3< PolygonMesh, VertexPointMap > | |
Linear_mask_3 (Mesh *pmesh) | |
Linear_mask_3 (Mesh *pmesh, VertexPointMap vpmap) | |
void | face_node (face_descriptor facet, Point &pt) |
void | edge_node (halfedge_descriptor edge, Point &pt) |
void | vertex_node (vertex_descriptor vertex, Point &pt) |
void | border_node (halfedge_descriptor edge, Point &ept, Point &) |
Public Member Functions inherited from CGAL::PQQ_stencil_3< PolygonMesh, VertexPointMap > | |
PQQ_stencil_3 (Mesh *pmesh) | |
PQQ_stencil_3 (Mesh *pmesh, VertexPointMap vpmap) | |
void | face_node (face_descriptor, Point &) |
void | edge_node (halfedge_descriptor, Point &) |
void | vertex_node (vertex_descriptor, Point &) |
void | border_node (halfedge_descriptor, Point &, Point &) |
Public Attributes inherited from CGAL::PQQ_stencil_3< PolygonMesh, VertexPointMap > | |
Mesh * | pmesh |
VertexPointMap | vpmap |
CGAL::CatmullClark_mask_3< PolygonMesh, VertexPointMap >::CatmullClark_mask_3 | ( | Mesh * | pmesh | ) |
Constructor.
The default vertex point property map, get(vertex_point, pmesh)
, is used.
void CGAL::CatmullClark_mask_3< PolygonMesh, VertexPointMap >::border_node | ( | halfedge_descriptor | edge, |
Point & | ept, | ||
Point & | vpt | ||
) |
computes the Catmull-Clark edge-point ept
and the Catmull-Clark vertex-point vpt
of the border edge edge
.