MathEngine
Home Page       Structures       File List       Functions and Macros      

MdtWorld Struct Reference

World Struct contains simulation-wide parameters. More...

#include <MdtTypes.h>

List of all members.

Public Attributes

MdtBodybodyHead
 Kea body list. More...

MdtBaseConstraintconstraintHead
 Constraint list for all constraint types. More...

void* keaMemoryBase
 Kea memory - used during keaStep only. More...

void* keaMemoryBaseAligned
 Kea memory - above pointer shifted up to be quad-word aligned. More...

int keaMemorySize
 Size of Kea memory. More...

int keaMemorySizeAligned
 Size of aligned Kea memory. More...

MdtMemoryPoolOverflowCB keaMemoryOverflowCallback
 Optional callback in case Kea memory pool is too small. More...

int maxKeaMemoryUsed
 Maximum amount of the kea memory pool used during simulation so far. More...

int maxBodies
 Maximum number of bodies allowed in this world. More...

int nBodies
 Number of bodies in existence (enabled and disabled). More...

int nEnabledBodies
 Total count of enabled bodies in the world. More...

int activeBodies
 Number of bodies simulated in the current partition. More...

MdtBodybodyArray
 Pool of MdtBodies. More...

MdtBody** freeBodyStack
 Stack of pointers to free bodies. More...

int nextFreeBody
 Indicates next pointer in stack. More...

MdtKeaBodykeabodyArray
 Contiguous array of keaBodies - passed into Kea. More...

MdtKeaTransformationkeatmArray
 Contiguous array of keaTransformations - passed into Kea. More...

int maxConstraints
 Maximum number of constraints allowed in this world. More...

int nEnabledConstraints
 Total count of enabled constraints in the world. More...

MdtConstraintUnionconstraintArray
 Pool of constraints. More...

MdtConstraintUnion** freeConstraintStack
 Stack of pointers to free constraint structs. More...

int nextFreeConstraint
 Integer indicating next pointer in stack. More...

MdtCListNodecNodeArray
 Pool of CListNodes, used for keeping a bodies list of constraints. More...

MdtCListNode** freeCNodeStack
 Stack of pointer to free CListNodes. More...

int nextFreeCNode
 Indicates next pointer on stack. More...

MdtKeaConstraints constraints
 Structure filled in with low-level constraint information each time step by MdtBcl functions and passed as input to Kea. More...

MdtBaseConstraint** partitionConstraints
 Constraint pointers to be processed by Kea, grouped into partitions. More...

int* partitionSizes
 Integers, the number of constraints in each partition. More...

int nPartitions
 Number of partitions. More...

int logKeaSystem
 If set to 1 the data passed to Kea will be outputted using the default handler for MeInfo. More...

MeReal epsilon
 Numerical tolerance used by matrix solver. More...

MeReal gamma
 Relaxation rate. More...

MeVector4 gravity
 Gravity vector. More...

MdtDEMMode demMode
 Dynamics Event Manager operation mode. More...

MeReal vel_thresh
 Sum-squared velocity threshold. More...

MeReal velrot_thresh
 Sum-squared rotational velocity threshold. More...

MeReal acc_thresh
 Sum-squared acceleration threshold. More...

MeReal accrot_thresh
 Sum-squared rotation acceleration threshold. More...

int alive_window
 Minimum number of steps to keep an object alive for. More...


Detailed Description

World Struct contains simulation-wide parameters.

vel_thresh, velrot_thresh, acc_thresh, accrot_thresh and alive_window are used for determining when bodies are at rest. A body at rest is not processed by the solver till reenabled by a force or collision event. A body is disabled if it falls below all of the 4 threshhold values.

force_thresh and torque_thresh are threshholds for waking up resting bodies. If the force on a body is more than the force that was applied to it when it was disabled plus the force threshold, then the body is awakened.


Member Data Documentation

MeReal MdtWorld::acc_thresh

Sum-squared acceleration threshold.

MeReal MdtWorld::accrot_thresh

Sum-squared rotation acceleration threshold.

int MdtWorld::activeBodies

Number of bodies simulated in the current partition.

int MdtWorld::alive_window

Minimum number of steps to keep an object alive for.

This is needed to give an object enough time to gain a minimum velocity after it has been awakened.

MdtBody * MdtWorld::bodyArray

Pool of MdtBodies.

MdtBody * MdtWorld::bodyHead

Kea body list.

MdtCListNode * MdtWorld::cNodeArray

Pool of CListNodes, used for keeping a bodies list of constraints.

MdtConstraintUnion * MdtWorld::constraintArray

Pool of constraints.

MdtBaseConstraint * MdtWorld::constraintHead

Constraint list for all constraint types.

MdtKeaConstraints MdtWorld::constraints

Structure filled in with low-level constraint information each time step by MdtBcl functions and passed as input to Kea.

See MdtKea.h

MdtDEMMode MdtWorld::demMode

Dynamics Event Manager operation mode.

MeReal MdtWorld::epsilon

Numerical tolerance used by matrix solver.

MdtBody ** MdtWorld::freeBodyStack

Stack of pointers to free bodies.

MdtCListNode ** MdtWorld::freeCNodeStack

Stack of pointer to free CListNodes.

MdtConstraintUnion ** MdtWorld::freeConstraintStack

Stack of pointers to free constraint structs.

MeReal MdtWorld::gamma

Relaxation rate.

MeVector4 MdtWorld::gravity

Gravity vector.

void * MdtWorld::keaMemoryBase

Kea memory - used during keaStep only.

void * MdtWorld::keaMemoryBaseAligned

Kea memory - above pointer shifted up to be quad-word aligned.

MdtMemoryPoolOverflowCB MdtWorld::keaMemoryOverflowCallback

Optional callback in case Kea memory pool is too small.

int MdtWorld::keaMemorySize

Size of Kea memory.

int MdtWorld::keaMemorySizeAligned

Size of aligned Kea memory.

MdtKeaBody * MdtWorld::keabodyArray

Contiguous array of keaBodies - passed into Kea.

MdtKeaTransformation * MdtWorld::keatmArray

Contiguous array of keaTransformations - passed into Kea.

int MdtWorld::logKeaSystem

If set to 1 the data passed to Kea will be outputted using the default handler for MeInfo.

To log the output to disk redefine your own handler for MeInfo.

int MdtWorld::maxBodies

Maximum number of bodies allowed in this world.

int MdtWorld::maxConstraints

Maximum number of constraints allowed in this world.

int MdtWorld::maxKeaMemoryUsed

Maximum amount of the kea memory pool used during simulation so far.

int MdtWorld::nBodies

Number of bodies in existence (enabled and disabled).

int MdtWorld::nEnabledBodies

Total count of enabled bodies in the world.

int MdtWorld::nEnabledConstraints

Total count of enabled constraints in the world.

int MdtWorld::nPartitions

Number of partitions.

int MdtWorld::nextFreeBody

Indicates next pointer in stack.

int MdtWorld::nextFreeCNode

Indicates next pointer on stack.

int MdtWorld::nextFreeConstraint

Integer indicating next pointer in stack.

MdtBaseConstraint ** MdtWorld::partitionConstraints

Constraint pointers to be processed by Kea, grouped into partitions.

int * MdtWorld::partitionSizes

Integers, the number of constraints in each partition.

MeReal MdtWorld::vel_thresh

Sum-squared velocity threshold.

MeReal MdtWorld::velrot_thresh

Sum-squared rotational velocity threshold.


The documentation for this struct was generated from the following file:
MathEngine Dynamics Toolkit - Version 0.0.5 Alpha - Reference Manual generated using doxygen at Wed Oct 11 00:34:53 2000

Copyright MathEngine PLC 2000, all rights reserved.