CGAL 6.0 - Vector Graphics on Triangulated Surface Meshes
|
Classes | |
struct | CGAL::Vector_graphics_on_surfaces::Dual_geodesic_solver< FT > |
Geodesic solver class used to store precomputed information of a given mesh for approximate geodesic compution. More... | |
Typedefs | |
template<class TriangleMesh , class FT > | |
using | CGAL::Vector_graphics_on_surfaces::Bezier_segment = std::array< CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT >, 4 > |
array containing the locations of the four control points of a Bézier segment on a triangle mesh init_geodesic_dual_solver() . | |
Functions | |
template<class FT , class TriangleMesh > | |
void | CGAL::Vector_graphics_on_surfaces::init_geodesic_dual_solver (Dual_geodesic_solver< FT > &solver, const TriangleMesh &tmesh) |
fills solver for a given mesh tmesh . | |
template<class FT , class TriangleMesh , class VertexDistanceMap > | |
void | CGAL::Vector_graphics_on_surfaces::approximate_geodesic_distance_field (const CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > ¢er, VertexDistanceMap distance_map, const TriangleMesh &tmesh) |
computes the approximate geodesic distances of center to all the vertices of the mesh (only one connected component is expected) and put the distance in distance_map | |
template<class K , class PointRange_2 > | |
std::vector< std::pair< typename K::FT, typename K::FT > > | CGAL::Vector_graphics_on_surfaces::convert_to_polar_coordinates (const PointRange_2 &points, std::optional< typename K::Point_2 > center=std::nullopt) |
converts the coordinates of a range of points into polar coordinates with respect to a given center | |
template<class FT , class TriangleMesh > | |
FT | CGAL::Vector_graphics_on_surfaces::path_length (const std::vector< CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > > &path, const TriangleMesh &tmesh) |
computes the length of a path on a triangle mesh. | |
template<class FT , class TriangleMesh > | |
FT | CGAL::Vector_graphics_on_surfaces::path_length (const std::vector< CGAL::Polygon_mesh_processing::Edge_location< TriangleMesh, FT > > &path, const CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > &src, const CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > &tgt, const TriangleMesh &tmesh) |
computes the length of a path on a triangle mesh. | |
template<class TriangleMesh , class FT , class OutputIterator > | |
OutputIterator | CGAL::Vector_graphics_on_surfaces::convert_path_to_polyline (const std::vector< CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > > &path, const TriangleMesh &tmesh, OutputIterator poly_out) |
converts a path on a triangle mesh to the corresponding polyline of points. | |
template<class TriangleMesh , class FT , class OutputIterator > | |
OutputIterator | CGAL::Vector_graphics_on_surfaces::convert_path_to_polyline (const CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > &src, const std::vector< CGAL::Polygon_mesh_processing::Edge_location< TriangleMesh, FT > > &path, const CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > &tgt, const TriangleMesh &tmesh, OutputIterator poly_out) |
converts a path on a triangle mesh to the corresponding polyline of points. | |
using CGAL::Vector_graphics_on_surfaces::Bezier_segment = typedef std::array<CGAL::Polygon_mesh_processing::Face_location<TriangleMesh, FT>, 4> |
#include <CGAL/Vector_graphics_on_surfaces/locally_shortest_path.h>
array containing the locations of the four control points of a Bézier segment on a triangle mesh init_geodesic_dual_solver()
.
FT | floating point number type (float or double) |
TriangleMesh | a model of FaceListGraph and EdgeListGraph |
OutputIterator CGAL::Vector_graphics_on_surfaces::convert_path_to_polyline | ( | const CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > & | src, |
const std::vector< CGAL::Polygon_mesh_processing::Edge_location< TriangleMesh, FT > > & | path, | ||
const CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > & | tgt, | ||
const TriangleMesh & | tmesh, | ||
OutputIterator | poly_out | ||
) |
#include <CGAL/Vector_graphics_on_surfaces/locally_shortest_path.h>
converts a path on a triangle mesh to the corresponding polyline of points.
If path
contains identical consecutive vertices, only one point will be put in poly_out
for this vertex.
FT | floating point number type (float or double) |
TriangleMesh | a model of FaceGraph |
OutputIterator | an output iterator accepting points from tmesh |
src | source of the path |
tgt | target of the path |
path | a path described as a range of edge locations, with the property that for two consecutive edge locations, there exists an edge in tmesh containing the two corresponding points. |
tmesh | the triangle mesh supporing the path |
poly_out | output iterator where points of the polyline are put. |
add named parameters
generic range
OutputIterator CGAL::Vector_graphics_on_surfaces::convert_path_to_polyline | ( | const std::vector< CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > > & | path, |
const TriangleMesh & | tmesh, | ||
OutputIterator | poly_out | ||
) |
#include <CGAL/Vector_graphics_on_surfaces/locally_shortest_path.h>
converts a path on a triangle mesh to the corresponding polyline of points.
If path
contains identical consecutive vertices, only one point will be put in poly_out
for this vertex.
FT | floating point number type (float or double) |
TriangleMesh | a model of FaceGraph |
OutputIterator | an output iterator accepting points from tmesh |
path | a path described as a range of face locations, with the property that for two consecutive face locations, there exists a face in tmesh containing the two corresponding points. |
tmesh | the triangle mesh supporing the path |
poly_out | output iterator where points of the polyline are put. |
add named parameters
generic range
std::vector< std::pair< typename K::FT, typename K::FT > > CGAL::Vector_graphics_on_surfaces::convert_to_polar_coordinates | ( | const PointRange_2 & | points, |
std::optional< typename K::Point_2 > | center = std::nullopt |
||
) |
#include <CGAL/Vector_graphics_on_surfaces/locally_shortest_path.h>
converts the coordinates of a range of points into polar coordinates with respect to a given center
K | a model of PolygonTraits_2 |
PointRange_2 | a model of the concept RandomAccessContainer with K::Point_2 as value type |
points | the input points to convert. |
center | the point of reference for the polar coordinates. If omitted, then centroid of polygon will be used. |
void CGAL::Vector_graphics_on_surfaces::init_geodesic_dual_solver | ( | Dual_geodesic_solver< FT > & | solver, |
const TriangleMesh & | tmesh | ||
) |
#include <CGAL/Vector_graphics_on_surfaces/locally_shortest_path.h>
fills solver
for a given mesh tmesh
.
It is the user responsability to call again this function if tmesh
or the points of its vertices are modified. If solver
was used in a previous call to this function, information will be overwritten.
TriangleMesh | a model of FaceListGraph and EdgeListGraph |
FT | floating point number type (float or double) |
solver | the container for the precomputed information |
tmesh | triangle mesh to be considered for the precomputations |
add named parameters
make sure solver.graph is cleared before filling it
FT CGAL::Vector_graphics_on_surfaces::path_length | ( | const std::vector< CGAL::Polygon_mesh_processing::Edge_location< TriangleMesh, FT > > & | path, |
const CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > & | src, | ||
const CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > & | tgt, | ||
const TriangleMesh & | tmesh | ||
) |
#include <CGAL/Vector_graphics_on_surfaces/locally_shortest_path.h>
computes the length of a path on a triangle mesh.
FT | floating point number type (float or double) |
TriangleMesh | a model of FaceGraph |
src | source of the path |
tgt | target of the path |
path | a path described as a range of edge locations, with the property that for two consecutive edge locations, there exists a face in tmesh containing the two corresponding points. |
tmesh | the triangle mesh supporing the path |
add named parameters
generic range
FT CGAL::Vector_graphics_on_surfaces::path_length | ( | const std::vector< CGAL::Polygon_mesh_processing::Face_location< TriangleMesh, FT > > & | path, |
const TriangleMesh & | tmesh | ||
) |
#include <CGAL/Vector_graphics_on_surfaces/locally_shortest_path.h>
computes the length of a path on a triangle mesh.
FT | floating point number type (float or double) |
TriangleMesh | a model of FaceGraph |
path | a path described as a range of face locations, with the property that for two consecutive face locations, there exists a face in tmesh containing the two corresponding points. |
tmesh | the triangle mesh supporing the path |
add named parameters
generic range