Loading [MathJax]/extensions/TeX/AMSsymbols.js
 
CGAL 6.1 - 3D Surface Subdivision Methods
All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Loading...
Searching...
No Matches
CGAL::Upsample_mask_3< PolygonMesh, VertexPointMap > Class Template Reference

#include <CGAL/Subdivision_method_3/subdivision_masks_3.h>

Inherits from

CGAL::PQQ_stencil_3< PolygonMesh, VertexPointMap >.

Definition

template<class PolygonMesh, class VertexPointMap = typename boost::property_map<PolygonMesh, vertex_point_t>::type>
class CGAL::Upsample_mask_3< PolygonMesh, VertexPointMap >

TODO: need to find the correct name for this scheme, if it exists.

And also complete the documentation.

The geometry mask of Upsample subdivision. This does not change the geometry of the mesh. In other words, the original vertices are not moved, and the new vertices are the average of the incident vertices. This is useful for increasing the resolution of a mesh without changing its geometry.

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. Upsample_mask_3 implements the geometry masks of Upsample subdivision on a triangulated model of MutableFaceGraph, such as Polyhedron_3 and Surface_mesh.

Template Parameters
PolygonMeshmust be a model of the concept MutableFaceGraph. Additionally all faces must be triangles.
VertexPointMapmust be a model of WritablePropertyMap with value type Point_3
Is model of
PTQMask_3
See also
CGAL::Subdivision_method_3

Public Types

typedef PolygonMesh Mesh
 
typedef Halfedge_around_target_circulator< Mesh > Halfedge_around_vertex_circulator
 
- 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

 Upsample_mask_3 (Mesh *pmesh)
 Constructor.
 
 Upsample_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 Upsample edge-point pt of the edge edge, simply the midpoint of the edge.
 
void vertex_node (vertex_descriptor vertex, Point &pt)
 returns Upsample vertex-point pt of the vertex vertex, simply the original vertex.
 
void border_node (halfedge_descriptor edge, Point &ept, Point &vpt)
 computes the Upsample edge-point ept and the Upsample vertex-point vpt of the border edge edge.
 

Additional Inherited Members

- 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
 

Constructor & Destructor Documentation

◆ Upsample_mask_3()

template<class PolygonMesh , class VertexPointMap = typename boost::property_map<PolygonMesh, vertex_point_t>::type>
CGAL::Upsample_mask_3< PolygonMesh, VertexPointMap >::Upsample_mask_3 ( Mesh *  pmesh)

Constructor.

The default vertex point property map, get(vertex_point, pmesh), is used.