SPH
Classes | Typedefs | Functions
Detail Namespace Reference

Classes

struct  SerializedType
 Type trait for serialization/deserialization of types. More...
 
struct  SerializedType< Precise, T, std::enable_if_t< std::is_integral< T >::value||std::is_enum< T >::value > >
 
struct  SerializedType< Precise, T, std::enable_if_t< std::is_floating_point< T >::value > >
 
struct  SerializedType< Precise, char[N]>
 
class  TupleValue
 
class  TupleImpl
 
class  TupleImpl< std::index_sequence< TIndices... >, TArgs... >
 
struct  ForEachVisitor
 
struct  ForEachIfVisitor
 
struct  MultipoleMappingImpl
 
struct  MultipoleMappingImpl< X, Second, Idxs... >
 
struct  MultipoleMappingImpl< I >
 
struct  MultipoleMappingImpl< Y, Second, Idxs... >
 
struct  MultipoleMappingImpl< Z, Second, Idxs... >
 
struct  MultipoleMapping
 
struct  MultipoleMapping< I >
 
struct  MultipoleMapping<>
 
struct  TracelessMultipoleMappingImpl
 
struct  TracelessMultipoleMappingImpl< X, Second, Idxs... >
 
struct  TracelessMultipoleMappingImpl< Y, Second, Idxs... >
 
struct  TracelessMultipoleMappingImpl< I >
 
struct  TracelessMultipoleMapping
 
struct  TracelessMultipoleMapping< I >
 
struct  StaticForType
 
struct  StaticForType< N, N >
 
struct  SelectNthType
 
struct  SelectNthType< N, N >
 
struct  Cloner
 
class  TypedCloner
 
class  Callable
 
class  Callable< TReturn(TArgs...)>
 
class  LockingControlBlock
 
class  ControlBlockHolder
 
class  ControlBlock
 
class  TokenBlock
 
struct  ForValue
 
struct  ForValue< N, NothingType, TArgs... >
 
struct  ForValue< N, T0 >
 
class  Holder
 
class  UnitAdapter
 
class  UnitAdapter< T, std::enable_if_t< std::is_same< T, Float >::value||std::is_same< T, Vector >::value > >
 
class  ValueEntry
 
class  ValueEntry< TValue, std::enable_if_t< FlagsTraits< TValue >::isFlags > >
 
class  SettingsEntry
 
class  SettingsEntry< TValue, TEnum, std::enable_if_t< FlagsTraits< TValue >::isFlags > >
 Partial specialization for Flags. More...
 
class  SettingsEntry< Path, TEnum >
 Partial specialization for Path. More...
 
struct  ValueInitTag
 
struct  FunctorInitTag
 
struct  ParamTraits
 
struct  ParamTraits< TArg >
 

Typedefs

template<bool Precise, typename T >
using Serialized = typename SerializedType< Precise, T >::Type
 

Functions

template<Size N>
INLINE Multipole< NcomputeMultipoleImpl (const Vector &dr, const Float m)
 
template<>
INLINE Multipole< 0 > computeMultipoleImpl (const Vector &UNUSED(dr), const Float m)
 
template<typename... Ts1, typename... Ts2, std::size_t... TIdxs>
constexpr INLINE Tuple< Ts1..., Ts2... > appendImpl (const Tuple< Ts1... > &tuple, std::index_sequence< TIdxs... >, Ts2 &&... values)
 
template<typename... Ts1, typename... Ts2, std::size_t... TIdxs>
constexpr INLINE Tuple< Ts1..., Ts2... > appendImpl (Tuple< Ts1... > &&tuple, std::index_sequence< TIdxs... >, Ts2 &&... values)
 
template<typename... Ts1, typename... Ts2, std::size_t... TIdxs1, std::size_t... TIdxs2>
constexpr INLINE Tuple< Ts1..., Ts2... > appendImpl (const Tuple< Ts1... > &t1, const Tuple< Ts2... > &t2, std::index_sequence< TIdxs1... >, std::index_sequence< TIdxs2... >)
 
template<typename TFunctor , typename TTuple , std::size_t... TIndices>
decltype(auto) INLINE applyImpl (TTuple &&tuple, TFunctor &&functor, std::index_sequence< TIndices... >)
 
constexpr Size multipoleComponentCnt (Size order)
 
template<Size Last>
constexpr Size sum ()
 
template<Size First, Size Second, Size... Idxs>
constexpr Size sum ()
 
template<std::size_t... Idxs, std::size_t... Is>
constexpr Size expandMultipoleArray (std::index_sequence< Is... >)
 
constexpr Size tracelessMultipoleComponentCnt (Size order)
 
template<std::size_t... Idxs, std::size_t... Is>
constexpr Size expandTracelessMultipoleArray (std::index_sequence< Is... >)
 
template<typename... TArgs>
void expandPack (TArgs &&...)
 
INLINE void printArgs (std::stringstream &)
 
template<typename T0 , typename... TArgs>
INLINE void printArgs (std::stringstream &ss, T0 &&t0, TArgs &&... args)
 
template<typename TEnum >
std::string makeTooltip (const TEnum id)
 
template<typename Type >
INLINE float getColorizerValue (const Type &value)
 
template<>
INLINE float getColorizerValue (const Vector &value)
 
template<>
INLINE float getColorizerValue (const TracelessTensor &value)
 
template<>
INLINE float getColorizerValue (const SymmetricTensor &value)
 
template<typename Type >
INLINE Optional< VectorgetColorizerVector (const Type &UNUSED(value))
 
template<>
INLINE Optional< VectorgetColorizerVector (const Vector &value)
 

Detailed Description

Todo:
Types Scalar -> scalar Vector -> size, x, y, z Tensor -> trace, 2nd inv, xx, yy, zz, xy, xz, yz, largest eigen, smallest eigen

Typedef Documentation

◆ Serialized

template<bool Precise, typename T >
using Detail::Serialized = typedef typename SerializedType<Precise, T>::Type

Definition at line 41 of file Serializer.h.

Function Documentation

◆ appendImpl() [1/3]

template<typename... Ts1, typename... Ts2, std::size_t... TIdxs1, std::size_t... TIdxs2>
constexpr INLINE Tuple<Ts1..., Ts2...> Detail::appendImpl ( const Tuple< Ts1... > &  t1,
const Tuple< Ts2... > &  t2,
std::index_sequence< TIdxs1... >  ,
std::index_sequence< TIdxs2... >   
)
constexpr

Definition at line 340 of file Tuple.h.

◆ appendImpl() [2/3]

template<typename... Ts1, typename... Ts2, std::size_t... TIdxs>
constexpr INLINE Tuple<Ts1..., Ts2...> Detail::appendImpl ( const Tuple< Ts1... > &  tuple,
std::index_sequence< TIdxs... >  ,
Ts2 &&...  values 
)
constexpr

Definition at line 326 of file Tuple.h.

◆ appendImpl() [3/3]

template<typename... Ts1, typename... Ts2, std::size_t... TIdxs>
constexpr INLINE Tuple<Ts1..., Ts2...> Detail::appendImpl ( Tuple< Ts1... > &&  tuple,
std::index_sequence< TIdxs... >  ,
Ts2 &&...  values 
)
constexpr

Definition at line 333 of file Tuple.h.

◆ applyImpl()

template<typename TFunctor , typename TTuple , std::size_t... TIndices>
decltype(auto) INLINE Detail::applyImpl ( TTuple &&  tuple,
TFunctor &&  functor,
std::index_sequence< TIndices... >   
)

Definition at line 473 of file Tuple.h.

◆ computeMultipoleImpl() [1/2]

template<Size N>
INLINE Multipole<N> Detail::computeMultipoleImpl ( const Vector dr,
const Float  m 
)

Definition at line 141 of file Moments.h.

◆ computeMultipoleImpl() [2/2]

template<>
INLINE Multipole<0> Detail::computeMultipoleImpl ( const Vector UNUSEDdr,
const Float  m 
)

Definition at line 146 of file Moments.h.

◆ expandMultipoleArray()

template<std::size_t... Idxs, std::size_t... Is>
constexpr Size Detail::expandMultipoleArray ( std::index_sequence< Is... >  )
constexpr

Definition at line 61 of file Multipole.h.

◆ expandPack()

template<typename... TArgs>
void Detail::expandPack ( TArgs &&  ...)
Todo:
can be replaced with fold expressions

Definition at line 130 of file Object.h.

◆ expandTracelessMultipoleArray()

template<std::size_t... Idxs, std::size_t... Is>
constexpr Size Detail::expandTracelessMultipoleArray ( std::index_sequence< Is... >  )
constexpr

Definition at line 284 of file Multipole.h.

◆ getColorizerValue() [1/4]

template<>
INLINE float Detail::getColorizerValue ( const SymmetricTensor value)

Definition at line 114 of file Colorizer.h.

◆ getColorizerValue() [2/4]

template<>
INLINE float Detail::getColorizerValue ( const TracelessTensor value)

Definition at line 110 of file Colorizer.h.

◆ getColorizerValue() [3/4]

template<typename Type >
INLINE float Detail::getColorizerValue ( const Type &  value)

Helper function returning a scalar representation of given quantity.

This value is later converted to color, using provided palette.

Definition at line 99 of file Colorizer.h.

◆ getColorizerValue() [4/4]

template<>
INLINE float Detail::getColorizerValue ( const Vector value)

Definition at line 104 of file Colorizer.h.

◆ getColorizerVector() [1/2]

template<typename Type >
INLINE Optional<Vector> Detail::getColorizerVector ( const Type &  UNUSEDvalue)

Helper function returning vector representation of given quantity.

Only meaningful result is returned for vector quantity, other quantities simply return zero vector. The function is useful to avoid specializing colorizers for different types.

Definition at line 123 of file Colorizer.h.

◆ getColorizerVector() [2/2]

template<>
INLINE Optional<Vector> Detail::getColorizerVector ( const Vector value)

Definition at line 127 of file Colorizer.h.

◆ makeTooltip()

template<typename TEnum >
std::string Detail::makeTooltip ( const TEnum  id)
inline

Definition at line 127 of file VirtualSettings.inl.h.

◆ multipoleComponentCnt()

constexpr Size Detail::multipoleComponentCnt ( Size  order)
constexpr

Definition at line 27 of file Multipole.h.

◆ printArgs() [1/2]

INLINE void Detail::printArgs ( std::stringstream &  )

Definition at line 144 of file Outcome.h.

◆ printArgs() [2/2]

template<typename T0 , typename... TArgs>
INLINE void Detail::printArgs ( std::stringstream &  ss,
T0 &&  t0,
TArgs &&...  args 
)

Definition at line 147 of file Outcome.h.

◆ sum() [1/2]

template<Size Last>
constexpr Size Detail::sum ( )
constexpr

Definition at line 31 of file Multipole.h.

◆ sum() [2/2]

template<Size First, Size Second, Size... Idxs>
constexpr Size Detail::sum ( )
constexpr

Definition at line 35 of file Multipole.h.

◆ tracelessMultipoleComponentCnt()

constexpr Size Detail::tracelessMultipoleComponentCnt ( Size  order)
constexpr

Definition at line 262 of file Multipole.h.