Class: UniversalJoint

X3D: 3.3
Component: RigidBodyPhysics
Status:
experimental

x3dom.nodeTypes. UniversalJoint

A universal joint is like a BallJoint that constrains an extra degree of rotational freedom. Given the axis specified by the axis1 field on the body specified by the body1 field, and the axis specified by the axis2 field on body2 that is perpendicular to axis1, the UniversalJoint node keeps the axes perpendicular to each other. Thus, rotation of the two bodies about the direction perpendicular to the two axes will be equal.

HTML Encoding and Default Values

<UniversalJoint anchorPoint='0,0,0' axis1='0,0,0' axis2='0,0,0' body1='x3dom.nodeTypes.RigidBody' body2='x3dom.nodeTypes.RigidBody' forceOutput='"NONE"' metadata='X3DMetadataObject' stop1Bounce='0' stop1ErrorCorrection='0.8' stop2Bounce='0' stop2ErrorCorrection='0.8' ></UniversalJoint>

Inheritance


Constructor

UniversalJoint(ctx)

Constructor for UniversalJoint

Parameters:
Name Type Argument Default Description
ctx Object <optional>
null context object, containing initial settings like namespace

Fields

These are the X3D / X3DOM fields of this node. Values should usually be received / set as strings via DOM functions (i.e., using setAttribute("myFieldName", "myFieldValue") and getAttribute("myFieldName")).
Name Type Default Value Range Inheritance Standard Description
anchorPoint SFVec3f 0,0,0 Anchor of the joint.
axis1 SFVec3f 0,0,0 The vectors specified by the axis1 and axis2 fields shall be perpendicular. If not, the interactions are undefined.
axis2 SFVec3f 0,0,0 The vectors specified by the axis1 and axis2 fields shall be perpendicular. If not, the interactions are undefined.
body1 SFNode RigidBody X3DRigidJointNode The first body to be joint by the node
body2 SFNode RigidBody X3DRigidJointNode The second rigid body to be joint by the node
forceOutput SFString "NONE" ["ALL", "NONE",...] X3DRigidJointNode The forceOutput field is used to control which output fields are to be generated for the next frame. In physics models, the amount of data that can be generated per frame can be quite extensive, particularly in complex models with a large number of joints. A typical application will need only a few of them, if any at all. This field is used to control which of those outputs the author requires to be generated. The values of the array are to describe the names, exactly, of the output field(s) that are to be updated at the start of the next frame. Two special values are defined: "ALL" and "NONE".
metadata SFNode X3DMetadataObject X3DRigidJointNode Field to add metadata information
stop1Bounce SFFloat 0 [0,1] The stop bounce fields describe how much the joint should bounce the body back on the corresponding axis if the joint limit has been reached or exceeded. A value of zero indicates no bounce at all, and a value of one indicates that it should bounce with velocity equal and opposite to the collision velocity of the contact.
stop1ErrorCorrection SFFloat 8 [0,1] The stop error correction fields describe the amount of error correction to be performed in a time step when the joint reaches the limit on the corresponding axis. A value of zero means no error correction is to be performed and a value of one means all error should be corrected in a single step.
stop2Bounce SFFloat 0 [0,1] The stop bounce fields describe how much the joint should bounce the body back on the corresponding axis if the joint limit has been reached or exceeded. A value of zero indicates no bounce at all, and a value of one indicates that it should bounce with velocity equal and opposite to the collision velocity of the contact.
stop2ErrorCorrection SFFloat 8 [0,1] The stop error correction fields describe the amount of error correction to be performed in a time step when the joint reaches the limit on the corresponding axis. A value of zero means no error correction is to be performed and a value of one means all error should be corrected in a single step.