Search in sources :

Example 1 with PulleyJoint

use of org.jbox2d.dynamics.joints.PulleyJoint in project SurfacePaint by rome753.

the class WorldRayCastWrapper 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;
    Vec2 p1 = pool.popVec2();
    Vec2 p2 = pool.popVec2();
    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:
            m_debugDraw.drawSegment(p1, p2, color);
            break;
        case PULLEY:
            {
                PulleyJoint pulley = (PulleyJoint) joint;
                Vec2 s1 = pulley.getGroundAnchorA();
                Vec2 s2 = pulley.getGroundAnchorB();
                m_debugDraw.drawSegment(s1, p1, color);
                m_debugDraw.drawSegment(s2, p2, color);
                m_debugDraw.drawSegment(s1, s2, color);
            }
            break;
        case CONSTANT_VOLUME:
        case MOUSE:
            // don't draw this
            break;
        default:
            m_debugDraw.drawSegment(x1, p1, color);
            m_debugDraw.drawSegment(p1, p2, color);
            m_debugDraw.drawSegment(x2, p2, color);
    }
    pool.pushVec2(2);
}
Also used : Vec2(org.jbox2d.common.Vec2) Transform(org.jbox2d.common.Transform) PulleyJoint(org.jbox2d.dynamics.joints.PulleyJoint)

Example 2 with PulleyJoint

use of org.jbox2d.dynamics.joints.PulleyJoint in project libgdx by libgdx.

the class WorldRayCastWrapper 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;
    Vec2 p1 = pool.popVec2();
    Vec2 p2 = pool.popVec2();
    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:
            m_debugDraw.drawSegment(p1, p2, color);
            break;
        case PULLEY:
            {
                PulleyJoint pulley = (PulleyJoint) joint;
                Vec2 s1 = pulley.getGroundAnchorA();
                Vec2 s2 = pulley.getGroundAnchorB();
                m_debugDraw.drawSegment(s1, p1, color);
                m_debugDraw.drawSegment(s2, p2, color);
                m_debugDraw.drawSegment(s1, s2, color);
            }
            break;
        case CONSTANT_VOLUME:
        case MOUSE:
            // don't draw this
            break;
        default:
            m_debugDraw.drawSegment(x1, p1, color);
            m_debugDraw.drawSegment(p1, p2, color);
            m_debugDraw.drawSegment(x2, p2, color);
    }
    pool.pushVec2(2);
}
Also used : Vec2(org.jbox2d.common.Vec2) Transform(org.jbox2d.common.Transform) PulleyJoint(org.jbox2d.dynamics.joints.PulleyJoint)

Example 3 with PulleyJoint

use of org.jbox2d.dynamics.joints.PulleyJoint in project opennars by opennars.

the class DrawPhy2D 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 : Vec2(org.jbox2d.common.Vec2) IViewportTransform(org.jbox2d.common.IViewportTransform) AffineTransform(java.awt.geom.AffineTransform) Transform(org.jbox2d.common.Transform) Body(org.jbox2d.dynamics.Body) PulleyJoint(org.jbox2d.dynamics.joints.PulleyJoint)

Aggregations

Transform (org.jbox2d.common.Transform)3 Vec2 (org.jbox2d.common.Vec2)3 PulleyJoint (org.jbox2d.dynamics.joints.PulleyJoint)3 AffineTransform (java.awt.geom.AffineTransform)1 IViewportTransform (org.jbox2d.common.IViewportTransform)1 Body (org.jbox2d.dynamics.Body)1