SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c > Class Template Reference

#include <BaseAssemblingMatrixAccumulator.h>

Inheritance diagram for sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c >:

Protected Attributes

Data< sofa::type::Vec2ud_matrixSize
 
Data< sofa::type::Vec2ud_positionInGlobalMatrix
 Size of the local matrix. More...
 
Data< SReal > d_factor
 Position of this local matrix in the global matrix. More...
 
sofa::linearalgebra::BaseMatrixm_globalMatrix { nullptr }
 factor applied on matrix entries More...
 
sofa::type::Vec< 2, sofa::SignedIndex > m_cachedPositionInGlobalMatrix
 
SReal m_cachedFactor {}
 

Public Member Functions

 SOFA_CLASS (SOFA_TEMPLATE(BaseAssemblingMatrixAccumulator, c), sofa::core::get_base_object_strong_type< c >)
 
virtual void setMatrixSize (const sofa::type::Vec2u &)
 
sofa::type::Vec2u getMatrixSize () const
 
void setPositionInGlobalMatrix (const sofa::type::Vec2u &)
 
void setFactor (SReal factor)
 
void setGlobalMatrix (sofa::linearalgebra::BaseMatrix *globalMatrix)
 
type::Vec< 2, unsigned > getPositionInGlobalMatrix () const
 
void addContributionsToMatrix (sofa::linearalgebra::BaseMatrix *, SReal, const sofa::type::Vec2u &)
 

Protected Member Functions

 BaseAssemblingMatrixAccumulator ()
 

Attribute details

◆ d_factor

template<core::matrixaccumulator::Contribution c>
Data< SReal > sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c >::d_factor
protected

Position of this local matrix in the global matrix.

◆ d_matrixSize

template<core::matrixaccumulator::Contribution c>
Data< sofa::type::Vec2u > sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c >::d_matrixSize
protected

◆ d_positionInGlobalMatrix

template<core::matrixaccumulator::Contribution c>
Data< sofa::type::Vec2u > sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c >::d_positionInGlobalMatrix
protected

Size of the local matrix.

◆ m_cachedFactor

template<core::matrixaccumulator::Contribution c>
SReal sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c >::m_cachedFactor {}
protected

◆ m_cachedPositionInGlobalMatrix

template<core::matrixaccumulator::Contribution c>
sofa::type::Vec<2, sofa::SignedIndex> sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c >::m_cachedPositionInGlobalMatrix
protected

◆ m_globalMatrix

template<core::matrixaccumulator::Contribution c>
sofa::linearalgebra::BaseMatrix* sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c >::m_globalMatrix { nullptr }
protected

factor applied on matrix entries

Constructor details

◆ BaseAssemblingMatrixAccumulator()

template<core::matrixaccumulator::Contribution c>
BaseAssemblingMatrixAccumulator::BaseAssemblingMatrixAccumulator
protected

Function details

◆ addContributionsToMatrix()

template<core::matrixaccumulator::Contribution c>
void sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c >::addContributionsToMatrix ( sofa::linearalgebra::BaseMatrix ,
SReal  ,
const sofa::type::Vec2u  
)
inline

◆ getMatrixSize()

template<core::matrixaccumulator::Contribution c>
sofa::type::Vec2u BaseAssemblingMatrixAccumulator::getMatrixSize

◆ getPositionInGlobalMatrix()

template<core::matrixaccumulator::Contribution c>
type::Vec< 2, unsigned > BaseAssemblingMatrixAccumulator::getPositionInGlobalMatrix

◆ setFactor()

template<core::matrixaccumulator::Contribution c>
void BaseAssemblingMatrixAccumulator::setFactor ( SReal  factor)

◆ setGlobalMatrix()

template<core::matrixaccumulator::Contribution c>
void BaseAssemblingMatrixAccumulator::setGlobalMatrix ( sofa::linearalgebra::BaseMatrix globalMatrix)

◆ setMatrixSize()

template<core::matrixaccumulator::Contribution c>
void BaseAssemblingMatrixAccumulator::setMatrixSize ( const sofa::type::Vec2u matrixSize)
virtual

◆ setPositionInGlobalMatrix()

template<core::matrixaccumulator::Contribution c>
void BaseAssemblingMatrixAccumulator::setPositionInGlobalMatrix ( const sofa::type::Vec2u pos)

◆ SOFA_CLASS()

template<core::matrixaccumulator::Contribution c>
sofa::component::linearsystem::BaseAssemblingMatrixAccumulator< c >::SOFA_CLASS ( SOFA_TEMPLATE(BaseAssemblingMatrixAccumulator< c >, c)  ,
sofa::core::get_base_object_strong_type< c >   
)