25 #ifndef CHIPMUNK_STRUCTS_H
26 #define CHIPMUNK_STRUCTS_H
28 #include "chipmunk/chipmunk.h"
85 CP_ARBITER_STATE_FIRST_COLLISION,
87 CP_ARBITER_STATE_NORMAL,
90 CP_ARBITER_STATE_IGNORE,
92 CP_ARBITER_STATE_CACHED,
94 CP_ARBITER_STATE_INVALIDATED,
144 enum cpArbiterState state;
154 typedef enum cpShapeType{
162 typedef void (*cpShapeDestroyImpl)(
cpShape *shape);
171 cpShapeCacheDataImpl cacheData;
172 cpShapeDestroyImpl destroy;
173 cpShapePointQueryImpl pointQuery;
174 cpShapeSegmentQueryImpl segmentQuery;
216 cpVect a_tangent, b_tangent;
223 #define CP_POLY_SHAPE_INLINE_ALLOC 6
239 typedef void (*cpConstraintApplyCachedImpulseImpl)(
cpConstraint *constraint,
cpFloat dt_coef);
244 cpConstraintPreStepImpl preStep;
245 cpConstraintApplyCachedImpulseImpl applyCachedImpulse;
246 cpConstraintApplyImpulseImpl applyImpulse;
247 cpConstraintGetImpulseImpl getImpulse;
309 cpVect grv_n, grv_a, grv_b;
393 typedef struct cpContactBufferHeader cpContactBufferHeader;
394 typedef void (*cpSpaceArbiterApplyImpulseFunc)(
cpArbiter *arb);
420 cpSpatialIndex *staticShapes;
421 cpSpatialIndex *dynamicShapes;
426 cpContactBufferHeader *contactBuffersHead;
427 cpHashSet *cachedArbiters;
434 cpHashSet *collisionHandlers;