Loading...
Searching...
No Matches
Gudhi::coxeter_triangulation::IntersectionOracle Struct Reference

The concept IntersectionOracle describes the requirements for a type to implement an intersection oracle class used for example in Manifold_tracing. More...

#include <concept/Coxeter_triangulation/IntersectionOracle.h>

Public Member Functions

std::size_t amb_d () const
 Returns the domain (ambient) dimension of the underlying manifold.
 
std::size_t cod_d () const
 Returns the codomain dimension of the underlying manifold.
 
template<class Simplex_handle , class Triangulation >
Query_result< Simplex_handle > intersects (const Simplex_handle &simplex, const Triangulation &triangulation) const
 Intersection query with the relative interior of the manifold. More...
 
template<class Simplex_handle , class Triangulation >
Query_result< Simplex_handle > intersects_boundary (const Simplex_handle &simplex, const Triangulation &triangulation) const
 Intersection query with the boundary of the manifold. More...
 
template<class Triangulation >
bool lies_in_domain (const Eigen::VectorXd &p, const Triangulation &triangulation) const
 Returns true if the input point lies inside the piecewise-linear domain induced by the given ambient triangulation that defines the relative interior of the piecewise-linear approximation of the manifold. More...
 
const Function_ & function () const
 Returns the function that defines the interior of the manifold.
 

Detailed Description

The concept IntersectionOracle describes the requirements for a type to implement an intersection oracle class used for example in Manifold_tracing.

Member Function Documentation

◆ intersects()

template<class Simplex_handle , class Triangulation >
Query_result< Simplex_handle > Gudhi::coxeter_triangulation::IntersectionOracle::intersects ( const Simplex_handle &  simplex,
const Triangulation &  triangulation 
) const

Intersection query with the relative interior of the manifold.

The returned structure Query_result contains the boolean value that is true only if the intersection point of the query simplex and the relative interior of the manifold exists, the intersection point and the face of the query simplex that contains the intersection point.

Template Parameters
Simplex_handleThe class of the query simplex. Needs to be a model of the concept SimplexInCoxeterTriangulation.
TriangulationThe class of the triangulation. Needs to be a model of the concept TriangulationForManifoldTracing.
Parameters
[in]simplexThe query simplex. The dimension of the simplex should be the same as the codimension of the manifold (the codomain dimension of the function).
[in]triangulationThe ambient triangulation. The dimension of the triangulation should be the same as the ambient dimension of the manifold (the domain dimension of the function).

◆ intersects_boundary()

template<class Simplex_handle , class Triangulation >
Query_result< Simplex_handle > Gudhi::coxeter_triangulation::IntersectionOracle::intersects_boundary ( const Simplex_handle &  simplex,
const Triangulation &  triangulation 
) const

Intersection query with the boundary of the manifold.

The returned structure Query_result contains the boolean value that is true only if the intersection point of the query simplex and the boundary of the manifold exists, the intersection point and the face of the query simplex that contains the intersection point.

Template Parameters
Simplex_handleThe class of the query simplex. Needs to be a model of the concept SimplexInCoxeterTriangulation.
TriangulationThe class of the triangulation. Needs to be a model of the concept TriangulationForManifoldTracing.
Parameters
[in]simplexThe query simplex. The dimension of the simplex should be the same as the codimension of the boundary of the manifold (the codomain dimension of the function + 1).
[in]triangulationThe ambient triangulation. The dimension of the triangulation should be the same as the ambient dimension of the manifold (the domain dimension of the function).

◆ lies_in_domain()

template<class Triangulation >
bool Gudhi::coxeter_triangulation::IntersectionOracle::lies_in_domain ( const Eigen::VectorXd &  p,
const Triangulation &  triangulation 
) const
inline

Returns true if the input point lies inside the piecewise-linear domain induced by the given ambient triangulation that defines the relative interior of the piecewise-linear approximation of the manifold.

Parameters
pThe input point. Needs to have the same dimension as the ambient dimension of the manifold (the domain dimension of the function).
triangulationThe ambient triangulation. Needs to have the same dimension as the ambient dimension of the manifold (the domain dimension of the function).

The documentation for this struct was generated from the following file: