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

#include <FixedPlaneConstraint.h>

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

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

Collaboration graph
[legend]

Public Types

typedef
core::componentmodel::behavior::Constraint
< DataTypes > 
Inherit
typedef DataTypes::VecCoord VecCoord
typedef DataTypes::VecDeriv VecDeriv
typedef DataTypes::Coord Coord
typedef DataTypes::Deriv Deriv
typedef topology::PointSubset SetIndex
typedef Coord::value_type Real

Public Member Functions

 FixedPlaneConstraint ()
 ~FixedPlaneConstraint ()
FixedPlaneConstraint< DataTypes > * addConstraint (int index)
FixedPlaneConstraint< DataTypes > * removeConstraint (int index)
virtual void handleTopologyChange ()
 Handle topological Changes.
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)
virtual void init ()
 Initialization method called at graph modification, during bottom-up traversal.
void setDirection (Coord dir)
void selectVerticesAlongPlane ()
void setDminAndDmax (const Real _dmin, const Real _dmax)
void draw ()
 Render internal data of this object, for debugging purposes.

Protected Member Functions

bool isPointInPlane (Coord p)

Static Protected Member Functions

static bool FPCTestNewPointFunction (int, void *, const helper::vector< unsigned int > &, const helper::vector< double > &)
static void FPCRemovalFunction (int, void *)

Protected Attributes

Data< SetIndex > indices
Data< Coord > direction
 direction on which the constraint applies
bool selectVerticesFromPlanes
 whether vertices should be selected from 2 parallel planes
Data< Real > dmin
Data< Real > dmax
sofa::core::componentmodel::topology::BaseMeshTopology * topology

Detailed Description

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

Definition at line 45 of file FixedPlaneConstraint.h.


Member Typedef Documentation

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

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

Definition at line 48 of file FixedPlaneConstraint.h.

template<class DataTypes >
typedef Coord::value_type sofa::component::constraint::FixedPlaneConstraint< DataTypes >::Real

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

Definition at line 53 of file FixedPlaneConstraint.h.

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

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


Constructor & Destructor Documentation

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

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

Definition at line 56 of file FixedPlaneConstraint.inl.


Member Function Documentation

template<class DataTypes >
FixedPlaneConstraint< DataTypes > * sofa::component::constraint::FixedPlaneConstraint< DataTypes >::addConstraint ( int  index  )  [inline]

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

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

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

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

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

template<class DataTypes >
bool sofa::component::constraint::FixedPlaneConstraint< DataTypes >::isPointInPlane ( Coord  p  )  [inline, protected]

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

project x to constrained space (x models a position)

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

Definition at line 78 of file FixedPlaneConstraint.h.

template<class DataTypes >
void sofa::component::constraint::FixedPlaneConstraint< 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 96 of file FixedPlaneConstraint.inl.

References sofa::component::constraint::FixedPlaneConstraint< DataTypes >::direction, dot(), and sofa::component::constraint::FixedPlaneConstraint< DataTypes >::indices.

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

project dx to constrained space (dx models a velocity)

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

Definition at line 77 of file FixedPlaneConstraint.h.

template<class DataTypes >
FixedPlaneConstraint< DataTypes > * sofa::component::constraint::FixedPlaneConstraint< DataTypes >::removeConstraint ( int  index  )  [inline]

template<class DataTypes >
void sofa::component::constraint::FixedPlaneConstraint< DataTypes >::selectVerticesAlongPlane (  )  [inline]

template<class DataTypes >
void sofa::component::constraint::FixedPlaneConstraint< DataTypes >::setDirection ( Coord  dir  )  [inline]

template<class DataTypes >
void sofa::component::constraint::FixedPlaneConstraint< DataTypes >::setDminAndDmax ( const Real  _dmin,
const Real  _dmax 
) [inline]


Field Documentation

template<class DataTypes >
Data<Coord> sofa::component::constraint::FixedPlaneConstraint< DataTypes >::direction [protected]

template<class DataTypes >
Data<Real> sofa::component::constraint::FixedPlaneConstraint< DataTypes >::dmax [protected]

template<class DataTypes >
Data<Real> sofa::component::constraint::FixedPlaneConstraint< DataTypes >::dmin [protected]

template<class DataTypes >
Data<SetIndex> sofa::component::constraint::FixedPlaneConstraint< DataTypes >::indices [protected]

template<class DataTypes >
bool sofa::component::constraint::FixedPlaneConstraint< DataTypes >::selectVerticesFromPlanes [protected]


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