00001 #import "ObjectiveChipmunk.h" 00002 00003 @interface ChipmunkGrab : NSObject<ChipmunkObject> { 00004 NSArray *_chipmunkObjects; 00005 00006 cpVect _pos; 00007 cpFloat _smoothing; 00008 00009 ChipmunkShape *_grabbedShape; 00010 00011 id _data; 00012 } 00013 00015 @property(nonatomic, readonly) cpVect pos; 00016 00018 @property(nonatomic, readonly) ChipmunkShape *grabbedShape; 00019 00021 @property(nonatomic, retain) id data; 00022 00023 @end 00024 00025 00027 @interface ChipmunkMultiGrab : NSObject { 00028 ChipmunkSpace *_space; 00029 NSMutableArray *_grabs; 00030 00031 cpFloat _smoothing; 00032 cpFloat _grabForce; 00033 00034 cpFloat _grabFriction; 00035 cpFloat _grabRotaryFriction; 00036 cpFloat _grabRadius; 00037 00038 cpLayers _layers; 00039 cpGroup _group; 00040 bool (^_grabFilter)(ChipmunkShape *shape); 00041 00042 bool _pushMode, _pullMode; 00043 00044 cpFloat _pushMass; 00045 cpFloat _pushFriction; 00046 cpFloat _pushElasticity; 00047 cpCollisionType _pushCollisionType; 00048 } 00049 00050 @property(nonatomic, assign) cpFloat smoothing; 00051 @property(nonatomic, assign) cpFloat grabForce; 00052 00054 @property(nonatomic, assign) cpLayers layers; 00055 00057 @property(nonatomic, assign) cpGroup group; 00058 00061 @property(nonatomic, copy) bool (^grabFilter)(ChipmunkShape *shape); 00062 00065 @property(nonatomic, assign) cpFloat grabFriction; 00066 00069 @property(nonatomic, assign) cpFloat grabRotaryFriction; 00070 00074 @property(nonatomic, assign) cpFloat grabRadius; 00075 00076 @property(nonatomic, assign) bool pullMode; 00077 @property(nonatomic, assign) bool pushMode; 00078 00079 @property(nonatomic, assign) cpFloat pushMass; 00080 @property(nonatomic, assign) cpFloat pushFriction; 00081 @property(nonatomic, assign) cpFloat pushElasticity; 00082 @property(nonatomic, assign) cpCollisionType pushCollisionType; 00083 00084 @property(nonatomic, readonly) NSArray *grabs; 00085 00086 00093 -(id)initForSpace:(ChipmunkSpace *)space withSmoothing:(cpFloat)smoothing withGrabForce:(cpFloat)grabForce; 00094 00098 -(ChipmunkGrab *)beginLocation:(cpVect)pos; 00099 00102 -(ChipmunkGrab *)updateLocation:(cpVect)pos; 00103 00106 -(ChipmunkGrab *)endLocation:(cpVect)pos; 00107 00108 @end