|
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