00001
00004 @interface ChipmunkSpace : NSObject {
00005 @private
00006 cpSpace _space;
00007 ChipmunkBody *_staticBody;
00008
00009 NSMutableSet *_children;
00010 NSMutableArray *_handlers;
00011
00012
00013 }
00014
00019 @property int iterations;
00020
00022 @property int elasticIterations;
00023
00025 @property cpVect gravity;
00026
00032 @property cpFloat damping;
00033
00035 @property cpFloat idleSpeedThreshold;
00036
00041 @property cpFloat sleepTimeThreshold;
00042
00044 @property (readonly) cpSpace *space;
00045
00050 @property (readonly) ChipmunkBody *staticBody;
00051
00063 #define CHIPMUNK_ARBITER_GET_SHAPES(arb, a, b) ChipmunkShape *a, *b; { \
00064 cpShape *shapeA, *shapeB; \
00065 cpArbiterGetShapes(arb, &shapeA, &shapeB); \
00066 a = shapeA->data; b = shapeB->data; \
00067 }
00068
00081 - (void)setDefaultCollisionHandler:(id)target
00082 begin:(SEL)begin
00083 preSolve:(SEL)preSolve
00084 postSolve:(SEL)postSolve
00085 separate:(SEL)separate;
00086
00102 - (void)addCollisionHandler:(id)target
00103 typeA:(id)a typeB:(id)b
00104 begin:(SEL)begin
00105 preSolve:(SEL)preSolve
00106 postSolve:(SEL)postSolve
00107 separate:(SEL)separate;
00108
00109
00110
00111
00112
00113
00114
00115
00117 - (void)addShapeAHandler:(Class)klass
00118 typeA:(id)a typeB:(id)b
00119 begin:(SEL)begin
00120 preSolve:(SEL)preSolve
00121 postSolve:(SEL)postSolve
00122 separate:(SEL)separate
00123 __attribute__((deprecated));
00124
00126 - (void)addShapeBHandler:(Class)klass
00127 typeA:(id)a typeB:(id)b
00128 begin:(SEL)begin
00129 preSolve:(SEL)preSolve
00130 postSolve:(SEL)postSolve
00131 separate:(SEL)separate
00132 __attribute__((deprecated));
00133
00135 - (void)removeCollisionHandlerForTypeA:(id)a andB:(id)b;
00136
00143 - (id)add:(NSObject<ChipmunkObject> *)obj;
00144
00150 - (void)addBaseObjects:(id <NSFastEnumeration>)objects;
00151
00158 - (id)remove:(NSObject<ChipmunkObject> *)obj;
00159
00165 - (void)removeBaseObjects:(id <NSFastEnumeration>)objects;
00166
00167
00168
00169 - (void)addPostStepCallback:(id)target selector:(SEL)selector context:(id)object __attribute__((deprecated));
00170
00191 - (void)addPostStepCallback:(id)target selector:(SEL)selector key:(id)key;
00192
00194 - (void)addPostStepRemoval:(id <ChipmunkObject>)obj;
00195
00197 - (NSArray *)pointQueryAll:(cpVect)point layers:(cpLayers)layers group:(id)group;
00198
00199
00200
00201
00203 - (ChipmunkShape *)pointQueryFirst:(cpVect)point layers:(cpLayers)layers group:(id)group;
00204
00206 - (NSArray *)segmentQueryAllFrom:(cpVect)start to:(cpVect)end layers:(cpLayers)layers group:(id)group;
00207
00208
00209
00210
00212 - (ChipmunkSegmentQueryInfo *)segmentQueryFirstFrom:(cpVect)start to:(cpVect)end layers:(cpLayers)layers group:(id)group;
00213
00215 - (NSArray *)bbQueryAll:(cpBB)bb layers:(cpLayers)layers group:(id)group;
00216
00217
00218
00219
00221 - (NSArray *)shapeQueryAll:(ChipmunkShape *)shape;
00222
00224 - (BOOL)shapeTest:shape;
00225
00226
00228 - (void)activateShapesTouchingShape:(ChipmunkShape *)shape;
00229
00231 - (void)resizeStaticHashWithDim:(cpFloat)dim andCount:(int)count;
00232
00234 - (void)resizeActiveHashWithDim:(cpFloat)dim andCount:(int)count;
00235
00237 - (void)rehashStatic;
00238
00241 - (void)rehashShape:(ChipmunkShape *)shape;
00242
00244 - (void)step:(cpFloat)dt;
00245
00246 @end