#include <LinearSolverConstraintCorrection.h>


Public Types | |
| typedef TDataTypes | DataTypes |
| typedef DataTypes::Real | Real |
| typedef componentmodel::behavior::BaseConstraintCorrection | Inherit |
| typedef DataTypes::VecCoord | VecCoord |
| typedef DataTypes::VecDeriv | VecDeriv |
| typedef DataTypes::VecConst | VecConst |
| typedef DataTypes::Coord | Coord |
| typedef DataTypes::Deriv | Deriv |
| typedef DataTypes::SparseVecDeriv | Const |
Public Member Functions | |
| LinearSolverConstraintCorrection (behavior::MechanicalState< DataTypes > *mm=NULL) | |
| virtual | ~LinearSolverConstraintCorrection () |
| virtual void | init () |
| Initialization method called at graph modification, during bottom-up traversal. | |
| behavior::MechanicalState < DataTypes > * | getMState () |
| Retrieve the associated MechanicalState. | |
| virtual void | getCompliance (defaulttype::BaseMatrix *W) |
| virtual void | applyContactForce (const defaulttype::BaseVector *f) |
| virtual void | resetContactForce () |
| virtual std::string | getTemplateName () const |
| Get the template type names (if any) used to instantiate this object. | |
Static Public Member Functions | |
| template<class T > | |
| static bool | canCreate (T *&obj, objectmodel::BaseContext *context, objectmodel::BaseObjectDescription *arg) |
| Pre-construction check method called by ObjectFactory. | |
| static std::string | templateName (const LinearSolverConstraintCorrection< DataTypes > *=NULL) |
Protected Attributes | |
| behavior::MechanicalState < DataTypes > * | mstate |
| behavior::OdeSolver * | odesolver |
| behavior::LinearSolver * | linearsolver |
| linearsolver::SparseMatrix< SReal > | J |
| constraint matrix | |
| linearsolver::FullVector< SReal > | F |
| forces computed from the constraints | |
| linearsolver::FullMatrix< SReal > | refMinv |
| reference inverse matrix | |
Definition at line 67 of file LinearSolverConstraintCorrection.h.
| typedef DataTypes::SparseVecDeriv sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::Const |
Definition at line 78 of file LinearSolverConstraintCorrection.h.
| typedef DataTypes::Coord sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::Coord |
Definition at line 76 of file LinearSolverConstraintCorrection.h.
| typedef TDataTypes sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::DataTypes |
Definition at line 70 of file LinearSolverConstraintCorrection.h.
| typedef DataTypes::Deriv sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::Deriv |
Definition at line 77 of file LinearSolverConstraintCorrection.h.
| typedef componentmodel::behavior::BaseConstraintCorrection sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::Inherit |
Definition at line 72 of file LinearSolverConstraintCorrection.h.
| typedef DataTypes::Real sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::Real |
Definition at line 71 of file LinearSolverConstraintCorrection.h.
| typedef DataTypes::VecConst sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::VecConst |
Definition at line 75 of file LinearSolverConstraintCorrection.h.
| typedef DataTypes::VecCoord sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::VecCoord |
Definition at line 73 of file LinearSolverConstraintCorrection.h.
| typedef DataTypes::VecDeriv sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::VecDeriv |
Definition at line 74 of file LinearSolverConstraintCorrection.h.
| sofa::component::constraint::LinearSolverConstraintCorrection< DataTypes >::LinearSolverConstraintCorrection | ( | behavior::MechanicalState< DataTypes > * | mm = NULL |
) | [inline] |
Definition at line 54 of file LinearSolverConstraintCorrection.inl.
| sofa::component::constraint::LinearSolverConstraintCorrection< DataTypes >::~LinearSolverConstraintCorrection | ( | ) | [inline, virtual] |
Definition at line 60 of file LinearSolverConstraintCorrection.inl.
| void sofa::component::constraint::LinearSolverConstraintCorrection< DataTypes >::applyContactForce | ( | const defaulttype::BaseVector * | f | ) | [inline, virtual] |
Implements sofa::core::componentmodel::behavior::BaseConstraintCorrection.
Definition at line 175 of file LinearSolverConstraintCorrection.inl.
References sofa::defaulttype::BaseVector::element(), sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::F, force, sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getC(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getConstraintId(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getDx(), sofa::core::componentmodel::behavior::OdeSolver::getPositionIntegrationFactor(), sofa::core::componentmodel::behavior::BaseMechanicalState::getSize(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getV(), sofa::core::componentmodel::behavior::OdeSolver::getVelocityIntegrationFactor(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getVfree(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getXfree(), sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::J, sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::linearsolver, sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::mstate, sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::odesolver, sofa::core::componentmodel::behavior::BaseMechanicalState::setDx(), sofa::core::componentmodel::behavior::LinearSolver::setSystemLHVector(), sofa::core::componentmodel::behavior::LinearSolver::setSystemRHVector(), sofa::core::componentmodel::behavior::LinearSolver::solveSystem(), sofa::core::componentmodel::behavior::BaseMechanicalState::vAlloc(), sofa::core::componentmodel::behavior::BaseMechanicalState::vFree(), and sofa::core::componentmodel::behavior::BaseMechanicalState::vOp().
| static bool sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::canCreate | ( | T *& | obj, | |
| objectmodel::BaseContext * | context, | |||
| objectmodel::BaseObjectDescription * | arg | |||
| ) | [inline, static] |
Pre-construction check method called by ObjectFactory.
Check that DataTypes matches the MechanicalState.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 97 of file LinearSolverConstraintCorrection.h.
References sofa::component::constraint::getLinearSolver(), sofa::core::objectmodel::BaseContext::getMechanicalState(), and sofa::component::constraint::getOdeSolver().
| void sofa::component::constraint::LinearSolverConstraintCorrection< DataTypes >::getCompliance | ( | defaulttype::BaseMatrix * | W | ) | [inline, virtual] |
Implements sofa::core::componentmodel::behavior::BaseConstraintCorrection.
Definition at line 111 of file LinearSolverConstraintCorrection.inl.
References sofa::core::componentmodel::behavior::LinearSolver::addJMInvJt(), sofa::component::linearsolver::FullMatrix< T >::element(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getC(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getConstraintId(), sofa::core::componentmodel::behavior::OdeSolver::getPositionIntegrationFactor(), sofa::core::componentmodel::behavior::BaseMechanicalState::getSize(), sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::J, sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::linearsolver, sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::mstate, sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::odesolver, sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::refMinv, sofa::component::linearsolver::FullMatrix< T >::resize(), and sofa::defaulttype::BaseMatrix::rowSize().
| behavior::MechanicalState<DataTypes>* sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::getMState | ( | ) | [inline] |
Retrieve the associated MechanicalState.
Definition at line 87 of file LinearSolverConstraintCorrection.h.
References sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::mstate.
| virtual std::string sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::getTemplateName | ( | ) | const [inline, virtual] |
Get the template type names (if any) used to instantiate this object.
Reimplemented from sofa::core::objectmodel::Base.
Definition at line 114 of file LinearSolverConstraintCorrection.h.
References sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::templateName().
| void sofa::component::constraint::LinearSolverConstraintCorrection< DataTypes >::init | ( | void | ) | [inline, virtual] |
Initialization method called at graph modification, during bottom-up traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
Definition at line 71 of file LinearSolverConstraintCorrection.inl.
References sofa::core::objectmodel::BaseObject::getContext(), sofa::component::constraint::getLinearSolver(), sofa::core::objectmodel::BaseContext::getMechanicalState(), sofa::core::objectmodel::Base::getName(), sofa::component::constraint::getOdeSolver(), sofa::core::componentmodel::behavior::BaseMechanicalState::getSize(), sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::linearsolver, sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::mstate, sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::odesolver, and sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::refMinv.
| void sofa::component::constraint::LinearSolverConstraintCorrection< DataTypes >::resetContactForce | ( | void | ) | [inline, virtual] |
Implements sofa::core::componentmodel::behavior::BaseConstraintCorrection.
Definition at line 263 of file LinearSolverConstraintCorrection.inl.
References force, sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getF(), and sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::mstate.
| static std::string sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::templateName | ( | const LinearSolverConstraintCorrection< DataTypes > * | = NULL |
) | [inline, static] |
Definition at line 119 of file LinearSolverConstraintCorrection.h.
Referenced by sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::getTemplateName().
linearsolver::FullVector<SReal> sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::F [protected] |
forces computed from the constraints
Definition at line 130 of file LinearSolverConstraintCorrection.h.
Referenced by sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::applyContactForce().
linearsolver::SparseMatrix<SReal> sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::J [protected] |
constraint matrix
Definition at line 129 of file LinearSolverConstraintCorrection.h.
Referenced by sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::applyContactForce(), and sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::getCompliance().
behavior::LinearSolver* sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::linearsolver [protected] |
Definition at line 127 of file LinearSolverConstraintCorrection.h.
Referenced by sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::applyContactForce(), sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::getCompliance(), and sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::init().
behavior::MechanicalState<DataTypes>* sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::mstate [protected] |
Definition at line 125 of file LinearSolverConstraintCorrection.h.
Referenced by sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::applyContactForce(), sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::getCompliance(), sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::getMState(), sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::init(), and sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::resetContactForce().
behavior::OdeSolver* sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::odesolver [protected] |
Definition at line 126 of file LinearSolverConstraintCorrection.h.
Referenced by sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::applyContactForce(), sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::getCompliance(), and sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::init().
linearsolver::FullMatrix<SReal> sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::refMinv [protected] |
reference inverse matrix
Definition at line 131 of file LinearSolverConstraintCorrection.h.
Referenced by sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::getCompliance(), and sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::init().
1.5.7.1