Package com.jme3.bullet.joints
Class SixDofJoint
java.lang.Object
com.jme3.bullet.joints.PhysicsJoint
com.jme3.bullet.joints.SixDofJoint
- All Implemented Interfaces:
Savable
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.
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.
-
Field Summary
Fields inherited from class com.jme3.bullet.joints.PhysicsJoint
collisionBetweenLinkedBodys, constraint, nodeA, nodeB, pivotA, pivotB
-
Constructor Summary
ModifierConstructorDescriptionprotected
SixDofJoint
(PhysicsRigidBody nodeA, PhysicsRigidBody nodeB, Vector3f pivotA, Vector3f pivotB, boolean useLinearReferenceFrameA) SixDofJoint
(PhysicsRigidBody nodeA, PhysicsRigidBody nodeB, Vector3f pivotA, Vector3f pivotB, Matrix3f rotA, Matrix3f rotB, boolean useLinearReferenceFrameA) -
Method Summary
Modifier and TypeMethodDescriptiongetRotationalLimitMotor
(int index) returns one of the three RotationalLimitMotors of this 6DofJoint which allow manipulating the rotational axesreturns the TranslationalLimitMotor of this 6DofJoint which allows manipulating the translational axisvoid
read
(JmeImporter im) void
setAngularLowerLimit
(Vector3f vector) void
setAngularUpperLimit
(Vector3f vector) void
setLinearLowerLimit
(Vector3f vector) void
setLinearUpperLimit
(Vector3f vector) void
write
(JmeExporter ex) Methods inherited from class com.jme3.bullet.joints.PhysicsJoint
destroy, getAppliedImpulse, getBodyA, getBodyB, getObjectId, getPivotA, getPivotB, isCollisionBetweenLinkedBodys, setCollisionBetweenLinkedBodys
-
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 ApivotB
- local translation of the joint connection point in node BrotA
- 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 ApivotB
- local translation of the joint connection point in node BuseLinearReferenceFrameA
- true→use body A, false→use body B
-
-
Method Details
-
getTranslationalLimitMotor
returns the TranslationalLimitMotor of this 6DofJoint which allows manipulating the translational axis- Returns:
- the TranslationalLimitMotor
-
getRotationalLimitMotor
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
-
setLinearLowerLimit
-
setAngularUpperLimit
-
setAngularLowerLimit
-
read
- Specified by:
read
in interfaceSavable
- Overrides:
read
in classPhysicsJoint
- Throws:
IOException
-
write
- Specified by:
write
in interfaceSavable
- Overrides:
write
in classPhysicsJoint
- Throws:
IOException
-