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

#include <vertex_property_sampler.h>

Inheritance diagram for tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >:
[legend]
Collaboration diagram for tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >:
[legend]

Public Types

using grid_type = tatooine::unstructured_simplicial_grid< Real, NumDimensions, SimplexDim >
 
using this_type = vertex_property_sampler< Real, NumDimensions, SimplexDim, T >
 
using parent_type = field< vertex_property_sampler< Real, NumDimensions, SimplexDim, T >, Real, NumDimensions, T >
 
using real_type = Real
 
using pos_type = typename grid_type::pos_type
 
using typed_vertex_property_type = typename grid_type::template typed_vertex_property_type< T >
 
- Public Types inherited from tatooine::field< vertex_property_sampler< Real, NumDimensions, SimplexDim, T >, Real, NumDimensions, T >
using this_type = field< vertex_property_sampler< Real, NumDimensions, SimplexDim, 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

 vertex_property_sampler (grid_type const &grid, typed_vertex_property_type const &prop)
 
auto grid () const -> auto const &
 
auto property () const -> auto const &
 
auto evaluate (pos_type const &x, real_type const) const -> T
 
template<std::size_t... VertexSeq>
auto evaluate (pos_type const &x, std::index_sequence< VertexSeq... >) const -> T
 
- Public Member Functions inherited from tatooine::field< vertex_property_sampler< Real, NumDimensions, SimplexDim, 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
 

Static Public Member Functions

static auto constexpr num_dimensions ()
 
- 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)
 

Private Attributes

grid_type const & m_grid
 
typed_vertex_property_type const & m_prop
 

Member Typedef Documentation

◆ grid_type

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
using tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::grid_type = tatooine::unstructured_simplicial_grid<Real, NumDimensions, SimplexDim>

◆ parent_type

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
using tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::parent_type = field<vertex_property_sampler<Real, NumDimensions, SimplexDim, T>, Real, NumDimensions, T>

◆ pos_type

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
using tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::pos_type = typename grid_type::pos_type

◆ real_type

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
using tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::real_type = Real

◆ this_type

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
using tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::this_type = vertex_property_sampler<Real, NumDimensions, SimplexDim, T>

◆ typed_vertex_property_type

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
using tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::typed_vertex_property_type = typename grid_type::template typed_vertex_property_type<T>

Constructor & Destructor Documentation

◆ vertex_property_sampler()

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::vertex_property_sampler ( grid_type const &  grid,
typed_vertex_property_type const &  prop 
)
inline

Member Function Documentation

◆ evaluate() [1/2]

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
auto tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::evaluate ( pos_type const &  x,
real_type const   
) const -> T
inline

◆ evaluate() [2/2]

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
template<std::size_t... VertexSeq>
auto tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::evaluate ( pos_type const &  x,
std::index_sequence< VertexSeq... >   
) const -> T
inline

◆ grid()

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
auto tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::grid ( ) const -> auto const&
inline

◆ num_dimensions()

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
static auto constexpr tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::num_dimensions ( )
inlinestaticconstexpr

◆ property()

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
auto tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::property ( ) const -> auto const&
inline

Member Data Documentation

◆ m_grid

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
grid_type const& tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::m_grid
private

◆ m_prop

template<floating_point Real, std::size_t NumDimensions, std::size_t SimplexDim, typename T >
typed_vertex_property_type const& tatooine::detail::unstructured_simplicial_grid::vertex_property_sampler< Real, NumDimensions, SimplexDim, T >::m_prop
private

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