Tatooine
|
#include <hyper_ellipse.h>
Public Types | |
using | this_type = hyper_ellipse< Real, NumDimensions > |
using | vec_type = vec< Real, NumDimensions > |
using | pos_type = vec_type |
using | mat_type = mat< Real, NumDimensions, NumDimensions > |
using | real_type = Real |
Public Member Functions | |
constexpr | hyper_ellipse () |
defaults to unit hypersphere More... | |
constexpr | hyper_ellipse (hyper_ellipse const &)=default |
constexpr | hyper_ellipse (hyper_ellipse &&) noexcept=default |
constexpr auto | operator= (hyper_ellipse const &) -> hyper_ellipse &=default |
constexpr auto | operator= (hyper_ellipse &&) noexcept -> hyper_ellipse &=default |
~hyper_ellipse ()=default | |
constexpr | hyper_ellipse (Real const radius) |
Sets up a sphere with specified radius. More... | |
constexpr | hyper_ellipse (Real const radius, vec_type const ¢er) |
Sets up a sphere with specified radius and origin point. More... | |
constexpr | hyper_ellipse (vec_type const ¢er, Real const radius) |
Sets up a sphere with specified radius and origin point. More... | |
constexpr | hyper_ellipse (fixed_size_vec< NumDimensions > auto const ¢er, fixed_size_quadratic_mat< NumDimensions > auto const &S) |
Sets up a sphere with specified radius and origin point. More... | |
constexpr | hyper_ellipse (vec_type const ¢er, arithmetic auto const ... radii) |
Sets up a sphere with specified radii. More... | |
constexpr | hyper_ellipse (arithmetic auto const ... radii) |
Sets up a sphere with specified radii. More... | |
constexpr | hyper_ellipse (fixed_size_vec< NumDimensions > auto const &...points) |
Fits an ellipse through specified points. More... | |
constexpr | hyper_ellipse (fixed_size_quadratic_mat< NumDimensions > auto const &H) |
Fits an ellipse through specified points. More... | |
auto | S () const -> auto const & |
auto | S () -> auto & |
auto | center () const -> auto const & |
auto | center () -> auto & |
auto | center (std::size_t const i) const |
auto | center (std::size_t const i) -> auto & |
auto | local_coordinate (pos_type const &x) const |
auto | squared_euclidean_distance_to_center (pos_type const &x) const |
auto | euclidean_distance_to_center (pos_type const &x) const |
auto | squared_local_euclidean_distance_to_center (pos_type const &x) const |
auto | local_distance_to_center (pos_type const &x) const |
constexpr auto | distance_to_boundary (pos_type const &x) const |
Computes euclidean distance to nearest boundary point. More... | |
auto | local_nearest_point_boundary (pos_type const &x) const |
auto | nearest_point_boundary (pos_type const &x) const |
constexpr auto | fit (fixed_size_vec< NumDimensions > auto const &...points) |
Fits an ellipse through specified points. More... | |
constexpr auto | fit (fixed_size_quadratic_mat< NumDimensions > auto const &H) |
template<typename V , typename VReal > | |
constexpr auto | nearest_point_on_boundary (base_tensor< V, VReal, NumDimensions > const &x) const |
constexpr auto | is_inside (pos_type const &x) const |
auto | discretize (std::size_t const num_vertices=32) const |
auto | discretize (std::size_t const num_subdivisions=2) const |
auto | main_axes () const |
auto | radii () const |
Returns a the radii of the hyper ellipse as a vector. More... | |
auto | base_coordinate_system () const |
Returns a the radii of the hyper ellipse as a vector. More... | |
Static Public Member Functions | |
static auto constexpr | num_dimensions () |
Private Member Functions | |
template<std::size_t... Is> | |
constexpr auto | fit (std::index_sequence< Is... >, fixed_size_vec< NumDimensions > auto const &...points) |
Fits an ellipse through specified points. More... | |
Private Attributes | |
vec_type | m_center = vec_type::zeros() |
mat_type | m_S = mat_type::eye() |
using tatooine::geometry::hyper_ellipse< Real, NumDimensions >::mat_type = mat<Real, NumDimensions, NumDimensions> |
using tatooine::geometry::hyper_ellipse< Real, NumDimensions >::pos_type = vec_type |
using tatooine::geometry::hyper_ellipse< Real, NumDimensions >::real_type = Real |
using tatooine::geometry::hyper_ellipse< Real, NumDimensions >::this_type = hyper_ellipse<Real, NumDimensions> |
using tatooine::geometry::hyper_ellipse< Real, NumDimensions >::vec_type = vec<Real, NumDimensions> |
|
inlineconstexpr |
defaults to unit hypersphere
|
constexprdefault |
|
constexprdefaultnoexcept |
|
default |
|
inlineconstexpr |
Sets up a sphere with specified radius.
|
inlineconstexpr |
Sets up a sphere with specified radius and origin point.
|
inlineconstexpr |
Sets up a sphere with specified radius and origin point.
|
inlineconstexpr |
Sets up a sphere with specified radius and origin point.
|
inlineconstexpr |
Sets up a sphere with specified radii.
|
inlineconstexpr |
Sets up a sphere with specified radii.
|
inlineconstexpr |
Fits an ellipse through specified points.
|
inlineconstexpr |
Fits an ellipse through specified points.
|
inline |
Returns a the radii of the hyper ellipse as a vector.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineconstexpr |
Computes euclidean distance to nearest boundary point.
|
inline |
|
inlineconstexpr |
Fits an ellipse through columns of H
|
inlineconstexpr |
Fits an ellipse through specified points.
|
inlineconstexprprivate |
Fits an ellipse through specified points.
|
inlineconstexpr |
Checks if a point x is inside the ellipse.
x | point to check |
|
inline |
|
inline |
|
inline |
|
inline |
Returns a the main axes of the hyper ellipse as a matrix and the lengths of the axes as a vector.
|
inline |
|
inlineconstexpr |
Computes the main axes of the ellipse.
|
inlinestaticconstexpr |
|
constexprdefaultnoexcept |
|
constexprdefault |
|
inline |
Returns a the radii of the hyper ellipse as a vector.
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |