sofa::component::constraint::FixedConstraint< DataTypes > Class Template Reference

Attach given particles to their initial positions. More...

#include <FixedConstraint.h>

Inheritance diagram for sofa::component::constraint::FixedConstraint< DataTypes >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::constraint::FixedConstraint< DataTypes >:

Collaboration graph
[legend]

Public Types

typedef DataTypes::VecCoord VecCoord
typedef DataTypes::VecDeriv VecDeriv
typedef DataTypes::Coord Coord
typedef DataTypes::Deriv Deriv
typedef topology::PointSubset SetIndex
typedef helper::vector
< unsigned int > 
SetIndexArray

Public Member Functions

 FixedConstraint ()
virtual ~FixedConstraint ()
void clearConstraints ()
void addConstraint (unsigned int index)
void removeConstraint (unsigned int index)
void init ()
 Initialization method called at graph modification, during bottom-up traversal.
void projectResponse (VecDeriv &dx)
 Project dx to constrained space (dx models an acceleration).
virtual void projectVelocity (VecDeriv &)
 project dx to constrained space (dx models a velocity)
virtual void projectPosition (VecCoord &)
 project x to constrained space (x models a position)
void applyConstraint (defaulttype::BaseMatrix *mat, unsigned int &offset)
 Project the global Mechanical Matrix to constrained space using offset parameter.
void applyConstraint (defaulttype::BaseVector *vect, unsigned int &offset)
 Project the global Mechanical Vector to constrained space using offset parameter.
virtual void handleTopologyChange ()
 Handle topological Changes.
virtual void draw ()
 Render internal data of this object, for debugging purposes.
bool isHolonomic ()
 this constraint is holonomic
template<>
void draw ()
 Render internal data of this object, for debugging purposes.
template<>
void draw ()
 Render internal data of this object, for debugging purposes.
template<>
void draw ()
 Render internal data of this object, for debugging purposes.
template<>
void draw ()
 Render internal data of this object, for debugging purposes.
template<>
void draw ()
 Render internal data of this object, for debugging purposes.
template<>
void draw ()
 Render internal data of this object, for debugging purposes.
template<>
void draw ()
 Render internal data of this object, for debugging purposes.
template<>
void draw ()
 Render internal data of this object, for debugging purposes.

Data Fields

Data< SetIndex > f_indices
Data< bool > f_fixAll

Static Protected Member Functions

static bool FCTestNewPointFunction (int, void *, const sofa::helper::vector< unsigned int > &, const sofa::helper::vector< double > &)
static void FCRemovalFunction (int, void *)

Protected Attributes

FixedConstraintInternalData
< DataTypes > 
data
sofa::core::componentmodel::topology::BaseMeshTopology * topology

Friends

class FixedConstraintInternalData< DataTypes >

Detailed Description

template<class DataTypes>
class sofa::component::constraint::FixedConstraint< DataTypes >

Attach given particles to their initial positions.

Definition at line 60 of file FixedConstraint.h.


Member Typedef Documentation

template<class DataTypes >
typedef DataTypes::Coord sofa::component::constraint::FixedConstraint< DataTypes >::Coord

template<class DataTypes >
typedef DataTypes::Deriv sofa::component::constraint::FixedConstraint< DataTypes >::Deriv

template<class DataTypes >
typedef topology::PointSubset sofa::component::constraint::FixedConstraint< DataTypes >::SetIndex

Reimplemented in sofa::component::constraint::BoxConstraint< DataTypes >.

Definition at line 67 of file FixedConstraint.h.

template<class DataTypes >
typedef helper::vector<unsigned int> sofa::component::constraint::FixedConstraint< DataTypes >::SetIndexArray

Definition at line 68 of file FixedConstraint.h.

template<class DataTypes >
typedef DataTypes::VecCoord sofa::component::constraint::FixedConstraint< DataTypes >::VecCoord

template<class DataTypes >
typedef DataTypes::VecDeriv sofa::component::constraint::FixedConstraint< DataTypes >::VecDeriv


Constructor & Destructor Documentation

template<class DataTypes >
sofa::component::constraint::FixedConstraint< DataTypes >::FixedConstraint (  )  [inline]

template<class DataTypes >
sofa::component::constraint::FixedConstraint< DataTypes >::~FixedConstraint (  )  [inline, virtual]

Definition at line 103 of file FixedConstraint.inl.


Member Function Documentation

template<class DataTypes >
void sofa::component::constraint::FixedConstraint< DataTypes >::addConstraint ( unsigned int  index  )  [inline]

template<class DataTypes >
void sofa::component::constraint::FixedConstraint< DataTypes >::applyConstraint ( defaulttype::BaseVector *  ,
unsigned int &   
) [inline, virtual]

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

Reimplemented from sofa::core::componentmodel::behavior::BaseConstraint.

Definition at line 188 of file FixedConstraint.inl.

References sofa::defaulttype::BaseVector::clear(), and sofa::component::constraint::FixedConstraint< DataTypes >::f_indices.

template<class DataTypes >
void sofa::component::constraint::FixedConstraint< DataTypes >::applyConstraint ( defaulttype::BaseMatrix *  ,
unsigned int &   
) [inline, virtual]

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

Reimplemented from sofa::core::componentmodel::behavior::BaseConstraint.

Definition at line 170 of file FixedConstraint.inl.

References sofa::defaulttype::BaseMatrix::clearRowCol(), sofa::component::constraint::FixedConstraint< DataTypes >::f_indices, and sofa::defaulttype::BaseMatrix::set().

template<class DataTypes >
void sofa::component::constraint::FixedConstraint< DataTypes >::clearConstraints (  )  [inline]

template<>
void sofa::component::constraint::FixedConstraint< Rigid2fTypes >::draw (  )  [inline, virtual]

Render internal data of this object, for debugging purposes.

Reimplemented from sofa::core::objectmodel::BaseObject.

Reimplemented in sofa::component::constraint::BoxConstraint< DataTypes >.

template<>
void sofa::component::constraint::FixedConstraint< Rigid3fTypes >::draw (  )  [inline, virtual]

Render internal data of this object, for debugging purposes.

Reimplemented from sofa::core::objectmodel::BaseObject.

Reimplemented in sofa::component::constraint::BoxConstraint< DataTypes >.

template<>
void sofa::component::constraint::FixedConstraint< Rigid2dTypes >::draw (  )  [inline, virtual]

Render internal data of this object, for debugging purposes.

Reimplemented from sofa::core::objectmodel::BaseObject.

Reimplemented in sofa::component::constraint::BoxConstraint< DataTypes >.

template<>
void sofa::component::constraint::FixedConstraint< Rigid3dTypes >::draw (  )  [inline, virtual]

Render internal data of this object, for debugging purposes.

Reimplemented from sofa::core::objectmodel::BaseObject.

Reimplemented in sofa::component::constraint::BoxConstraint< DataTypes >.

template<>
void sofa::component::constraint::FixedConstraint< Rigid2fTypes >::draw (  )  [inline, virtual]

template<>
void sofa::component::constraint::FixedConstraint< Rigid3fTypes >::draw (  )  [inline, virtual]

template<>
void sofa::component::constraint::FixedConstraint< Rigid2dTypes >::draw (  )  [inline, virtual]

template<>
void sofa::component::constraint::FixedConstraint< Rigid3dTypes >::draw (  )  [inline, virtual]

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

template<class DataTypes >
void sofa::component::constraint::FixedConstraint< DataTypes >::FCRemovalFunction ( int  pointIndex,
void *  param 
) [inline, static, protected]

template<class DataTypes >
bool sofa::component::constraint::FixedConstraint< DataTypes >::FCTestNewPointFunction ( int  ,
void *  param,
const sofa::helper::vector< unsigned int > &  ,
const sofa::helper::vector< double > &   
) [inline, static, protected]

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

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

template<class DataTypes >
bool sofa::component::constraint::FixedConstraint< DataTypes >::isHolonomic (  )  [inline, virtual]

template<class DataTypes >
virtual void sofa::component::constraint::FixedConstraint< DataTypes >::projectPosition ( VecCoord &   )  [inline, virtual]

project x to constrained space (x models a position)

Implements sofa::core::componentmodel::behavior::Constraint< DataTypes >.

Definition at line 91 of file FixedConstraint.h.

template<class DataTypes >
void sofa::component::constraint::FixedConstraint< DataTypes >::projectResponse ( VecDeriv &  dx  )  [inline, virtual]

Project dx to constrained space (dx models an acceleration).

This method must be implemented by the component, and is usually called by the generic Constraint::projectResponse() method.

Implements sofa::core::componentmodel::behavior::Constraint< DataTypes >.

Definition at line 150 of file FixedConstraint.inl.

References sofa::component::constraint::FixedConstraint< DataTypes >::f_fixAll, sofa::component::constraint::FixedConstraint< DataTypes >::f_indices, and sofa::core::objectmodel::Data< T >::getValue().

template<class DataTypes >
virtual void sofa::component::constraint::FixedConstraint< DataTypes >::projectVelocity ( VecDeriv &   )  [inline, virtual]

project dx to constrained space (dx models a velocity)

Implements sofa::core::componentmodel::behavior::Constraint< DataTypes >.

Definition at line 90 of file FixedConstraint.h.

template<class DataTypes >
void sofa::component::constraint::FixedConstraint< DataTypes >::removeConstraint ( unsigned int  index  )  [inline]


Friends And Related Function Documentation

template<class DataTypes >
friend class FixedConstraintInternalData< DataTypes > [friend]

Definition at line 73 of file FixedConstraint.h.


Field Documentation

template<class DataTypes >
FixedConstraintInternalData<DataTypes> sofa::component::constraint::FixedConstraint< DataTypes >::data [protected]

Definition at line 72 of file FixedConstraint.h.

template<class DataTypes >
Data<bool> sofa::component::constraint::FixedConstraint< DataTypes >::f_fixAll

template<class DataTypes >
Data<SetIndex> sofa::component::constraint::FixedConstraint< DataTypes >::f_indices


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

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