Tatooine
Classes | Typedefs | Functions
tatooine::geometry Namespace Reference

Classes

struct  ellipsoid
 
struct  hyper_ellipse
 
struct  sphere
 

Typedefs

template<floating_point Real>
using ellipse = hyper_ellipse< Real, 2 >
 
template<std::size_t NumDimensions>
using HyperEllipse = hyper_ellipse< real_number, NumDimensions >
 
template<std::size_t N>
using Sphere = sphere< real_number, N >
 
using sphere2 = Sphere< 2 >
 
using circle = Sphere< 2 >
 
using sphere3 = Sphere< 3 >
 
using sphere4 = Sphere< 4 >
 
template<typename Real >
using Sphere2 = sphere< Real, 2 >
 
template<typename Real >
using Circle = sphere< Real, 2 >
 
template<typename Real >
using Sphere3 = sphere< Real, 3 >
 
template<typename Real >
using Sphere4 = sphere< Real, 4 >
 

Functions

 ellipsoid () -> ellipsoid< real_type >
 
template<floating_point Real0, floating_point Real1, floating_point Real2>
 ellipsoid (Real0, Real1, Real2) -> ellipsoid< common_type< Real0, Real1, Real2 > >
 
template<floating_point Real0, floating_point Real1, floating_point Real2>
 ellipsoid (vec< Real0, 3 > &, vec< Real1, 3 > &, vec< Real2, 3 > &) -> ellipsoid< common_type< Real0, Real1, Real2 > >
 
template<typename Real , std::size_t NumDimensions>
requires (NumDimensions == 2 || NumDimensions == 3)
auto discretize (hyper_ellipse< Real, NumDimensions > const &s, std::size_t const n=32)
 
template<floating_point Real0, floating_point Real1, size_t N>
 sphere (Real0 radius, vec< Real1, N > &&) -> sphere< std::common_type_t< Real0, Real1 >, N >
 
template<floating_point Real0, floating_point Real1, size_t N>
 sphere (Real0 radius, vec< Real1, N > const &) -> sphere< std::common_type_t< Real0, Real1 >, N >
 
template<floating_point Real>
auto discretize (sphere< Real, 2 > const &s, size_t const num_vertices)
 
template<floating_point Real>
auto discretize (sphere< Real, 3 > const &s, size_t num_subdivisions=0)
 

Typedef Documentation

◆ circle

using tatooine::geometry::circle = typedef Sphere<2>

◆ Circle

template<typename Real >
using tatooine::geometry::Circle = typedef sphere<Real, 2>

◆ ellipse

template<floating_point Real>
using tatooine::geometry::ellipse = typedef hyper_ellipse<Real, 2>

◆ HyperEllipse

template<std::size_t NumDimensions>
using tatooine::geometry::HyperEllipse = typedef hyper_ellipse<real_number, NumDimensions>

◆ Sphere

template<std::size_t N>
using tatooine::geometry::Sphere = typedef sphere<real_number, N>

◆ sphere2

using tatooine::geometry::sphere2 = typedef Sphere<2>

◆ Sphere2

template<typename Real >
using tatooine::geometry::Sphere2 = typedef sphere<Real, 2>

◆ sphere3

using tatooine::geometry::sphere3 = typedef Sphere<3>

◆ Sphere3

template<typename Real >
using tatooine::geometry::Sphere3 = typedef sphere<Real, 3>

◆ sphere4

using tatooine::geometry::sphere4 = typedef Sphere<4>

◆ Sphere4

template<typename Real >
using tatooine::geometry::Sphere4 = typedef sphere<Real, 4>

Function Documentation

◆ discretize() [1/3]

template<typename Real , std::size_t NumDimensions>
requires (NumDimensions == 2 || NumDimensions == 3)
auto tatooine::geometry::discretize ( hyper_ellipse< Real, NumDimensions > const &  s,
std::size_t const  n = 32 
)

◆ discretize() [2/3]

template<floating_point Real>
auto tatooine::geometry::discretize ( sphere< Real, 2 > const &  s,
size_t const  num_vertices 
)

◆ discretize() [3/3]

template<floating_point Real>
auto tatooine::geometry::discretize ( sphere< Real, 3 > const &  s,
size_t  num_subdivisions = 0 
)

◆ ellipsoid() [1/3]

◆ ellipsoid() [2/3]

template<floating_point Real0, floating_point Real1, floating_point Real2>
tatooine::geometry::ellipsoid ( Real0  ,
Real1  ,
Real2   
) -> ellipsoid< common_type< Real0, Real1, Real2 > >

◆ ellipsoid() [3/3]

template<floating_point Real0, floating_point Real1, floating_point Real2>
tatooine::geometry::ellipsoid ( vec< Real0, 3 > &  ,
vec< Real1, 3 > &  ,
vec< Real2, 3 > &   
) -> ellipsoid< common_type< Real0, Real1, Real2 > >

◆ sphere() [1/2]

template<floating_point Real0, floating_point Real1, size_t N>
tatooine::geometry::sphere ( Real0  radius,
vec< Real1, N > &&   
) -> sphere< std::common_type_t< Real0, Real1 >, N >

◆ sphere() [2/2]

template<floating_point Real0, floating_point Real1, size_t N>
tatooine::geometry::sphere ( Real0  radius,
vec< Real1, N > const &   
) -> sphere< std::common_type_t< Real0, Real1 >, N >