OdeSpace_extensions.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. ####################################################################
  2. #Dtool_funcToMethod(func, class)
  3. #del func
  4. #####################################################################
  5. """
  6. OdeSpace-extensions module: contains methods to extend functionality
  7. of the OdeSpace classe
  8. """
  9. def convert(self):
  10. """
  11. Do a sort of pseudo-downcast on this space in
  12. order to expose its specialized functions.
  13. """
  14. if self.getClass() == OdeGeom.GCSimpleSpace:
  15. return self.convertToSimpleSpace()
  16. elif self.getClass() == OdeGeom.GCHashSpace:
  17. return self.convertToHashSpace()
  18. elif self.getClass() == OdeGeom.GCQuadTreeSpace:
  19. return self.convertToQuadTreeSpace()
  20. Dtool_funcToMethod(convert, OdeSpace)
  21. del convert
  22. def getConvertedGeom(self, index):
  23. """
  24. Return a downcast geom on this space.
  25. """
  26. return self.getGeom(index).convert()
  27. Dtool_funcToMethod(getConvertedGeom, OdeSpace)
  28. del getConvertedGeom
  29. def getConvertedSpace(self):
  30. """
  31. """
  32. return self.getSpace().convert()
  33. Dtool_funcToMethod(getConvertedSpace, OdeSpace)
  34. del getConvertedSpace
  35. def getAABounds(self):
  36. """
  37. A more Pythonic way of calling getAABB()
  38. """
  39. min = Point3()
  40. max = Point3()
  41. self.getAABB(min,max)
  42. return min,max
  43. Dtool_funcToMethod(getAABounds, OdeSpace)
  44. del getAABounds