|
CGAL 5.6.1 - Planar Parameterization of Triangulated Surface Meshes
|
Functions | |
| template<typename TriangleMesh , typename VertexIndexMap , typename ConeOutputIterator > | |
| Error_code | CGAL::Surface_mesh_parameterization::read_cones (const TriangleMesh &tm, std::ifstream &in, VertexIndexMap vpmap, ConeOutputIterator out) |
| reads a series of cones from an input stream. More... | |
| template<typename TriangleMesh , typename ConeOutputIterator > | |
| Error_code | CGAL::Surface_mesh_parameterization::read_cones (const TriangleMesh &tm, std::ifstream &in, ConeOutputIterator out) |
Same as above, using the default indexation of the vertices of tm: vertices are numbered from 0 to num_vertices(tm)-1, in the order that they appear while calling vertices(tm). More... | |
| template<typename TriangleMesh , typename VertexIndexMap , typename ConeOutputIterator > | |
| Error_code | CGAL::Surface_mesh_parameterization::read_cones (const TriangleMesh &tm, const char *filename, VertexIndexMap vpmap, ConeOutputIterator out) |
| Same as above, but from a file instead of a stream. More... | |
| template<typename TriangleMesh , typename ConeOutputIterator > | |
| Error_code | CGAL::Surface_mesh_parameterization::read_cones (const TriangleMesh &tm, const char *filename, ConeOutputIterator out) |
| Same as above, but from a file instead of a stream. More... | |
| template<typename SeamMesh , typename ConeInputBidirectionalIterator , typename ConeMap > | |
| bool | CGAL::Surface_mesh_parameterization::locate_cones (const SeamMesh &mesh, ConeInputBidirectionalIterator first, ConeInputBidirectionalIterator beyond, ConeMap &cones) |
locates the cones on the seam mesh (that is, find the corresponding seam mesh vertex_descriptor) and mark them with a tag to indicate whether the cone is a simple cone or a duplicated cone (see Cone_type ). More... | |
| template<typename SeamMesh , typename ConeInputBidirectionalIterator , typename ConeMap > | |
| bool | CGAL::Surface_mesh_parameterization::locate_unordered_cones (const SeamMesh &mesh, ConeInputBidirectionalIterator first, ConeInputBidirectionalIterator beyond, ConeMap &cones) |
| Same as above, but the cones are not ordered and we thus use seam mesh information to determine which cones are extremities of the seam (so-called unique cones) or not (so-called duplicate cones). More... | |
| template<typename TriangleMesh , typename EdgeOutputIterator > | |
| void | CGAL::Surface_mesh_parameterization::compute_shortest_paths_between_two_cones (const TriangleMesh &mesh, typename boost::graph_traits< TriangleMesh >::vertex_descriptor source, typename boost::graph_traits< TriangleMesh >::vertex_descriptor target, EdgeOutputIterator oi) |
computes the shortest path between source and target over mesh, using boost::dijkstra_shortest_paths(). More... | |
| template<typename TriangleMesh , typename InputConesForwardIterator , typename SeamContainer > | |
| void | CGAL::Surface_mesh_parameterization::compute_shortest_paths_between_cones (const TriangleMesh &mesh, InputConesForwardIterator first, InputConesForwardIterator beyond, SeamContainer &seams) |
Given a range [first; beyond[ of cones (described as vertex descriptors), compute the shortest path for all pairs of consecutive entries in the range and add them to the container seams. More... | |
| void CGAL::Surface_mesh_parameterization::compute_shortest_paths_between_cones | ( | const TriangleMesh & | mesh, |
| InputConesForwardIterator | first, | ||
| InputConesForwardIterator | beyond, | ||
| SeamContainer & | seams | ||
| ) |
#include <CGAL/Surface_mesh_parameterization/orbifold_shortest_path.h>
Given a range [first; beyond[ of cones (described as vertex descriptors), compute the shortest path for all pairs of consecutive entries in the range and add them to the container seams.
| TriangleMesh | A triangle mesh, model of FaceListGraph and HalfedgeListGraph. |
| InputConesForwardIterator | A model of ForwardIterator with value type boost::graph_traits<TriangleMesh>::vertex_descriptor. |
| SeamContainer | A model of SequenceContainer with value type boost::graph_traits<TriangleMesh>::edge_descriptor. |
| mesh | the triangular mesh on which paths are computed |
| first,beyond | a range of cones |
| seams | a container that will store the paths, as a sequence of edges of the mesh. |
std::distance(first,beyond) > 1 | void CGAL::Surface_mesh_parameterization::compute_shortest_paths_between_two_cones | ( | const TriangleMesh & | mesh, |
| typename boost::graph_traits< TriangleMesh >::vertex_descriptor | source, | ||
| typename boost::graph_traits< TriangleMesh >::vertex_descriptor | target, | ||
| EdgeOutputIterator | oi | ||
| ) |
#include <CGAL/Surface_mesh_parameterization/orbifold_shortest_path.h>
computes the shortest path between source and target over mesh, using boost::dijkstra_shortest_paths().
| TriangleMesh | A triangle mesh, model of FaceListGraph and HalfedgeListGraph. |
| EdgeOutputIterator | A model of OutputIterator with value type boost::graph_traits<TriangleMesh>::edge_descriptor. |
| mesh | the triangular mesh to be parameterized |
| source,target | the extremities of the path to be computed |
| oi | the output iterator |
source and target are vertices of mesh. source != target | bool CGAL::Surface_mesh_parameterization::locate_cones | ( | const SeamMesh & | mesh, |
| ConeInputBidirectionalIterator | first, | ||
| ConeInputBidirectionalIterator | beyond, | ||
| ConeMap & | cones | ||
| ) |
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
locates the cones on the seam mesh (that is, find the corresponding seam mesh vertex_descriptor) and mark them with a tag to indicate whether the cone is a simple cone or a duplicated cone (see Cone_type ).
| SeamMesh | is the same mesh that is passed to the parameterizer. It is an object of typeCGAL::Seam_mesh, but is passed here as a template parameter for convenience, to avoid having to pass the multiple template parameters of the class CGAL::Seam_mesh. |
| ConeInputBidirectionalIterator | must be a model of BidirectionalIterator with value type boost::graph_traits<SeamMesh::Triangle_mesh>::vertex_descriptor. |
| ConeMap | must be a model of AssociativeContainer with boost::graph_traits<SeamMesh>::vertex_descriptor as key type and Cone_type as value type. |
| mesh | the seam mesh |
| first,beyond | the range of cones, as vertex descriptors of the base mesh. |
| cones | an object of type ConeMap. Cones will be stored in this container as vertex descriptors of the seam mesh, along with their associated cone types. |
| bool CGAL::Surface_mesh_parameterization::locate_unordered_cones | ( | const SeamMesh & | mesh, |
| ConeInputBidirectionalIterator | first, | ||
| ConeInputBidirectionalIterator | beyond, | ||
| ConeMap & | cones | ||
| ) |
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
Same as above, but the cones are not ordered and we thus use seam mesh information to determine which cones are extremities of the seam (so-called unique cones) or not (so-called duplicate cones).
| Error_code CGAL::Surface_mesh_parameterization::read_cones | ( | const TriangleMesh & | tm, |
| std::ifstream & | in, | ||
| VertexIndexMap | vpmap, | ||
| ConeOutputIterator | out | ||
| ) |
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
reads a series of cones from an input stream.
Cones are passed as an integer value that is the index of a vertex handle in the mesh tm, using the vertex index property map vpmap for correspondency.
tm, it is the base mesh of the CGAL::Seam_mesh that is passed in input, not the seam mesh itself.| TriangleMesh | A triangle mesh, model of FaceListGraph and HalfedgeListGraph. |
| VertexIndexMap | must be a model of ReadablePropertyMap with boost::graph_traits<TriangleMesh>::vertex_descriptor as key type and a unique integer as value type. |
| ConeOutputIterator | a model of OutputIterator with value type boost::graph_traits<TriangleMesh>::vertex_descriptor. |
| tm | the triangular mesh to be parameterized |
| in | the input stream |
| vpmap | an initialized vertex index map |
| out | the output iterator |
out. The function checks if the input is valid (no duplicate, correct number of cones) and returns an Error_code. | Error_code CGAL::Surface_mesh_parameterization::read_cones | ( | const TriangleMesh & | tm, |
| std::ifstream & | in, | ||
| ConeOutputIterator | out | ||
| ) |
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
Same as above, using the default indexation of the vertices of tm: vertices are numbered from 0 to num_vertices(tm)-1, in the order that they appear while calling vertices(tm).
| Error_code CGAL::Surface_mesh_parameterization::read_cones | ( | const TriangleMesh & | tm, |
| const char * | filename, | ||
| VertexIndexMap | vpmap, | ||
| ConeOutputIterator | out | ||
| ) |
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
Same as above, but from a file instead of a stream.
| Error_code CGAL::Surface_mesh_parameterization::read_cones | ( | const TriangleMesh & | tm, |
| const char * | filename, | ||
| ConeOutputIterator | out | ||
| ) |
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
Same as above, but from a file instead of a stream.
The default indexation of the vertices of tm is used: vertices are numbered from 0 to num_vertices(tm)-1, in the order that they appear while calling vertices(tm).