sofa::core::componentmodel::behavior::BaseConstraint Class Reference

The classes applyConstraint, getConstraintValue && getConstraintId need to be commented More...

#include <BaseConstraint.h>

Inheritance diagram for sofa::core::componentmodel::behavior::BaseConstraint:

Inheritance graph
[legend]
Collaboration diagram for sofa::core::componentmodel::behavior::BaseConstraint:

Collaboration graph
[legend]

Public Member Functions

virtual ~BaseConstraint ()
virtual void applyConstraint (unsigned int &, double &)
virtual void applyConstraint (defaulttype::BaseMatrix *, unsigned int &)
 Project the global Mechanical Matrix to constrained space using offset parameter.
virtual void applyConstraint (defaulttype::BaseVector *, unsigned int &)
 Project the global Mechanical Vector to constrained space using offset parameter.
virtual void getConstraintValue (defaulttype::BaseVector *)
virtual void getConstraintValue (double *)
virtual void getConstraintId (long *, unsigned int &)
virtual bool isHolonomic ()
 says if the constraint is holonomic or not holonomic constraints can be processed using different methods such as : projection - reducing the degrees of freedom - simple lagrange multiplier process Non-holonomic constraints (like contact, friction.
Vector operations
virtual void projectResponse ()=0
 Project dx to constrained space (dx models an acceleration).
virtual void projectVelocity ()=0
 Project v to constrained space (v models a velocity).
virtual void projectPosition ()=0
 Project x to constrained space (x models a position).
virtual void projectFreeVelocity ()=0
 Project vFree to constrained space (vFree models a velocity).
virtual void projectFreePosition ()=0
 Project xFree to constrained space (xFree models a position).
Matrix operations
virtual void projectResponse (double **)
 Project the compliance Matrix to constrained space.

Detailed Description

The classes applyConstraint, getConstraintValue && getConstraintId need to be commented

Component computing constraints within a simulated body.

This class define the abstract API common to all constraints. A BaseConstraint computes constraints applied to one or more simulated body given its current position and velocity.

Constraints can be internal to a given body (attached to one MechanicalState, see the Constraint class), or link several bodies together (such as contacts, see the InteractionConstraint class).

Definition at line 63 of file BaseConstraint.h.


Constructor & Destructor Documentation

virtual sofa::core::componentmodel::behavior::BaseConstraint::~BaseConstraint (  )  [inline, virtual]

Definition at line 66 of file BaseConstraint.h.


Member Function Documentation

void sofa::core::componentmodel::behavior::BaseConstraint::applyConstraint ( defaulttype::BaseVector *  ,
unsigned int &   
) [virtual]

Project the global Mechanical Vector to constrained space using offset parameter.

Reimplemented in sofa::component::constraint::AttachConstraint< DataTypes >, and sofa::component::constraint::FixedConstraint< DataTypes >.

Definition at line 53 of file BaseConstraint.cpp.

void sofa::core::componentmodel::behavior::BaseConstraint::applyConstraint ( defaulttype::BaseMatrix *  ,
unsigned int &   
) [virtual]

Project the global Mechanical Matrix to constrained space using offset parameter.

Reimplemented in sofa::component::constraint::AttachConstraint< DataTypes >, and sofa::component::constraint::FixedConstraint< DataTypes >.

Definition at line 49 of file BaseConstraint.cpp.

void sofa::core::componentmodel::behavior::BaseConstraint::applyConstraint ( unsigned int &  ,
double &   
) [virtual]

virtual void sofa::core::componentmodel::behavior::BaseConstraint::getConstraintId ( long *  ,
unsigned int &   
) [inline, virtual]

virtual void sofa::core::componentmodel::behavior::BaseConstraint::getConstraintValue ( double *   )  [inline, virtual]

virtual void sofa::core::componentmodel::behavior::BaseConstraint::getConstraintValue ( defaulttype::BaseVector *   )  [inline, virtual]

virtual bool sofa::core::componentmodel::behavior::BaseConstraint::isHolonomic (  )  [inline, virtual]

says if the constraint is holonomic or not holonomic constraints can be processed using different methods such as : projection - reducing the degrees of freedom - simple lagrange multiplier process Non-holonomic constraints (like contact, friction.

..) need more specific treatments

Reimplemented in sofa::component::constraint::AttachConstraint< DataTypes >, sofa::component::constraint::BoxConstraint< DataTypes >, sofa::component::constraint::FixedConstraint< DataTypes >, sofa::component::constraint::LinearMovementConstraint< DataTypes >, sofa::component::constraint::OscillatorConstraint< DataTypes >, sofa::component::constraint::UnilateralInteractionConstraint< DataTypes >, and sofa::component::constraint::UnilateralInteractionConstraint< sofa::defaulttype::StdVectorTypes >.

Definition at line 113 of file BaseConstraint.h.

virtual void sofa::core::componentmodel::behavior::BaseConstraint::projectFreePosition (  )  [pure virtual]

virtual void sofa::core::componentmodel::behavior::BaseConstraint::projectFreeVelocity (  )  [pure virtual]

virtual void sofa::core::componentmodel::behavior::BaseConstraint::projectPosition (  )  [pure virtual]

void sofa::core::componentmodel::behavior::BaseConstraint::projectResponse ( double **   )  [virtual]

Project the compliance Matrix to constrained space.

Definition at line 41 of file BaseConstraint.cpp.

virtual void sofa::core::componentmodel::behavior::BaseConstraint::projectResponse (  )  [pure virtual]

virtual void sofa::core::componentmodel::behavior::BaseConstraint::projectVelocity (  )  [pure virtual]


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

Generated on Sun Nov 23 04:22:09 2008 for Sofa by  doxygen 1.5.7.1