new extensions for ode classes

This commit is contained in:
Josh Wilson 2007-02-11 01:18:10 +00:00
parent cb535809f5
commit 0cfe0a3233
6 changed files with 181 additions and 0 deletions

View File

@ -0,0 +1,6 @@
def getConvertedJoint(self, index):
"""
Return a downcast joint on this body.
"""
return self.getJoint(index).convert()

View File

@ -0,0 +1,35 @@
def convert(self):
"""
Do a sort of pseudo-downcast on this geom in
order to expose its specialized functions.
"""
if self.getGeomClass() == OdeGeom.GCSphere:
return self.convertToSphere()
elif self.getGeomClass() == OdeGeom.GCBox:
return self.convertToBox()
elif self.getGeomClass() == OdeGeom.GCCappedCylinder:
return self.convertToCappedCylinder()
elif self.getGeomClass() == OdeGeom.GCPlane:
return self.convertToPlane()
elif self.getGeomClass() == OdeGeom.GCRay:
return self.convertToRay()
# elif self.getGeomClass() == OdeGeom.GCConvex:
# return self.convertToConvex()
# elif self.getGeomClass() == OdeGeom.GCGeomTransform:
# return self.convertToGeomTransform()
elif self.getGeomClass() == OdeGeom.GCTriMesh:
return self.convertToTriMesh()
# elif self.getGeomClass() == OdeGeom.GCHeightfield:
# return self.convertToHeightfield()
elif self.getGeomClass() == OdeGeom.GCSimpleSpace:
return self.convertToSimpleSpace()
elif self.getGeomClass() == OdeGeom.GCHashSpace:
return self.convertToHashSpace()
elif self.getGeomClass() == OdeGeom.GCQuadTreeSpace:
return self.convertToQuadTreeSpace()
def getConvertedSpace(self):
"""
"""
return self.getSpace().convert()

View File

@ -0,0 +1,23 @@
def convert(self):
"""
Do a sort of pseudo-downcast on this space in
order to expose its specialized functions.
"""
if self.getClass() == OdeGeom.GCSimpleSpace:
return self.convertToSimpleSpace()
elif self.getClass() == OdeGeom.GCHashSpace:
return self.convertToHashSpace()
elif self.getClass() == OdeGeom.GCQuadTreeSpace:
return self.convertToQuadTreeSpace()
def getConvertedGeom(self, index):
"""
Return a downcast geom on this body.
"""
return self.getGeom(index).convert()
def getConvertedSpace(self):
"""
"""
return self.getSpace().convert()

View File

@ -0,0 +1,22 @@
from extension_native_helpers import *
from libpanda import *
####################################################################
#Dtool_funcToMethod(func, class)
#del func
#####################################################################
"""
OdeBody-extensions module: contains methods to extend functionality
of the OdeBody classe
"""
def getConvertedJoint(self, index):
"""
Return a downcast joint on this body.
"""
return self.getJoint(index).convert()
Dtool_funcToMethod(getConvertedJoint, OdeBody)
del getConvertedJoint

View File

@ -0,0 +1,52 @@
from extension_native_helpers import *
from libpanda import *
####################################################################
#Dtool_funcToMethod(func, class)
#del func
#####################################################################
"""
OdeGeom-extensions module: contains methods to extend functionality
of the OdeGeom class
"""
def convert(self):
"""
Do a sort of pseudo-downcast on this geom in
order to expose its specialized functions.
"""
if self.getClass() == OdeGeom.GCSphere:
return self.convertToSphere()
elif self.getClass() == OdeGeom.GCBox:
return self.convertToBox()
elif self.getClass() == OdeGeom.GCCappedCylinder:
return self.convertToCappedCylinder()
elif self.getClass() == OdeGeom.GCPlane:
return self.convertToPlane()
elif self.getClass() == OdeGeom.GCRay:
return self.convertToRay()
# elif self.getClass() == OdeGeom.GCConvex:
# return self.convertToConvex()
# elif self.getClass() == OdeGeom.GCGeomTransform:
# return self.convertToGeomTransform()
elif self.getClass() == OdeGeom.GCTriMesh:
return self.convertToTriMesh()
# elif self.getClass() == OdeGeom.GCHeightfield:
# return self.convertToHeightfield()
elif self.getClass() == OdeGeom.GCSimpleSpace:
return self.convertToSimpleSpace()
elif self.getClass() == OdeGeom.GCHashSpace:
return self.convertToHashSpace()
elif self.getClass() == OdeGeom.GCQuadTreeSpace:
return self.convertToQuadTreeSpace()
Dtool_funcToMethod(convert, OdeGeom)
del convert
def getConvertedSpace(self):
"""
"""
return self.getSpace().convert()
Dtool_funcToMethod(getConvertedSpace, OdeGeom)
del getConvertedSpace

View File

@ -0,0 +1,43 @@
from extension_native_helpers import *
from libpanda import *
####################################################################
#Dtool_funcToMethod(func, class)
#del func
#####################################################################
"""
OdeSpace-extensions module: contains methods to extend functionality
of the OdeSpace classe
"""
def convert(self):
"""
Do a sort of pseudo-downcast on this space in
order to expose its specialized functions.
"""
if self.getClass() == OdeGeom.GCSimpleSpace:
return self.convertToSimpleSpace()
elif self.getClass() == OdeGeom.GCHashSpace:
return self.convertToHashSpace()
elif self.getClass() == OdeGeom.GCQuadTreeSpace:
return self.convertToQuadTreeSpace()
Dtool_funcToMethod(convert, OdeSpace)
del convert
def getConvertedGeom(self, index):
"""
Return a downcast geom on this space.
"""
return self.getGeom(index).convert()
Dtool_funcToMethod(getConvertedGeom, OdeSpace)
del getConvertedGeom
def getConvertedSpace(self):
"""
"""
return self.getSpace().convert()
Dtool_funcToMethod(getConvertedSpace, OdeSpace)
del getConvertedSpace