Wildmeshing Toolkit
wmtk::operations::CollapseNewAttributeStrategy< T > Class Template Reference

#include <CollapseNewAttributeStrategy.hpp>

Inheritance diagram for wmtk::operations::CollapseNewAttributeStrategy< T >:
[legend]
Collaboration diagram for wmtk::operations::CollapseNewAttributeStrategy< T >:
[legend]

Public Types

using ReturnData = BaseCollapseNewAttributeStrategy::ReturnData
 
using OperationInOutData = BaseCollapseNewAttributeStrategy::OperationInOutData
 
using ReturnVariant = ReturnData::ReturnVariant
 
using VecType = VectorX< T >
 
using CollapseFuncType = std::function< VecType(const VecType &, const VecType &, const std::bitset< 2 > &)>
 
- Public Types inherited from wmtk::operations::BaseCollapseNewAttributeStrategy
using ReturnData = wmtk::multimesh::operations::CollapseReturnData
 
using OperationInOutData = wmtk::multimesh::operations::OperationInOutData
 
- Public Types inherited from wmtk::operations::NewAttributeStrategy
using SimplexPredicateType = std::function< bool(const simplex::Simplex &)>
 

Public Member Functions

 CollapseNewAttributeStrategy (const wmtk::attribute::MeshAttributeHandle &h)
 
void update (Mesh &m, const ReturnData &ret_data, const OperationInOutData &tuples) const override
 
void set_strategy (CollapseFuncType &&f)
 
void set_strategy (CollapseBasicStrategy t)
 
Meshmesh () override
 
PrimitiveType primitive_type () const override
 
void update_handle_mesh (Mesh &m) override
 
bool matches_attribute (const attribute::MeshAttributeHandle &) const override
 
std::vector< wmtk::attribute::MeshAttributeHandletargets () const final override
 
bool invalid_state () const final override
 
std::string name () const final override
 
virtual Meshmesh ()=0
 
const Meshmesh () const
 
- Public Member Functions inherited from wmtk::operations::NewAttributeStrategy
virtual ~NewAttributeStrategy ()
 
const Meshmesh () const
 
void set_simplex_predicate (SimplexPredicateType &&f)
 
void set_simplex_predicate (BasicSimplexPredicate f)
 
std::bitset< 2 > evaluate_predicate (PrimitiveType pt, const std::array< Tuple, 2 > &simplices) const
 
std::vector< wmtk::attribute::MeshAttributeHandlesources () const final override
 
- Public Member Functions inherited from wmtk::operations::AttributeTransferEdge
virtual ~AttributeTransferEdge ()=0
 

Private Member Functions

void assign_collapsed (wmtk::attribute::Accessor< T > &acc, const std::array< Tuple, 2 > &input_simplices, const Tuple &final_simplex) const
 
CollapseNewAttributeStrategy< Rational >::CollapseFuncType standard_collapse_strategy (CollapseBasicStrategy optype)
 

Static Private Member Functions

static CollapseFuncType standard_collapse_strategy (CollapseBasicStrategy optype)
 

Private Attributes

wmtk::attribute::MeshAttributeHandle m_handle
 
CollapseFuncType m_collapse_op
 
bool m_will_throw = false
 
std::unique_ptr< CollapseNewAttributeTopoInfom_topo_info
 

Detailed Description

template<typename T>
class wmtk::operations::CollapseNewAttributeStrategy< T >

Definition at line 23 of file CollapseNewAttributeStrategy.hpp.

Member Typedef Documentation

◆ CollapseFuncType

template<typename T >
using wmtk::operations::CollapseNewAttributeStrategy< T >::CollapseFuncType = std::function<VecType(const VecType&, const VecType&, const std::bitset<2>&)>

Definition at line 34 of file CollapseNewAttributeStrategy.hpp.

◆ OperationInOutData

◆ ReturnData

◆ ReturnVariant

template<typename T >
using wmtk::operations::CollapseNewAttributeStrategy< T >::ReturnVariant = ReturnData::ReturnVariant

Definition at line 28 of file CollapseNewAttributeStrategy.hpp.

◆ VecType

template<typename T >
using wmtk::operations::CollapseNewAttributeStrategy< T >::VecType = VectorX<T>

Definition at line 30 of file CollapseNewAttributeStrategy.hpp.

Constructor & Destructor Documentation

◆ CollapseNewAttributeStrategy()

Member Function Documentation

◆ assign_collapsed()

template<typename T >
void wmtk::operations::CollapseNewAttributeStrategy< T >::assign_collapsed ( wmtk::attribute::Accessor< T > &  acc,
const std::array< Tuple, 2 > &  input_simplices,
const Tuple final_simplex 
) const
private

Definition at line 187 of file CollapseNewAttributeStrategy.cpp.

References wmtk::attribute::Accessor< T, MeshType, Dim >::const_vector_attribute(), wmtk::attribute::Accessor< T, MeshType, Dim >::primitive_type(), and wmtk::attribute::Accessor< T, MeshType, Dim >::vector_attribute().

Here is the call graph for this function:

◆ invalid_state()

template<typename T >
bool wmtk::operations::CollapseNewAttributeStrategy< T >::invalid_state
finaloverridevirtual

◆ matches_attribute()

template<typename T >
bool wmtk::operations::CollapseNewAttributeStrategy< T >::matches_attribute ( const attribute::MeshAttributeHandle handle) const
overridevirtual

◆ mesh() [1/3]

template<typename T >
const Mesh & wmtk::operations::NewAttributeStrategy::mesh
virtual

Implements wmtk::operations::NewAttributeStrategy.

Definition at line 34 of file NewAttributeStrategy.cpp.

◆ mesh() [2/3]

template<typename T >
Mesh & wmtk::operations::CollapseNewAttributeStrategy< T >::mesh
overridevirtual

Implements wmtk::operations::NewAttributeStrategy.

Definition at line 228 of file CollapseNewAttributeStrategy.cpp.

Referenced by wmtk::operations::CollapseNewAttributeStrategy< T >::CollapseNewAttributeStrategy().

Here is the caller graph for this function:

◆ mesh() [3/3]

template<typename T >
virtual Mesh& wmtk::operations::NewAttributeStrategy::mesh
virtual

◆ name()

template<typename T >
std::string wmtk::operations::CollapseNewAttributeStrategy< T >::name
finaloverridevirtual

◆ primitive_type()

template<typename T >
PrimitiveType wmtk::operations::CollapseNewAttributeStrategy< T >::primitive_type
overridevirtual

◆ set_strategy() [1/2]

template<typename T >
void wmtk::operations::CollapseNewAttributeStrategy< T >::set_strategy ( CollapseBasicStrategy  t)

Definition at line 220 of file CollapseNewAttributeStrategy.cpp.

References wmtk::operations::Throw.

◆ set_strategy() [2/2]

template<typename T >
void wmtk::operations::CollapseNewAttributeStrategy< T >::set_strategy ( CollapseFuncType &&  f)

Definition at line 214 of file CollapseNewAttributeStrategy.cpp.

Referenced by wmtk::operations::CollapseNewAttributeStrategy< T >::CollapseNewAttributeStrategy().

Here is the caller graph for this function:

◆ standard_collapse_strategy() [1/2]

◆ standard_collapse_strategy() [2/2]

◆ targets()

template<typename T >
std::vector<wmtk::attribute::MeshAttributeHandle> wmtk::operations::CollapseNewAttributeStrategy< T >::targets ( ) const
inlinefinaloverridevirtual

◆ update()

template<typename T >
void wmtk::operations::CollapseNewAttributeStrategy< T >::update ( Mesh m,
const ReturnData ret_data,
const OperationInOutData tuples 
) const
overridevirtual

Implements wmtk::operations::BaseCollapseNewAttributeStrategy.

Definition at line 144 of file CollapseNewAttributeStrategy.cpp.

References wmtk::Mesh::create_accessor(), and wmtk::simplex::NavigatableSimplex::tuple().

Here is the call graph for this function:

◆ update_handle_mesh()

template<typename T >
void wmtk::operations::CollapseNewAttributeStrategy< T >::update_handle_mesh ( Mesh m)
overridevirtual

Member Data Documentation

◆ m_collapse_op

template<typename T >
CollapseFuncType wmtk::operations::CollapseNewAttributeStrategy< T >::m_collapse_op
private

Definition at line 62 of file CollapseNewAttributeStrategy.hpp.

◆ m_handle

◆ m_topo_info

◆ m_will_throw

template<typename T >
bool wmtk::operations::CollapseNewAttributeStrategy< T >::m_will_throw = false
private

Definition at line 63 of file CollapseNewAttributeStrategy.hpp.


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