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:

Inheritance graph

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:


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:

Generated on Fri Mar 12 10:23:06 2010 for H3DNetworkingUtils by  doxygen 1.5.6