Wildmeshing Toolkit
wmtk::invariants::InvariantCollection Class Reference

#include <InvariantCollection.hpp>

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

Public Member Functions

 InvariantCollection (const Mesh &m)
 
 InvariantCollection (const InvariantCollection &)
 
 InvariantCollection (InvariantCollection &&)
 
InvariantCollectionoperator= (const InvariantCollection &)
 
InvariantCollectionoperator= (InvariantCollection &&)
 
 ~InvariantCollection ()
 
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
 
bool directly_modified_after (const std::vector< simplex::Simplex > &simplices_before, const std::vector< simplex::Simplex > &simplices_after) const override
 
void add (std::shared_ptr< Invariant > invariant)
 
const std::shared_ptr< Invariant > & get (int64_t index) const
 
int64_t size () const
 
bool empty () const
 
const std::vector< std::shared_ptr< Invariant > > & invariants () const
 
std::map< Mesh const *, std::vector< std::shared_ptr< Invariant > > > get_map_mesh_to_invariants ()
 
- 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
 
bool use_before () const
 
bool use_after () const
 
bool use_old_state_in_after () const
 
bool use_new_state_in_after () const
 

Private Attributes

std::vector< std::shared_ptr< Invariant > > m_invariants
 

Detailed Description

Definition at line 15 of file InvariantCollection.hpp.

Constructor & Destructor Documentation

◆ InvariantCollection() [1/3]

wmtk::invariants::InvariantCollection::InvariantCollection ( const Mesh m)

Definition at line 8 of file InvariantCollection.cpp.

◆ InvariantCollection() [2/3]

wmtk::invariants::InvariantCollection::InvariantCollection ( const InvariantCollection )
default

◆ InvariantCollection() [3/3]

wmtk::invariants::InvariantCollection::InvariantCollection ( InvariantCollection &&  )
default

◆ ~InvariantCollection()

wmtk::invariants::InvariantCollection::~InvariantCollection ( )
default

Member Function Documentation

◆ add()

void wmtk::invariants::InvariantCollection::add ( std::shared_ptr< Invariant invariant)

Definition at line 27 of file InvariantCollection.cpp.

References m_invariants.

Referenced by wmtk::operations::Operation::add_invariant().

Here is the caller graph for this function:

◆ after()

bool wmtk::invariants::InvariantCollection::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 49 of file InvariantCollection.cpp.

References m_invariants, wmtk::Mesh::map_tuples(), wmtk::invariants::Invariant::mesh(), and wmtk::Mesh::parent_scope().

Referenced by wmtk::operations::OptimizationSmoothing::WMTKProblem< T >::is_step_valid().

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

◆ before()

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

Reimplemented from wmtk::invariants::Invariant.

Definition at line 31 of file InvariantCollection.cpp.

References m_invariants, wmtk::invariants::Invariant::mesh(), and wmtk::simplex::Simplex::primitive_type().

Referenced by wmtk::operations::Operation::before().

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

◆ directly_modified_after()

bool wmtk::invariants::InvariantCollection::directly_modified_after ( const std::vector< simplex::Simplex > &  simplices_before,
const std::vector< simplex::Simplex > &  simplices_after 
) const
overridevirtual

Reimplemented from wmtk::invariants::Invariant.

Definition at line 84 of file InvariantCollection.cpp.

References m_invariants, wmtk::Mesh::map(), wmtk::invariants::Invariant::mesh(), and wmtk::Mesh::parent_scope().

Referenced by wmtk::operations::Operation::after().

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

◆ empty()

bool wmtk::invariants::InvariantCollection::empty ( ) const

Definition at line 133 of file InvariantCollection.cpp.

References m_invariants.

◆ get()

const std::shared_ptr< Invariant > & wmtk::invariants::InvariantCollection::get ( int64_t  index) const

Definition at line 125 of file InvariantCollection.cpp.

References m_invariants.

◆ get_map_mesh_to_invariants()

std::map< Mesh const *, std::vector< std::shared_ptr< Invariant > > > wmtk::invariants::InvariantCollection::get_map_mesh_to_invariants ( )

Definition at line 143 of file InvariantCollection.cpp.

References get_map_mesh_to_invariants(), and m_invariants.

Referenced by get_map_mesh_to_invariants().

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

◆ invariants()

const std::vector< std::shared_ptr< Invariant > > & wmtk::invariants::InvariantCollection::invariants ( ) const

Definition at line 137 of file InvariantCollection.cpp.

References m_invariants.

◆ operator=() [1/2]

InvariantCollection & wmtk::invariants::InvariantCollection::operator= ( const InvariantCollection o)

Definition at line 14 of file InvariantCollection.cpp.

References m_invariants, and wmtk::invariants::Invariant::mesh().

Here is the call graph for this function:

◆ operator=() [2/2]

InvariantCollection & wmtk::invariants::InvariantCollection::operator= ( InvariantCollection &&  o)

Definition at line 20 of file InvariantCollection.cpp.

References m_invariants, and wmtk::invariants::Invariant::mesh().

Here is the call graph for this function:

◆ size()

int64_t wmtk::invariants::InvariantCollection::size ( ) const

Definition at line 129 of file InvariantCollection.cpp.

References m_invariants.

Member Data Documentation

◆ m_invariants

std::vector<std::shared_ptr<Invariant> > wmtk::invariants::InvariantCollection::m_invariants
private

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