CGAL 6.2 - 3D Surface Subdivision Methods: CGAL::CatmullClark_mask_3< PolygonMesh, VertexPointMap > Class Template Reference

CGAL 6.2 - 3D Surface Subdivision Methods

Loading...
Searching...
No Matches
List of all members | Public Types
CGAL::CatmullClark_mask_3< PolygonMesh, VertexPointMap > Class Template Reference
Reference Manual

`#include <CGAL/Subdivision_method_3/subdivision_masks_3.h>`

## Inherits from

CGAL::Linear_mask_3< PolygonMesh, VertexPointMap >.

## Definition

template<class PolygonMesh, class VertexPointMap = typename boost::property_map<PolygonMesh, vertex_point_t>::type>
class CGAL::CatmullClark_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`.

Template Parameters

  PolygonMesh | must be a model of the concept `MutableFaceGraph`.
  VertexPointMap | must be a model of `WritablePropertyMap` with value type `Point_3`

Is model of
  `PQQMask_3`

See also
  `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.
| 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`.

## 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 &vtp)
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

## ◆ CatmullClark_mask_3()

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

CGAL::CatmullClark_mask_3< PolygonMesh, VertexPointMap >::CatmullClark_mask_3 | ( | Mesh * | pmesh | ) |

Constructor.

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