SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy > Class Template Reference

#include <MatrixAccumulator.h>

Inheritance diagram for sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >:

Detailed Description

template<class TBaseMatrixAccumulator, class TStrategy>
class sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >

Decorator allowing to check the row and column indices before the matrix accumulation

Public Attributes

std::shared_ptr< matrixaccumulator::IndexVerificationStrategyindexVerificationStrategy
 

Public Member Functions

 SOFA_CLASS (MatrixAccumulatorIndexChecker, TBaseMatrixAccumulator)
 
void setIndexCheckerStrategy (std::shared_ptr< matrixaccumulator::IndexVerificationStrategy > strategy) override
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const float value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, double value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 2, 2, float > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 2, 2, double > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 3, 3, float > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 3, 3, double > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 6, 6, float > &value) override final
 
void add (const sofa::SignedIndex row, const sofa::SignedIndex col, const sofa::type::Mat< 6, 6, double > &value) override final
 

Protected Member Functions

virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, float value)
 
virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, double value)
 
virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 3, 3, float > &value)
 
virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 3, 3, double > &value)
 
virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 2, 2, float > &value)
 
virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 2, 2, double > &value)
 
virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 6, 6, float > &value)
 
virtual void add (const matrixaccumulator::no_check_policy &, sofa::SignedIndex row, sofa::SignedIndex col, const sofa::type::Mat< 6, 6, double > &value)
 
template<typename T >
void indexCheckedAdd (sofa::SignedIndex row, sofa::SignedIndex col, const T &value)
 

Attribute details

◆ indexVerificationStrategy

template<class TBaseMatrixAccumulator , class TStrategy >
std::shared_ptr<matrixaccumulator::IndexVerificationStrategy> sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::indexVerificationStrategy

Function details

◆ add() [1/16]

template<class TBaseMatrixAccumulator , class TStrategy >
virtual void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const matrixaccumulator::no_check_policy ,
sofa::SignedIndex  row,
sofa::SignedIndex  col,
const sofa::type::Mat< 2, 2, double > &  value 
)
inlineprotectedvirtual

◆ add() [2/16]

template<class TBaseMatrixAccumulator , class TStrategy >
virtual void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const matrixaccumulator::no_check_policy ,
sofa::SignedIndex  row,
sofa::SignedIndex  col,
const sofa::type::Mat< 2, 2, float > &  value 
)
inlineprotectedvirtual

◆ add() [3/16]

◆ add() [4/16]

◆ add() [5/16]

template<class TBaseMatrixAccumulator , class TStrategy >
virtual void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const matrixaccumulator::no_check_policy ,
sofa::SignedIndex  row,
sofa::SignedIndex  col,
const sofa::type::Mat< 6, 6, double > &  value 
)
inlineprotectedvirtual

◆ add() [6/16]

template<class TBaseMatrixAccumulator , class TStrategy >
virtual void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const matrixaccumulator::no_check_policy ,
sofa::SignedIndex  row,
sofa::SignedIndex  col,
const sofa::type::Mat< 6, 6, float > &  value 
)
inlineprotectedvirtual

◆ add() [7/16]

◆ add() [8/16]

◆ add() [9/16]

template<class TBaseMatrixAccumulator , class TStrategy >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const sofa::SignedIndex  row,
const sofa::SignedIndex  col,
const float  value 
)
inlinefinaloverride

◆ add() [10/16]

template<class TBaseMatrixAccumulator , class TStrategy >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const sofa::SignedIndex  row,
const sofa::SignedIndex  col,
const sofa::type::Mat< 2, 2, double > &  value 
)
inlinefinaloverride

◆ add() [11/16]

template<class TBaseMatrixAccumulator , class TStrategy >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const sofa::SignedIndex  row,
const sofa::SignedIndex  col,
const sofa::type::Mat< 2, 2, float > &  value 
)
inlinefinaloverride

◆ add() [12/16]

template<class TBaseMatrixAccumulator , class TStrategy >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const sofa::SignedIndex  row,
const sofa::SignedIndex  col,
const sofa::type::Mat< 3, 3, double > &  value 
)
inlinefinaloverride

◆ add() [13/16]

template<class TBaseMatrixAccumulator , class TStrategy >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const sofa::SignedIndex  row,
const sofa::SignedIndex  col,
const sofa::type::Mat< 3, 3, float > &  value 
)
inlinefinaloverride

◆ add() [14/16]

template<class TBaseMatrixAccumulator , class TStrategy >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const sofa::SignedIndex  row,
const sofa::SignedIndex  col,
const sofa::type::Mat< 6, 6, double > &  value 
)
inlinefinaloverride

◆ add() [15/16]

template<class TBaseMatrixAccumulator , class TStrategy >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const sofa::SignedIndex  row,
const sofa::SignedIndex  col,
const sofa::type::Mat< 6, 6, float > &  value 
)
inlinefinaloverride

◆ add() [16/16]

template<class TBaseMatrixAccumulator , class TStrategy >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::add ( const sofa::SignedIndex  row,
const sofa::SignedIndex  col,
double  value 
)
inlinefinaloverride

◆ indexCheckedAdd()

template<class TBaseMatrixAccumulator , class TStrategy >
template<typename T >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::indexCheckedAdd ( sofa::SignedIndex  row,
sofa::SignedIndex  col,
const T &  value 
)
inlineprotected

◆ setIndexCheckerStrategy()

template<class TBaseMatrixAccumulator , class TStrategy >
void sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::setIndexCheckerStrategy ( std::shared_ptr< matrixaccumulator::IndexVerificationStrategy strategy)
inlineoverride

◆ SOFA_CLASS()

template<class TBaseMatrixAccumulator , class TStrategy >
sofa::core::MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >::SOFA_CLASS ( MatrixAccumulatorIndexChecker< TBaseMatrixAccumulator, TStrategy >  ,
TBaseMatrixAccumulator   
)