Chipmunk2D Pro API Reference  6.2.1
 All Classes Functions Variables Typedefs Properties Groups Pages
ChipmunkMultiGrab.h
1 // Copyright 2013 Howling Moon Software. All rights reserved.
2 // See http://chipmunk2d.net/legal.php for more information.
3 
4 #import "ObjectiveChipmunk.h"
5 
6 @interface ChipmunkGrab : NSObject<ChipmunkObject> {
7  NSArray *_chipmunkObjects;
8 
9  cpVect _pos;
10  cpFloat _smoothing;
11 
12  ChipmunkShape *_grabbedShape;
13 
14  id _data;
15 }
16 
18 @property(nonatomic, readonly) cpVect pos;
19 
21 @property(nonatomic, readonly) ChipmunkShape *grabbedShape;
22 
24 @property(nonatomic, retain) id data;
25 
26 @end
27 
28 
30 @interface ChipmunkMultiGrab : NSObject {
31  ChipmunkSpace *_space;
32  NSMutableArray *_grabs;
33 
34  cpFloat _smoothing;
35  cpFloat _grabForce;
36 
37  cpFloat _grabFriction;
38  cpFloat _grabRotaryFriction;
39  cpFloat _grabRadius;
40 
41  cpLayers _layers;
42  cpGroup _group;
43  bool (^_grabFilter)(ChipmunkShape *shape);
44  cpFloat (^_grabSort)(ChipmunkShape *shape, cpFloat depth);
45 
46  bool _pushMode, _pullMode;
47 
48  cpFloat _pushMass;
49  cpFloat _pushFriction;
50  cpFloat _pushElasticity;
51  cpCollisionType _pushCollisionType;
52 }
53 
54 @property(nonatomic, assign) cpFloat smoothing;
55 @property(nonatomic, assign) cpFloat grabForce;
56 
58 @property(nonatomic, assign) cpLayers layers;
59 
61 @property(nonatomic, assign) cpGroup group;
62 
65 @property(nonatomic, copy) bool (^grabFilter)(ChipmunkShape *shape);
66 
72 @property(nonatomic, copy) cpFloat (^grabSort)(ChipmunkShape *shape, cpFloat depth);
73 
76 @property(nonatomic, assign) cpFloat grabFriction;
77 
80 @property(nonatomic, assign) cpFloat grabRotaryFriction;
81 
85 @property(nonatomic, assign) cpFloat grabRadius;
86 
87 @property(nonatomic, assign) bool pullMode;
88 @property(nonatomic, assign) bool pushMode;
89 
90 @property(nonatomic, assign) cpFloat pushMass;
91 @property(nonatomic, assign) cpFloat pushFriction;
92 @property(nonatomic, assign) cpFloat pushElasticity;
93 @property(nonatomic, assign) cpCollisionType pushCollisionType;
94 
95 @property(nonatomic, readonly) NSArray *grabs;
96 
97 
104 -(id)initForSpace:(ChipmunkSpace *)space withSmoothing:(cpFloat)smoothing withGrabForce:(cpFloat)grabForce;
105 
109 -(ChipmunkGrab *)beginLocation:(cpVect)pos;
110 
113 -(ChipmunkGrab *)updateLocation:(cpVect)pos;
114 
117 -(ChipmunkGrab *)endLocation:(cpVect)pos;
118 
119 @end