Wildmeshing Toolkit
wmtk::invariants::MaxFunctionInvariant Class Reference

#include <MaxFunctionInvariant.hpp>

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

Public Member Functions

 MaxFunctionInvariant (const PrimitiveType type, const std::shared_ptr< function::PerSimplexFunction > &func, const std::optional< TypedAttributeHandle< Rational >> &coordinate={})
 
bool before (const simplex::Simplex &simplex) 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 Attributes

std::shared_ptr< function::PerSimplexFunctionm_func
 
const PrimitiveType m_type
 
const std::optional< TypedAttributeHandle< Rational > > m_coordinate_handle
 
bool was_v0_rounded
 

Detailed Description

Definition at line 17 of file MaxFunctionInvariant.hpp.

Constructor & Destructor Documentation

◆ MaxFunctionInvariant()

wmtk::invariants::MaxFunctionInvariant::MaxFunctionInvariant ( const PrimitiveType  type,
const std::shared_ptr< function::PerSimplexFunction > &  func,
const std::optional< TypedAttributeHandle< Rational >> &  coordinate = {} 
)

Definition at line 8 of file MaxFunctionInvariant.cpp.

Member Function Documentation

◆ after()

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

References before(), m_coordinate_handle, m_func, m_type, wmtk::invariants::Invariant::mesh(), wmtk::Mesh::parent_scope(), and was_v0_rounded.

Here is the call graph for this function:

◆ before()

bool wmtk::invariants::MaxFunctionInvariant::before ( const simplex::Simplex simplex) const
overridevirtual

Reimplemented from wmtk::invariants::Invariant.

Definition at line 21 of file MaxFunctionInvariant.cpp.

References m_coordinate_handle, m_func, wmtk::simplex::Simplex::tuple(), and was_v0_rounded.

Referenced by after().

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

Member Data Documentation

◆ m_coordinate_handle

const std::optional<TypedAttributeHandle<Rational> > wmtk::invariants::MaxFunctionInvariant::m_coordinate_handle
private

Definition at line 34 of file MaxFunctionInvariant.hpp.

Referenced by after(), and before().

◆ m_func

std::shared_ptr<function::PerSimplexFunction> wmtk::invariants::MaxFunctionInvariant::m_func
private

Definition at line 32 of file MaxFunctionInvariant.hpp.

Referenced by after(), and before().

◆ m_type

const PrimitiveType wmtk::invariants::MaxFunctionInvariant::m_type
private

Definition at line 33 of file MaxFunctionInvariant.hpp.

Referenced by after().

◆ was_v0_rounded

bool wmtk::invariants::MaxFunctionInvariant::was_v0_rounded
mutableprivate

Definition at line 35 of file MaxFunctionInvariant.hpp.

Referenced by after(), and before().


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