Class SixDofJoint

java.lang.Object
com.jme3.bullet.joints.PhysicsJoint
com.jme3.bullet.joints.SixDofJoint
All Implemented Interfaces:
Savable

public class SixDofJoint extends PhysicsJoint
From bullet manual:
This generic constraint can emulate a variety of standard constraints, by configuring each of the 6 degrees of freedom (DOF). The first 3 DOF axes are linear axes, which represent translation of rigid bodies, and the latter 3 DOF axes represent the angular motion. Each axis can be either locked, free or limited. On construction of a new btGeneric6DofConstraint, all axis are locked. Afterwards the axis can be reconfigured. Note that several combinations that include free and/or limited angular degrees of freedom are undefined.
  • Constructor Details

    • SixDofJoint

      protected SixDofJoint()
    • SixDofJoint

      public SixDofJoint(PhysicsRigidBody nodeA, PhysicsRigidBody nodeB, Vector3f pivotA, Vector3f pivotB, Matrix3f rotA, Matrix3f rotB, boolean useLinearReferenceFrameA)
      Parameters:
      nodeA - the body for the A end (not null, alias created)
      nodeB - the body for the B end (not null, alias created)
      pivotA - local translation of the joint connection point in node A
      pivotB - local translation of the joint connection point in node B
      rotA - the joint orientation in A's local coordinates (rotation matrix, unaffected)
      rotB - the joint orientation in B's local coordinates (rotation matrix, unaffected)
      useLinearReferenceFrameA - true→use body A, false→use body
    • SixDofJoint

      public SixDofJoint(PhysicsRigidBody nodeA, PhysicsRigidBody nodeB, Vector3f pivotA, Vector3f pivotB, boolean useLinearReferenceFrameA)
      Parameters:
      nodeA - the body for the A end (not null, alias created)
      nodeB - the body for the B end (not null, alias created)
      pivotA - local translation of the joint connection point in node A
      pivotB - local translation of the joint connection point in node B
      useLinearReferenceFrameA - true→use body A, false→use body B
  • Method Details

    • getTranslationalLimitMotor

      public TranslationalLimitMotor getTranslationalLimitMotor()
      returns the TranslationalLimitMotor of this 6DofJoint which allows manipulating the translational axis
      Returns:
      the TranslationalLimitMotor
    • getRotationalLimitMotor

      public RotationalLimitMotor getRotationalLimitMotor(int index)
      returns one of the three RotationalLimitMotors of this 6DofJoint which allow manipulating the rotational axes
      Parameters:
      index - the index of the RotationalLimitMotor
      Returns:
      the RotationalLimitMotor at the given index
    • setLinearUpperLimit

      public void setLinearUpperLimit(Vector3f vector)
    • setLinearLowerLimit

      public void setLinearLowerLimit(Vector3f vector)
    • setAngularUpperLimit

      public void setAngularUpperLimit(Vector3f vector)
    • setAngularLowerLimit

      public void setAngularLowerLimit(Vector3f vector)
    • read

      public void read(JmeImporter im) throws IOException
      Specified by:
      read in interface Savable
      Overrides:
      read in class PhysicsJoint
      Throws:
      IOException
    • write

      public void write(JmeExporter ex) throws IOException
      Specified by:
      write in interface Savable
      Overrides:
      write in class PhysicsJoint
      Throws:
      IOException