Browse Source

Added exception handling for no intersction at cursor position

Gyedo Jeon 15 years ago
parent
commit
a01f540549
1 changed files with 8 additions and 0 deletions
  1. 8 0
      direct/src/directtools/DirectManipulation.py

+ 8 - 0
direct/src/directtools/DirectManipulation.py

@@ -1470,6 +1470,10 @@ class ObjectHandles(NodePath, DirectObject):
             iRay.collideWithBitMask(BitMask32.bit(21))
             iRay.ct.traverse(base.direct.grid)
 
+            if iRay.getNumEntries() == 0:
+                del iRay
+                return self.hitPt
+
             entry = iRay.getEntry(0)
             hitPt = entry.getSurfacePoint(entry.getFromNodePath())
 
@@ -1543,6 +1547,10 @@ class ObjectHandles(NodePath, DirectObject):
         iRay.collideWithBitMask(BitMask32.bit(21))
         iRay.ct.traverse(base.direct.grid)
 
+        if iRay.getNumEntries() == 0:
+            del iRay
+            return Point3(0)
+        
         entry = iRay.getEntry(0)
         hitPt = entry.getSurfacePoint(entry.getFromNodePath())