|
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().
|
|
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 .
|
|
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.
|
|
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) .
|
|
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.
|
|
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.
|
|
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 ).
|
|
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).
|
|
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 |
|
) |
| |
#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
.
- Template Parameters
-
- Parameters
-
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. |
- Precondition
std::distance(first,beyond) > 1
template<typename SeamMesh , typename ConeInputBidirectionalIterator , typename ConeMap >
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 ).
- Attention
- The cones must be ordered: the first and last cones are the extremities of the seam.
- Template Parameters
-
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. |
- Parameters
-
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. |
template<typename TriangleMesh , typename ConeOutputIterator >
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)
.
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 |
|
) |
| |
#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.
- Attention
- The mesh is here
tm
, it is the base mesh of the CGAL::Seam_mesh
that is passed in input, not the seam mesh itself.
- Template Parameters
-
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 . |
- Parameters
-
tm | the triangular mesh to be parameterized |
in | the input stream |
vpmap | an initialized vertex index map |
out | the output iterator |
- Precondition
- The number of cones must match the chosen Orbifold_type .
-
No two cones correspond to the same vertex (all cones have different index).
- Returns
- The corresponding vertex descriptors are output, in the same order as the input integers, in
out
. The function checks if the input is valid (no duplicate, correct number of cones) and returns an Error_code
.