Interface UniversalJoint
- All Superinterfaces:
X3DNode
,X3DRigidJointNode
- All Known Implementing Classes:
UniversalJoint
UniversalJoint is like a BallJoint that constrains an extra degree of rotational freedom.
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
org.web3d.x3d.jsail
classes.
UniversalJoint node tooltip: (X3D version 3.2 or later) [X3DRigidJointNode] UniversalJoint is like a BallJoint that constrains an extra degree of rotational freedom. Contains two RigidBody nodes (containerField values body1, body2).
- Hint: useful in combination with BallJoint.
- Hint: RigidBodyPhysics component, level 2.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionfloat[]
Provide array of 3-tuple float results from inputOutput SFVec3f field named anchorPoint.float[]
getAxis1()
Provide array of 3-tuple float results from inputOutput SFVec3f field named axis1.float[]
getAxis2()
Provide array of 3-tuple float results from inputOutput SFVec3f field named axis2.getBody1()
Provide org.web3d.x3d.sai.RigidBodyPhysics.RigidBody instance (using a properly typed node) from inputOutput SFNode field body1.float[]
Provide array of 3-tuple float results from outputOnly SFVec3f field named body1AnchorPoint.float[]
Provide array of 3-tuple float results from outputOnly SFVec3f field named body1Axis.getBody2()
Provide org.web3d.x3d.sai.RigidBodyPhysics.RigidBody instance (using a properly typed node) from inputOutput SFNode field body2.float[]
Provide array of 3-tuple float results from outputOnly SFVec3f field named body2AnchorPoint.float[]
Provide array of 3-tuple float results from outputOnly SFVec3f field named body2Axis.String[]
Provide array of String enumeration results (baseType MFString) ['"ALL"' | '"NONE"' | '"etc."'] from inputOutput MFString field named forceOutput.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.float
Provide float value within allowed range of [0,1] from inputOutput SFFloat field named stop1Bounce.float
Provide float value within allowed range of [0,1] from inputOutput SFFloat field named stop1ErrorCorrection.float
Provide float value within allowed range of [0,1] from inputOutput SFFloat field named stop2Bounce.float
Provide float value within allowed range of [0,1] from inputOutput SFFloat field named stop2ErrorCorrection.setAnchorPoint
(float[] newValue) Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named anchorPoint.setAxis1
(float[] newValue) Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named axis1.setAxis2
(float[] newValue) Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named axis2.Accessor method to assign org.web3d.x3d.sai.RigidBodyPhysics.RigidBody instance (using a properly typed node) to inputOutput SFNode field body1.Accessor method to assign org.web3d.x3d.sai.RigidBodyPhysics.RigidBody instance (using a properly typed node) to inputOutput SFNode field body2.setForceOutput
(String[] newValue) Accessor method to assign String enumeration array (""ALL"" | ""NONE"") to inputOutput MFString field named forceOutput.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.setStop1Bounce
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named stop1Bounce.setStop1ErrorCorrection
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named stop1ErrorCorrection.setStop2Bounce
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named stop2Bounce.setStop2ErrorCorrection
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named stop2ErrorCorrection.
-
Method Details
-
getAnchorPoint
float[] getAnchorPoint()Provide array of 3-tuple float results from inputOutput SFVec3f field named anchorPoint.
Tooltip: anchorPoint is joint center, specified in world coordinates. *- Returns:
- value of anchorPoint field
-
setAnchorPoint
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named anchorPoint.
Tooltip: anchorPoint is joint center, specified in world coordinates. *- Parameters:
newValue
- is new value for the anchorPoint field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getAxis1
float[] getAxis1()Provide array of 3-tuple float results from inputOutput SFVec3f field named axis1.
Tooltip: axis1 defines axis vector of joint connection to body1.- Hint: 0 0 0 means motor disabled about this axis.
- Returns:
- value of axis1 field
-
setAxis1
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named axis1.
Tooltip: axis1 defines axis vector of joint connection to body1.- Hint: 0 0 0 means motor disabled about this axis.
- Parameters:
newValue
- is new value for the axis1 field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getAxis2
float[] getAxis2()Provide array of 3-tuple float results from inputOutput SFVec3f field named axis2.
Tooltip: axis2 defines axis vector of joint connection to body2.- Hint: 0 0 0 means motor disabled about this axis.
- Returns:
- value of axis2 field
-
setAxis2
Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named axis2.
Tooltip: axis2 defines axis vector of joint connection to body2.- Hint: 0 0 0 means motor disabled about this axis.
- Parameters:
newValue
- is new value for the axis2 field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBody1
RigidBody getBody1()Provide org.web3d.x3d.sai.RigidBodyPhysics.RigidBody instance (using a properly typed node) from inputOutput SFNode field body1.
Tooltip: [RigidBody] The body1 and body2 fields indicate the two RigidBody nodes connected by this joint. *- Specified by:
getBody1
in interfaceX3DRigidJointNode
- Returns:
- value of body1 field
-
setBody1
Accessor method to assign org.web3d.x3d.sai.RigidBodyPhysics.RigidBody instance (using a properly typed node) to inputOutput SFNode field body1.
Tooltip: [RigidBody] The body1 and body2 fields indicate the two RigidBody nodes connected by this joint. *- Specified by:
setBody1
in interfaceX3DRigidJointNode
- Parameters:
newValue
- is new value for the body1 field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBody1AnchorPoint
float[] getBody1AnchorPoint()Provide array of 3-tuple float results from outputOnly SFVec3f field named body1AnchorPoint.
Tooltip: body1AnchorPoint describes anchorPoint position relative to local coordinate reference frame.- Hint: can detect separation if body1AnchorPoint!=body2AnchorPoint.
- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Returns:
- value of body1AnchorPoint field
-
getBody1Axis
float[] getBody1Axis()Provide array of 3-tuple float results from outputOnly SFVec3f field named body1Axis.
Tooltip: body1Axis describes report the current location of the anchor point relative to the corresponding body. This can be used to determine if the joint has broken.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Returns:
- value of body1Axis field
-
getBody2
RigidBody getBody2()Provide org.web3d.x3d.sai.RigidBodyPhysics.RigidBody instance (using a properly typed node) from inputOutput SFNode field body2.
Tooltip: [RigidBody] The body1 and body2 fields indicate the two RigidBody nodes connected by this joint. *- Specified by:
getBody2
in interfaceX3DRigidJointNode
- Returns:
- value of body2 field
-
setBody2
Accessor method to assign org.web3d.x3d.sai.RigidBodyPhysics.RigidBody instance (using a properly typed node) to inputOutput SFNode field body2.
Tooltip: [RigidBody] The body1 and body2 fields indicate the two RigidBody nodes connected by this joint. *- Specified by:
setBody2
in interfaceX3DRigidJointNode
- Parameters:
newValue
- is new value for the body2 field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getBody2AnchorPoint
float[] getBody2AnchorPoint()Provide array of 3-tuple float results from outputOnly SFVec3f field named body2AnchorPoint.
Tooltip: body2AnchorPoint describes anchorPoint position relative to local coordinate reference frame.- Hint: can detect separation if body1AnchorPoint!=body2AnchorPoint.
- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Returns:
- value of body2AnchorPoint field
-
getBody2Axis
float[] getBody2Axis()Provide array of 3-tuple float results from outputOnly SFVec3f field named body2Axis.
Tooltip: body1Axis describes report the current location of the anchor point relative to the corresponding body. This can be used to determine if the joint has broken.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Returns:
- value of body2Axis field
-
getForceOutput
String[] getForceOutput()Provide array of String enumeration results (baseType MFString) ['"ALL"' | '"NONE"' | '"etc."'] from inputOutput MFString field named forceOutput.
Tooltip: forceOutput controls which output fields are generated for the next frame. Values are ALL, NONE, or exact names of output fields updated at start of next frame. *- Specified by:
getForceOutput
in interfaceX3DRigidJointNode
- Returns:
- value of forceOutput field
-
setForceOutput
Accessor method to assign String enumeration array (""ALL"" | ""NONE"") to inputOutput MFString field named forceOutput.
Tooltip: forceOutput controls which output fields are generated for the next frame. Values are ALL, NONE, or exact names of output fields updated at start of next frame. *- Specified by:
setForceOutput
in interfaceX3DRigidJointNode
- Parameters:
newValue
- is new value for the forceOutput field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getMetadata
X3DMetadataObject getMetadata()Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/core.html#Metadata
- Specified by:
getMetadata
in interfaceX3DNode
- Specified by:
getMetadata
in interfaceX3DRigidJointNode
- Returns:
- value of metadata field
- See Also:
-
setMetadata
Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/core.html#Metadata
- Specified by:
setMetadata
in interfaceX3DNode
- Specified by:
setMetadata
in interfaceX3DRigidJointNode
- Parameters:
newValue
- is new value for the metadata field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
-
getStop1Bounce
float getStop1Bounce()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named stop1Bounce.
Tooltip: [0,1] stop1Bounce is velocity factor for bounce back once stop point is reached.- Hint: 0 means no bounce, 1 means return velocity matches.
- Returns:
- value of stop1Bounce field
-
setStop1Bounce
Accessor method to assign float value to inputOutput SFFloat field named stop1Bounce.
Tooltip: [0,1] stop1Bounce is velocity factor for bounce back once stop point is reached.- Hint: 0 means no bounce, 1 means return velocity matches.
- Parameters:
newValue
- is new value for the stop1Bounce field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getStop1ErrorCorrection
float getStop1ErrorCorrection()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named stop1ErrorCorrection.
Tooltip: [0,1] stop1ErrorCorrection is fraction of error correction performed during time step once stop point is reached.- Hint: 0 means no error correction, 1 means all error corrected in single step.
- Returns:
- value of stop1ErrorCorrection field
-
setStop1ErrorCorrection
Accessor method to assign float value to inputOutput SFFloat field named stop1ErrorCorrection.
Tooltip: [0,1] stop1ErrorCorrection is fraction of error correction performed during time step once stop point is reached.- Hint: 0 means no error correction, 1 means all error corrected in single step.
- Parameters:
newValue
- is new value for the stop1ErrorCorrection field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getStop2Bounce
float getStop2Bounce()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named stop2Bounce.
Tooltip: [0,1] stop2Bounce is velocity factor for bounce back once stop point is reached.- Hint: 0 means no bounce, 1 means return velocity matches.
- Returns:
- value of stop2Bounce field
-
setStop2Bounce
Accessor method to assign float value to inputOutput SFFloat field named stop2Bounce.
Tooltip: [0,1] stop2Bounce is velocity factor for bounce back once stop point is reached.- Hint: 0 means no bounce, 1 means return velocity matches.
- Parameters:
newValue
- is new value for the stop2Bounce field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getStop2ErrorCorrection
float getStop2ErrorCorrection()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named stop2ErrorCorrection.
Tooltip: [0,1] stop2ErrorCorrection is fraction of error correction performed during time step once stop point is reached.- Hint: 0 means no error correction, 1 means all error corrected in single step.
- Returns:
- value of stop2ErrorCorrection field
-
setStop2ErrorCorrection
Accessor method to assign float value to inputOutput SFFloat field named stop2ErrorCorrection.
Tooltip: [0,1] stop2ErrorCorrection is fraction of error correction performed during time step once stop point is reached.- Hint: 0 means no error correction, 1 means all error corrected in single step.
- Parameters:
newValue
- is new value for the stop2ErrorCorrection field.- Returns:
UniversalJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-