|
| 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 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 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.