Tatooine
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Static Private Member Functions | List of all members
tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims > Struct Template Reference

#include <infinite_vertex_property_sampler.h>

Inheritance diagram for tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >:
[legend]
Collaboration diagram for tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >:
[legend]

Public Types

using parent_type = tatooine::field< infinite_vertex_property_sampler, typename VertexPropSampler::real_type, VertexPropSampler::num_dimensions(), typename VertexPropSampler::tensor_type >
 
- Public Types inherited from tatooine::field< infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims... >, VertexPropSampler::real_type, VertexPropSampler::num_dimensions(), VertexPropSampler::tensor_type >
using this_type = field< infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims... >, VertexPropSampler::real_type, NumDimensions, VertexPropSampler::tensor_type >
 
using parent_type = polymorphic::field< VertexPropSampler::real_type, NumDimensions, VertexPropSampler::tensor_type >
 
using pos_type = vec< real_type, NumDimensions >
 
using real_type = VertexPropSampler::real_type
 
using tensor_type = VertexPropSampler::tensor_type
 
- 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

 infinite_vertex_property_sampler (VertexPropSampler const &sampler)
 
template<std::size_t... i>
auto clamp_pos (pos_type x, std::index_sequence< i... >) const
 
auto clamp_pos (pos_type const &x) const
 
auto evaluate (pos_type const &x, real_type const t) const -> tensor_type
 
template<std::size_t... i>
auto constexpr is_inside (pos_type const &x, std::index_sequence< i... >) const -> bool
 
auto constexpr is_inside (pos_type const &x) const -> bool
 
- Public Member Functions inherited from tatooine::field< infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims... >, VertexPropSampler::real_type, VertexPropSampler::num_dimensions(), VertexPropSampler::tensor_type >
 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
 

Public Attributes

VertexPropSampler const & m_sampler
 

Static Public Attributes

static auto constexpr num_non_repeated_dimensions
 
static auto constexpr num_repeated_dimensions
 
static constexpr auto repeated_dimensions = std::array{RepeatedDims...}
 
static constexpr auto non_repeated_dimensions = non_repeated_dimensions__()
 

Static Private Member Functions

static constexpr auto non_repeated_dimensions__ ()
 

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

◆ parent_type

template<typename VertexPropSampler , std::size_t... RepeatedDims>
using tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::parent_type = tatooine::field<infinite_vertex_property_sampler, typename VertexPropSampler::real_type, VertexPropSampler::num_dimensions(), typename VertexPropSampler::tensor_type>

Constructor & Destructor Documentation

◆ infinite_vertex_property_sampler()

template<typename VertexPropSampler , std::size_t... RepeatedDims>
tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::infinite_vertex_property_sampler ( VertexPropSampler const &  sampler)
inline

Member Function Documentation

◆ clamp_pos() [1/2]

template<typename VertexPropSampler , std::size_t... RepeatedDims>
auto tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::clamp_pos ( pos_type const &  x) const
inline

◆ clamp_pos() [2/2]

template<typename VertexPropSampler , std::size_t... RepeatedDims>
template<std::size_t... i>
auto tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::clamp_pos ( pos_type  x,
std::index_sequence< i... >   
) const
inline

◆ evaluate()

template<typename VertexPropSampler , std::size_t... RepeatedDims>
auto tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::evaluate ( pos_type const &  x,
real_type const  t 
) const -> tensor_type
inline

◆ is_inside() [1/2]

template<typename VertexPropSampler , std::size_t... RepeatedDims>
auto constexpr tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::is_inside ( pos_type const &  x) const -> bool
inlineconstexpr

◆ is_inside() [2/2]

template<typename VertexPropSampler , std::size_t... RepeatedDims>
template<std::size_t... i>
auto constexpr tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::is_inside ( pos_type const &  x,
std::index_sequence< i... >   
) const -> bool
inlineconstexpr

◆ non_repeated_dimensions__()

template<typename VertexPropSampler , std::size_t... RepeatedDims>
static constexpr auto tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::non_repeated_dimensions__ ( )
inlinestaticconstexprprivate

Member Data Documentation

◆ m_sampler

template<typename VertexPropSampler , std::size_t... RepeatedDims>
VertexPropSampler const& tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::m_sampler

◆ non_repeated_dimensions

template<typename VertexPropSampler , std::size_t... RepeatedDims>
constexpr auto tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::non_repeated_dimensions = non_repeated_dimensions__()
staticconstexpr

◆ num_non_repeated_dimensions

template<typename VertexPropSampler , std::size_t... RepeatedDims>
auto constexpr tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::num_non_repeated_dimensions
staticconstexpr
Initial value:
=
parent_type::num_dimensions() - sizeof...(RepeatedDims)
auto num_dimensions() const -> std::size_t
Definition: hdf5.h:764

◆ num_repeated_dimensions

template<typename VertexPropSampler , std::size_t... RepeatedDims>
auto constexpr tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::num_repeated_dimensions
staticconstexpr
Initial value:
=
static auto constexpr num_non_repeated_dimensions
Definition: infinite_vertex_property_sampler.h:55

◆ repeated_dimensions

template<typename VertexPropSampler , std::size_t... RepeatedDims>
constexpr auto tatooine::detail::rectilinear_grid::infinite_vertex_property_sampler< VertexPropSampler, RepeatedDims >::repeated_dimensions = std::array{RepeatedDims...}
staticconstexpr

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