|
CGAL 6.0 - Planar Parameterization of Triangulated Surface Meshes
|
#include <CGAL/Surface_mesh_parameterization/Two_vertices_parameterizer_3.h>
The class Two_vertices_parameterizer_3 parameterizes two extreme vertices of a 3D surface.
This kind of border parameterization is used by free border parameterizations.
Implementation note: To simplify the implementation, the border parameterizer knows only the TriangleMesh class and does not know the parameterization algorithm requirements or the kind of sparse linear system used.
Parameterizer_3 | TriangleMesh_ | must be a model of FaceGraph. |
Public Types | |
| typedef TriangleMesh_ | Triangle_mesh |
| Triangle mesh type. | |
| typedef boost::graph_traits< Triangle_mesh >::vertex_descriptor | vertex_descriptor |
| Mesh vertex type. | |
| typedef boost::graph_traits< Triangle_mesh >::halfedge_descriptor | halfedge_descriptor |
| Mesh halfedge type. | |
Public Member Functions | |
| Two_vertices_parameterizer_3 () | |
| Constructor. | |
| Two_vertices_parameterizer_3 (vertex_descriptor v1, vertex_descriptor v2) | |
| Constructor where fixed vertices are provided. | |
| template<typename VertexUVmap , typename VertexIndexMap , typename VertexParameterizedMap > | |
| Error_code | parameterize (const Triangle_mesh &mesh, halfedge_descriptor bhd, VertexUVmap uvmap, VertexIndexMap vimap, VertexParameterizedMap vpmap) |
| maps two extreme vertices of the 3D mesh and mark them as parameterized. | |
| bool | is_border_convex () const |
| indicates if the border's shape is convex. | |
| bool CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3< TriangleMesh_ >::is_border_convex | ( | ) | const |
indicates if the border's shape is convex.
Meaningless for free border parameterization algorithms.
| Error_code CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3< TriangleMesh_ >::parameterize | ( | const Triangle_mesh & | mesh, |
| halfedge_descriptor | bhd, | ||
| VertexUVmap | uvmap, | ||
| VertexIndexMap | vimap, | ||
| VertexParameterizedMap | vpmap | ||
| ) |
maps two extreme vertices of the 3D mesh and mark them as parameterized.
| VertexUVmap | must be a model of ReadWritePropertyMap with boost::graph_traits<Triangle_mesh>::vertex_descriptor as key type and Point_2 (type deduced from Triangle_mesh using Kernel_traits) as value type. |
| VertexIndexMap | must be a model of ReadablePropertyMap with boost::graph_traits<Triangle_mesh>::vertex_descriptor as key type and a unique integer as value type. |
| VertexParameterizedMap | must be a model of ReadWritePropertyMap with boost::graph_traits<Triangle_mesh>::vertex_descriptor as key type and a Boolean as value type. |
| mesh | a triangulated surface. |
| bhd | a halfedge descriptor on the boundary of mesh. |
| uvmap | an instantiation of the class VertexUVmap. |
| vimap | an instantiation of the class VertexIndexMap. |
| vpmap | an instantiation of the class VertexParameterizedMap. |
mesh must be a triangular mesh.