panda3d/tests/collide/test_into_capsule.py
2019-08-02 19:14:58 +02:00

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