All Implemented Interfaces:
ODELinkAttachListener, ODELinkDetachListener, PoseChangeListener, EventListener

public class ODEBallSocket extends ODEJoint

Wrapper for a ball 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 of the hinge, as well as it's relation to the attached parts. If the simulation is NOT paused then the hinge will behave as normal.

  • Constructor Details

    • ODEBallSocket

      public ODEBallSocket()
    • ODEBallSocket

      public ODEBallSocket(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.
    • getBallJoint

      public org.ode4j.ode.DBallJoint getBallJoint()
    • 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.