Parameterization_mesh_patch_3 is a Decorator class to virtually cut a patch in a ParameterizationPatchableMesh_3 3D surface. Only the patch is exported, making the 3D surface look like a topological disk.
The input mesh can be of any genus, but it has to come with a seam that describes the border of a topological disc. This border may be an actual border of the mesh or a virtual border.
#include <CGAL/Parameterization_mesh_patch_3.h>
Model of ParameterizationMesh_3 concept, whose purpose is to allow the Surface_mesh_parameterization package to access meshes in a uniform manner.
Parameterization_mesh_patch_3 is a Decorator [GHJV95]: it changes the behavior of a ParameterizationPatchableMesh_3 3D surface while keeping its ParameterizationMesh_3 interface.
The full template declaration is:
template
class ParameterizationPatchableMesh_3
class Parameterization_mesh_patch_3;
The following mutable handles, iterators, and circulators have appropriate non-mutable counterparts, i.e. const_handle, const_iterator, and const_circulator. The mutable types are assignable to their non-mutable counterparts. Both circulators are assignable to the Vertex_iterator. The iterators are assignable to the respective handle types. Wherever the handles appear in function parameter lists, the corresponding iterators can be used as well.
| |||
Create a Decorator for an existing ParameterizationPatchableMesh_3 mesh. The input mesh can be of any genus, but it has to come with a seam that describes the border of a topological disc. This border may be an actual border of the mesh or a virtual border.
Preconditions:
|
The following methods returning a mutable handle, iterator, or circulator have appropriate non-mutable counterpart methods, i.e. const, returning a const_handle, const_iterator, or const_circulator.
|
| Get the decorated mesh. | ||
|
|
|||
|
| Indicate if the mesh matches the ParameterizationMesh_3 concept. | ||
|
| Get iterator over first vertex of mesh. | ||
|
|
|||
|
| Get iterator over past-the-end vertex of mesh. | ||
|
|
|||
|
| Count the number of vertices of the mesh. | ||
|
| Index vertices of the mesh from 0 to count_mesh_vertices()-1. | ||
|
| |||
Get iterator over first vertex of mesh's main border (aka seam). | ||||
|
| |||
|
| |||
Get iterator over past-the-end vertex of mesh's main border (aka seam). | ||||
|
| |||
|
| |||
Return the border containing seed_vertex. Return an empty list if not found. | ||||
|
| Get iterator over first facet of mesh. | ||
|
|
|||
|
| Get iterator over past-the-end facet of mesh. | ||
|
|
|||
|
| Count the number of facets of the mesh. | ||
|
| Return true of all mesh's facets are triangles. | ||
|
| Count the number of halfedges of the mesh. | ||
|
| |||
Get circulator over facet's vertices. | ||||
| ||||
| ||||
|
| |||
Count the number of vertices of a facet. | ||||
|
| |||
Get the 3D position of a vertex. | ||||
|
| |||
Get/set the 2D position (u/v pair) of a vertex. Default value is undefined. | ||||
|
| |||
|
| |||
Get/set is parameterized field of vertex. Default value is undefined. | ||||
|
| |||
|
| |||
Get/set vertex index. Default value is undefined. | ||||
|
| |||
|
| |||
Get/set vertex' all purpose tag. Default value is undefined. | ||||
|
| |||
|
| |||
Return true if a vertex belongs to ANY mesh's border. | ||||
|
| |||
Return true if a vertex belongs to the UNIQUE mesh's main border set by the constructor. | ||||
|
| |||
Get circulator over the vertices incident to 'vertex'. 'start_position' defines the optional initial position of the circulator. | ||||
| ||||
|
CGAL::Parameterization_polyhedron_adaptor_3<Polyhedron_3_>
See Mesh_cutting_parameterization.cpp example.