Wildmeshing Toolkit
wmtk::invariants::MinIncidentValenceInvariant Class Reference

Invariant for minimum valence on both incident vertices of an edge. More...

#include <MinIncidentValenceInvariant.hpp>

Inheritance diagram for wmtk::invariants::MinIncidentValenceInvariant:
[legend]
Collaboration diagram for wmtk::invariants::MinIncidentValenceInvariant:
[legend]

Public Member Functions

 MinIncidentValenceInvariant (const Mesh &m, int64_t min_valence)
 
bool before (const simplex::Simplex &t) const override
 
bool after (const std::vector< Tuple > &top_dimension_tuples_before, const std::vector< Tuple > &top_dimension_tuples_after) const override
 
- Public Member Functions inherited from wmtk::invariants::Invariant
 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 Member Functions

bool is_greater_min_valence (const Tuple &t) const
 

Private Attributes

int64_t m_min_valence
 

Detailed Description

Invariant for minimum valence on both incident vertices of an edge.

Definition at line 10 of file MinIncidentValenceInvariant.hpp.

Constructor & Destructor Documentation

◆ MinIncidentValenceInvariant()

wmtk::invariants::MinIncidentValenceInvariant::MinIncidentValenceInvariant ( const Mesh m,
int64_t  min_valence 
)

Definition at line 10 of file MinIncidentValenceInvariant.cpp.

Member Function Documentation

◆ after()

bool wmtk::invariants::MinIncidentValenceInvariant::after ( const std::vector< Tuple > &  top_dimension_tuples_before,
const std::vector< Tuple > &  top_dimension_tuples_after 
) const
overridevirtual

Reimplemented from wmtk::invariants::Invariant.

Definition at line 21 of file MinIncidentValenceInvariant.cpp.

References wmtk::Edge, wmtk::simplex::faces_single_dimension_tuples(), is_greater_min_valence(), and wmtk::invariants::Invariant::mesh().

Here is the call graph for this function:

◆ before()

bool wmtk::invariants::MinIncidentValenceInvariant::before ( const simplex::Simplex t) const
overridevirtual

Reimplemented from wmtk::invariants::Invariant.

Definition at line 15 of file MinIncidentValenceInvariant.cpp.

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

Here is the call graph for this function:

◆ is_greater_min_valence()

bool wmtk::invariants::MinIncidentValenceInvariant::is_greater_min_valence ( const Tuple t) const
private

Definition at line 41 of file MinIncidentValenceInvariant.cpp.

References wmtk::simplex::Simplex::face(), wmtk::simplex::faces_single_dimension_tuples(), wmtk::simplex::link(), m_min_valence, wmtk::invariants::Invariant::mesh(), wmtk::simplex::SimplexCollection::simplex_vector(), wmtk::Vertex, and wmtk::simplex::Simplex::vertex().

Referenced by after(), and before().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_min_valence

int64_t wmtk::invariants::MinIncidentValenceInvariant::m_min_valence
private

Definition at line 22 of file MinIncidentValenceInvariant.hpp.

Referenced by is_greater_min_valence().


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