#include <MappedMassMatrixObserver.h>
Pre-compute the mapped mass matrix assuming it is constant and store it. Support cache invalidation
Public Attributes | |
BaseAssemblingMatrixAccumulator< core::matrixaccumulator::Contribution::MASS > * | accumulator { nullptr } |
The mass accumulator associated to the observable mass. More... | |
std::shared_ptr< linearalgebra::CompressedRowSparseMatrix< Real > > | m_invariantMassMatrix |
Data< linearalgebra::CompressedRowSparseMatrix< Real > > | m_invariantProjectedMassMatrix |
Protected Attributes | |
core::DataTracker | m_dataTracker |
core::behavior::BaseMass * | m_observedMass { nullptr } |
core::behavior::BaseMechanicalState * | m_mstate { nullptr } |
The state associated to the observable mass. More... | |
bool | m_newObservables = true |
Public Member Functions | |
void | observe (core::behavior::BaseMass *mass) |
The provided mass is observed to track cache invalidation. More... | |
void | observe (core::BaseMapping *mapping) |
void | observe (core::behavior::BaseMechanicalState *mstate) |
The provided state (associated to the mass) is observed to track cache invalidation. More... | |
core::behavior::BaseMass * | getObservableMass () const |
Return the observable mass. More... | |
core::behavior::BaseMechanicalState * | getObservableState () const |
Return the observable state. More... | |
bool | hasObservableChanged () |
Return true if the tracking of the observables noticed a change since the last call. More... | |
BaseAssemblingMatrixAccumulator<core::matrixaccumulator::Contribution::MASS>* sofa::component::linearsystem::MappedMassMatrixObserver< Real >::accumulator { nullptr } |
The mass accumulator associated to the observable mass.
|
protected |
std::shared_ptr<linearalgebra::CompressedRowSparseMatrix<Real> > sofa::component::linearsystem::MappedMassMatrixObserver< Real >::m_invariantMassMatrix |
Data<linearalgebra::CompressedRowSparseMatrix<Real> > sofa::component::linearsystem::MappedMassMatrixObserver< Real >::m_invariantProjectedMassMatrix |
|
protected |
The state associated to the observable mass.
|
protected |
|
protected |
core::behavior::BaseMass * sofa::component::linearsystem::MappedMassMatrixObserver< Real >::getObservableMass |
Return the observable mass.
core::behavior::BaseMechanicalState * sofa::component::linearsystem::MappedMassMatrixObserver< Real >::getObservableState |
Return the observable state.
bool sofa::component::linearsystem::MappedMassMatrixObserver< Real >::hasObservableChanged |
Return true if the tracking of the observables noticed a change since the last call.
void sofa::component::linearsystem::MappedMassMatrixObserver< Real >::observe | ( | core::BaseMapping * | mapping | ) |
void sofa::component::linearsystem::MappedMassMatrixObserver< Real >::observe | ( | core::behavior::BaseMass * | mass | ) |
The provided mass is observed to track cache invalidation.
void sofa::component::linearsystem::MappedMassMatrixObserver< Real >::observe | ( | core::behavior::BaseMechanicalState * | mstate | ) |
The provided state (associated to the mass) is observed to track cache invalidation.