Package org.jbox2d.dynamics.joints

Examples of org.jbox2d.dynamics.joints.DistanceJointDef


      bd.type = BodyType.DYNAMIC;
      bd.position.set(box2d.coordPixelsToWorld(center));
     
      CircleShape cs = new CircleShape();
              
      DistanceJointDef djd;
     
     
     

      body = box2d.createBody(bd);
View Full Code Here


      bd.position.set(-5.0f, 15.0f);
      m_bodies[3] = getWorld().createBody(bd);
      m_bodies[3].createFixture(shape, 5.0f);

      DistanceJointDef jd = new DistanceJointDef();
      Vec2 p1 = new Vec2();
      Vec2 p2 = new Vec2();
      Vec2 d = new Vec2();

      jd.frequencyHz = 4.0f;
View Full Code Here

        def.referenceAngle = joint.getRefAngle();
        def.upperAngle = joint.getUpperLimit();
        break;
      }
      case DISTANCE: {
        DistanceJointDef def = new DistanceJointDef();
        jd = def;
        def.localAnchorA.set(pbToVec(joint.getLocalAnchorA()));
        def.localAnchorB.set(pbToVec(joint.getLocalAnchorB()));
        def.dampingRatio = joint.getDampingRatio();
        def.frequencyHz = joint.getFrequency();
        def.length = joint.getLength();
        break;
      }
      case PULLEY: {
        PulleyJointDef def = new PulleyJointDef();
        jd = def;
        def.localAnchorA.set(pbToVec(joint.getLocalAnchorA()));
        def.localAnchorB.set(pbToVec(joint.getLocalAnchorB()));
        def.groundAnchorA.set(pbToVec(joint.getGroundAnchorA()));
        def.groundAnchorB.set(pbToVec(joint.getGroundAnchorB()));
        def.lengthA = joint.getLengthA();
        def.lengthB = joint.getLengthB();
        def.ratio = joint.getRatio();
        break;
      }
      case MOUSE: {
        MouseJointDef def = new MouseJointDef();
        jd = def;
        def.dampingRatio = joint.getDampingRatio();
        def.frequencyHz = joint.getFrequency();
        def.maxForce = joint.getMaxForce();
        def.target.set(pbToVec(joint.getTarget()));
        break;
      }
      case GEAR: {
        GearJointDef def = new GearJointDef();
        jd = def;
        if (!jointMap.containsKey(joint.getJoint1())) {
          throw new IllegalArgumentException("Index " + joint.getJoint1()
              + " is not present in the joint map.");
        }
        def.joint1 = jointMap.get(joint.getJoint1());
        if (!jointMap.containsKey(joint.getJoint2())) {
          throw new IllegalArgumentException("Index " + joint.getJoint2()
              + " is not present in the joint map.");
        }
        def.joint2 = jointMap.get(joint.getJoint2());
        def.ratio = joint.getRatio();
        break;
      }
      case WHEEL: {
        WheelJointDef def = new WheelJointDef();
        jd = def;
        def.localAnchorA.set(pbToVec(joint.getLocalAnchorA()));
        def.localAnchorB.set(pbToVec(joint.getLocalAnchorB()));
        def.localAxisA.set(pbToVec(joint.getLocalAxisA()));
        def.enableMotor = joint.getEnableMotor();
        def.maxMotorTorque = joint.getMaxMotorTorque();
        def.motorSpeed = joint.getMotorSpeed();
        def.frequencyHz = joint.getFrequency();
        def.dampingRatio = joint.getDampingRatio();
        break;
      }
      case WELD: {
        WeldJointDef def = new WeldJointDef();
        jd = def;
        def.localAnchorA.set(pbToVec(joint.getLocalAnchorA()));
        def.localAnchorB.set(pbToVec(joint.getLocalAnchorB()));
        def.referenceAngle = joint.getRefAngle();
        def.frequencyHz = joint.getFrequency();
        def.dampingRatio = joint.getDampingRatio();
        break;
      }
      case FRICTION: {
        FrictionJointDef def = new FrictionJointDef();
        jd = def;
        def.localAnchorA.set(pbToVec(joint.getLocalAnchorA()));
        def.localAnchorB.set(pbToVec(joint.getLocalAnchorB()));
        def.maxForce = joint.getMaxForce();
        def.maxTorque = joint.getMaxTorque();
        break;
      }
      case ROPE: {
        RopeJointDef def = new RopeJointDef();
        jd = def;
        def.localAnchorA.set(pbToVec(joint.getLocalAnchorA()));
        def.localAnchorB.set(pbToVec(joint.getLocalAnchorB()));
        def.maxLength = joint.getMaxLength();
        return null;
      }
      case CONSTANT_VOLUME: {
        ConstantVolumeJointDef def = new ConstantVolumeJointDef();
        jd = def;
        def.dampingRatio = joint.getDampingRatio();
        def.frequencyHz = joint.getFrequency();
        if (joint.getBodiesCount() != joint.getJointsCount()) {
          throw new IllegalArgumentException(
              "Constant volume joint must have bodies and joints defined");
        }
        for (int i = 0; i < joint.getBodiesCount(); i++) {
          int body = joint.getBodies(i);
          if (!argBodyMap.containsKey(body)) {
            throw new IllegalArgumentException("Index " + body + " is not present in the body map");
          }
          int jointIndex = joint.getJoints(i);
          if (!jointMap.containsKey(jointIndex)) {
            throw new IllegalArgumentException("Index " + jointIndex
                + " is not present in the joint map");
          }
          Joint djoint = jointMap.get(jointIndex);
          if (!(djoint instanceof DistanceJoint)) {
            throw new IllegalArgumentException(
                "Joints for constant volume joint must be distance joints");
          }
          def.addBodyAndJoint(argBodyMap.get(body), (DistanceJoint) djoint);
        }
        break;
      }
      case LINE: {
        UnsupportedObjectException e =
View Full Code Here

    Body body2 = getWorld().createBody(bd2);

    body1.createFixture(fd1);
    body2.createFixture(fd2);

    DistanceJointDef djd = new DistanceJointDef();

    // Using a soft distance constraint can reduce some jitter.
    // It also makes the structure seem a bit more fluid by
    // acting like a suspension system.
    djd.dampingRatio = 0.5f;
    djd.frequencyHz = 10.0f;

    djd.initialize(body1, body2, p2.add(m_offset), p5.add(m_offset));
    getWorld().createJoint(djd);

    djd.initialize(body1, body2, p3.add(m_offset), p4.add(m_offset));
    getWorld().createJoint(djd);

    djd.initialize(body1, m_wheel, p3.add(m_offset), wheelAnchor.add(m_offset));
    getWorld().createJoint(djd);

    djd.initialize(body2, m_wheel, p6.add(m_offset), wheelAnchor.add(m_offset));
    getWorld().createJoint(djd);

    RevoluteJointDef rjd = new RevoluteJointDef();

    rjd.initialize(body2, m_chassis, p4.add(m_offset));
View Full Code Here

TOP

Related Classes of org.jbox2d.dynamics.joints.DistanceJointDef

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.