Interface DoubleAxisHingeJoint
- All Superinterfaces:
X3DNode
,X3DRigidJointNode
- All Known Implementing Classes:
DoubleAxisHingeJoint
DoubleAxisHingeJoint has two independent axes located around a common anchor point.
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.
DoubleAxisHingeJoint node tooltip: (X3D version 3.2 or later) [X3DRigidJointNode] DoubleAxisHingeJoint has two independent axes located around a common anchor point. axis1 has limits and a motor, axis 2 only has a motor Contains two RigidBody nodes (containerField values body1, body2).
- 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.float
Provide float value from inputOutput SFFloat field named desiredAngularVelocity1.float
Provide float value from inputOutput SFFloat field named desiredAngularVelocity2.String[]
Provide array of String enumeration results (baseType MFString) ['"ALL"' | '"NONE"' | '"etc."'] from inputOutput MFString field named forceOutput.float
Provide float value unit axis, angle (in radians) from outputOnly SFFloat field named hinge1Angle.float
Provide float value unit axis, angle (in radians) from outputOnly SFFloat field named hinge1AngleRate.float
Provide float value unit axis, angle (in radians) from outputOnly SFFloat field named hinge2Angle.float
Provide float value unit axis, angle (in radians) from outputOnly SFFloat field named hinge2AngleRate.float
Provide float value unit axis, angle (in radians) from inputOutput SFFloat field named maxAngle1.float
Provide float value from inputOutput SFFloat field named maxTorque1.float
Provide float value from inputOutput SFFloat field named maxTorque2.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.float
Provide float value unit axis, angle (in radians) from inputOutput SFFloat field named minAngle1.float
Provide float value from inputOutput SFFloat field named stop1Bounce.float
Provide float value from inputOutput SFFloat field named stop1ConstantForceMix.float
Provide float value from inputOutput SFFloat field named stop1ErrorCorrection.float
Provide float value from inputOutput SFFloat field named suspensionErrorCorrection.float
Provide float value from inputOutput SFFloat field named suspensionForce.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.setDesiredAngularVelocity1
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named desiredAngularVelocity1.setDesiredAngularVelocity2
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named desiredAngularVelocity2.setForceOutput
(String[] newValue) Accessor method to assign String enumeration array (""ALL"" | ""NONE"") to inputOutput MFString field named forceOutput.setMaxAngle1
(float newValue) Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named maxAngle1.setMaxTorque1
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named maxTorque1.setMaxTorque2
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named maxTorque2.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.setMinAngle1
(float newValue) Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named minAngle1.setStop1Bounce
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named stop1Bounce.setStop1ConstantForceMix
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named stop1ConstantForceMix.setStop1ErrorCorrection
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named stop1ErrorCorrection.setSuspensionErrorCorrection
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named suspensionErrorCorrection.setSuspensionForce
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named suspensionForce.
-
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:
DoubleAxisHingeJoint
- 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:
DoubleAxisHingeJoint
- 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:
DoubleAxisHingeJoint
- 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:
DoubleAxisHingeJoint
- 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:
DoubleAxisHingeJoint
- 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
-
getDesiredAngularVelocity1
float getDesiredAngularVelocity1()Provide float value from inputOutput SFFloat field named desiredAngularVelocity1.
Tooltip: desiredAngularVelocity1 is goal rotation rate for hinge connection to body1. *- Returns:
- value of desiredAngularVelocity1 field
-
setDesiredAngularVelocity1
Accessor method to assign float value to inputOutput SFFloat field named desiredAngularVelocity1.
Tooltip: desiredAngularVelocity1 is goal rotation rate for hinge connection to body1. *- Parameters:
newValue
- is new value for the desiredAngularVelocity1 field.- Returns:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getDesiredAngularVelocity2
float getDesiredAngularVelocity2()Provide float value from inputOutput SFFloat field named desiredAngularVelocity2.
Tooltip: desiredAngularVelocity2 is goal rotation rate for hinge connection to body2. *- Returns:
- value of desiredAngularVelocity2 field
-
setDesiredAngularVelocity2
Accessor method to assign float value to inputOutput SFFloat field named desiredAngularVelocity2.
Tooltip: desiredAngularVelocity2 is goal rotation rate for hinge connection to body2. *- Parameters:
newValue
- is new value for the desiredAngularVelocity2 field.- Returns:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
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:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getHinge1Angle
float getHinge1Angle()Provide float value unit axis, angle (in radians) from outputOnly SFFloat field named hinge1Angle.- Returns:
- value of hinge1Angle field
-
getHinge1AngleRate
float getHinge1AngleRate()Provide float value unit axis, angle (in radians) from outputOnly SFFloat field named hinge1AngleRate.- Returns:
- value of hinge1AngleRate field
-
getHinge2Angle
float getHinge2Angle()Provide float value unit axis, angle (in radians) from outputOnly SFFloat field named hinge2Angle.- Returns:
- value of hinge2Angle field
-
getHinge2AngleRate
float getHinge2AngleRate()Provide float value unit axis, angle (in radians) from outputOnly SFFloat field named hinge2AngleRate.- Returns:
- value of hinge2AngleRate field
-
getMaxAngle1
float getMaxAngle1()Provide float value unit axis, angle (in radians) from inputOutput SFFloat field named maxAngle1.
Tooltip: [-pi,pi] maxAngle1 is maximum rotation angle for hinge. *- Returns:
- value of maxAngle1 field
-
setMaxAngle1
Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named maxAngle1.
Tooltip: [-pi,pi] maxAngle1 is maximum rotation angle for hinge. *- Parameters:
newValue
- is new value for the maxAngle1 field.- Returns:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getMaxTorque1
float getMaxTorque1()Provide float value from inputOutput SFFloat field named maxTorque1.
Tooltip: maxTorque1 is maximum rotational torque applied by corresponding motor axis to achieve desiredAngularVelocity1. *- Returns:
- value of maxTorque1 field
-
setMaxTorque1
Accessor method to assign float value to inputOutput SFFloat field named maxTorque1.
Tooltip: maxTorque1 is maximum rotational torque applied by corresponding motor axis to achieve desiredAngularVelocity1. *- Parameters:
newValue
- is new value for the maxTorque1 field.- Returns:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getMaxTorque2
float getMaxTorque2()Provide float value from inputOutput SFFloat field named maxTorque2.
Tooltip: maxTorque2 is maximum rotational torque applied by corresponding motor axis to achieve desiredAngularVelocity2. *- Returns:
- value of maxTorque2 field
-
setMaxTorque2
Accessor method to assign float value to inputOutput SFFloat field named maxTorque2.
Tooltip: maxTorque2 is maximum rotational torque applied by corresponding motor axis to achieve desiredAngularVelocity2. *- Parameters:
newValue
- is new value for the maxTorque2 field.- Returns:
DoubleAxisHingeJoint
- 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:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
-
getMinAngle1
float getMinAngle1()Provide float value unit axis, angle (in radians) from inputOutput SFFloat field named minAngle1.
Tooltip: [-pi,pi] minAngle1 is minimum rotation angle for hinge. *- Returns:
- value of minAngle1 field
-
setMinAngle1
Accessor method to assign float value unit axis, angle (in radians) to inputOutput SFFloat field named minAngle1.
Tooltip: [-pi,pi] minAngle1 is minimum rotation angle for hinge. *- Parameters:
newValue
- is new value for the minAngle1 field.- Returns:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getStop1Bounce
float getStop1Bounce()Provide float value 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:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getStop1ConstantForceMix
float getStop1ConstantForceMix()Provide float value from inputOutput SFFloat field named stop1ConstantForceMix.
Tooltip: [0,1] stop1ConstantForceMix value applies a constant force value to make colliding surfaces appear to be somewhat soft.- Hint: use with suspensionForce to improve softness and numerical stability.
- Hint: 0 means no stop adjustment, 1 means springier stop response.
- Returns:
- value of stop1ConstantForceMix field
-
setStop1ConstantForceMix
Accessor method to assign float value to inputOutput SFFloat field named stop1ConstantForceMix.
Tooltip: [0,1] stop1ConstantForceMix value applies a constant force value to make colliding surfaces appear to be somewhat soft.- Hint: use with suspensionForce to improve softness and numerical stability.
- Hint: 0 means no stop adjustment, 1 means springier stop response.
- Parameters:
newValue
- is new value for the stop1ConstantForceMix field.- Returns:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getStop1ErrorCorrection
float getStop1ErrorCorrection()Provide float value 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:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getSuspensionErrorCorrection
float getSuspensionErrorCorrection()Provide float value from inputOutput SFFloat field named suspensionErrorCorrection.
Tooltip: [0,1] suspensionErrorCorrection describes how quickly the system resolves intersection errors due to floating-point inaccuracies.- Hint: use with stop1ConstantForceMix to improve softness and numerical stability.
- Hint: 0 means no stop adjustment, 1 means springier stop response.
- Returns:
- value of suspensionErrorCorrection field
-
setSuspensionErrorCorrection
Accessor method to assign float value to inputOutput SFFloat field named suspensionErrorCorrection.
Tooltip: [0,1] suspensionErrorCorrection describes how quickly the system resolves intersection errors due to floating-point inaccuracies.- Hint: use with stop1ConstantForceMix to improve softness and numerical stability.
- Hint: 0 means no stop adjustment, 1 means springier stop response.
- Parameters:
newValue
- is new value for the suspensionErrorCorrection field.- Returns:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getSuspensionForce
float getSuspensionForce()Provide float value from inputOutput SFFloat field named suspensionForce.
Tooltip: [0,1] suspensionForce describes how quickly the system resolves intersection errors due to floating-point inaccuracies.- Hint: use with stop1ConstantForceMix to improve softness and numerical stability.
- Hint: 0 means no stop adjustment, 1 means springier stop response.
- Returns:
- value of suspensionForce field
-
setSuspensionForce
Accessor method to assign float value to inputOutput SFFloat field named suspensionForce.
Tooltip: [0,1] suspensionForce describes how quickly the system resolves intersection errors due to floating-point inaccuracies.- Hint: use with stop1ConstantForceMix to improve softness and numerical stability.
- Hint: 0 means no stop adjustment, 1 means springier stop response.
- Parameters:
newValue
- is new value for the suspensionForce field.- Returns:
DoubleAxisHingeJoint
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-