Wildmeshing Toolkit
wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType > Class Template Reference

#include <AttributeTransferStrategy.hpp>

Inheritance diagram for wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >:
[legend]
Collaboration diagram for wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >:
[legend]

Public Types

template<typename T >
using VecType = VectorX< T >
 
template<typename T >
using MatType = MatrixX< T >
 
using MyVecType = VecType< MyType >
 
using ParentMatType = MatType< ParentType >
 
using FunctorWithoutSimplicesType = std::function< MyVecType(const ParentMatType &)>
 
using FunctorType = std::function< MyVecType(const ParentMatType &, const std::vector< Tuple > &)>
 

Public Member Functions

 SingleAttributeTransferStrategy (const attribute::MeshAttributeHandle &my_handle, const attribute::MeshAttributeHandle &parent_handle, FunctorType &&=nullptr)
 
 SingleAttributeTransferStrategy (const attribute::MeshAttributeHandle &my_handle, const attribute::MeshAttributeHandle &parent_handle, FunctorWithoutSimplicesType &&=nullptr)
 
void run (const simplex::Simplex &s) const final override
 
PrimitiveType parent_primitive_type () const
 
std::vector< wmtk::attribute::MeshAttributeHandlesources () const final override
 
- Public Member Functions inherited from wmtk::operations::AttributeTransferStrategy< MyType >
 AttributeTransferStrategy (const attribute::MeshAttributeHandle &my_handle)
 
PrimitiveType primitive_type () const override
 
Meshmesh () override
 
virtual Meshmesh ()=0
 
const Meshmesh () const
 
- Public Member Functions inherited from wmtk::operations::AttributeTransferStrategyBase
 AttributeTransferStrategyBase (const attribute::MeshAttributeHandle &my_handle)
 
virtual ~AttributeTransferStrategyBase ()
 
const attribute::MeshAttributeHandlehandle () const
 
attribute::MeshAttributeHandlehandle ()
 
std::vector< wmtk::attribute::MeshAttributeHandletargets () const final override
 
bool matches_attribute (const wmtk::attribute::MeshAttributeHandle &attr) const
 
const Meshmesh () const
 
void run_on_all () const
 
- Public Member Functions inherited from wmtk::operations::AttributeTransferEdge
virtual ~AttributeTransferEdge ()=0
 

Static Public Member Functions

static FunctorType make_nosimplices_func (FunctorWithoutSimplicesType &&fp)
 
- Static Public Member Functions inherited from wmtk::operations::AttributeTransferStrategyBase
static std::vector< Tupleget_parent_simplices (const Mesh &m, const Mesh &parent, const simplex::Simplex &s, PrimitiveType parent_primitive_type)
 
static std::vector< Tupleget_parent_simplices (const attribute::MeshAttributeHandle &me, const attribute::MeshAttributeHandle &parent, const simplex::Simplex &s)
 

Protected Member Functions

std::pair< ParentMatType, std::vector< Tuple > > read_parent_values (const simplex::Simplex &my_simplex) const
 

Private Attributes

FunctorType m_functor
 
attribute::MeshAttributeHandle m_parent_handle
 

Detailed Description

template<typename MyType, typename ParentType>
class wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >

Template Parameters
MyTypeThe type to which transfer should go to.
ParentTypeThe type that causes the change in MyType.

Definition at line 29 of file AttributeTransferStrategy.hpp.

Member Typedef Documentation

◆ FunctorType

template<typename MyType , typename ParentType >
using wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::FunctorType = std::function<MyVecType(const ParentMatType&, const std::vector<Tuple>&)>

Definition at line 51 of file AttributeTransferStrategy.hpp.

◆ FunctorWithoutSimplicesType

template<typename MyType , typename ParentType >
using wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::FunctorWithoutSimplicesType = std::function<MyVecType(const ParentMatType&)>

Definition at line 50 of file AttributeTransferStrategy.hpp.

◆ MatType

template<typename MyType , typename ParentType >
template<typename T >
using wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::MatType = MatrixX<T>

Definition at line 40 of file AttributeTransferStrategy.hpp.

◆ MyVecType

template<typename MyType , typename ParentType >
using wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::MyVecType = VecType<MyType>

Definition at line 41 of file AttributeTransferStrategy.hpp.

◆ ParentMatType

template<typename MyType , typename ParentType >
using wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::ParentMatType = MatType<ParentType>

Definition at line 42 of file AttributeTransferStrategy.hpp.

◆ VecType

template<typename MyType , typename ParentType >
template<typename T >
using wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::VecType = VectorX<T>

Definition at line 38 of file AttributeTransferStrategy.hpp.

Constructor & Destructor Documentation

◆ SingleAttributeTransferStrategy() [1/2]

template<typename MyType , typename ParentType >
wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::SingleAttributeTransferStrategy ( const attribute::MeshAttributeHandle my_handle,
const attribute::MeshAttributeHandle parent_handle,
FunctorType &&  f = nullptr 
)

Definition at line 102 of file AttributeTransferStrategy.hpp.

◆ SingleAttributeTransferStrategy() [2/2]

template<typename MyType , typename ParentType >
wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::SingleAttributeTransferStrategy ( const attribute::MeshAttributeHandle my_handle,
const attribute::MeshAttributeHandle parent_handle,
FunctorWithoutSimplicesType &&  f = nullptr 
)

Definition at line 114 of file AttributeTransferStrategy.hpp.

Member Function Documentation

◆ make_nosimplices_func()

template<typename MyType , typename ParentType >
static FunctorType wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::make_nosimplices_func ( FunctorWithoutSimplicesType &&  fp)
inlinestatic

Definition at line 67 of file AttributeTransferStrategy.hpp.

◆ parent_primitive_type()

template<typename MyType , typename ParentType >
PrimitiveType wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::parent_primitive_type

Definition at line 158 of file AttributeTransferStrategy.hpp.

◆ read_parent_values()

template<typename MyType , typename ParentType >
auto wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::read_parent_values ( const simplex::Simplex my_simplex) const
protected

Definition at line 122 of file AttributeTransferStrategy.hpp.

References wmtk::operations::AttributeTransferStrategyBase::get_parent_simplices().

Here is the call graph for this function:

◆ run()

template<typename MyType , typename ParentType >
void wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::run ( const simplex::Simplex s) const
finaloverridevirtual

Implements wmtk::operations::AttributeTransferStrategyBase.

Definition at line 141 of file AttributeTransferStrategy.hpp.

References wmtk::simplex::Simplex::primitive_type(), and wmtk::simplex::Simplex::tuple().

Here is the call graph for this function:

◆ sources()

template<typename MyType , typename ParentType >
std::vector<wmtk::attribute::MeshAttributeHandle> wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::sources ( ) const
inlinefinaloverridevirtual

Member Data Documentation

◆ m_functor

template<typename MyType , typename ParentType >
FunctorType wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::m_functor
private

Definition at line 83 of file AttributeTransferStrategy.hpp.

◆ m_parent_handle

template<typename MyType , typename ParentType >
attribute::MeshAttributeHandle wmtk::operations::SingleAttributeTransferStrategy< MyType, ParentType >::m_parent_handle
private

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