Wildmeshing Toolkit
|
#include <SplitNewAttributeStrategy.hpp>
Public Types | |
using | VecType = VectorX< T > |
using | ReturnData = BaseSplitNewAttributeStrategy::ReturnData |
using | OperationInOutData = BaseSplitNewAttributeStrategy::OperationInOutData |
using | ReturnVariant = ReturnData::ReturnVariant |
using | SplitRibFuncType = std::function< VecType(const VecType &, const VecType &, const std::bitset< 2 > &)> |
using | SplitFuncType = std::function< std::array< VecType, 2 >(const VecType &, const std::bitset< 2 > &)> |
Public Types inherited from wmtk::operations::BaseSplitNewAttributeStrategy | |
using | ReturnData = wmtk::multimesh::operations::SplitReturnData |
using | OperationInOutData = wmtk::multimesh::operations::OperationInOutData |
Public Types inherited from wmtk::operations::NewAttributeStrategy | |
using | SimplexPredicateType = std::function< bool(const simplex::Simplex &)> |
Private Member Functions | |
void | assign_split (wmtk::attribute::Accessor< T > &accessor, const Tuple &input_simplex, const std::array< Tuple, 2 > &split_simplices) const |
void | assign_split_ribs (wmtk::attribute::Accessor< T > &accessor, const std::array< Tuple, 2 > &input_ears, const Tuple &final_simplex) const |
SplitNewAttributeStrategy< Rational >::SplitFuncType | standard_split_strategy (SplitBasicStrategy optype, const std::string_view &name) |
SplitNewAttributeStrategy< Rational >::SplitRibFuncType | standard_split_rib_strategy (SplitRibBasicStrategy optype, const std::string_view &name) |
Static Private Member Functions | |
static SplitFuncType | standard_split_strategy (SplitBasicStrategy optype, const std::string_view &={}) |
static SplitRibFuncType | standard_split_rib_strategy (SplitRibBasicStrategy optype, const std::string_view &={}) |
Private Attributes | |
wmtk::attribute::MeshAttributeHandle | m_handle |
SplitRibFuncType | m_split_rib_op |
SplitFuncType | m_split_op |
bool | m_will_throw = false |
bool | m_will_throw_rib = false |
std::unique_ptr< SplitNewAttributeTopoInfo > | m_topo_info |
Definition at line 25 of file SplitNewAttributeStrategy.hpp.
using wmtk::operations::SplitNewAttributeStrategy< T >::OperationInOutData = BaseSplitNewAttributeStrategy::OperationInOutData |
Definition at line 30 of file SplitNewAttributeStrategy.hpp.
using wmtk::operations::SplitNewAttributeStrategy< T >::ReturnData = BaseSplitNewAttributeStrategy::ReturnData |
Definition at line 29 of file SplitNewAttributeStrategy.hpp.
using wmtk::operations::SplitNewAttributeStrategy< T >::ReturnVariant = ReturnData::ReturnVariant |
Definition at line 31 of file SplitNewAttributeStrategy.hpp.
using wmtk::operations::SplitNewAttributeStrategy< T >::SplitFuncType = std::function<std::array<VecType, 2>(const VecType&, const std::bitset<2>&)> |
Definition at line 39 of file SplitNewAttributeStrategy.hpp.
using wmtk::operations::SplitNewAttributeStrategy< T >::SplitRibFuncType = std::function<VecType(const VecType&, const VecType&, const std::bitset<2>&)> |
Definition at line 34 of file SplitNewAttributeStrategy.hpp.
using wmtk::operations::SplitNewAttributeStrategy< T >::VecType = VectorX<T> |
Definition at line 28 of file SplitNewAttributeStrategy.hpp.
wmtk::operations::SplitNewAttributeStrategy< T >::SplitNewAttributeStrategy | ( | const wmtk::attribute::MeshAttributeHandle & | h | ) |
Definition at line 187 of file SplitNewAttributeStrategy.cpp.
References wmtk::Edge, wmtk::attribute::MeshAttributeHandle::holds(), wmtk::Mesh::is_free(), wmtk::log_and_throw_error(), wmtk::operations::SplitNewAttributeStrategy< T >::m_handle, wmtk::operations::SplitNewAttributeStrategy< T >::m_topo_info, wmtk::attribute::MeshAttributeHandle::mesh(), wmtk::operations::SplitNewAttributeStrategy< T >::mesh(), wmtk::attribute::MeshAttributeHandle::primitive_type(), wmtk::operations::SplitNewAttributeStrategy< T >::set_rib_strategy(), wmtk::operations::SplitNewAttributeStrategy< T >::set_strategy(), wmtk::Tetrahedron, wmtk::operations::Throw, wmtk::Mesh::top_simplex_type(), wmtk::Triangle, and wmtk::Vertex.
|
private |
Definition at line 308 of file SplitNewAttributeStrategy.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().
|
private |
Definition at line 282 of file SplitNewAttributeStrategy.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().
|
finaloverridevirtual |
Implements wmtk::operations::NewAttributeStrategy.
Definition at line 13 of file SplitNewAttributeStrategy.cpp.
|
overridevirtual |
Implements wmtk::operations::NewAttributeStrategy.
Definition at line 374 of file SplitNewAttributeStrategy.cpp.
|
virtual |
Implements wmtk::operations::NewAttributeStrategy.
Definition at line 34 of file NewAttributeStrategy.cpp.
|
overridevirtual |
Implements wmtk::operations::NewAttributeStrategy.
Definition at line 356 of file SplitNewAttributeStrategy.cpp.
Referenced by wmtk::operations::SplitNewAttributeStrategy< T >::SplitNewAttributeStrategy().
|
virtual |
Implements wmtk::operations::NewAttributeStrategy.
|
finaloverridevirtual |
Implements wmtk::operations::NewAttributeStrategy.
Definition at line 18 of file SplitNewAttributeStrategy.cpp.
|
overridevirtual |
Implements wmtk::operations::NewAttributeStrategy.
Definition at line 362 of file SplitNewAttributeStrategy.cpp.
void wmtk::operations::SplitNewAttributeStrategy< T >::set_rib_strategy | ( | SplitRibBasicStrategy | t | ) |
Definition at line 330 of file SplitNewAttributeStrategy.cpp.
References wmtk::operations::Throw.
void wmtk::operations::SplitNewAttributeStrategy< T >::set_rib_strategy | ( | SplitRibFuncType && | f | ) |
Definition at line 343 of file SplitNewAttributeStrategy.cpp.
Referenced by wmtk::operations::SplitNewAttributeStrategy< T >::SplitNewAttributeStrategy().
void wmtk::operations::SplitNewAttributeStrategy< T >::set_strategy | ( | SplitBasicStrategy | t | ) |
Definition at line 336 of file SplitNewAttributeStrategy.cpp.
References wmtk::operations::Throw.
void wmtk::operations::SplitNewAttributeStrategy< T >::set_strategy | ( | SplitFuncType && | f | ) |
Definition at line 349 of file SplitNewAttributeStrategy.cpp.
Referenced by wmtk::operations::SplitNewAttributeStrategy< T >::SplitNewAttributeStrategy().
|
staticprivate |
Definition at line 82 of file SplitNewAttributeStrategy.cpp.
References wmtk::operations::CopyOther, wmtk::operations::CopyTuple, wmtk::operations::Default, wmtk::log_and_throw_error(), wmtk::operations::Mean, wmtk::operations::None, wmtk::operations::SplitNewAttributeStrategy< T >::standard_split_rib_strategy(), and wmtk::operations::Throw.
Referenced by wmtk::operations::SplitNewAttributeStrategy< T >::standard_split_rib_strategy().
|
private |
Definition at line 135 of file SplitNewAttributeStrategy.cpp.
References wmtk::operations::CopyOther, wmtk::operations::CopyTuple, wmtk::operations::Default, wmtk::log_and_throw_error(), wmtk::operations::Mean, wmtk::operations::None, and wmtk::operations::Throw.
|
staticprivate |
Definition at line 25 of file SplitNewAttributeStrategy.cpp.
References wmtk::operations::Copy, wmtk::operations::Default, wmtk::operations::Half, wmtk::log_and_throw_error(), wmtk::operations::None, and wmtk::operations::Throw.
|
private |
Definition at line 53 of file SplitNewAttributeStrategy.cpp.
References wmtk::operations::Copy, wmtk::operations::Default, wmtk::operations::Half, wmtk::log_and_throw_error(), wmtk::operations::None, and wmtk::operations::Throw.
|
inlinefinaloverridevirtual |
Implements wmtk::operations::AttributeTransferEdge.
Definition at line 61 of file SplitNewAttributeStrategy.hpp.
References wmtk::operations::SplitNewAttributeStrategy< T >::m_handle.
|
finaloverridevirtual |
Implements wmtk::operations::BaseSplitNewAttributeStrategy.
Definition at line 217 of file SplitNewAttributeStrategy.cpp.
References wmtk::Mesh::create_accessor(), wmtk::simplex::NavigatableSimplex::tuple(), and wmtk::Vertex.
|
overridevirtual |
Implements wmtk::operations::NewAttributeStrategy.
Definition at line 368 of file SplitNewAttributeStrategy.cpp.
|
private |
Definition at line 70 of file SplitNewAttributeStrategy.hpp.
Referenced by wmtk::operations::SplitNewAttributeStrategy< T >::SplitNewAttributeStrategy(), and wmtk::operations::SplitNewAttributeStrategy< T >::targets().
|
private |
Definition at line 72 of file SplitNewAttributeStrategy.hpp.
|
private |
Definition at line 71 of file SplitNewAttributeStrategy.hpp.
|
private |
Definition at line 75 of file SplitNewAttributeStrategy.hpp.
Referenced by wmtk::operations::SplitNewAttributeStrategy< T >::SplitNewAttributeStrategy().
|
private |
Definition at line 73 of file SplitNewAttributeStrategy.hpp.
|
private |
Definition at line 74 of file SplitNewAttributeStrategy.hpp.