Skip to content

Commit 1769731

Browse files
committed
Refactored broad phase
1 parent 8015885 commit 1769731

File tree

3 files changed

+27
-35
lines changed

3 files changed

+27
-35
lines changed

pygorithm/geometry/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""
22
Collection of special geometry functions
33
"""
4-
from . import collision_detection
4+
from . import rect_broad_phase
55

66
__all__ = [
77
'collision_detection.py'

pygorithm/geometry/collision_detection.py renamed to pygorithm/geometry/rect_broad_phase.py

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import inspect
1010

11+
1112
class Coord:
1213
"""Coord
1314
Class to initialize Coordinate of one point
@@ -18,8 +19,8 @@ def __init__(self, x, y):
1819
self.y = y
1920

2021

21-
class Body:
22-
"""Body
22+
class SimpleRectangle:
23+
"""SimpleRectangle
2324
Class to initialize Body of Object
2425
"""
2526

@@ -34,15 +35,15 @@ def __init__(self, coord1, coord2):
3435
self.max_y = coord2.y
3536

3637

37-
def broad_phase(body1, body2):
38+
def broad_phase(simpleRect1, simpleRect2):
3839
"""
39-
:type body1: object
40-
:type body2: object
40+
:type simpleRect1: object
41+
:type simpleRect2: object
4142
"""
42-
d1x = body2.min_x - body1.max_x
43-
d1y = body2.min_y - body1.max_y
44-
d2x = body1.min_x - body2.max_x
45-
d2y = body1.min_y - body2.max_y
43+
d1x = simpleRect2.min_x - simpleRect1.max_x
44+
d1y = simpleRect2.min_y - simpleRect1.max_y
45+
d2x = simpleRect1.min_x - simpleRect2.max_x
46+
d2y = simpleRect1.min_y - simpleRect2.max_y
4647

4748
if d1x > 0 or d1y > 0:
4849
return False
@@ -57,13 +58,4 @@ def get_code():
5758
"""
5859
returns the code for the broad phase function
5960
"""
60-
return inspect.getsource(broad_phase)
61-
62-
if __name__ == '__main__':
63-
coord1 = Coord(1, 1)
64-
coord2 = Coord(6, 8)
65-
body1 = Body(coord1, coord2)
66-
coord3 = Coord(4, 0)
67-
coord4 = Coord(7, 4)
68-
body2 = Body(coord3, coord4)
69-
print(broad_phase(body1, body2))
61+
return inspect.getsource(broad_phase)

tests/test_geometry.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
import unittest
22

33
from pygorithm.geometry import (
4-
collision_detection
4+
rect_broad_phase
55
)
66

77

88
class TestCollisionDetection(unittest.TestCase):
99
def setUp(self):
1010
# first pair of objects
11-
self.coord1 = collision_detection.Coord(1, 1)
12-
self.coord2 = collision_detection.Coord(6, 8)
13-
self.body1 = collision_detection.Body(self.coord1, self.coord2)
14-
self.coord3 = collision_detection.Coord(4, 0)
15-
self.coord4 = collision_detection.Coord(7, 4)
16-
self.body2 = collision_detection.Body(self.coord3, self.coord4)
11+
self.coord1 = rect_broad_phase.Coord(1, 1)
12+
self.coord2 = rect_broad_phase.Coord(6, 8)
13+
self.simpleRect1 = rect_broad_phase.SimpleRectangle(self.coord1, self.coord2)
14+
self.coord3 = rect_broad_phase.Coord(4, 0)
15+
self.coord4 = rect_broad_phase.Coord(7, 4)
16+
self.simpleRect2 = rect_broad_phase.SimpleRectangle(self.coord3, self.coord4)
1717
# second pair
18-
self.coord1 = collision_detection.Coord(1, 1)
19-
self.coord2 = collision_detection.Coord(2, 3)
20-
self.body3 = collision_detection.Body(self.coord1, self.coord2)
21-
self.coord3 = collision_detection.Coord(4, 3)
22-
self.coord4 = collision_detection.Coord(7, 8)
23-
self.body4 = collision_detection.Body(self.coord3, self.coord4)
18+
self.coord1 = rect_broad_phase.Coord(1, 1)
19+
self.coord2 = rect_broad_phase.Coord(2, 3)
20+
self.simpleRect3 = rect_broad_phase.SimpleRectangle(self.coord1, self.coord2)
21+
self.coord3 = rect_broad_phase.Coord(4, 3)
22+
self.coord4 = rect_broad_phase.Coord(7, 8)
23+
self.simpleRect4 = rect_broad_phase.SimpleRectangle(self.coord3, self.coord4)
2424

2525

2626
class TestBroadPhase(TestCollisionDetection):
2727
def test_collision_detect(self):
28-
self.assertTrue(collision_detection.broad_phase(self.body1, self.body2))
29-
self.assertFalse(collision_detection.broad_phase(self.body3, self.body4))
28+
self.assertTrue(rect_broad_phase.broad_phase(self.simpleRect1, self.simpleRect2))
29+
self.assertFalse(rect_broad_phase.broad_phase(self.simpleRect3, self.simpleRect4))
3030

3131
if __name__ == '__main__':
3232
unittest.main()

0 commit comments

Comments
 (0)