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

Detailed Description

Apply constraints on 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. Apply the constrains on the stiffness matrix (M+B+K) of every top-level (not mapped) mechanical objects by calling BaseProjectiveConstraintSet::applyConstraint(mparams, matrix) on every projective constraint sets 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 BaseProjectiveConstraintSet::applyConstraint(mparams, matrix) on every projective constraint sets found in the context node of the mapped mechanical object.

#include <ConstrainGlobalMatrix.h>

Inheritance diagram for SofaCaribou::visitor::ConstrainGlobalMatrix:

Public Member Functions

 ConstrainGlobalMatrix (const MechanicalParams *mparams, const MultiMatrixAccessor *matrix)
 
Result fwdProjectiveConstraintSet (sofa::simulation::Node *node, sofa::core::behavior::BaseProjectiveConstraintSet *c) 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: