/** Is the joint limit enabled? */ public boolean isLimitEnabled () { return joint.isLimitEnabled(); }
/** Is the joint motor enabled? */ public boolean isMotorEnabled () { return joint.isMotorEnabled(); }
/** Set the motor speed in radians per second. */ public void setMotorSpeed (float speed) { motorSpeed = speed; joint.setMotorSpeed(speed); }
RevoluteJoint j = (RevoluteJoint) joint; builder.setType(PbJointType.REVOLUTE); builder.setLocalAnchorA(vecToPb(j.getLocalAnchorA())); builder.setLocalAnchorB(vecToPb(j.getLocalAnchorB())); builder.setRefAngle(j.getReferenceAngle()); builder.setEnableLimit(j.isLimitEnabled()); builder.setLowerLimit(j.getLowerLimit()); builder.setUpperLimit(j.getUpperLimit()); builder.setEnableMotor(j.isMotorEnabled()); builder.setMotorSpeed(j.getMotorSpeed()); builder.setMaxMotorTorque(j.getMaxMotorTorque()); break;
@Override public void keyPressed(char argKeyChar, int argKeyCode) { switch (argKeyChar) { case 'l': m_joint.enableLimit(!m_joint.isLimitEnabled()); break; case 'm': m_joint.enableMotor(!m_joint.isMotorEnabled()); break; case 'a': m_joint.setMotorSpeed(1.0f * MathUtils.PI); isLeft = true; break; case 'd': m_joint.setMotorSpeed(-1.0f * MathUtils.PI); isLeft = false; break; } }
@Override public void keyPressed(char key, int argKeyCode) { switch (key) { case 'a': m_motorJoint.setMotorSpeed(-m_motorSpeed); break; case 's': m_motorJoint.setMotorSpeed(0.0f); break; case 'd': m_motorJoint.setMotorSpeed(m_motorSpeed); break; case 'm': m_motorJoint.enableMotor(!m_motorJoint.isMotorEnabled()); break; } }
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);
@Override public void step(TestbedSettings settings) { super.step(settings); addTextLine("Limits " + (m_joint.isLimitEnabled() ? "on" : "off") + ", Motor " + (m_joint.isMotorEnabled() ? "on " : "off ") + (isLeft ? "left" : "right")); addTextLine("Keys: (l) limits, (m) motor, (a) left, (d) right"); }
class RemindTask extends TimerTask { RevoluteJoint rj1;; RemindTask(RevoluteJoint rj){ rj1 = rj; } @Override public void run() { Log.d("x","x" +"Reversing motor"); reverseMotor(); } public void reverseMotor(){ rj1.setMotorSpeed(-(rj1.getMotorSpeed())); rj1.setMaxMotorTorque(100); } }
@Override public void keyPressed(char argKeyChar, int argKeyCode) { switch (argKeyChar) { case 'f': m_joint2.enableMotor(!m_joint2.isMotorEnabled()); getModel().getKeys()['f'] = false; break; case 'm': m_joint1.enableMotor(!m_joint1.isMotorEnabled()); getModel().getKeys()['m'] = false; break; } }
@Override public void processJoint(Joint joint, Long tag) { if (tag == JOINT_TAG) { m_joint = (RevoluteJoint) joint; isLeft = m_joint.getMotorSpeed() > 0; } else { super.processJoint(joint, tag); } }
/** Get the current joint angle in radians. */ public float getJointAngle () { return joint.getJointAngle(); }
/** Enable/disable the joint limit. */ public void enableLimit (boolean flag) { joint.enableLimit(flag); }
/** Enable/disable the joint motor. */ public void enableMotor (boolean flag) { joint.enableMotor(flag); }
public Vector2 getLocalAnchorA () { return localAnchorA.set(joint.getLocalAnchorA().x, joint.getLocalAnchorA().y); }
public Vector2 getLocalAnchorB () { return localAnchorB.set(joint.getLocalAnchorB().x, joint.getLocalAnchorB().y); }
@Override public void keyPressed(char argKeyChar, int argKeyCode) { switch (argKeyChar) { case 'l': m_joint.enableLimit(!m_joint.isLimitEnabled()); break; case 'm': m_joint.enableMotor(!m_joint.isMotorEnabled()); break; case 'a': m_joint.setMotorSpeed(1.0f * MathUtils.PI); isLeft = true; break; case 'd': m_joint.setMotorSpeed(-1.0f * MathUtils.PI); isLeft = false; break; } }
@Override public void keyPressed(char key, int argKeyCode) { switch (key) { case 'a': m_motorJoint.setMotorSpeed(-m_motorSpeed); break; case 's': m_motorJoint.setMotorSpeed(0.0f); break; case 'd': m_motorJoint.setMotorSpeed(m_motorSpeed); break; case 'm': m_motorJoint.enableMotor(!m_motorJoint.isMotorEnabled()); break; } }
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);
@Override public void step(TestbedSettings settings) { super.step(settings); addTextLine("Limits " + (m_joint.isLimitEnabled() ? "on" : "off") + ", Motor " + (m_joint.isMotorEnabled() ? "on " : "off ") + (isLeft ? "left" : "right")); addTextLine("Keys: (l) limits, (m) motor, (a) left, (d) right"); }