mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-04 02:42:49 -04:00
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
from collisions import *
|
|
|
|
def test_box_into_capsule():
|
|
capsule = CollisionCapsule((1, 0, 0), (-1, 0, 0), .5)
|
|
|
|
# colliding just on the capsule's cylinder
|
|
box = CollisionBox((0, 1, 0), .5, .5, .5)
|
|
entry = make_collision(box, capsule)[0]
|
|
assert entry is not None
|
|
|
|
# no longer colliding
|
|
box = CollisionBox((0, 1.1, 0), .5, .5, .5)
|
|
entry = make_collision(box, capsule)[0]
|
|
assert entry is None
|
|
|
|
# box is inside the capsule's cylinder
|
|
box = CollisionBox((0, .8, 0), .5, .5, .5)
|
|
entry = make_collision(box, capsule)[0]
|
|
assert entry is not None
|
|
|
|
# colliding with the first endcap
|
|
box = CollisionBox((2, 0, 0), .5, .5, .5)
|
|
entry = make_collision(box, capsule)[0]
|
|
assert entry is not None
|
|
|
|
# almost colliding with first endcap
|
|
box = CollisionBox((2.01, 0, 0), .5, .5, .5)
|
|
entry = make_collision(box, capsule)[0]
|
|
assert entry is None
|
|
|
|
# colliding with the second endcap
|
|
box = CollisionBox((-2, 0, 0), .5, .5, .5)
|
|
entry = make_collision(box, capsule)[0]
|
|
assert entry is not None
|
|
|
|
# almost colliding with second endcap
|
|
box = CollisionBox((-2.01, 0, 0), .5, .5, .5)
|
|
entry = make_collision(box, capsule)[0]
|
|
assert entry is None
|