diff --git a/examples/pybullet/examples/getAABB.py b/examples/pybullet/examples/getAABB.py index 59a2bfce0..ef1d3ee3f 100644 --- a/examples/pybullet/examples/getAABB.py +++ b/examples/pybullet/examples/getAABB.py @@ -1,50 +1,51 @@ import pybullet as p -p.connect(p.GUI) +draw=1 +printtext = 0 + +if (draw): + p.connect(p.GUI) +else: + p.connect(p.DIRECT) r2d2 = p.loadURDF("r2d2.urdf") - -aabb = p.getAABB(r2d2) -aabbMin = aabb[0] -aabbMax = aabb[1] - -f = [aabbMin[0],aabbMin[1],aabbMin[2]] -t = [aabbMax[0],aabbMin[1],aabbMin[2]] -p.addUserDebugLine(f,t,[1,1,1]) -f = [aabbMin[0],aabbMin[1],aabbMin[2]] -t = [aabbMin[0],aabbMax[1],aabbMin[2]] -p.addUserDebugLine(f,t,[1,1,1]) -f = [aabbMin[0],aabbMin[1],aabbMin[2]] -t = [aabbMin[0],aabbMin[1],aabbMax[2]] -p.addUserDebugLine(f,t,[1,1,1]) - -f = [aabbMax[0],aabbMax[1],aabbMax[2]] -t = [aabbMin[0],aabbMax[1],aabbMax[2]] -p.addUserDebugLine(f,t,[1,1,1]) -f = [aabbMax[0],aabbMax[1],aabbMax[2]] -t = [aabbMax[0],aabbMin[1],aabbMax[2]] -p.addUserDebugLine(f,t,[1,1,1]) -f = [aabbMax[0],aabbMax[1],aabbMax[2]] -t = [aabbMax[0],aabbMax[1],aabbMin[2]] -p.addUserDebugLine(f,t,[1,1,1]) - -for i in range (p.getNumJoints(r2d2)): - aabb = p.getAABB(r2d2,i) - aabbMin = aabb[0] - aabbMax = aabb[1] - +def drawAABB(aabb): f = [aabbMin[0],aabbMin[1],aabbMin[2]] t = [aabbMax[0],aabbMin[1],aabbMin[2]] - p.addUserDebugLine(f,t,[1,1,1]) + p.addUserDebugLine(f,t,[1,0,0]) f = [aabbMin[0],aabbMin[1],aabbMin[2]] t = [aabbMin[0],aabbMax[1],aabbMin[2]] - p.addUserDebugLine(f,t,[1,1,1]) + p.addUserDebugLine(f,t,[0,1,0]) f = [aabbMin[0],aabbMin[1],aabbMin[2]] t = [aabbMin[0],aabbMin[1],aabbMax[2]] - p.addUserDebugLine(f,t,[1,1,1]) + p.addUserDebugLine(f,t,[0,0,1]) - f = [aabbMax[0],aabbMax[1],aabbMax[2]] + f = [aabbMin[0],aabbMin[1],aabbMax[2]] t = [aabbMin[0],aabbMax[1],aabbMax[2]] p.addUserDebugLine(f,t,[1,1,1]) + + f = [aabbMin[0],aabbMin[1],aabbMax[2]] + t = [aabbMax[0],aabbMin[1],aabbMax[2]] + p.addUserDebugLine(f,t,[1,1,1]) + + f = [aabbMax[0],aabbMin[1],aabbMin[2]] + t = [aabbMax[0],aabbMin[1],aabbMax[2]] + p.addUserDebugLine(f,t,[1,1,1]) + + f = [aabbMax[0],aabbMin[1],aabbMin[2]] + t = [aabbMax[0],aabbMax[1],aabbMin[2]] + p.addUserDebugLine(f,t,[1,1,1]) + + f = [aabbMax[0],aabbMax[1],aabbMin[2]] + t = [aabbMin[0],aabbMax[1],aabbMin[2]] + p.addUserDebugLine(f,t,[1,1,1]) + + f = [aabbMin[0],aabbMax[1],aabbMin[2]] + t = [aabbMin[0],aabbMax[1],aabbMax[2]] + p.addUserDebugLine(f,t,[1,1,1]) + + f = [aabbMax[0],aabbMax[1],aabbMax[2]] + t = [aabbMin[0],aabbMax[1],aabbMax[2]] + p.addUserDebugLine(f,t,[1.0,0.5,0.5]) f = [aabbMax[0],aabbMax[1],aabbMax[2]] t = [aabbMax[0],aabbMin[1],aabbMax[2]] p.addUserDebugLine(f,t,[1,1,1]) @@ -52,5 +53,25 @@ for i in range (p.getNumJoints(r2d2)): t = [aabbMax[0],aabbMax[1],aabbMin[2]] p.addUserDebugLine(f,t,[1,1,1]) +aabb = p.getAABB(r2d2) +aabbMin = aabb[0] +aabbMax = aabb[1] +if (printtext): + print(aabbMin) + print(aabbMax) +if (draw==1): + drawAABB(aabb) + +for i in range (p.getNumJoints(r2d2)): + aabb = p.getAABB(r2d2,i) + aabbMin = aabb[0] + aabbMax = aabb[1] + if (printtext): + print(aabbMin) + print(aabbMax) + if (draw==1): + drawAABB(aabb) + + while(1): a=0 \ No newline at end of file