/** Enable/disable the joint motor. */ public void enableMotor (boolean flag) { joint.enableMotor(flag); }
public Vector2 getLocalAnchorA () { Vec2 localAnchor = joint.getLocalAnchorA(); localAnchorA.set(localAnchor.x, localAnchor.y); return localAnchorA; }
public Vector2 getLocalAnchorB () { Vec2 localAnchor = joint.getLocalAnchorB(); localAnchorB.set(localAnchor.x, localAnchor.y); return localAnchorB; }
WheelJoint j = (WheelJoint) joint; builder.setType(PbJointType.WHEEL); builder.setLocalAnchorA(vecToPb(j.getLocalAnchorA())); builder.setLocalAnchorB(vecToPb(j.getLocalAnchorB())); builder.setLocalAxisA(vecToPb(j.getLocalAxisA())); builder.setEnableMotor(j.isMotorEnabled()); builder.setMaxMotorTorque(j.getMaxMotorTorque()); builder.setMotorSpeed(j.getMotorSpeed()); builder.setFrequency(j.getSpringFrequencyHz()); builder.setDampingRatio(j.getSpringDampingRatio()); break;
return new FrictionJoint(world.getPool(), (FrictionJointDef) def); case WHEEL: return new WheelJoint(world.getPool(), (WheelJointDef) def); case GEAR: return new GearJoint(world.getPool(), (GearJointDef) def);
@Override public void keyPressed(char argKeyChar, int argKeyCode) { switch (argKeyChar) { case 'a': m_spring1.enableMotor(true); m_spring1.setMotorSpeed(m_speed); break; case 's': m_spring1.enableMotor(true); m_spring1.setMotorSpeed(0.0f); break; case 'd': m_spring1.enableMotor(true); m_spring1.setMotorSpeed(-m_speed); break; case 'q': m_hz = MathUtils.max(0.0f, m_hz - 1.0f); m_spring1.setSpringFrequencyHz(m_hz); m_spring2.setSpringFrequencyHz(m_hz); break; case 'e': m_hz += 1.0f; m_spring1.setSpringFrequencyHz(m_hz); m_spring2.setSpringFrequencyHz(m_hz); break; } }
/** Is the joint motor enabled? */ public boolean isMotorEnabled () { return joint.isMotorEnabled(); }
/** Get the motor speed, usually in radians per second. */ public float getMotorSpeed () { return joint.getMotorSpeed(); }
public float getSpringDampingRatio () { return joint.getSpringDampingRatio(); }
public float getSpringFrequencyHz () { return joint.getSpringFrequencyHz(); }
public float getMaxMotorTorque () { return joint.getMaxMotorTorque(); }
public Vector2 getLocalAxisA () { Vec2 localAxis = joint.getLocalAxisA(); localAxisA.set(localAxis.x, localAxis.y); return localAxisA; }
return new FrictionJoint(world.getPool(), (FrictionJointDef) def); case WHEEL: return new WheelJoint(world.getPool(), (WheelJointDef) def); case GEAR: return new GearJoint(world.getPool(), (GearJointDef) def);
@Override public void keyPressed(char argKeyChar, int argKeyCode) { switch (argKeyChar) { case 'a': m_spring1.enableMotor(true); m_spring1.setMotorSpeed(m_speed); break; case 's': m_spring1.enableMotor(true); m_spring1.setMotorSpeed(0.0f); break; case 'd': m_spring1.enableMotor(true); m_spring1.setMotorSpeed(-m_speed); break; case 'q': m_hz = MathUtils.max(0.0f, m_hz - 1.0f); m_spring1.setSpringFrequencyHz(m_hz); m_spring2.setSpringFrequencyHz(m_hz); break; case 'e': m_hz += 1.0f; m_spring1.setSpringFrequencyHz(m_hz); m_spring2.setSpringFrequencyHz(m_hz); break; } }
return new FrictionJoint(world.getPool(), (FrictionJointDef) def); case WHEEL: return new WheelJoint(world.getPool(), (WheelJointDef) def); case GEAR: return new GearJoint(world.getPool(), (GearJointDef) def);
@Override public void keyReleased(char argKeyChar, int argKeyCode) { super.keyReleased(argKeyChar, argKeyCode); switch (argKeyChar) { case 'a': case 's': case 'd': m_spring1.enableMotor(false); break; } }
public static Joint create(World world, JointDef def) { // Joint joint = null; switch (def.type) { case MOUSE: return new MouseJoint(world.getPool(), (MouseJointDef) def); case DISTANCE: return new DistanceJoint(world.getPool(), (DistanceJointDef) def); case PRISMATIC: return new PrismaticJoint(world.getPool(), (PrismaticJointDef) def); case REVOLUTE: return new RevoluteJoint(world.getPool(), (RevoluteJointDef) def); case WELD: return new WeldJoint(world.getPool(), (WeldJointDef) def); case FRICTION: return new FrictionJoint(world.getPool(), (FrictionJointDef) def); case WHEEL: return new WheelJoint(world.getPool(), (WheelJointDef) def); case GEAR: return new GearJoint(world.getPool(), (GearJointDef) def); case PULLEY: return new PulleyJoint(world.getPool(), (PulleyJointDef) def); case CONSTANT_VOLUME: return new ConstantVolumeJoint(world, (ConstantVolumeJointDef) def); case ROPE: return new RopeJoint(world.getPool(), (RopeJointDef) def); case UNKNOWN: default: return null; } }
@Override public void keyReleased(char argKeyChar, int argKeyCode) { super.keyReleased(argKeyChar, argKeyCode); switch (argKeyChar) { case 'a': case 's': case 'd': m_spring1.enableMotor(false); break; } }
return new FrictionJoint(world.getPool(), (FrictionJointDef) def); case WHEEL: return new WheelJoint(world.getPool(), (WheelJointDef) def); case GEAR: return new GearJoint(world.getPool(), (GearJointDef) def);