()
| 71 | |
| 72 | # Render all bodies |
| 73 | def render(): |
| 74 | sim = pbd.Simulation.getCurrent() |
| 75 | model = sim.getModel() |
| 76 | |
| 77 | # render meshes of rigid bodies |
| 78 | rbs = model.getRigidBodies() |
| 79 | for rb in rbs: |
| 80 | vd = rb.getGeometry().getVertexData() |
| 81 | mesh = rb.getGeometry().getMesh() |
| 82 | drawMesh(vd, mesh, 0, [0,0.2,0.7]) |
| 83 | |
| 84 | # render constraints |
| 85 | cs = model.getConstraints() |
| 86 | for c in cs: |
| 87 | if (c.getTypeId() == pbd.BallJoint.TYPE_ID): |
| 88 | drawSphere(c.jointInfo[:,2], 0.15, [0.0, 0.6, 0.2]) |
| 89 | |
| 90 | # render time |
| 91 | glPushMatrix() |
| 92 | glLoadIdentity() |
| 93 | drawText([-0.95,0.9], "Time: {:.2f}".format(pbd.TimeManager.getCurrent().getTime())) |
| 94 | glPopMatrix() |
| 95 | |
| 96 | # Perform simulation steps |
| 97 | def timeStep(): |
no test coverage detected