# H3DNetworkingUtils::DampedDynamic Class Reference

The DampedDynamic class is a (Grabbable)Dynamic that behaves like a simple Dynamic that is very highly damped. More...

`#include <H3DNetworkingUtils/DampedDynamic.h>`

Inheritance diagram for H3DNetworkingUtils::DampedDynamic:

List of all members.

## Public Member Functions
| DampedDynamic (H3D::Inst< AddChildren > _addChildren=0, H3D::Inst< RemoveChildren > _removeChildren=0, H3D::Inst< MFChild > _children=0, H3D::Inst< H3D::SFNode > _metadata=0, H3D::Inst< SFBound > _bound=0, H3D::Inst< H3D::SFVec3f > _bboxCenter=0, H3D::Inst< H3D::SFVec3f > _bboxSize=0, H3D::Inst< SFTransformedBound > _transformedBound=0, H3D::Inst< SFMatrix4f > _matrix=0, H3D::Inst< SFMatrix4f > _accumulatedForward=0, H3D::Inst< SFMatrix4f > _accumulatedInverse=0, H3D::Inst< H3D::SFVec3f > _position=0, H3D::Inst< H3D::SFRotation > _orientation=0, H3D::Inst< SFVelocity > _velocity=0, H3D::Inst< H3D::SFVec3f > _momentum=0, H3D::Inst< H3D::SFVec3f > _force=0, H3D::Inst< SFAngularVelocity > _angularVelocity=0, H3D::Inst< H3D::SFVec3f > _angularMomentum=0, H3D::Inst< SFSpin > _spin=0, H3D::Inst< H3D::SFVec3f > _torque=0, H3D::Inst< H3D::SFFloat > _mass=0, H3D::Inst< H3D::SFMatrix3f > _inertiaTensor=0, H3D::Inst< SFMotion > _motion=0, H3D::Inst< H3D::MFVec3f > _contactForces=0, H3D::Inst< H3D::MFVec3f > _contactTorques=0, H3D::Inst< SumMFVec3f > _totalContactForce=0, H3D::Inst< CalcTorque > _totalContactTorque=0, H3D::Inst< SumForces > _externalForces=0, H3D::Inst< SumTorques > _externalTorques=0, H3D::Inst< H3D::SFVec3f > _freedom=0, H3D::Inst< H3D::SFVec3f > _angularFreedom=0, H3D::Inst< H3D::SFFloat > _linearDamping=0, H3D::Inst< H3D::SFFloat > _rotationalDamping=0, H3D::Inst< MFCollidableGeometry > _collisionSpheres=0, H3D::Inst< H3D::SFFloat > _collisionStiffness=0, H3D::Inst< H3D::SFFloat > _collisionResolution=0, H3D::Inst< H3D::SFBool > _grabbed=0, H3D::Inst< H3D::SFVec3f > _grabPoint=0, H3D::Inst< H3D::SFFloat > _grabStrength=0, H3D::Inst< H3D::SFFloat > _grabSlackRadius=0, H3D::Inst< GrabSpring > _grabForce=0, H3D::Inst< NegVec3f > _grabReactionForce=0, H3D::Inst< MovedPos > _grabSpringAnchorPt=0, H3D::Inst< GrabTorque > _grabTorque=0, H3D::Inst< H3D::SFInt32 > _grabSmoothing=0, H3D::Inst< H3D::SFFloat > _grabDamping=0, H3D::Inst< SlaveSwitch > _slaveMode=0, H3D::Inst< DiffVec3f > _appliedForce=0, H3D::Inst< DiffVec3f > _appliedTorque=0)
| Constructor.
## Static Public Attributes
static H3D::H3DNodeDatabase | database
| Database.
## Classes
class | SFMotion
| SFMotion: We override the SFMotion from DynamicTransform to take out the momentum. More...

## Detailed Description

The DampedDynamic class is a (Grabbable)Dynamic that behaves like a simple Dynamic that is very highly damped.

It is so damped that it never overshoots its equilibrium and therefore its momentum is not used in the position calculation. The object moves as long as forces act on it, and stops as soon as they don't. This assumption allows some algorithmic short-cuts that makes the calculation of position much faster and also makes it resiliant to frame rate (sampling) changes. It is designed to be used in a networked environment where network latency can produce stability problems when normal Newtonian physics is applied. This behaviour is suited to scenarios where objects do not need to travel unaided along trajectories, such as in simulating ball sports or missiles. Moving objects on a frictional surface such as a table, or manipulating body organs in surgery are two areas where a this node could be used successfully.

WARNING: Do not set linearDamping or rotationalDamping.
Examples:

- BufferedSFieldTestServer.x3d
- BufferedSFieldTestClient.x3d

## Member Data Documentation

H3DNodeDatabase DampedDynamic::database`[static]`

Database.

const H3DFloat DampedDynamic::MAX_JUMP = 0.001f;

Reimplemented from H3DNetworkingUtils::GrabableDynamic.

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

- DampedDynamic.h
- DampedDynamic.cpp