sofa::component::misc::Monitor< DataTypes > Class Template Reference

#include <Monitor.h>

Inheritance diagram for sofa::component::misc::Monitor< DataTypes >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::misc::Monitor< DataTypes >:

Collaboration graph
[legend]

Data Structures

class  MonitorData

Public Types

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

Public Member Functions

 Monitor ()
 ~Monitor ()
void setIndForces (sofa::helper::vector< int > &_IdxForces)
 set the indices of particles of which we want to monitor positions
void setIndVels (sofa::helper::vector< int > &_IdxVels)
 set the indices of particles of which we want to monitor velocities
void setIndPos (sofa::helper::vector< int > &_IdxPos)
 set the indices of particles of which we want to monitor forces
virtual void init ()
 Initialization method called at graph modification, during bottom-up traversal.
virtual void reset ()
 Reset to initial state.
virtual void reinit ()
 initialize gnuplot files called when ExportGnuplot box is checked
virtual void fwdDraw (Pass)
 function called at every step of simulation; store mechanical state vectors (forces, positions, velocities) into the MonitorData nested class.
virtual void initGnuplot (const std::string path)
 create gnuplot files
virtual void exportGnuplot (Real time)
 write in gnuplot files the monitored desired data (velocities,positions,forces)
virtual std::string getTemplateName () const
 Get the template type names (if any) used to instantiate this object.

Static Public Member Functions

static std::string templateName (const Monitor< DataTypes > *=NULL)

Data Fields

Data< bool > saveXToGnuplot
Data< bool > saveVToGnuplot
Data< bool > saveFToGnuplot
Data< MonitorData > monitoring
Data< bool > showPositions
Data< defaulttype::Vector3 > positionsColor
Data< bool > showVelocities
Data< defaulttype::Vector3 > velocitiesColor
Data< bool > showForces
Data< defaulttype::Vector3 > forcesColor
Data< double > showMinThreshold
Data< bool > showTrajectories
Data< double > trajectoriesPrecision
Data< defaulttype::Vector3 > trajectoriesColor

Protected Member Functions

double vectorNorm (Deriv currentVel)

Protected Attributes

std::ofstream * saveGnuplotX
std::ofstream * saveGnuplotV
std::ofstream * saveGnuplotF
core::componentmodel::behavior::MechanicalState
< DataTypes > * 
mmodel
double internalDt
 use for trajectoriesPrecision (save value only if trajectoriesPrecision <= internalDt)

Detailed Description

template<class DataTypes>
class sofa::component::misc::Monitor< DataTypes >

Definition at line 44 of file Monitor.h.


Member Typedef Documentation

template<class DataTypes >
typedef DataTypes::Coord sofa::component::misc::Monitor< DataTypes >::Coord

Definition at line 52 of file Monitor.h.

template<class DataTypes >
typedef DataTypes::Deriv sofa::component::misc::Monitor< DataTypes >::Deriv

Definition at line 53 of file Monitor.h.

template<class DataTypes >
typedef DataTypes::Real sofa::component::misc::Monitor< DataTypes >::Real

Definition at line 51 of file Monitor.h.

template<class DataTypes >
typedef DataTypes::VecCoord sofa::component::misc::Monitor< DataTypes >::VecCoord

Definition at line 49 of file Monitor.h.

template<class DataTypes >
typedef DataTypes::VecDeriv sofa::component::misc::Monitor< DataTypes >::VecDeriv

Definition at line 50 of file Monitor.h.

template<class DataTypes >
typedef DataTypes::VecReal sofa::component::misc::Monitor< DataTypes >::VecReal

Definition at line 48 of file Monitor.h.


Constructor & Destructor Documentation

template<class DataTypes >
sofa::component::misc::Monitor< DataTypes >::Monitor (  )  [inline]

Definition at line 56 of file Monitor.inl.

template<class DataTypes >
sofa::component::misc::Monitor< DataTypes >::~Monitor (  )  [inline]


Member Function Documentation

template<class DataTypes >
void sofa::component::misc::Monitor< DataTypes >::exportGnuplot ( Real  time  )  [inline, virtual]

template<class DataTypes >
void sofa::component::misc::Monitor< DataTypes >::fwdDraw ( Pass  pass = Std  )  [inline, virtual]

function called at every step of simulation; store mechanical state vectors (forces, positions, velocities) into the MonitorData nested class.

The filter (which position(s), velocity(ies) or *force(s) are displayed) is made in the gui

Reimplemented from sofa::core::VisualModel.

Definition at line 184 of file Monitor.inl.

References sofa::core::objectmodel::BaseObject::draw(), sofa::component::misc::Monitor< DataTypes >::exportGnuplot(), sofa::component::misc::Monitor< DataTypes >::forcesColor, sofa::core::objectmodel::BaseObject::getContext(), sofa::core::objectmodel::BaseContext::getDt(), sofa::core::objectmodel::Data< T >::getValue(), sofa::component::misc::Monitor< DataTypes >::internalDt, sofa::component::misc::Monitor< DataTypes >::mmodel, sofa::component::misc::Monitor< DataTypes >::monitoring, sofa::component::misc::Monitor< DataTypes >::positionsColor, sofa::component::misc::Monitor< DataTypes >::saveFToGnuplot, sofa::component::misc::Monitor< DataTypes >::saveVToGnuplot, sofa::component::misc::Monitor< DataTypes >::saveXToGnuplot, sofa::component::misc::Monitor< DataTypes >::showForces, sofa::component::misc::Monitor< DataTypes >::showMinThreshold, sofa::component::misc::Monitor< DataTypes >::showPositions, sofa::component::misc::Monitor< DataTypes >::showTrajectories, sofa::component::misc::Monitor< DataTypes >::showVelocities, sofa::core::VisualModel::Std, sofa::component::misc::Monitor< DataTypes >::trajectoriesColor, sofa::component::misc::Monitor< DataTypes >::trajectoriesPrecision, sofa::component::misc::Monitor< DataTypes >::vectorNorm(), and sofa::component::misc::Monitor< DataTypes >::velocitiesColor.

template<class DataTypes >
virtual std::string sofa::component::misc::Monitor< DataTypes >::getTemplateName (  )  const [inline, virtual]

Get the template type names (if any) used to instantiate this object.

Reimplemented from sofa::core::objectmodel::Base.

Definition at line 391 of file Monitor.h.

References sofa::component::misc::Monitor< DataTypes >::templateName().

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

template<class DataTypes >
void sofa::component::misc::Monitor< DataTypes >::initGnuplot ( const std::string  path  )  [inline, virtual]

template<class DataTypes >
void sofa::component::misc::Monitor< DataTypes >::reinit (  )  [inline, virtual]

initialize gnuplot files called when ExportGnuplot box is checked

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

Definition at line 174 of file Monitor.inl.

References sofa::component::misc::Monitor< DataTypes >::initGnuplot().

template<class DataTypes >
void sofa::component::misc::Monitor< DataTypes >::reset ( void   )  [inline, virtual]

template<class DataTypes >
void sofa::component::misc::Monitor< DataTypes >::setIndForces ( sofa::helper::vector< int > &  _IdxForces  )  [inline]

set the indices of particles of which we want to monitor positions

Definition at line 116 of file Monitor.inl.

References sofa::component::misc::Monitor< DataTypes >::monitoring.

template<class DataTypes >
void sofa::component::misc::Monitor< DataTypes >::setIndPos ( sofa::helper::vector< int > &  _IdxPos  )  [inline]

set the indices of particles of which we want to monitor forces

Definition at line 94 of file Monitor.inl.

References sofa::component::misc::Monitor< DataTypes >::monitoring.

template<class DataTypes >
void sofa::component::misc::Monitor< DataTypes >::setIndVels ( sofa::helper::vector< int > &  _IdxVels  )  [inline]

set the indices of particles of which we want to monitor velocities

Definition at line 105 of file Monitor.inl.

References sofa::component::misc::Monitor< DataTypes >::monitoring.

template<class DataTypes >
static std::string sofa::component::misc::Monitor< DataTypes >::templateName ( const Monitor< DataTypes > *  = NULL  )  [inline, static]

template<class DataTypes >
double sofa::component::misc::Monitor< DataTypes >::vectorNorm ( Deriv  currentVel  )  [inline, protected]

Definition at line 403 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().


Field Documentation

template<class DataTypes >
Data< defaulttype::Vector3 > sofa::component::misc::Monitor< DataTypes >::forcesColor

Definition at line 346 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().

template<class DataTypes >
double sofa::component::misc::Monitor< DataTypes >::internalDt [protected]

use for trajectoriesPrecision (save value only if trajectoriesPrecision <= internalDt)

Definition at line 416 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw(), and sofa::component::misc::Monitor< DataTypes >::reset().

template<class DataTypes >
core::componentmodel::behavior::MechanicalState<DataTypes>* sofa::component::misc::Monitor< DataTypes >::mmodel [protected]

template<class DataTypes >
Data< MonitorData > sofa::component::misc::Monitor< DataTypes >::monitoring

template<class DataTypes >
Data<defaulttype::Vector3> sofa::component::misc::Monitor< DataTypes >::positionsColor

Definition at line 340 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().

template<class DataTypes >
Data< bool > sofa::component::misc::Monitor< DataTypes >::saveFToGnuplot

template<class DataTypes >
std::ofstream* sofa::component::misc::Monitor< DataTypes >::saveGnuplotF [protected]

template<class DataTypes >
std::ofstream* sofa::component::misc::Monitor< DataTypes >::saveGnuplotV [protected]

template<class DataTypes >
std::ofstream* sofa::component::misc::Monitor< DataTypes >::saveGnuplotX [protected]

template<class DataTypes >
Data< bool > sofa::component::misc::Monitor< DataTypes >::saveVToGnuplot

template<class DataTypes >
Data< bool > sofa::component::misc::Monitor< DataTypes >::saveXToGnuplot

template<class DataTypes >
Data< bool > sofa::component::misc::Monitor< DataTypes >::showForces

Definition at line 345 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().

template<class DataTypes >
Data< double > sofa::component::misc::Monitor< DataTypes >::showMinThreshold

Definition at line 348 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().

template<class DataTypes >
Data< bool > sofa::component::misc::Monitor< DataTypes >::showPositions

Definition at line 339 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().

template<class DataTypes >
Data< bool > sofa::component::misc::Monitor< DataTypes >::showTrajectories

Definition at line 350 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().

template<class DataTypes >
Data< bool > sofa::component::misc::Monitor< DataTypes >::showVelocities

Definition at line 342 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().

template<class DataTypes >
Data< defaulttype::Vector3 > sofa::component::misc::Monitor< DataTypes >::trajectoriesColor

Definition at line 352 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().

template<class DataTypes >
Data< double > sofa::component::misc::Monitor< DataTypes >::trajectoriesPrecision

Definition at line 351 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().

template<class DataTypes >
Data< defaulttype::Vector3 > sofa::component::misc::Monitor< DataTypes >::velocitiesColor

Definition at line 343 of file Monitor.h.

Referenced by sofa::component::misc::Monitor< DataTypes >::fwdDraw().


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

Generated on Sun Nov 23 04:21:15 2008 for Sofa by  doxygen 1.5.7.1