Search in sources :

Example 1 with PulleyJoint

use of spacegraph.space2d.phys.dynamics.joints.PulleyJoint in project narchy by automenta.

the class SwingDraw method drawJoint.

private void drawJoint(Joint joint) {
    Body bodyA = joint.getBodyA();
    Body bodyB = joint.getBodyB();
    Transform xf1 = bodyA.getTransform();
    Transform xf2 = bodyB.getTransform();
    Vec2 x1 = xf1.p;
    Vec2 x2 = xf2.p;
    joint.getAnchorA(p1);
    joint.getAnchorB(p2);
    color.set(0.5f, 0.8f, 0.8f);
    switch(joint.getType()) {
        // TODO djm write after writing joints
        case DISTANCE:
            drawSegment(p1, p2, color);
            break;
        case PULLEY:
            {
                PulleyJoint pulley = (PulleyJoint) joint;
                Vec2 s1 = pulley.getGroundAnchorA();
                Vec2 s2 = pulley.getGroundAnchorB();
                drawSegment(s1, p1, color);
                drawSegment(s2, p2, color);
                drawSegment(s1, s2, color);
            }
            break;
        case CONSTANT_VOLUME:
        case MOUSE:
            // don't draw this
            break;
        default:
            drawSegment(x1, p1, color);
            drawSegment(p1, p2, color);
            drawSegment(x2, p2, color);
    }
// pool.pushVec2(2);
}
Also used : AffineTransform(java.awt.geom.AffineTransform) Body(spacegraph.space2d.phys.dynamics.Body) PulleyJoint(spacegraph.space2d.phys.dynamics.joints.PulleyJoint)

Aggregations

AffineTransform (java.awt.geom.AffineTransform)1 Body (spacegraph.space2d.phys.dynamics.Body)1 PulleyJoint (spacegraph.space2d.phys.dynamics.joints.PulleyJoint)1