Interface UniversalJoint

All Superinterfaces:
X3DNode, X3DRigidJointNode
All Known Implementing Classes:
UniversalJoint

public interface UniversalJoint extends X3DRigidJointNode
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 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 Type
    Method
    Description
    float[]
    Provide array of 3-tuple float results from inputOutput SFVec3f field named anchorPoint.
    float[]
    Provide array of 3-tuple float results from inputOutput SFVec3f field named axis1.
    float[]
    Provide array of 3-tuple float results from inputOutput SFVec3f field named axis2.
    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.
    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.
    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.
    setBody1(RigidBody newValue)
    Accessor method to assign org.web3d.x3d.sai.RigidBodyPhysics.RigidBody instance (using a properly typed node) to inputOutput SFNode field body1.
    setBody2(RigidBody newValue)
    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.
    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

      UniversalJoint setAnchorPoint(float[] newValue)
      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

      UniversalJoint setAxis1(float[] newValue)
      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

      UniversalJoint setAxis2(float[] newValue)
      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 interface X3DRigidJointNode
      Returns:
      value of body1 field
    • setBody1

      UniversalJoint setBody1(RigidBody newValue)
      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 interface X3DRigidJointNode
      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 interface X3DRigidJointNode
      Returns:
      value of body2 field
    • setBody2

      UniversalJoint setBody2(RigidBody newValue)
      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 interface X3DRigidJointNode
      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 interface X3DRigidJointNode
      Returns:
      value of forceOutput field
    • setForceOutput

      UniversalJoint setForceOutput(String[] newValue)
      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 interface X3DRigidJointNode
      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.
      Specified by:
      getMetadata in interface X3DNode
      Specified by:
      getMetadata in interface X3DRigidJointNode
      Returns:
      value of metadata field
      See Also:
    • setMetadata

      UniversalJoint setMetadata(X3DMetadataObject newValue)
      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.
      Specified by:
      setMetadata in interface X3DNode
      Specified by:
      setMetadata in interface X3DRigidJointNode
      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

      UniversalJoint setStop1Bounce(float newValue)
      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

      UniversalJoint setStop1ErrorCorrection(float newValue)
      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

      UniversalJoint setStop2Bounce(float newValue)
      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

      UniversalJoint setStop2ErrorCorrection(float newValue)
      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).