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

#include <RegularGridSpringForceField.h>

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

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

Collaboration graph
[legend]

Public Types

typedef StiffSpringForceField
< DataTypes > 
Inherit
typedef Inherit::Spring Spring
typedef DataTypes::VecCoord VecCoord
typedef DataTypes::VecDeriv VecDeriv
typedef DataTypes::Coord Coord
typedef DataTypes::Deriv Deriv
typedef Coord::value_type Real

Public Member Functions

 RegularGridSpringForceField (core::componentmodel::behavior::MechanicalState< DataTypes > *object1, core::componentmodel::behavior::MechanicalState< DataTypes > *object2)
 RegularGridSpringForceField ()
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 parse (core::objectmodel::BaseObjectDescription *arg)
 Parse the given description to assign values to this object's fields and potentially other parameters.
virtual void init ()
 Initialization method called at graph modification, during bottom-up traversal.
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.

Protected Attributes

Data< Real > linesStiffness
Data< Real > linesDamping
Data< Real > quadsStiffness
Data< Real > quadsDamping
Data< Real > cubesStiffness
Data< Real > cubesDamping
topology::RegularGridTopology * topology

Private Attributes

double m_potentialEnergy

Detailed Description

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

Definition at line 41 of file RegularGridSpringForceField.h.


Member Typedef Documentation

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

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

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

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

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


Constructor & Destructor Documentation

Definition at line 64 of file RegularGridSpringForceField.h.

Definition at line 76 of file RegularGridSpringForceField.h.


Member Function Documentation

template<class DataTypes >
void sofa::component::forcefield::RegularGridSpringForceField< 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 241 of file RegularGridSpringForceField.inl.

References sofa::component::forcefield::StiffSpringForceField< DataTypes >::addSpringDForce(), sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::cubesDamping, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::cubesStiffness, sofa::component::topology::RegularGridTopology::getDx(), sofa::component::topology::RegularGridTopology::getDy(), sofa::component::topology::RegularGridTopology::getDz(), sofa::component::topology::GridTopology::getNx(), sofa::component::topology::GridTopology::getNy(), sofa::component::topology::GridTopology::getNz(), sofa::core::objectmodel::Data< T >::getValue(), sofa::component::forcefield::SpringForceField< DataTypes >::Spring::initpos, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::kd, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::ks, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::linesDamping, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::linesStiffness, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m1, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m2, sofa::core::componentmodel::behavior::PairInteractionForceField< DataTypes >::mstate1, sofa::core::componentmodel::behavior::PairInteractionForceField< DataTypes >::mstate2, norm(), sofa::component::topology::GridTopology::point(), sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::quadsDamping, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::quadsStiffness, sofa::component::forcefield::SpringForceField< DataTypes >::springs, and sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::topology.

template<class DataTypes >
void sofa::component::forcefield::RegularGridSpringForceField< 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 65 of file RegularGridSpringForceField.inl.

References sofa::core::componentmodel::behavior::PairInteractionForceField< DataTypes >::addForce(), sofa::component::forcefield::StiffSpringForceField< DataTypes >::addSpringForce(), sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::cubesDamping, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::cubesStiffness, sofa::component::forcefield::StiffSpringForceField< DataTypes >::dfdx, sofa::component::topology::RegularGridTopology::getDx(), sofa::component::topology::RegularGridTopology::getDy(), sofa::component::topology::RegularGridTopology::getDz(), sofa::component::topology::GridTopology::getNx(), sofa::component::topology::GridTopology::getNy(), sofa::component::topology::GridTopology::getNz(), sofa::core::objectmodel::Data< T >::getValue(), sofa::component::forcefield::SpringForceField< DataTypes >::Spring::initpos, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::kd, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::ks, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::linesDamping, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::linesStiffness, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m1, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m2, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::m_potentialEnergy, sofa::core::componentmodel::behavior::PairInteractionForceField< DataTypes >::mstate1, sofa::core::componentmodel::behavior::PairInteractionForceField< DataTypes >::mstate2, norm(), sofa::component::topology::GridTopology::point(), sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::quadsDamping, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::quadsStiffness, sofa::component::forcefield::SpringForceField< DataTypes >::springs, and sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::topology.

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

Render internal data of this object, for debugging purposes.

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

Definition at line 408 of file RegularGridSpringForceField.inl.

References sofa::core::objectmodel::BaseObject::getContext(), sofa::component::topology::RegularGridTopology::getDx(), sofa::component::topology::RegularGridTopology::getDy(), sofa::component::topology::RegularGridTopology::getDz(), sofa::component::topology::GridTopology::getNx(), sofa::component::topology::GridTopology::getNy(), sofa::component::topology::GridTopology::getNz(), sofa::core::objectmodel::Data< T >::getValue(), sofa::core::componentmodel::behavior::MechanicalState< TDataTypes >::getX(), sofa::helper::gl::glVertexT(), sofa::component::forcefield::SpringForceField< DataTypes >::Spring::initpos, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::kd, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::ks, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::linesDamping, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::linesStiffness, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m1, sofa::component::forcefield::SpringForceField< DataTypes >::Spring::m2, sofa::core::componentmodel::behavior::PairInteractionForceField< DataTypes >::mstate1, sofa::core::componentmodel::behavior::PairInteractionForceField< DataTypes >::mstate2, norm(), sofa::component::topology::GridTopology::point(), sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::quadsDamping, sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::quadsStiffness, and sofa::component::forcefield::RegularGridSpringForceField< DataTypes >::topology.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Field Documentation


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

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