CGAL 5.1 - 3D Surface Subdivision Methods
|
#include <CGAL/Subdivision_method_3/subdivision_masks_3.h>
CGAL::Linear_mask_3< PolygonMesh, VertexPointMap >.
The geometry mask of Sqrt(3) 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. Sqrt3_mask_3
implements the geometry masks of \( \sqrt{3}\) subdivision on a triangulated model of MutableFaceGraph
, such as Polyhedron_3
and Surface_mesh
.
PolygonMesh | must be a model of the concept MutableFaceGraph . Additionally all faces must be triangles. |
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 | |
Sqrt3_mask_3 (Mesh *pmesh) | |
Constructor. More... | |
Sqrt3_mask_3 (Mesh *pmesh, VertexPointMap vpmap) | |
Constructor with a custom vertex point property map. | |
Stencil functions | |
void | vertex_node (vertex_descriptor vertex, Point &pt) |
computes the \( \sqrt{3}\) vertex-point pt of the vertex vd . | |
void | border_node (halfedge_descriptor hd, Point &ept1, Point &ept2, Point &vpt) |
computes the \( \sqrt{3}\) edge-points ept1 and ept2 of the halfedge hd . 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::Sqrt3_mask_3< PolygonMesh, VertexPointMap >::Sqrt3_mask_3 | ( | Mesh * | pmesh | ) |
Constructor.
The default vertex point property map, get(vertex_point, pmesh)
, is used.
void CGAL::Sqrt3_mask_3< PolygonMesh, VertexPointMap >::border_node | ( | halfedge_descriptor | hd, |
Point & | ept1, | ||
Point & | ept2, | ||
Point & | vpt | ||
) |
computes the \( \sqrt{3}\) edge-points ept1
and ept2
of the halfedge hd
.
The updated point coordinates for the target vertex of hd
is also computed and put in vpt
.