All Implemented Interfaces:
ODELinkAttachListener, ODELinkDetachListener, PoseChangeListener, EventListener

public class ODEAngularMotor extends ODEJoint

Wrapper for an angular motor joint in ODE4J. If one side of the motor is null then it is attached to the world.

If the physics simulation is paused then then moving this Pose will adjust the position and orientation as well as its relation to the attached parts. If the simulation is NOT paused then the motor will behave as normal.

The motor applies force on its local Z axis.

  • Constructor Details

    • ODEAngularMotor

      public ODEAngularMotor()
    • ODEAngularMotor

      public ODEAngularMotor(String name)
  • Method Details

    • getComponents

      public void getComponents(List<JPanel> list)
      Description copied from class: Pose
      Build a Swing Component that represents this Node.
      Overrides:
      getComponents in class ODEJoint
      Parameters:
      list - the list to add components to.
    • getMotor

      public org.ode4j.ode.DAMotorJoint getMotor()
    • setLocal

      public void setLocal(javax.vecmath.Matrix4d m)
      Description copied from class: Pose
      Set the local transform of this pose. This is the best method to override if you want to capture changes to the local OR world transform.
      Overrides:
      setLocal in class Pose
      Parameters:
      m - the new local transform.
    • update

      public void update(double dt)
      Description copied from class: Node
      Called every frame.
      Overrides:
      update in class ODENode
      Parameters:
      dt - the time since the last frame.
    • toJSON

      public org.json.JSONObject toJSON()
      Description copied from class: Node
      Serialize this node and its children to a JSON object and its children. Classes that override this method should call super.toJSON() first, then add to the object returned.
      Overrides:
      toJSON in class ODEJoint
      Returns:
      the JSON object.
    • fromJSON

      public void fromJSON(org.json.JSONObject from)
      Description copied from class: Node
      Deserialize this node and its children from a JSON object and its children. Classes that override this method should call super.fromJSON(). When they do it will trigger the creation of child nodes. The child nodes will then call their own fromJSON() methods.
      Overrides:
      fromJSON in class ODEJoint
      Parameters:
      from - the JSON object to read from.
    • getAngleMax

      public double getAngleMax()
      Returns:
      angle in degrees
    • getAngleMin

      public double getAngleMin()
      Returns:
      angle in degrees
    • setForceMax

      public void setForceMax(double force)
    • getForceMax

      public double getForceMax()
    • setAngleMax

      public void setAngleMax(double angle)
      Parameters:
      angle - in degrees
    • setAngleMin

      public void setAngleMin(double angle)
      Parameters:
      angle - in degrees
    • getIcon

      public Icon getIcon()
      Description copied from class: Node
      Set a custom icon for this node.
      Overrides:
      getIcon in class Pose
      Returns:
      the icon, or null if none.
    • addTorque

      public void addTorque(double qty)