Tatooine
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T > Struct Template Reference

#include <natural_neighbor_coordinates_sampler.h>

Inheritance diagram for tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >:
[legend]
Collaboration diagram for tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >:
[legend]

Public Types

using this_type = natural_neighbor_coordinates_sampler< Real, NumDimensions, T >
 
using parent_type = field< this_type, Real, NumDimensions, T >
 
using pointset_type = tatooine::pointset< Real, NumDimensions >
 
using vertex_handle = typename pointset_type::vertex_handle
 
using vertex_property_type = typename pointset_type::template typed_vertex_property_type< T >
 
using cgal_kernel = CGAL::Exact_predicates_inexact_constructions_kernel
 
using cgal_triangulation_type = std::conditional_t< NumDimensions==2, cgal::delaunay_triangulation_with_info< 2, vertex_handle, cgal_kernel >, std::conditional_t< NumDimensions==3, cgal::delaunay_triangulation_with_info< 3, vertex_handle, cgal_kernel, cgal::delaunay_triangulation_simplex_base_with_circumcenter< 3, cgal_kernel > >, void > >
 
using cgal_point = typename cgal_triangulation_type::Point
 
- Public Types inherited from tatooine::field< natural_neighbor_coordinates_sampler< Real, NumDimensions, T >, Real, NumDimensions, T >
using this_type = field< natural_neighbor_coordinates_sampler< Real, NumDimensions, T >, Real, NumDimensions, T >
 
using parent_type = polymorphic::field< Real, NumDimensions, T >
 
using pos_type = vec< real_type, NumDimensions >
 
using real_type = Real
 
using tensor_type = T
 
- Public Types inherited from tatooine::polymorphic::field< Real, NumDimensions, Tensor >
using real_type = Real
 
using tensor_type = Tensor
 
using this_type = field< real_type, NumDimensions, Tensor >
 
using pos_type = vec< real_type, NumDimensions >
 

Public Member Functions

 natural_neighbor_coordinates_sampler (pointset_type const &ps, vertex_property_type const &property)
 
 natural_neighbor_coordinates_sampler (natural_neighbor_coordinates_sampler const &)=default
 
 natural_neighbor_coordinates_sampler (natural_neighbor_coordinates_sampler &&) noexcept=default
 
auto operator= (natural_neighbor_coordinates_sampler const &) -> natural_neighbor_coordinates_sampler &=default
 
auto operator= (natural_neighbor_coordinates_sampler &&) noexcept -> natural_neighbor_coordinates_sampler &=default
 
 ~natural_neighbor_coordinates_sampler ()=default
 
auto evaluate (pos_type const &x, real_type const) const -> tensor_type
 
- Public Member Functions inherited from tatooine::field< natural_neighbor_coordinates_sampler< Real, NumDimensions, T >, Real, NumDimensions, T >
 field ()=default
 
 field (field const &)=default
 
 field (field &&) noexcept=default
 
auto operator= (field const &) -> field &=default
 
auto operator= (field &&) noexcept -> field &=default
 
virtual ~field ()=default
 
auto as_derived () -> auto &
 
auto as_derived () const -> auto const &
 
auto evaluate (pos_type const &x, real_type const t) const -> tensor_type override
 
- Public Member Functions inherited from tatooine::polymorphic::field< Real, NumDimensions, Tensor >
constexpr field ()=default
 
constexpr field (field const &)=default
 
constexpr field (field &&) noexcept=default
 
constexpr auto operator= (field const &) -> field &=default
 
constexpr auto operator= (field &&) noexcept -> field &=default
 
virtual ~field ()=default
 
virtual constexpr auto evaluate (pos_type const &, real_type const) const -> tensor_type=0
 
constexpr auto evaluate (fixed_size_vec< NumDimensions > auto const &x) const -> tensor_type
 
constexpr auto operator() (fixed_size_vec< NumDimensions > auto const &x, real_type const t) const -> tensor_type
 
constexpr auto operator() (fixed_size_vec< NumDimensions > auto const &x) const -> tensor_type
 
constexpr auto operator() (arithmetic auto const ... xs) const -> tensor_type
 

Private Member Functions

template<std::size_t... Is>
auto evaluate (pos_type const &x, std::index_sequence< Is... >) const -> tensor_type
 

Private Attributes

pointset_type const & m_pointset
 
vertex_property_type const & m_property
 
cgal_triangulation_type m_triangulation
 

Additional Inherited Members

- Static Public Member Functions inherited from tatooine::polymorphic::field< Real, NumDimensions, Tensor >
static auto constexpr ood_tensor ()
 
static auto constexpr ood_position ()
 
static constexpr auto is_field ()
 
static constexpr auto is_scalarfield ()
 
static constexpr auto is_vectorfield ()
 
static constexpr auto is_matrixfield ()
 
static constexpr auto num_dimensions () -> std::size_t
 
static constexpr auto num_tensor_components ()
 
static constexpr auto tensor_rank ()
 
static constexpr auto tensor_dimension (std::size_t i)
 

Member Typedef Documentation

◆ cgal_kernel

template<floating_point Real, std::size_t NumDimensions, typename T >
using tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::cgal_kernel = CGAL::Exact_predicates_inexact_constructions_kernel

◆ cgal_point

template<floating_point Real, std::size_t NumDimensions, typename T >
using tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::cgal_point = typename cgal_triangulation_type::Point

◆ cgal_triangulation_type

template<floating_point Real, std::size_t NumDimensions, typename T >
using tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::cgal_triangulation_type = std::conditional_t< NumDimensions == 2, cgal::delaunay_triangulation_with_info<2, vertex_handle, cgal_kernel>, std::conditional_t< NumDimensions == 3, cgal::delaunay_triangulation_with_info< 3, vertex_handle, cgal_kernel, cgal::delaunay_triangulation_simplex_base_with_circumcenter< 3, cgal_kernel> >, void> >

◆ parent_type

template<floating_point Real, std::size_t NumDimensions, typename T >
using tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::parent_type = field<this_type, Real, NumDimensions, T>

◆ pointset_type

template<floating_point Real, std::size_t NumDimensions, typename T >
using tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::pointset_type = tatooine::pointset<Real, NumDimensions>

◆ this_type

template<floating_point Real, std::size_t NumDimensions, typename T >
using tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::this_type = natural_neighbor_coordinates_sampler<Real, NumDimensions, T>

◆ vertex_handle

template<floating_point Real, std::size_t NumDimensions, typename T >
using tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::vertex_handle = typename pointset_type::vertex_handle

◆ vertex_property_type

template<floating_point Real, std::size_t NumDimensions, typename T >
using tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::vertex_property_type = typename pointset_type::template typed_vertex_property_type<T>

Constructor & Destructor Documentation

◆ natural_neighbor_coordinates_sampler() [1/3]

template<floating_point Real, std::size_t NumDimensions, typename T >
tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::natural_neighbor_coordinates_sampler ( pointset_type const &  ps,
vertex_property_type const &  property 
)
inline

◆ natural_neighbor_coordinates_sampler() [2/3]

template<floating_point Real, std::size_t NumDimensions, typename T >
tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::natural_neighbor_coordinates_sampler ( natural_neighbor_coordinates_sampler< Real, NumDimensions, T > const &  )
default

◆ natural_neighbor_coordinates_sampler() [3/3]

template<floating_point Real, std::size_t NumDimensions, typename T >
tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::natural_neighbor_coordinates_sampler ( natural_neighbor_coordinates_sampler< Real, NumDimensions, T > &&  )
defaultnoexcept

◆ ~natural_neighbor_coordinates_sampler()

template<floating_point Real, std::size_t NumDimensions, typename T >
tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::~natural_neighbor_coordinates_sampler ( )
default

Member Function Documentation

◆ evaluate() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename T >
auto tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::evaluate ( pos_type const &  x,
real_type const   
) const -> tensor_type
inlinevirtual

◆ evaluate() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename T >
template<std::size_t... Is>
auto tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::evaluate ( pos_type const &  x,
std::index_sequence< Is... >   
) const -> tensor_type
inlineprivate

◆ operator=() [1/2]

template<floating_point Real, std::size_t NumDimensions, typename T >
auto tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::operator= ( natural_neighbor_coordinates_sampler< Real, NumDimensions, T > &&  ) -> natural_neighbor_coordinates_sampler &=default
defaultnoexcept

◆ operator=() [2/2]

template<floating_point Real, std::size_t NumDimensions, typename T >
auto tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::operator= ( natural_neighbor_coordinates_sampler< Real, NumDimensions, T > const &  ) -> natural_neighbor_coordinates_sampler &=default
default

Member Data Documentation

◆ m_pointset

template<floating_point Real, std::size_t NumDimensions, typename T >
pointset_type const& tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::m_pointset
private

◆ m_property

template<floating_point Real, std::size_t NumDimensions, typename T >
vertex_property_type const& tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::m_property
private

◆ m_triangulation

template<floating_point Real, std::size_t NumDimensions, typename T >
cgal_triangulation_type tatooine::detail::pointset::natural_neighbor_coordinates_sampler< Real, NumDimensions, T >::m_triangulation
private

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