A class that assembles methods for manifold tracing algorithm.
More...
#include <include/gudhi/Manifold_tracing.h>

typedef std::unordered_map< Simplex_handle, Eigen::VectorXd, Simplex_hash >  Out_simplex_map 
 Type of the output simplex map with keys of type Triangulation_::Simplex_handle and values of type Eigen::VectorXd. This type should be used for the output in the method manifold_tracing_algorithm.



template<class Point_range , class Intersection_oracle > 
void  manifold_tracing_algorithm (const Point_range &seed_points, const Triangulation_ &triangulation, const Intersection_oracle &oracle, Out_simplex_map &out_simplex_map) 
 Computes the set of ksimplices that intersect a boundaryless implicit manifold given by an intersection oracle, where k is the codimension of the manifold. The computation is based on the seed propagation — it starts at the given seed points and then propagates along the manifold. More...


template<class Point_range , class Intersection_oracle > 
void  manifold_tracing_algorithm (const Point_range &seed_points, const Triangulation_ &triangulation, const Intersection_oracle &oracle, Out_simplex_map &interior_simplex_map, Out_simplex_map &boundary_simplex_map) 
 Computes the set of ksimplices that intersect the dimensional manifold given by an intersection oracle, where k is the codimension of the manifold. The computation is based on the seed propagation — it starts at the given seed points and then propagates along the manifold. More...


 Manifold_tracing () 
 Empty constructor.


template<class Triangulation_>
class Gudhi::coxeter_triangulation::Manifold_tracing< Triangulation_ >
A class that assembles methods for manifold tracing algorithm.
 Template Parameters

 Examples
 cell_complex_from_basic_circle_manifold.cpp, manifold_tracing_custom_function.cpp, and manifold_tracing_flat_torus_with_boundary.cpp.
◆ manifold_tracing_algorithm() [1/2]
template<class Triangulation_ >
template<class Point_range , class Intersection_oracle >
Computes the set of ksimplices that intersect the dimensional manifold given by an intersection oracle, where k is the codimension of the manifold. The computation is based on the seed propagation — it starts at the given seed points and then propagates along the manifold.
 Template Parameters

Point_range  Range of points of type Eigen::VectorXd. 
Intersection_oracle  Intersection oracle that represents the manifold. Needs to be a model of the concept IntersectionOracle. 
 Parameters

[in]  seed_points  The range of points on the manifold from which the computation begins. 
[in]  triangulation  The ambient triangulation. 
[in]  oracle  The intersection oracle for the manifold. The ambient dimension needs to match the dimension of the triangulation. 
[out]  interior_simplex_map  The output map, where the keys are ksimplices in the input triangulation that intersect the relative interior of the input manifold and the mapped values are the intersection points. 
[out]  boundary_simplex_map  The output map, where the keys are ksimplices in the input triangulation that intersect the boundary of the input manifold and the mapped values are the intersection points. 
◆ manifold_tracing_algorithm() [2/2]
template<class Triangulation_ >
template<class Point_range , class Intersection_oracle >
Computes the set of ksimplices that intersect a boundaryless implicit manifold given by an intersection oracle, where k is the codimension of the manifold. The computation is based on the seed propagation — it starts at the given seed points and then propagates along the manifold.
 Template Parameters

Point_range  Range of points of type Eigen::VectorXd. 
Intersection_oracle  Intersection oracle that represents the manifold. Needs to be a model of the concept IntersectionOracle. 
 Parameters

[in]  seed_points  The range of points on the manifold from which the computation begins. 
[in]  triangulation  The ambient triangulation. 
[in]  oracle  The intersection oracle for the manifold. The ambient dimension needs to match the dimension of the triangulation. 
[out]  out_simplex_map  The output map, where the keys are ksimplices in the input triangulation that intersect the input manifold and the mapped values are the intersection points. 
The documentation for this class was generated from the following file: