|
CGAL 6.0 - 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 |
Sqrt3Mask_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. | |
| 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. | |
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.