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

Apply sinusoidal trajectories to particles. More...

#include <OscillatorConstraint.h>

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

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

Collaboration graph
[legend]

Data Structures

struct  Oscillator

Public Types

typedef DataTypes::VecCoord VecCoord
typedef DataTypes::VecDeriv VecDeriv
typedef DataTypes::Coord Coord
typedef DataTypes::Deriv Deriv
typedef DataTypes::Real Real

Public Member Functions

 OscillatorConstraint ()
 OscillatorConstraint (core::componentmodel::behavior::MechanicalState< DataTypes > *mstate)
 ~OscillatorConstraint ()
OscillatorConstraint< DataTypes > * addConstraint (unsigned index, const Coord &mean, const Deriv &amplitude, Real pulsation, Real phase)
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 draw ()
 Render internal data of this object, for debugging purposes.
bool isHolonomic ()
 this constraint is holonomic

Protected Attributes

Data< helper::vector
< Oscillator > > 
constraints
 constrained particles

Detailed Description

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

Apply sinusoidal trajectories to particles.

Defined as $ x = x_m A \sin ( \omega t + \phi )$ where $ x_m, A , \omega t , \phi $ are the mean value, the amplitude, the pulsation and the phase, respectively.

Definition at line 46 of file OscillatorConstraint.h.


Member Typedef Documentation

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

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

template<class DataTypes >
typedef DataTypes::Real sofa::component::constraint::OscillatorConstraint< DataTypes >::Real

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

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


Constructor & Destructor Documentation

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

Definition at line 44 of file OscillatorConstraint.inl.

template<class DataTypes >
sofa::component::constraint::OscillatorConstraint< DataTypes >::OscillatorConstraint ( core::componentmodel::behavior::MechanicalState< DataTypes > *  mstate  )  [inline]

Definition at line 52 of file OscillatorConstraint.inl.

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

Definition at line 59 of file OscillatorConstraint.inl.


Member Function Documentation

template<class DataTypes >
OscillatorConstraint< DataTypes > * sofa::component::constraint::OscillatorConstraint< DataTypes >::addConstraint ( unsigned  index,
const Coord &  mean,
const Deriv &  amplitude,
Real  pulsation,
Real  phase 
) [inline]

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

Render internal data of this object, for debugging purposes.

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

Definition at line 96 of file OscillatorConstraint.h.

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

this constraint is holonomic

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

Definition at line 99 of file OscillatorConstraint.h.

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

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

References sofa::component::constraint::OscillatorConstraint< DataTypes >::constraints.

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


Field Documentation

template<class DataTypes >
Data< helper::vector< Oscillator > > sofa::component::constraint::OscillatorConstraint< DataTypes >::constraints [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