00001 @class ChipmunkShape; 00002 @class ChipmunkConstraint; 00003 00008 @interface ChipmunkBody : NSObject <ChipmunkBaseObject> { 00009 @private 00010 cpBody _body; 00011 id data; 00012 } 00013 00016 +(ChipmunkBody *)bodyFromCPBody:(cpBody *)body; 00017 00022 + (id)bodyWithMass:(cpFloat)mass andMoment:(cpFloat)moment; 00023 00028 + (id)staticBody; 00029 00034 - (id)initWithMass:(cpFloat)mass andMoment:(cpFloat)moment; 00035 00040 - (id)initStaticBody; 00041 00043 @property cpFloat mass; 00044 00046 @property cpFloat moment; 00047 00049 @property cpVect pos; 00050 00052 @property cpVect vel; 00053 00055 @property cpVect force; 00056 00058 @property cpFloat angle; 00059 00061 @property cpFloat angVel; 00062 00064 @property cpFloat torque; 00065 00067 @property (readonly) cpVect rot; 00068 00070 @property (readonly) cpBody *body; 00071 00076 @property (assign) id data; 00077 00079 @property (assign) cpFloat velLimit; 00080 00082 @property (assign) cpFloat angVelLimit; 00083 00085 @property (readonly) bool isSleeping; 00086 00088 @property (readonly) bool isRogue; 00089 00091 @property (readonly) bool isStatic; 00092 00094 @property (readonly) cpFloat kineticEnergy; 00095 00100 - (cpVect)local2world:(cpVect)v; 00101 00106 - (cpVect)world2local:(cpVect)v; 00107 00112 - (void)resetForces; 00113 00119 - (void)applyForce:(cpVect)force offset:(cpVect)offset; 00120 00126 - (void)applyImpulse:(cpVect)impulse offset:(cpVect)offset; 00127 00129 - (void)activate; 00130 00132 - (void)activateStatic:(ChipmunkShape *)filter; 00133 00140 - (void)sleepWithGroup:(ChipmunkBody *)group; 00141 00145 - (void)sleep; 00146 00148 - (NSArray *)shapes; 00149 00151 - (NSArray *)constraints; 00152 00154 typedef void (^ChipmunkBodyArbiterIteratorBlock)(cpArbiter *arbiter); 00155 00157 - (void)eachArbiter:(ChipmunkBodyArbiterIteratorBlock)block; 00158 00160 - (void)addToSpace:(ChipmunkSpace *)space; 00162 - (void)removeFromSpace:(ChipmunkSpace *)space; 00163 00164 @end