Caribou
Public Member Functions | List of all members
SofaCaribou::visitor::AssembleGlobalMatrix Class Reference

Detailed Description

Assemble the stiffness matrix (M+B+K) of every mechanical object into the mutli-matrix.

Each top-level mechanical object (mo that aren't mapped to a higher level parent mo) has an entry to its own matrix in the multi-matrix.

This visitor will, in order:

  1. Assemble the stiffness matrix (M+B+K) of every top-level (not mapped) mechanical objects by calling BaseForceField::addMBKToMatrix(mparams, matrix) on every forcefields found in the context node of the mechanical object.
  2. Go down in the subtree of each top-level mechanical objects, and if a BaseMapping is found for which BaseMapping::areMatricesMapped is true, call BaseForceField::addMBKToMatrix(mparams, matrix) on every forcefields found in the context node of the mapped mechanical object.

#include <AssembleGlobalMatrix.h>

Inheritance diagram for SofaCaribou::visitor::AssembleGlobalMatrix:

Public Member Functions

 AssembleGlobalMatrix (const MechanicalParams *mparams, const MultiMatrixAccessor *matrix)
 
Result fwdForceField (sofa::simulation::Node *node, sofa::core::behavior::BaseForceField *ff) override
 
bool stopAtMechanicalMapping (sofa::simulation::Node *node, sofa::core::BaseMapping *map) override
 
const char * getClassName () const override
 

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