sofa::component::forcefield::SparseGridSpringForceField< DataTypes > Class Template Reference

#include <SparseGridSpringForceField.h>

Inheritance diagram for sofa::component::forcefield::SparseGridSpringForceField< DataTypes >:

Inheritance graph
[legend]
Collaboration diagram for sofa::component::forcefield::SparseGridSpringForceField< DataTypes >:

Collaboration graph
[legend]

Public Types

typedef StiffSpringForceField
< DataTypes > 
Inherit
 make the spring force field of a sparsegrid
typedef DataTypes::VecCoord VecCoord
typedef DataTypes::VecDeriv VecDeriv
typedef DataTypes::Coord Coord
typedef DataTypes::Deriv Deriv
typedef Coord::value_type Real

Public Member Functions

 SparseGridSpringForceField (core::componentmodel::behavior::MechanicalState< DataTypes > *object1, core::componentmodel::behavior::MechanicalState< DataTypes > *object2)
 SparseGridSpringForceField ()
virtual void parse (core::objectmodel::BaseObjectDescription *arg)
 Parse the given description to assign values to this object's fields and potentially other parameters.
Real getStiffness () const
Real getLinesStiffness () const
Real getQuadsStiffness () const
Real getCubesStiffness () const
void setStiffness (Real val)
void setLinesStiffness (Real val)
void setQuadsStiffness (Real val)
void setCubesStiffness (Real val)
Real getDamping () const
Real getLinesDamping () const
Real getQuadsDamping () const
Real getCubesDamping () const
void setDamping (Real val)
void setLinesDamping (Real val)
void setQuadsDamping (Real val)
void setCubesDamping (Real val)
virtual void addForce (VecDeriv &f1, VecDeriv &f2, const VecCoord &x1, const VecCoord &x2, const VecDeriv &v1, const VecDeriv &v2)
 Accumulate f corresponding to x,v.
virtual void addDForce (VecDeriv &df1, VecDeriv &df2, const VecDeriv &dx1, const VecDeriv &dx2, double kFactor, double bFactor)
 Accumulate df corresponding to dx.
virtual void draw ()
 Render internal data of this object, for debugging purposes.
void setFileName (char *name)
char * getFileName () const

Protected Types

typedef
topology::MultiResSparseGridTopology::SparseGrid 
Voxels
typedef
topology::MultiResSparseGridTopology::SparseGrid::Index3D 
Index3D

Protected Attributes

DataField< Real > linesStiffness
DataField< Real > linesDamping
DataField< Real > quadsStiffness
DataField< Real > quadsDamping
DataField< Real > cubesStiffness
DataField< Real > cubesDamping
DataField< std::string > filename

Detailed Description

template<class DataTypes>
class sofa::component::forcefield::SparseGridSpringForceField< DataTypes >

Definition at line 41 of file SparseGridSpringForceField.h.


Member Typedef Documentation

template<class DataTypes >
typedef DataTypes::Coord sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::Coord

template<class DataTypes >
typedef DataTypes::Deriv sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::Deriv

Definition at line 63 of file SparseGridSpringForceField.h.

make the spring force field of a sparsegrid

Reimplemented from sofa::component::forcefield::StiffSpringForceField< DataTypes >.

Definition at line 45 of file SparseGridSpringForceField.h.

template<class DataTypes >
typedef Coord::value_type sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::Real

template<class DataTypes >
typedef DataTypes::VecCoord sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::VecCoord

template<class DataTypes >
typedef DataTypes::VecDeriv sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::VecDeriv

Definition at line 62 of file SparseGridSpringForceField.h.


Constructor & Destructor Documentation

Definition at line 67 of file SparseGridSpringForceField.h.

Definition at line 78 of file SparseGridSpringForceField.h.


Member Function Documentation

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::addDForce ( VecDeriv &  df1,
VecDeriv &  df2,
const VecDeriv &  dx1,
const VecDeriv &  dx2,
double  kFactor,
double  bFactor 
) [inline, virtual]

Accumulate df corresponding to dx.

Reimplemented from sofa::component::forcefield::StiffSpringForceField< DataTypes >.

Definition at line 236 of file SparseGridSpringForceField.inl.

References sofa::component::forcefield::StiffSpringForceField< DataTypes >::addSpringDForce(), sofa::component::forcefield::StiffSpringForceField< DataTypes >::dfdx, sofa::component::topology::MultiResSparseGridTopology::getDx(), sofa::component::topology::MultiResSparseGridTopology::getDy(), sofa::component::topology::MultiResSparseGridTopology::getDz(), sofa::component::topology::MultiResSparseGridTopology::getNbVoxels(), sofa::component::topology::MultiResSparseGridTopology::SparseGrid::getVoxelsMapBegin(), sofa::component::topology::MultiResSparseGridTopology::SparseGrid::getVoxelsMapEnd(), sofa::component::forcefield::SpringForceField< DataTypes >::Spring::initpos, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::kd, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::ks, sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::linesDamping, sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::linesStiffness, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m1, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m2, norm(), sofa::component::topology::MultiResSparseGridTopology::point(), sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::quadsDamping, sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::quadsStiffness, sofa::component::topology::MultiResSparseGridTopology::resolution, sofa::component::forcefield::SpringForceField< DataTypes >::springs, and sofa::component::topology::MultiResSparseGridTopology::vectorSparseGrid.

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::addForce ( VecDeriv &  f1,
VecDeriv &  f2,
const VecCoord &  x1,
const VecCoord &  x2,
const VecDeriv &  v1,
const VecDeriv &  v2 
) [inline, virtual]

Accumulate f corresponding to x,v.

Reimplemented from sofa::component::forcefield::StiffSpringForceField< DataTypes >.

Definition at line 54 of file SparseGridSpringForceField.inl.

References sofa::core::componentmodel::behavior::PairInteractionForceField< DataTypes >::addForce(), sofa::component::forcefield::StiffSpringForceField< DataTypes >::addSpringForce(), sofa::component::forcefield::StiffSpringForceField< DataTypes >::dfdx, sofa::component::topology::MultiResSparseGridTopology::getDx(), sofa::component::topology::MultiResSparseGridTopology::getDy(), sofa::component::topology::MultiResSparseGridTopology::getDz(), sofa::component::topology::MultiResSparseGridTopology::getNbVoxels(), sofa::component::topology::MultiResSparseGridTopology::SparseGrid::getVoxelsMapBegin(), sofa::component::topology::MultiResSparseGridTopology::SparseGrid::getVoxelsMapEnd(), sofa::component::forcefield::SpringForceField< DataTypes >::Spring::initpos, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::kd, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::ks, sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::linesDamping, sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::linesStiffness, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m1, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m2, sofa::component::forcefield::StiffSpringForceField< DataTypes >::m_potentialEnergy, norm(), sofa::component::topology::MultiResSparseGridTopology::point(), sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::quadsDamping, sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::quadsStiffness, sofa::component::topology::MultiResSparseGridTopology::resolution, sofa::component::forcefield::SpringForceField< DataTypes >::springs, and sofa::component::topology::MultiResSparseGridTopology::vectorSparseGrid.

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

template<class DataTypes >
Real sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::getCubesDamping (  )  const [inline]

template<class DataTypes >
Real sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::getCubesStiffness (  )  const [inline]

template<class DataTypes >
Real sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::getDamping (  )  const [inline]

template<class DataTypes >
char* sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::getFileName (  )  const [inline]

template<class DataTypes >
Real sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::getLinesDamping (  )  const [inline]

template<class DataTypes >
Real sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::getLinesStiffness (  )  const [inline]

template<class DataTypes >
Real sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::getQuadsDamping (  )  const [inline]

template<class DataTypes >
Real sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::getQuadsStiffness (  )  const [inline]

template<class DataTypes >
Real sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::getStiffness (  )  const [inline]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::parse ( core::objectmodel::BaseObjectDescription *  arg  )  [inline, virtual]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::setCubesDamping ( Real  val  )  [inline]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::setCubesStiffness ( Real  val  )  [inline]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::setDamping ( Real  val  )  [inline]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::setFileName ( char *  name  )  [inline]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::setLinesDamping ( Real  val  )  [inline]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::setLinesStiffness ( Real  val  )  [inline]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::setQuadsDamping ( Real  val  )  [inline]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::setQuadsStiffness ( Real  val  )  [inline]

template<class DataTypes >
void sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::setStiffness ( Real  val  )  [inline]


Field Documentation

template<class DataTypes >
DataField< Real > sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::cubesDamping [protected]

template<class DataTypes >
DataField< Real > sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::cubesStiffness [protected]

template<class DataTypes >
DataField< std::string > sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::filename [protected]

template<class DataTypes >
DataField< Real > sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::linesDamping [protected]

template<class DataTypes >
DataField< Real > sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::linesStiffness [protected]

template<class DataTypes >
DataField< Real > sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::quadsDamping [protected]

template<class DataTypes >
DataField< Real > sofa::component::forcefield::SparseGridSpringForceField< DataTypes >::quadsStiffness [protected]


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

Generated on Sun Nov 23 04:19:37 2008 for Sofa by  doxygen 1.5.7.1