cpSpace

Basic Unit of Simulation in Chipmunk

struct cpSpace {}

Members

Variables

_staticBody
cpBody _staticBody;
Undocumented in source.
_staticBody
cpBody _staticBody;
Undocumented in source.
activeShapes
cpSpatialIndex* activeShapes;
Undocumented in source.
activeShapes
cpSpatialIndex* activeShapes;
Undocumented in source.
allocatedBuffers
cpArray* allocatedBuffers;
Undocumented in source.
allocatedBuffers
cpArray* allocatedBuffers;
Undocumented in source.
arbiters
cpArray* arbiters;
Undocumented in source.
arbiters
cpArray* arbiters;
Undocumented in source.
bodies
cpArray* bodies;
Undocumented in source.
bodies
cpArray* bodies;
Undocumented in source.
cachedArbiters
cpHashSet* cachedArbiters;
Undocumented in source.
cachedArbiters
cpHashSet* cachedArbiters;
Undocumented in source.
collisionBias
cpFloat collisionBias;

Determines how fast overlapping shapes are pushed apart. Expressed as a fraction of the error remaining after each second. Defaults to pow(1.0 - 0.1, 60.0) meaning that Chipmunk fixes 10% of overlap each frame at 60Hz.

collisionHandlers
cpHashSet* collisionHandlers;
Undocumented in source.
collisionHandlers
cpHashSet* collisionHandlers;
Undocumented in source.
collisionPersistence
cpTimestamp collisionPersistence;

Number of frames that contact information should persist. Defaults to 3. There is probably never a reason to change this value.

collisionSlop
cpFloat collisionSlop;

Amount of encouraged penetration between colliding shapes. Used to reduce oscillating contacts and keep the collision cache warm. Defaults to 0.1. If you have poor simulation quality, increase this number as much as possible without allowing visible amounts of overlap.

constraints
cpArray* constraints;
Undocumented in source.
constraints
cpArray* constraints;
Undocumented in source.
contactBuffersHead
cpContactBufferHeader* contactBuffersHead;
Undocumented in source.
contactBuffersHead
cpContactBufferHeader* contactBuffersHead;
Undocumented in source.
curr_dt
cpFloat curr_dt;
Undocumented in source.
curr_dt
cpFloat curr_dt;
Undocumented in source.
damping
cpFloat damping;

Damping rate expressed as the fraction of velocity bodies retain each second. A value of 0.9 would mean that each body_'s velocity will drop 10% per second. The default value is 1.0, meaning no damping is applied. @note This damping value is different than those of cpDampedSpring and cpDampedRotarySpring.

data
cpDataPointer data;

User definable data pointer. Generally this points to your game's controller or game state class so you can access it when given a cpSpace reference in a callback.

defaultHandler
cpCollisionHandler defaultHandler;
Undocumented in source.
defaultHandler
cpCollisionHandler defaultHandler;
Undocumented in source.
enableContactGraph
cpBool enableContactGraph;

Rebuild the contact graph during each step. Must be enabled to use the cpBodyEachArbiter() function. Disabled by default for a small performance boost. Enabled implicitly when the sleeping feature is enabled.

gravity
cpVect gravity;

Gravity to pass to rigid bodies when integrating velocity.

idleSpeedThreshold
cpFloat idleSpeedThreshold;

Speed threshold for a body_ to be considered idle. The default value of 0 means to let the space guess a good threshold based on gravity.

iterations
int iterations;

Number of iterations to use in the impulse solver to solve contacts.

locked
int locked;
Undocumented in source.
locked
int locked;
Undocumented in source.
pooledArbiters
cpArray* pooledArbiters;
Undocumented in source.
pooledArbiters
cpArray* pooledArbiters;
Undocumented in source.
postStepCallbacks
cpArray* postStepCallbacks;
Undocumented in source.
postStepCallbacks
cpArray* postStepCallbacks;
Undocumented in source.
rousedBodies
cpArray* rousedBodies;
Undocumented in source.
rousedBodies
cpArray* rousedBodies;
Undocumented in source.
skipPostStep
cpBool skipPostStep;
Undocumented in source.
skipPostStep
cpBool skipPostStep;
Undocumented in source.
sleepTimeThreshold
cpFloat sleepTimeThreshold;

Time a group of bodies must remain idle in order to fall asleep. Enabling sleeping also implicitly enables the the contact graph. The default value of INFINITY disables the sleeping algorithm.

sleepingComponents
cpArray* sleepingComponents;
Undocumented in source.
sleepingComponents
cpArray* sleepingComponents;
Undocumented in source.
stamp
cpTimestamp stamp;
Undocumented in source.
stamp
cpTimestamp stamp;
Undocumented in source.
staticBody
cpBody* staticBody;

The designated static body_ for this space. You can modify this body_, or replace it with your own static body_. By default it points to a statically allocated cpBody in the cpSpace struct.

staticShapes
cpSpatialIndex* staticShapes;
Undocumented in source.
staticShapes
cpSpatialIndex* staticShapes;
Undocumented in source.

Meta