All Implemented Interfaces:
ODELinkAttachListener, ODELinkDetachListener, PoseChangeListener, EventListener

public class ODEHinge extends ODEJoint

Wrapper for a hinge joint in ODE4J. If one side of the hinge 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 hinge will behave as normal.

The hinge pivots on its local Z axis.

  • Constructor Details

    • ODEHinge

      public ODEHinge()
    • ODEHinge

      public ODEHinge(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.
    • getHinge

      public org.ode4j.ode.DHingeJoint getHinge()
    • 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.
    • addTorque

      public void addTorque(double value)
    • getAngleMax

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

      public double getAngleMin()
      Returns:
      angle in degrees
    • 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.