sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes > Class Template Reference

Component computing contact forces within a simulated body using the compliance method. More...

#include <LinearSolverConstraintCorrection.h>

Inheritance diagram for sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >:

Collaboration graph
[legend]

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

Detailed Description

template<class TDataTypes>
class sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >

Component computing contact forces within a simulated body using the compliance method.

Definition at line 67 of file LinearSolverConstraintCorrection.h.


Member Typedef Documentation

template<class TDataTypes >
typedef DataTypes::SparseVecDeriv sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::Const

Definition at line 78 of file LinearSolverConstraintCorrection.h.

template<class TDataTypes >
typedef DataTypes::Coord sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::Coord

Definition at line 76 of file LinearSolverConstraintCorrection.h.

template<class TDataTypes >
typedef TDataTypes sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::DataTypes

Definition at line 70 of file LinearSolverConstraintCorrection.h.

template<class TDataTypes >
typedef DataTypes::Deriv sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::Deriv

Definition at line 77 of file LinearSolverConstraintCorrection.h.

Definition at line 72 of file LinearSolverConstraintCorrection.h.

template<class TDataTypes >
typedef DataTypes::Real sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::Real

Definition at line 71 of file LinearSolverConstraintCorrection.h.

template<class TDataTypes >
typedef DataTypes::VecConst sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::VecConst

Definition at line 75 of file LinearSolverConstraintCorrection.h.

template<class TDataTypes >
typedef DataTypes::VecCoord sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::VecCoord

Definition at line 73 of file LinearSolverConstraintCorrection.h.

template<class TDataTypes >
typedef DataTypes::VecDeriv sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::VecDeriv

Definition at line 74 of file LinearSolverConstraintCorrection.h.


Constructor & Destructor Documentation

Definition at line 54 of file LinearSolverConstraintCorrection.inl.

Definition at line 60 of file LinearSolverConstraintCorrection.inl.


Member Function Documentation

template<class DataTypes >
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().

template<class TDataTypes >
template<class T >
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().

template<class DataTypes >
void sofa::component::constraint::LinearSolverConstraintCorrection< DataTypes >::getCompliance ( defaulttype::BaseMatrix *  W  )  [inline, virtual]

template<class TDataTypes >
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.

template<class TDataTypes >
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().

template<class DataTypes >
void sofa::component::constraint::LinearSolverConstraintCorrection< DataTypes >::init ( void   )  [inline, virtual]

template<class DataTypes >
void sofa::component::constraint::LinearSolverConstraintCorrection< DataTypes >::resetContactForce ( void   )  [inline, virtual]

template<class TDataTypes >
static std::string sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::templateName ( const LinearSolverConstraintCorrection< DataTypes > *  = NULL  )  [inline, static]


Field Documentation

template<class TDataTypes >
linearsolver::FullVector<SReal> sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::F [protected]

template<class TDataTypes >
behavior::OdeSolver* sofa::component::constraint::LinearSolverConstraintCorrection< TDataTypes >::odesolver [protected]


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

Generated on Sun Nov 23 04:17:45 2008 for Sofa by  doxygen 1.5.7.1