Wildmeshing Toolkit
wmtk::SimplexInversionInvariant< T > Class Template Reference

#include <SimplexInversionInvariant.hpp>

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

Public Member Functions

 SimplexInversionInvariant (const Mesh &m, const TypedAttributeHandle< T > &coordinate)
 
bool after (const std::vector< Tuple > &, const std::vector< Tuple > &top_dimension_tuples_after) const override
 we assume with local vid order (v0,v1,v2,v3) has positive volume (orient3d(v0,v1,v2,v3)>0) a CLOCKWISE input tuple will have the same orientation as the local vid order More...
 
 Invariant (const Mesh &m)
 
 Invariant (const Mesh &m, bool use_before, bool use_old_state_in_after, bool use_new_state_in_after)
 
- Public Member Functions inherited from wmtk::invariants::Invariant
virtual bool before (const simplex::Simplex &t) const
 
 Invariant (const Mesh &m)
 
 Invariant (const Mesh &m, bool use_before, bool use_old_state_in_after, bool use_new_state_in_after)
 
virtual ~Invariant ()
 
const Meshmesh () const
 
virtual bool directly_modified_after (const std::vector< simplex::Simplex > &simplices_before, const std::vector< simplex::Simplex > &simplices_after) const
 
bool use_before () const
 
bool use_after () const
 
bool use_old_state_in_after () const
 
bool use_new_state_in_after () const
 

Private Attributes

const TypedAttributeHandle< T > m_coordinate_handle
 

Detailed Description

template<typename T>
class wmtk::SimplexInversionInvariant< T >

Definition at line 8 of file SimplexInversionInvariant.hpp.

Constructor & Destructor Documentation

◆ SimplexInversionInvariant()

template<typename T >
wmtk::SimplexInversionInvariant< T >::SimplexInversionInvariant ( const Mesh m,
const TypedAttributeHandle< T > &  coordinate 
)

Definition at line 14 of file SimplexInversionInvariant.cpp.

Member Function Documentation

◆ after()

template<typename T >
bool wmtk::SimplexInversionInvariant< T >::after ( const std::vector< Tuple > &  ,
const std::vector< Tuple > &  top_dimension_tuples_after 
) const
overridevirtual

we assume with local vid order (v0,v1,v2,v3) has positive volume (orient3d(v0,v1,v2,v3)>0) a CLOCKWISE input tuple will have the same orientation as the local vid order

Reimplemented from wmtk::invariants::Invariant.

Definition at line 22 of file SimplexInversionInvariant.cpp.

References wmtk::MeshCRTP< Derived >::create_const_accessor(), wmtk::Edge, wmtk::TriMesh::is_ccw(), wmtk::logger(), wmtk::TetMesh::orient_vertices(), wmtk::TriMesh::switch_tuple(), wmtk::EdgeMesh::switch_tuple(), wmtk::MeshCRTP< Derived >::switch_tuples(), wmtk::Tetrahedron, wmtk::Triangle, wmtk::Vertex, wmtk::utils::wmtk_orient1d(), wmtk::utils::wmtk_orient2d(), and wmtk::utils::wmtk_orient3d().

Here is the call graph for this function:

◆ Invariant() [1/2]

template<typename T >
wmtk::invariants::Invariant::Invariant

Definition at line 23 of file Invariant.cpp.

◆ Invariant() [2/2]

template<typename T >
wmtk::invariants::Invariant::Invariant

Definition at line 24 of file Invariant.cpp.

Member Data Documentation

◆ m_coordinate_handle

template<typename T >
const TypedAttributeHandle<T> wmtk::SimplexInversionInvariant< T >::m_coordinate_handle
private

Definition at line 22 of file SimplexInversionInvariant.hpp.


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