sofa::component::ParticleSource< TDataTypes > Class Template Reference

#include <ParticleSource.h>

Inheritance diagram for sofa::component::ParticleSource< TDataTypes >:

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

Collaboration graph
[legend]

Public Types

typedef TDataTypes DataTypes
typedef DataTypes::Real Real
typedef DataTypes::Coord Coord
typedef DataTypes::VecCoord VecCoord
typedef DataTypes::Deriv Deriv
typedef DataTypes::VecDeriv VecDeriv
typedef helper::vector< Real > VecDensity
typedef
core::componentmodel::behavior::MechanicalState
< DataTypes > 
MechanicalModel

Public Member Functions

 ParticleSource ()
virtual ~ParticleSource ()
virtual void init ()
 Initialization method called at graph modification, during bottom-up traversal.
virtual void reset ()
 Reset to initial state.
Real rrand ()
virtual void animateBegin (double, double time)
void handleTopologyChange ()
 Handle topological changes.
virtual void projectResponse (VecDeriv &res)
 Project dx to constrained space (dx models an acceleration).
virtual void projectVelocity (VecDeriv &res)
 Project v to constrained space (v models a velocity).
virtual void projectPosition (VecCoord &x)
 Project x to constrained space (x models a position).
virtual void animateEnd (double, double)
virtual void handleEvent (sofa::core::objectmodel::Event *event)
 Handle an event.

Data Fields

Data< Coord > f_translation
Data< Real > f_scale
Data< helper::vector< Coord > > f_center
Data< Coord > f_radius
Data< Deriv > f_velocity
Data< Real > f_delay
Data< Real > f_start
Data< Real > f_stop
int N
Real lasttime
topology::PointSubset lastparticles
helper::vector< Coord > lastpos

Static Protected Member Functions

static bool PSTestNewPointFunction (int, void *, const sofa::helper::vector< unsigned int > &, const sofa::helper::vector< double > &)
static void PSRemovalFunction (int index, void *p)

Detailed Description

template<class TDataTypes>
class sofa::component::ParticleSource< TDataTypes >

Definition at line 60 of file ParticleSource.h.


Member Typedef Documentation

template<class TDataTypes >
typedef DataTypes::Coord sofa::component::ParticleSource< TDataTypes >::Coord

template<class TDataTypes >
typedef TDataTypes sofa::component::ParticleSource< TDataTypes >::DataTypes

Definition at line 63 of file ParticleSource.h.

template<class TDataTypes >
typedef DataTypes::Deriv sofa::component::ParticleSource< TDataTypes >::Deriv

Definition at line 71 of file ParticleSource.h.

template<class TDataTypes >
typedef DataTypes::Real sofa::component::ParticleSource< TDataTypes >::Real

template<class TDataTypes >
typedef DataTypes::VecCoord sofa::component::ParticleSource< TDataTypes >::VecCoord

template<class TDataTypes >
typedef helper::vector<Real> sofa::component::ParticleSource< TDataTypes >::VecDensity

Definition at line 69 of file ParticleSource.h.

template<class TDataTypes >
typedef DataTypes::VecDeriv sofa::component::ParticleSource< TDataTypes >::VecDeriv


Constructor & Destructor Documentation

template<class TDataTypes >
sofa::component::ParticleSource< TDataTypes >::ParticleSource (  )  [inline]

template<class TDataTypes >
virtual sofa::component::ParticleSource< TDataTypes >::~ParticleSource (  )  [inline, virtual]

Definition at line 96 of file ParticleSource.h.


Member Function Documentation

template<class TDataTypes >
virtual void sofa::component::ParticleSource< TDataTypes >::animateBegin ( double  ,
double  time 
) [inline, virtual]

Definition at line 137 of file ParticleSource.h.

References sofa::component::topology::PointSetTopologyModifier::addPointsProcess(), sofa::component::topology::PointSetTopologyModifier::addPointsWarning(), sofa::component::ParticleSource< TDataTypes >::f_center, sofa::component::ParticleSource< TDataTypes >::f_delay, sofa::component::ParticleSource< TDataTypes >::f_radius, sofa::component::ParticleSource< TDataTypes >::f_scale, sofa::component::ParticleSource< TDataTypes >::f_start, sofa::component::ParticleSource< TDataTypes >::f_stop, sofa::component::ParticleSource< TDataTypes >::f_translation, sofa::component::ParticleSource< TDataTypes >::f_velocity, sofa::core::objectmodel::BaseContext::get(), sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getMeshTopology(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getV(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::component::ParticleSource< TDataTypes >::lastparticles, sofa::component::ParticleSource< TDataTypes >::lastpos, sofa::component::ParticleSource< TDataTypes >::lasttime, sofa::core::componentmodel::behavior::Constraint< TDataTypes >::mstate, sofa::component::ParticleSource< TDataTypes >::N, sofa::component::topology::PointSetTopologyModifier::propagateTopologicalChanges(), sofa::component::topology::PointSubset::resize(), sofa::core::componentmodel::behavior::BaseMechanicalState::resize(), and sofa::component::ParticleSource< TDataTypes >::rrand().

Referenced by sofa::component::ParticleSource< TDataTypes >::handleEvent().

template<class TDataTypes >
virtual void sofa::component::ParticleSource< TDataTypes >::animateEnd ( double  ,
double   
) [inline, virtual]

template<class TDataTypes >
virtual void sofa::component::ParticleSource< TDataTypes >::handleEvent ( sofa::core::objectmodel::Event *  e  )  [inline, virtual]

template<class TDataTypes >
void sofa::component::ParticleSource< TDataTypes >::handleTopologyChange (  )  [inline, virtual]

template<class TDataTypes >
virtual void sofa::component::ParticleSource< TDataTypes >::init ( void   )  [inline, virtual]

template<class TDataTypes >
virtual void sofa::component::ParticleSource< TDataTypes >::projectPosition ( VecCoord &  x  )  [inline, virtual]

template<class TDataTypes >
virtual void sofa::component::ParticleSource< TDataTypes >::projectResponse ( VecDeriv &  dx  )  [inline, virtual]

template<class TDataTypes >
virtual void sofa::component::ParticleSource< TDataTypes >::projectVelocity ( VecDeriv &  v  )  [inline, virtual]

template<class TDataTypes >
static void sofa::component::ParticleSource< TDataTypes >::PSRemovalFunction ( int  index,
void *  p 
) [inline, static, protected]

template<class TDataTypes >
static bool sofa::component::ParticleSource< TDataTypes >::PSTestNewPointFunction ( int  ,
void *  ,
const sofa::helper::vector< unsigned int > &  ,
const sofa::helper::vector< double > &   
) [inline, static, protected]

template<class TDataTypes >
virtual void sofa::component::ParticleSource< TDataTypes >::reset ( void   )  [inline, virtual]

template<class TDataTypes >
Real sofa::component::ParticleSource< TDataTypes >::rrand (  )  [inline]


Field Documentation

template<class TDataTypes >
Data< helper::vector<Coord> > sofa::component::ParticleSource< TDataTypes >::f_center

template<class TDataTypes >
Data<Real> sofa::component::ParticleSource< TDataTypes >::f_delay

template<class TDataTypes >
Data<Coord> sofa::component::ParticleSource< TDataTypes >::f_radius

template<class TDataTypes >
Data<Real> sofa::component::ParticleSource< TDataTypes >::f_scale

template<class TDataTypes >
Data<Real> sofa::component::ParticleSource< TDataTypes >::f_start

template<class TDataTypes >
Data<Real> sofa::component::ParticleSource< TDataTypes >::f_stop

template<class TDataTypes >
Data<Coord> sofa::component::ParticleSource< TDataTypes >::f_translation

template<class TDataTypes >
Data<Deriv> sofa::component::ParticleSource< TDataTypes >::f_velocity

template<class TDataTypes >
topology::PointSubset sofa::component::ParticleSource< TDataTypes >::lastparticles

template<class TDataTypes >
helper::vector<Coord> sofa::component::ParticleSource< TDataTypes >::lastpos

template<class TDataTypes >
Real sofa::component::ParticleSource< TDataTypes >::lasttime

template<class TDataTypes >
int sofa::component::ParticleSource< TDataTypes >::N


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

Generated on Sun Nov 23 04:13:32 2008 for Sofa by  doxygen 1.5.7.1