Wildmeshing Toolkit
wmtk::TodoSmallerInvariant Class Reference

#include <TodoInvariant.hpp>

Inheritance diagram for wmtk::TodoSmallerInvariant:
[legend]
Collaboration diagram for wmtk::TodoSmallerInvariant:
[legend]

Public Member Functions

 TodoSmallerInvariant (const Mesh &m, const TypedAttributeHandle< double > &todo_handle, const double val)
 Invariant for todo-list in scheduler. More...
 
 TodoSmallerInvariant (const Mesh &m, const TypedAttributeHandle< double > &todo_handle, const TypedAttributeHandle< double > &comparison_handle, const double pre_factor=1)
 
bool before (const simplex::Simplex &t) const override
 
- Public Member Functions inherited from wmtk::invariants::Invariant
virtual bool after (const std::vector< Tuple > &top_dimension_tuples_before, const std::vector< Tuple > &top_dimension_tuples_after) 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< double > m_todo_handle
 
const std::optional< TypedAttributeHandle< double > > m_comparison_handle
 
const double m_val
 

Detailed Description

Definition at line 52 of file TodoInvariant.hpp.

Constructor & Destructor Documentation

◆ TodoSmallerInvariant() [1/2]

wmtk::TodoSmallerInvariant::TodoSmallerInvariant ( const Mesh m,
const TypedAttributeHandle< double > &  todo_handle,
const double  val 
)

Invariant for todo-list in scheduler.

Recording which simplices still need to be operated. If the todo_tag tagged as 1 then return true, otherwise return false

Definition at line 58 of file TodoInvariant.cpp.

◆ TodoSmallerInvariant() [2/2]

wmtk::TodoSmallerInvariant::TodoSmallerInvariant ( const Mesh m,
const TypedAttributeHandle< double > &  todo_handle,
const TypedAttributeHandle< double > &  comparison_handle,
const double  pre_factor = 1 
)

Definition at line 67 of file TodoInvariant.cpp.

Member Function Documentation

◆ before()

bool wmtk::TodoSmallerInvariant::before ( const simplex::Simplex t) const
overridevirtual

Reimplemented from wmtk::invariants::Invariant.

Definition at line 78 of file TodoInvariant.cpp.

References wmtk::attribute::Accessor< T, MeshType, Dim >::const_scalar_attribute(), wmtk::Mesh::create_const_accessor(), m_comparison_handle, m_todo_handle, m_val, wmtk::invariants::Invariant::mesh(), wmtk::attribute::TypedAttributeHandle< T >::primitive_type(), and wmtk::simplex::Simplex::primitive_type().

Here is the call graph for this function:

Member Data Documentation

◆ m_comparison_handle

const std::optional<TypedAttributeHandle<double> > wmtk::TodoSmallerInvariant::m_comparison_handle
private

Definition at line 74 of file TodoInvariant.hpp.

Referenced by before().

◆ m_todo_handle

const TypedAttributeHandle<double> wmtk::TodoSmallerInvariant::m_todo_handle
private

Definition at line 73 of file TodoInvariant.hpp.

Referenced by before().

◆ m_val

const double wmtk::TodoSmallerInvariant::m_val
private

Definition at line 75 of file TodoInvariant.hpp.

Referenced by before().


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