A class that assembles methods for manifold tracing algorithm.
More...
|
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 k-simplices 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 k-simplices 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
-
◆ manifold_tracing_algorithm() [1/2]
template<class Triangulation_ >
template<class Point_range , class Intersection_oracle >
Computes the set of k-simplices 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 k-simplices 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 k-simplices 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 k-simplices 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 k-simplices 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: