getattr3 is faster than try/except in pyrex.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Tue, 23 Mar 2010 05:28:41 +0000 (22:28 -0700)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Tue, 23 Mar 2010 05:28:41 +0000 (22:28 -0700)
bulletml/_collision.pyx

index 2011e984a06e1208d3fbe37535d364e0fc51a795..b05702213ca775d73079096d8b03a88005c53877 100644 (file)
@@ -28,14 +28,10 @@ def overlaps(a, b):
 
     dx = ax - bx
     dy = ay - by
-    try:
-        radius = a.radius
-    except AttributeError:
-        radius = 0.5
-    try:
-        radius += b.radius
-    except AttributeError:
-        radius += 0.5
+
+    radius_a = getattr3(a, 'radius', 0.5)
+    radius_b = getattr3(b, 'radius', 0.5)
+    radius = radius_a + radius_b
 
     return dx * dx + dy * dy <= radius * radius