CGAL 4.11.2 - Planar Parameterization of Triangulated Surface Meshes
|
Functions | |
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) |
Compute 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... | |
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) |
Read a serie 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) |
Locate 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... | |
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
.
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
#include <CGAL/Surface_mesh_parameterization/orbifold_shortest_path.h>
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 | ||
) |
Compute 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
#include <CGAL/Surface_mesh_parameterization/orbifold_shortest_path.h>
bool CGAL::Surface_mesh_parameterization::locate_cones | ( | const SeamMesh & | mesh, |
ConeInputBidirectionalIterator | first, | ||
ConeInputBidirectionalIterator | beyond, | ||
ConeMap & | cones | ||
) |
Locate 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::TriangleMesh>::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. |
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
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).
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
Error_code CGAL::Surface_mesh_parameterization::read_cones | ( | const TriangleMesh & | tm, |
std::ifstream & | in, | ||
VertexIndexMap | vpmap, | ||
ConeOutputIterator | out | ||
) |
Read a serie 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
. #include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
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)
.
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
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.
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>
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.
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)
.
#include <CGAL/Surface_mesh_parameterization/Orbifold_Tutte_parameterizer_3.h>