Loading...
Searching...
No Matches
Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ > Class Template Reference
Coxeter triangulation

A class that stores any affine transformation of the Freudenthal-Kuhn triangulation. More...

`#include <include/gudhi/Freudenthal_triangulation.h>`

## Public Types

using | Simplex_handle = Permutahedral_representation_
| Type of the simplices in the triangulation.
using | Vertex_handle = typename Permutahedral_representation_::Vertex
| Type of the vertices in the triangulation.

## Public Member Functions

| Freudenthal_triangulation (std::size_t dimension)
| Constructor of the Freudenthal-Kuhn triangulation of a given dimension.
| Freudenthal_triangulation (std::size_t dimension, const Matrix &matrix)
| Constructor of the Freudenthal-Kuhn triangulation of a given dimension under a linear transformation by a given matrix.
| Freudenthal_triangulation (unsigned dimension, const Matrix &matrix, const Vector &offset)
| Constructor of the Freudenthal-Kuhn triangulation of a given dimension under an affine transformation by a given matrix and a translation vector.
unsigned | dimension () const
| Dimension of the triangulation.
const Matrix & | matrix () const
| Matrix that defines the linear transformation of the triangulation.
const Vector & | offset () const
| Vector that defines the offset of the triangulation.
void | change_matrix (const Eigen::MatrixXd &matrix)
| Change the linear transformation matrix to a given value.
void | change_offset (const Eigen::VectorXd &offset)
| Change the offset vector to a given value.
template<class Point_d>
Simplex_handle | locate_point (const Point_d &point, double scale=1) const
| Returns the permutahedral representation of the simplex in the triangulation that contains a given query point.
Eigen::VectorXd | cartesian_coordinates (const Vertex_handle &vertex, double scale=1) const
| Returns the Cartesian coordinates of the given vertex.
Eigen::VectorXd | barycenter (const Simplex_handle &simplex, double scale=1) const
| Returns the Cartesian coordinates of the barycenter of a given simplex.

## Detailed Description

template<class Permutahedral_representation_ = Permutahedral_representation<std::vector<int>, std::vector<std::vector<std::size_t> > >>
class Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ >

A class that stores any affine transformation of the Freudenthal-Kuhn triangulation.

The data structure is a record that consists of a matrix that represents the linear transformation of the Freudenthal-Kuhn triangulation and a vector that represents the offset.

Template Parameters

  Permutahedral_representation_ | Type of a simplex given by a permutahedral representation. Needs to be a model of SimplexInCoxeterTriangulation.

## Constructor & Destructor Documentation

## Freudenthal_triangulation() [1/3]

template<class Permutahedral_representation_ = Permutahedral_representation<std::vector<int>, std::vector<std::vector<std::size_t> > >>

Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ >::Freudenthal_triangulation | ( | std::size_t | dimension | ) |

inline

Constructor of the Freudenthal-Kuhn triangulation of a given dimension.

Parameters

  [in] | dimension | The dimension of the triangulation.

## Freudenthal_triangulation() [2/3]

template<class Permutahedral_representation_ = Permutahedral_representation<std::vector<int>, std::vector<std::vector<std::size_t> > >>

Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ >::Freudenthal_triangulation | ( | std::size_t | dimension,
|  | const Matrix & | matrix )

inline

Constructor of the Freudenthal-Kuhn triangulation of a given dimension under a linear transformation by a given matrix.

Parameters

  [in] | dimension | The dimension of the triangulation.
  [in] | matrix | The matrix that defines the linear transformation. Needs to be invertible.

## Freudenthal_triangulation() [3/3]

template<class Permutahedral_representation_ = Permutahedral_representation<std::vector<int>, std::vector<std::vector<std::size_t> > >>

Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ >::Freudenthal_triangulation | ( | unsigned | dimension,
|  | const Matrix & | matrix,
|  | const Vector & | offset )

inline

Constructor of the Freudenthal-Kuhn triangulation of a given dimension under an affine transformation by a given matrix and a translation vector.

Parameters

  [in] | dimension | The dimension of the triangulation.
  [in] | matrix | The matrix that defines the linear transformation. Needs to be invertible.
  [in] | offset | The offset vector.

Exceptions

  std::invalid_argument | In debug mode, if offset size is different from dimension.

## Member Function Documentation

## barycenter()

template<class Permutahedral_representation_ = Permutahedral_representation<std::vector<int>, std::vector<std::vector<std::size_t> > >>

Eigen::VectorXd Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ >::barycenter | ( | const Simplex_handle & | simplex,
|  | double | scale = 1 ) const

inline

Returns the Cartesian coordinates of the barycenter of a given simplex.

Using the additional parameter scale, the search can be done in a triangulation that shares the origin, but is scaled by a given factor. This parameter can be useful to simulate the computation of Cartesian coordinates of the barycenter of a simplex in a subdivided triangulation.

Parameters

  [in] | simplex | The query simplex.
  [in] | scale | The scale of the triangulation.

## cartesian_coordinates()

template<class Permutahedral_representation_ = Permutahedral_representation<std::vector<int>, std::vector<std::vector<std::size_t> > >>

Eigen::VectorXd Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ >::cartesian_coordinates | ( | const Vertex_handle & | vertex,
|  | double | scale = 1 ) const

inline

Returns the Cartesian coordinates of the given vertex.

Using the additional parameter scale, the search can be done in a triangulation that shares the origin, but is scaled by a given factor. This parameter can be useful to simulate the computation of Cartesian coordinates of a vertex in a subdivided triangulation.

Parameters

  [in] | vertex | The query vertex.
  [in] | scale | The scale of the triangulation.

## change_matrix()

template<class Permutahedral_representation_ = Permutahedral_representation<std::vector<int>, std::vector<std::vector<std::size_t> > >>

void Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ >::change_matrix | ( | const Eigen::MatrixXd & | matrix | ) |

inline

Change the linear transformation matrix to a given value.

Parameters

  [in] | matrix | New value of the linear transformation matrix.

Examples
  manifold_tracing_flat_torus_with_boundary.cpp.

## change_offset()

template<class Permutahedral_representation_ = Permutahedral_representation<std::vector<int>, std::vector<std::vector<std::size_t> > >>

void Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ >::change_offset | ( | const Eigen::VectorXd & | offset | ) |

inline

Change the offset vector to a given value.

Parameters

  [in] | offset | New value of the offset vector.

Examples
  cell_complex_from_basic_circle_manifold.cpp, and manifold_tracing_flat_torus_with_boundary.cpp.

## locate_point()

template<class Permutahedral_representation_ = Permutahedral_representation<std::vector<int>, std::vector<std::vector<std::size_t> > >>
template<class Point_d>

Simplex_handle Gudhi::coxeter_triangulation::Freudenthal_triangulation< Permutahedral_representation_ >::locate_point | ( | const Point_d & | point,
|  | double | scale = 1 ) const

inline

Returns the permutahedral representation of the simplex in the triangulation that contains a given query point.

Using the additional parameter scale, the search can be done in a triangulation that shares the origin, but is scaled by a given factor. This parameter can be useful to simulate the point location in a subdivided triangulation. The returned simplex is always minimal by inclusion.

Template Parameters

  Point_d | A class that represents a point in d-dimensional Euclidean space. The coordinates should be random-accessible. Needs to provide the method size().

Parameters

  [in] | point | The query point.
  [in] | scale | The scale of the triangulation.

Exceptions

  std::invalid_argument | In debug mode, if point dimension is different from triangulation one.

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

- include/gudhi/Freudenthal_triangulation.h