@@ -24,11 +24,11 @@ def testRestitution(self) -> None:
24
24
25
25
s .add (b1 , c1 , b2 , c2 )
26
26
27
- def pre_solve (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
27
+ def pre_solve (arb : p .Arbiter , space : p .Space ) -> None :
28
28
self .assertEqual (arb .restitution , 0.18 )
29
29
arb .restitution = 1
30
30
31
- s .add_collision_handler (1 , 2 ). pre_solve = pre_solve
31
+ s .set_collision_callbacks (1 , 2 , pre_solve = pre_solve )
32
32
33
33
for x in range (10 ):
34
34
s .step (0.1 )
@@ -52,11 +52,11 @@ def testFriction(self) -> None:
52
52
53
53
s .add (b1 , c1 , b2 , c2 )
54
54
55
- def pre_solve (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
55
+ def pre_solve (arb : p .Arbiter , space : p .Space ) -> None :
56
56
self .assertEqual (arb .friction , 0.18 )
57
57
arb .friction = 1
58
58
59
- s .add_collision_handler (1 , 2 ). pre_solve = pre_solve
59
+ s .set_collision_callbacks (1 , 2 , pre_solve = pre_solve )
60
60
61
61
for x in range (10 ):
62
62
s .step (0.1 )
@@ -80,14 +80,14 @@ def testSurfaceVelocity(self) -> None:
80
80
81
81
s .add (b1 , c1 , b2 , c2 )
82
82
83
- def pre_solve (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
83
+ def pre_solve (arb : p .Arbiter , space : p .Space ) -> None :
84
84
self .assertAlmostEqual (arb .surface_velocity .x , 1.38461538462 )
85
85
self .assertAlmostEqual (arb .surface_velocity .y , - 0.923076923077 )
86
86
87
87
arb .surface_velocity = (10 , 10 )
88
88
# TODO: add assert check that setting surface_velocity has any effect
89
89
90
- s .add_collision_handler (1 , 2 ). pre_solve = pre_solve
90
+ s .set_collision_callbacks (1 , 2 , pre_solve = pre_solve )
91
91
for x in range (5 ):
92
92
s .step (0.1 )
93
93
@@ -106,7 +106,7 @@ def testContactPointSet(self) -> None:
106
106
107
107
s .add (b1 , c1 , b2 , c2 )
108
108
109
- def pre_solve (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
109
+ def pre_solve (arb : p .Arbiter , space : p .Space ) -> None :
110
110
# check inital values
111
111
ps = arb .contact_point_set
112
112
self .assertEqual (len (ps .points ), 1 )
@@ -142,7 +142,7 @@ def f() -> None:
142
142
143
143
self .assertRaises (Exception , f )
144
144
145
- s .add_collision_handler (2 , 1 ). pre_solve = pre_solve
145
+ s .set_collision_callbacks (2 , 1 , pre_solve = pre_solve )
146
146
147
147
s .step (0.1 )
148
148
@@ -165,12 +165,12 @@ def testImpulse(self) -> None:
165
165
166
166
self .post_solve_done = False
167
167
168
- def post_solve (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
168
+ def post_solve (arb : p .Arbiter , space : p .Space ) -> None :
169
169
self .assertAlmostEqual (arb .total_impulse .x , 3.3936651583 )
170
170
self .assertAlmostEqual (arb .total_impulse .y , 4.3438914027 )
171
171
self .post_solve_done = True
172
172
173
- s .add_collision_handler (1 , 2 ). post_solve = post_solve
173
+ s .set_collision_callbacks (1 , 2 , post_solve = post_solve )
174
174
175
175
s .step (0.1 )
176
176
@@ -194,10 +194,10 @@ def testTotalKE(self) -> None:
194
194
s .add (b1 , c1 , b2 , c2 )
195
195
r = {}
196
196
197
- def post_solve (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
197
+ def post_solve (arb : p .Arbiter , space : p .Space ) -> None :
198
198
r ["ke" ] = arb .total_ke
199
199
200
- s .add_collision_handler (1 , 2 ). post_solve = post_solve
200
+ s .set_collision_callbacks (1 , 2 , post_solve = post_solve )
201
201
202
202
s .step (0.1 )
203
203
@@ -220,17 +220,17 @@ def testIsFirstContact(self) -> None:
220
220
221
221
s .add (b1 , c1 , b2 , c2 )
222
222
223
- def pre_solve1 (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
223
+ def pre_solve1 (arb : p .Arbiter , space : p .Space ) -> None :
224
224
self .assertTrue (arb .is_first_contact )
225
225
226
- s .add_collision_handler (1 , 2 ). pre_solve = pre_solve1
226
+ s .set_collision_callbacks (1 , 2 , pre_solve = pre_solve1 )
227
227
228
228
s .step (0.1 )
229
229
230
- def pre_solve2 (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
230
+ def pre_solve2 (arb : p .Arbiter , space : p .Space ) -> None :
231
231
self .assertFalse (arb .is_first_contact )
232
232
233
- s .add_collision_handler (1 , 2 ). pre_solve = pre_solve2
233
+ s .set_collision_callbacks (1 , 2 , pre_solve = pre_solve2 )
234
234
235
235
s .step (0.1 )
236
236
@@ -248,10 +248,10 @@ def testNormal(self) -> None:
248
248
s .add (b1 , c1 , c2 )
249
249
r = {}
250
250
251
- def pre_solve1 (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
251
+ def pre_solve1 (arb : p .Arbiter , space : p .Space ) -> None :
252
252
r ["n" ] = Vec2d (* arb .normal )
253
253
254
- s .add_collision_handler (1 , 2 ). pre_solve = pre_solve1
254
+ s .set_collision_callbacks (1 , 2 , pre_solve = pre_solve1 )
255
255
256
256
s .step (0.1 )
257
257
@@ -277,11 +277,11 @@ def testIsRemoval(self) -> None:
277
277
278
278
self .called1 = False
279
279
280
- def separate1 (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
280
+ def separate1 (arb : p .Arbiter , space : p .Space ) -> None :
281
281
self .called1 = True
282
282
self .assertFalse (arb .is_removal )
283
283
284
- s .add_collision_handler (1 , 2 ). separate = separate1
284
+ s .set_collision_callbacks (1 , 2 , separate = separate1 )
285
285
286
286
for x in range (10 ):
287
287
s .step (0.1 )
@@ -292,11 +292,11 @@ def separate1(arb: p.Arbiter, space: p.Space, data: Any) -> None:
292
292
293
293
self .called2 = False
294
294
295
- def separate2 (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
295
+ def separate2 (arb : p .Arbiter , space : p .Space ) -> None :
296
296
self .called2 = True
297
297
self .assertTrue (arb .is_removal )
298
298
299
- s .add_collision_handler (1 , 2 ). separate = separate2
299
+ s .set_collision_callbacks (1 , 2 , separate = separate2 )
300
300
s .remove (b1 , c1 )
301
301
302
302
self .assertTrue (self .called2 )
@@ -320,15 +320,15 @@ def testShapesAndBodies(self) -> None:
320
320
321
321
self .called = False
322
322
323
- def pre_solve (arb : p .Arbiter , space : p .Space , data : Any ) -> None :
323
+ def pre_solve (arb : p .Arbiter , space : p .Space ) -> None :
324
324
self .called = True
325
325
self .assertEqual (len (arb .shapes ), 2 )
326
326
self .assertEqual (arb .shapes [0 ], c1 )
327
327
self .assertEqual (arb .shapes [1 ], c2 )
328
328
self .assertEqual (arb .bodies [0 ], arb .shapes [0 ].body )
329
329
self .assertEqual (arb .bodies [1 ], arb .shapes [1 ].body )
330
330
331
- s .add_collision_handler (1 , 2 ). post_solve = pre_solve
331
+ s .set_collision_callbacks (1 , 2 , post_solve = pre_solve )
332
332
333
333
s .step (0.1 )
334
334
self .assertTrue (self .called )
@@ -408,15 +408,15 @@ def callback(
408
408
# print("process_values, expected calls", process_values, expected_calls)
409
409
410
410
s = setup ()
411
- h = s .add_collision_handler (1 , 2 )
411
+ h = s .set_collision_callbacks (1 , 2 )
412
412
h .data ["process_values" ] = process_values
413
413
h .data ["expected" ] = expected_calls
414
414
h .data ["result" ] = []
415
415
416
- h . begin = functools .partial (callback , "b" )
417
- h . pre_solve = functools .partial (callback , "p" )
418
- h . post_solve = functools .partial (callback , "t" )
419
- h . separate = functools .partial (callback , "s" )
416
+ begin = functools .partial (callback , "b" )
417
+ pre_solve = functools .partial (callback , "p" )
418
+ post_solve = functools .partial (callback , "t" )
419
+ separate = functools .partial (callback , "s" )
420
420
421
421
s .step (0.1 )
422
422
s .step (0.1 )
0 commit comments