Chipmunk2D Pro API Reference  6.2.1
 All Classes Functions Variables Typedefs Properties Groups Pages
ChipmunkConstraint.h
1 // Copyright 2013 Howling Moon Software. All rights reserved.
2 // See http://chipmunk2d.net/legal.php for more information.
3 
15 @interface ChipmunkConstraint : NSObject <ChipmunkBaseObject> {
16 @private
17  id data;
18 }
19 
21 @property(nonatomic, readonly) cpConstraint *constraint;
22 
24 @property(nonatomic, readonly) ChipmunkBody *bodyA;
25 
27 @property(nonatomic, readonly) ChipmunkBody *bodyB;
28 
31 +(ChipmunkConstraint *)constraintFromCPConstraint:(cpConstraint *)constraint;
32 
38 @property(nonatomic, assign) cpFloat maxForce;
39 
44 @property(nonatomic, assign) cpFloat errorBias;
45 
50 @property(nonatomic, assign) cpFloat maxBias;
51 
53 @property(nonatomic, readonly) cpFloat impulse;
54 
56 @property(nonatomic, readonly) ChipmunkSpace *space;
57 
62 @property(nonatomic, assign) id data;
63 
65 -(void)preSolve:(ChipmunkSpace *)space;
66 
69 -(void)postSolve:(ChipmunkSpace *)space;
70 
71 @end
72 
73 
79 @private
80  cpPinJoint _constraint;
81 }
82 
87 + (ChipmunkPinJoint *)pinJointWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b anchr1:(cpVect)anchr1 anchr2:(cpVect)anchr2;
88 
93 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b anchr1:(cpVect)anchr1 anchr2:(cpVect)anchr2;
94 
96 @property(nonatomic, assign) cpVect anchr1;
97 
99 @property(nonatomic, assign) cpVect anchr2;
100 
102 @property(nonatomic, assign) cpFloat dist;
103 
104 @end
105 
106 
112 @private
113  cpSlideJoint _constraint;
114 }
115 
119 + (ChipmunkSlideJoint *)slideJointWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b anchr1:(cpVect)anchr1 anchr2:(cpVect)anchr2 min:(cpFloat)min max:(cpFloat)max;
120 
124 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b anchr1:(cpVect)anchr1 anchr2:(cpVect)anchr2 min:(cpFloat)min max:(cpFloat)max;
125 
127 @property(nonatomic, assign) cpVect anchr1;
128 
130 @property(nonatomic, assign) cpVect anchr2;
131 
133 @property(nonatomic, assign) cpFloat min;
134 
136 @property(nonatomic, assign) cpFloat max;
137 
138 @end
139 
140 
145 @private
146  cpPivotJoint _constraint;
147 }
148 
153 + (ChipmunkPivotJoint *)pivotJointWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b anchr1:(cpVect)anchr1 anchr2:(cpVect)anchr2;
154 
158 + (ChipmunkPivotJoint *)pivotJointWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b pivot:(cpVect)pivot;
159 
164 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b anchr1:(cpVect)anchr1 anchr2:(cpVect)anchr2;
165 
169 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b pivot:(cpVect)pivot;
170 
172 @property(nonatomic, assign) cpVect anchr1;
173 
175 @property(nonatomic, assign) cpVect anchr2;
176 
177 @end
178 
179 
184 @private
185  cpGrooveJoint _constraint;
186 }
187 
195 + (ChipmunkGrooveJoint *)grooveJointWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b groove_a:(cpVect)groove_a groove_b:(cpVect)groove_b anchr2:(cpVect)anchr2;
196 
204 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b groove_a:(cpVect)groove_a groove_b:(cpVect)groove_b anchr2:(cpVect)anchr2;
205 
207 @property(nonatomic, assign) cpVect grooveA;
209 @property(nonatomic, assign) cpVect grooveB;
210 
212 @property(nonatomic, assign) cpVect anchr2;
213 
214 @end
215 
216 
222 @private
223  cpDampedSpring _constraint;
224 }
225 
232 + (ChipmunkDampedSpring *)dampedSpringWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b anchr1:(cpVect)anchr1 anchr2:(cpVect)anchr2 restLength:(cpFloat)restLength stiffness:(cpFloat)stiffness damping:(cpFloat)damping;
233 
240 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b anchr1:(cpVect)anchr1 anchr2:(cpVect)anchr2 restLength:(cpFloat)restLength stiffness:(cpFloat)stiffness damping:(cpFloat)damping;
241 
243 @property(nonatomic, assign) cpVect anchr1;
244 
246 @property(nonatomic, assign) cpVect anchr2;
247 
249 @property(nonatomic, assign) cpFloat restLength;
250 
252 @property(nonatomic, assign) cpFloat stiffness;
253 
255 @property(nonatomic, assign) cpFloat damping;
256 
257 @end
258 
259 
264 @private
265  cpDampedRotarySpring _constraint;
266 }
267 
268 
275 + (ChipmunkDampedRotarySpring *)dampedRotarySpringWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b restAngle:(cpFloat)restAngle stiffness:(cpFloat)stiffness damping:(cpFloat)damping;
276 
283 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b restAngle:(cpFloat)restAngle stiffness:(cpFloat)stiffness damping:(cpFloat)damping;
284 
286 @property(nonatomic, assign) cpFloat restAngle;
287 
289 @property(nonatomic, assign) cpFloat stiffness;
290 
292 @property(nonatomic, assign) cpFloat damping;
293 
294 @end
295 
296 
302 @private
303  cpRotaryLimitJoint _constraint;
304 }
305 
310 + (ChipmunkRotaryLimitJoint *)rotaryLimitJointWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b min:(cpFloat)min max:(cpFloat)max;
311 
316 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b min:(cpFloat)min max:(cpFloat)max;
317 
319 @property(nonatomic, assign) cpFloat min;
320 
322 @property(nonatomic, assign) cpFloat max;
323 
324 @end
325 
326 
332 @private
333  cpSimpleMotor _constraint;
334 }
335 
337 + (ChipmunkSimpleMotor *)simpleMotorWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b rate:(cpFloat)rate;
338 
340 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b rate:(cpFloat)rate;
341 
343 @property(nonatomic, assign) cpFloat rate;
344 
345 @end
346 
347 
354 @private
355  cpGearJoint _constraint;
356 }
357 
363 + (ChipmunkGearJoint *)gearJointWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b phase:(cpFloat)phase ratio:(cpFloat)ratio;
364 
370 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b phase:(cpFloat)phase ratio:(cpFloat)ratio;
371 
373 @property(nonatomic, assign) cpFloat phase;
375 @property(nonatomic, assign) cpFloat ratio;
376 
377 @end
378 
383 @private
384  cpRatchetJoint _constraint;
385 }
386 
392 + (ChipmunkRatchetJoint *)ratchetJointWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b phase:(cpFloat)phase ratchet:(cpFloat)ratchet;
393 
399 - (id)initWithBodyA:(ChipmunkBody *)a bodyB:(ChipmunkBody *)b phase:(cpFloat)phase ratchet:(cpFloat)ratchet;
400 
402 @property(nonatomic, assign) cpFloat angle;
403 
405 @property(nonatomic, assign) cpFloat phase;
406 
408 @property(nonatomic, assign) cpFloat ratchet;
409 
410 @end