• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdeedu
  • Sitemap
  • Contact Us
 

step/stepcore

StepCore::Body

StepCore::Body Class Reference
[Physical bodies]

#include <world.h>

Inheritance diagram for StepCore::Body:

Inheritance graph
[legend]

List of all members.


Detailed Description

Interface for bodies.

Body is anything that has dynamic variables that require ODE integration

Definition at line 138 of file world.h.


Public Member Functions

virtual void addForce (const double *force, const double *forceVariance)=0
 Body ()
virtual void getAccelerations (double *acceleration, double *accelerationVariance)=0
virtual void getInverseMass (GmmSparseRowMatrix *inverseMass, GmmSparseRowMatrix *variance, int offset)=0
virtual void getVariables (double *position, double *velocity, double *positionVariance, double *velocityVariance)=0
virtual void resetForce (bool resetVariance)=0
virtual void setVariables (const double *position, const double *velocity, const double *positionVariance, const double *velocityVariance)=0
virtual int variablesCount ()=0
int variablesOffset () const
virtual ~Body ()

Constructor & Destructor Documentation

StepCore::Body::Body (  )  [inline]

Definition at line 143 of file world.h.

virtual StepCore::Body::~Body (  )  [inline, virtual]

Definition at line 144 of file world.h.


Member Function Documentation

virtual void StepCore::Body::addForce ( const double *  force,
const double *  forceVariance 
) [pure virtual]

Add force and (possibly) its variance to force accomulator.

Note:
This function is used only by generic constraints handling code, force objects should use body-specific functions.

Implemented in StepCore::Particle, and StepCore::RigidBody.

virtual void StepCore::Body::getAccelerations ( double *  acceleration,
double *  accelerationVariance 
) [pure virtual]

Copy acceleration (forces left-multiplied by inverse mass) and (possibly) its variances to arrays.

Variances should only be copied if accelerationVariance != NULL.

Implemented in StepCore::Particle, and StepCore::RigidBody.

virtual void StepCore::Body::getInverseMass ( GmmSparseRowMatrix *  inverseMass,
GmmSparseRowMatrix *  variance,
int  offset 
) [pure virtual]

Get inverse mass and (possibly) its variance matrixes.

Variance should only be copied of variance != NULL.

Implemented in StepCore::Particle, and StepCore::RigidBody.

virtual void StepCore::Body::getVariables ( double *  position,
double *  velocity,
double *  positionVariance,
double *  velocityVariance 
) [pure virtual]

Copy positions, velocities and (possibly) its variances to arrays.

Variances should only be copied if positionVariance != NULL.

Implemented in StepCore::Particle, and StepCore::RigidBody.

virtual void StepCore::Body::resetForce ( bool  resetVariance  )  [pure virtual]

Reset force accomulator and (possibly) its variance to zero.

Variance should only be reseted if resetVariance == true.

Implemented in StepCore::Particle, and StepCore::RigidBody.

virtual void StepCore::Body::setVariables ( const double *  position,
const double *  velocity,
const double *  positionVariance,
const double *  velocityVariance 
) [pure virtual]

Set positions, velocities and (possibly) its variances using values in arrays and also reset accelerations and its variances.

Variances should only be copied and reseted if positionVariance != NULL.

Implemented in StepCore::Particle, and StepCore::RigidBody.

virtual int StepCore::Body::variablesCount (  )  [pure virtual]

Get count of dynamic variables (not including velocities).

Implemented in StepCore::Particle, and StepCore::RigidBody.

int StepCore::Body::variablesOffset (  )  const [inline]

Offset of body's variables in global arrays (meaningless if the body is not a part of the world).

Definition at line 181 of file world.h.


The documentation for this class was generated from the following file:
  • world.h

step/stepcore

Skip menu "step/stepcore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdeedu

Skip menu "kdeedu"
  • kalzium
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  •   docs
  •   src
  • parley
  •   stepcore
Generated for kdeedu by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal