Interface RigidBodyCollection

All Superinterfaces:
X3DChildNode, X3DNode
All Known Implementing Classes:
RigidBodyCollectionObject

public interface RigidBodyCollection
extends X3DChildNode
RigidBodyCollection represents a system of bodies that interact within a single physics model.

X3D node tooltip: (X3D version 3.2 or later) [X3DChildNode] RigidBodyCollection represents a system of bodies that interact within a single physics model. *


Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
See Also:
SAI Java Specification: TODO, X3D Abstract Specification: RigidBodyCollection, X3D Tooltips: RigidBodyCollection, X3D Scene Authoring Hints
  • Method Summary

    Modifier and Type Method Description
    void addBodies​(X3DNode[] newValue)
    Add array of child bodies nodes to array of existing nodes (if any).
    void addJoints​(X3DNode[] newValue)
    Add array of child joints nodes to array of existing nodes (if any).
    boolean getAutoDisable()
    Provide boolean value from inputOutput SFBool field named autoDisable.
    X3DNode[] getBodies()
    Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field bodies.
    CollisionCollection getCollider()
    Provide CollisionCollection instance (using a properly typed node) from initializeOnly SFNode field collider.
    float getConstantForceMix()
    Provide float value from inputOutput SFFloat field named constantForceMix.
    float getContactSurfaceThickness()
    Provide float value from inputOutput SFFloat field named contactSurfaceThickness.
    float getDisableAngularSpeed()
    Provide float value from inputOutput SFFloat field named disableAngularSpeed.
    float getDisableLinearSpeed()
    Provide float value from inputOutput SFFloat field named disableLinearSpeed.
    double getDisableTime()
    Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named disableTime.
    boolean getEnabled()
    Provide boolean value from inputOutput SFBool field named enabled.
    float getErrorCorrection()
    Provide float value from inputOutput SFFloat field named errorCorrection.
    float[] getGravity()
    Provide array of 3-tuple float results from inputOutput SFVec3f field named gravity.
    int getIterations()
    Provide int value from inputOutput SFInt32 field named iterations.
    X3DNode[] getJoints()
    Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field joints.
    float getMaxCorrectionSpeed()
    Provide float value from inputOutput SFFloat field named maxCorrectionSpeed.
    X3DMetadataObject getMetadata()
    Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    boolean getPreferAccuracy()
    Provide boolean value from inputOutput SFBool field named preferAccuracy.
    RigidBodyCollection setAutoDisable​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named autoDisable.
    void setBodies​(X3DNode newValue)
    Set single child bodies node, replacing prior array of existing nodes (if any).
    RigidBodyCollection setBodies​(X3DNode[] newValue)
    Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field bodies.
    RigidBodyCollection setCollider​(CollisionCollection newValue)
    Accessor method to assign CollisionCollection instance (using a properly typed node) to initializeOnly SFNode field collider.
    RigidBodyCollection setConstantForceMix​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named constantForceMix.
    RigidBodyCollection setContactSurfaceThickness​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named contactSurfaceThickness.
    RigidBodyCollection setDisableAngularSpeed​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named disableAngularSpeed.
    RigidBodyCollection setDisableLinearSpeed​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named disableLinearSpeed.
    RigidBodyCollection setDisableTime​(double newValue)
    Accessor method to assign double value in seconds to inputOutput SFTime field named disableTime.
    RigidBodyCollection setEnabled​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named enabled.
    RigidBodyCollection setErrorCorrection​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named errorCorrection.
    RigidBodyCollection setGravity​(float[] newValue)
    Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named gravity.
    RigidBodyCollection setIterations​(int newValue)
    Accessor method to assign int value to inputOutput SFInt32 field named iterations.
    void setJoints​(X3DNode newValue)
    Set single child joints node, replacing prior array of existing nodes (if any).
    RigidBodyCollection setJoints​(X3DNode[] newValue)
    Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field joints.
    RigidBodyCollection setMaxCorrectionSpeed​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named maxCorrectionSpeed.
    RigidBodyCollection setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    RigidBodyCollection setPreferAccuracy​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named preferAccuracy.
  • Method Details

    • getAutoDisable

      boolean getAutoDisable()
      Provide boolean value from inputOutput SFBool field named autoDisable.

      Tooltip: autoDisable toggles operation of disableAngularSpeed, disableLinearSpeed, disableTime. *
      Returns:
      value of autoDisable field
    • setAutoDisable

      RigidBodyCollection setAutoDisable​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named autoDisable.

      Tooltip: autoDisable toggles operation of disableAngularSpeed, disableLinearSpeed, disableTime. *
      Parameters:
      newValue - is new value for the autoDisable field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getBodies

      X3DNode[] getBodies()
      Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field bodies.

      Tooltip: [RigidBody] Collection of top-level nodes that comprise a set of bodies evaluated as a single set of interactions. *


      Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to RigidBody.
      Returns:
      value of bodies field
      See Also:
      RigidBodyObject
    • setBodies

      RigidBodyCollection setBodies​(X3DNode[] newValue)
      Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field bodies.

      Tooltip: [RigidBody] Collection of top-level nodes that comprise a set of bodies evaluated as a single set of interactions. *


      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to RigidBody.
      Parameters:
      newValue - is new value for the bodies field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addBodies

      void addBodies​(X3DNode[] newValue)
      Add array of child bodies nodes to array of existing nodes (if any).

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to RigidBody.
      Parameters:
      newValue - is new value array to be appended the bodies field.
    • setBodies

      void setBodies​(X3DNode newValue)
      Set single child bodies node, replacing prior array of existing nodes (if any).
      Parameters:
      newValue - is new node for the bodies field
    • getCollider

      CollisionCollection getCollider()
      Provide CollisionCollection instance (using a properly typed node) from initializeOnly SFNode field collider.

      Tooltip: [CollisionCollection] The collider field associates a collision collection with this rigid body collection allowing seamless updates and integration without the need to use the X3D event model. *
      Returns:
      value of collider field
    • setCollider

      RigidBodyCollection setCollider​(CollisionCollection newValue)
      Accessor method to assign CollisionCollection instance (using a properly typed node) to initializeOnly SFNode field collider.

      Tooltip: [CollisionCollection] The collider field associates a collision collection with this rigid body collection allowing seamless updates and integration without the need to use the X3D event model. *
      Parameters:
      newValue - is new value for the collider field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getConstantForceMix

      float getConstantForceMix()
      Provide float value from inputOutput SFFloat field named constantForceMix.

      Tooltip: [0,+infinity) constantForceMix modifies damping calculations by violating normal constraints while applying small, constant forces in those calculations.
      • Hint: this allows joints and bodies to be a fraction springy, and helps to eliminate numerical instability.
      • Hint: spring-driven or spongy connections can be emulated by combined use of errorCorrection and constantForceMix.
      Returns:
      value of constantForceMix field
    • setConstantForceMix

      RigidBodyCollection setConstantForceMix​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named constantForceMix.

      Tooltip: [0,+infinity) constantForceMix modifies damping calculations by violating normal constraints while applying small, constant forces in those calculations.
      • Hint: this allows joints and bodies to be a fraction springy, and helps to eliminate numerical instability.
      • Hint: spring-driven or spongy connections can be emulated by combined use of errorCorrection and constantForceMix.
      Parameters:
      newValue - is new value for the constantForceMix field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getContactSurfaceThickness

      float getContactSurfaceThickness()
      Provide float value from inputOutput SFFloat field named contactSurfaceThickness.

      Tooltip: [0,+infinity) contactSurfaceThickness defines how far bodies may interpenetrate after a collision, allowing simulation of softer bodies that deform somewhat during collision. *
      Returns:
      value of contactSurfaceThickness field
    • setContactSurfaceThickness

      RigidBodyCollection setContactSurfaceThickness​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named contactSurfaceThickness.

      Tooltip: [0,+infinity) contactSurfaceThickness defines how far bodies may interpenetrate after a collision, allowing simulation of softer bodies that deform somewhat during collision. *
      Parameters:
      newValue - is new value for the contactSurfaceThickness field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDisableAngularSpeed

      float getDisableAngularSpeed()
      Provide float value from inputOutput SFFloat field named disableAngularSpeed.

      Tooltip: [0,+infinity) disableAngularSpeed defines lower-limit tolerance value when body is considered at rest and not part of rigid body calculations, reducing numeric instabilities.
      • Hint: only activated if autoDisable='true'.
      Returns:
      value of disableAngularSpeed field
    • setDisableAngularSpeed

      RigidBodyCollection setDisableAngularSpeed​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named disableAngularSpeed.

      Tooltip: [0,+infinity) disableAngularSpeed defines lower-limit tolerance value when body is considered at rest and not part of rigid body calculations, reducing numeric instabilities.
      • Hint: only activated if autoDisable='true'.
      Parameters:
      newValue - is new value for the disableAngularSpeed field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDisableLinearSpeed

      float getDisableLinearSpeed()
      Provide float value from inputOutput SFFloat field named disableLinearSpeed.

      Tooltip: [0,+infinity) disableLinearSpeed defines lower-limit tolerance value when body is considered at rest and not part of rigid body calculation, reducing numeric instabilitiess.
      • Hint: only activated if autoDisable='true'.
      Returns:
      value of disableLinearSpeed field
    • setDisableLinearSpeed

      RigidBodyCollection setDisableLinearSpeed​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named disableLinearSpeed.

      Tooltip: [0,+infinity) disableLinearSpeed defines lower-limit tolerance value when body is considered at rest and not part of rigid body calculation, reducing numeric instabilitiess.
      • Hint: only activated if autoDisable='true'.
      Parameters:
      newValue - is new value for the disableLinearSpeed field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDisableTime

      double getDisableTime()
      Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named disableTime.

      Tooltip: [0,+infinity) disableTime defines interval when body becomes at rest and not part of rigid body calculations, reducing numeric instabilities.
      • Hint: only activated if autoDisable='true'
      • Hint: disableTime is an SFTime duration interval, not an absolute clock time.
      Returns:
      value of disableTime field
    • setDisableTime

      RigidBodyCollection setDisableTime​(double newValue)
      Accessor method to assign double value in seconds to inputOutput SFTime field named disableTime.

      Tooltip: [0,+infinity) disableTime defines interval when body becomes at rest and not part of rigid body calculations, reducing numeric instabilities.
      • Hint: only activated if autoDisable='true'
      • Hint: disableTime is an SFTime duration interval, not an absolute clock time.
      Parameters:
      newValue - is new value for the disableTime field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getEnabled

      boolean getEnabled()
      Provide boolean value from inputOutput SFBool field named enabled.

      Tooltip: Enables/disables node operation. *
      Returns:
      value of enabled field
    • setEnabled

      RigidBodyCollection setEnabled​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named enabled.

      Tooltip: Enables/disables node operation. *
      Parameters:
      newValue - is new value for the enabled field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getErrorCorrection

      float getErrorCorrection()
      Provide float value from inputOutput SFFloat field named errorCorrection.

      Tooltip: [0,1] errorCorrection describes how quickly intersection errors due to floating-point inaccuracies are resolved (0=no correction, 1=all corrected in single step). *
      Returns:
      value of errorCorrection field
    • setErrorCorrection

      RigidBodyCollection setErrorCorrection​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named errorCorrection.

      Tooltip: [0,1] errorCorrection describes how quickly intersection errors due to floating-point inaccuracies are resolved (0=no correction, 1=all corrected in single step). *
      Parameters:
      newValue - is new value for the errorCorrection field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getGravity

      float[] getGravity()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named gravity.

      Tooltip: gravity indicates direction and strength of local gravity vector for this collection of bodies (units m/sec^2). *
      Returns:
      value of gravity field
    • setGravity

      RigidBodyCollection setGravity​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named gravity.

      Tooltip: gravity indicates direction and strength of local gravity vector for this collection of bodies (units m/sec^2). *
      Parameters:
      newValue - is new value for the gravity field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getIterations

      int getIterations()
      Provide int value from inputOutput SFInt32 field named iterations.

      Tooltip: [0,+infinity) iterations controls number of iterations performed over collectioned joints and bodies during each evaluation. *
      Returns:
      value of iterations field
    • setIterations

      RigidBodyCollection setIterations​(int newValue)
      Accessor method to assign int value to inputOutput SFInt32 field named iterations.

      Tooltip: [0,+infinity) iterations controls number of iterations performed over collectioned joints and bodies during each evaluation. *
      Parameters:
      newValue - is new value for the iterations field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getJoints

      X3DNode[] getJoints()
      Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field joints.

      Tooltip: [X3DRigidJointNode] The joints field is used to register all joints between bodies contained in this collection.
      • Warning: If a joint is connected between bodies in two different collections, the result is implementation-dependent.
      • Warning: If a joint instance is registered with more than one collection, the results are implementation dependent.
      • Warning: Joints not registered with any collection are not evaluated.


      Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DRigidJointNode.
      Returns:
      value of joints field
      See Also:
      X3DRigidJointNode
    • setJoints

      RigidBodyCollection setJoints​(X3DNode[] newValue)
      Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field joints.

      Tooltip: [X3DRigidJointNode] The joints field is used to register all joints between bodies contained in this collection.
      • Warning: If a joint is connected between bodies in two different collections, the result is implementation-dependent.
      • Warning: If a joint instance is registered with more than one collection, the results are implementation dependent.
      • Warning: Joints not registered with any collection are not evaluated.


      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DRigidJointNode.
      Parameters:
      newValue - is new value for the joints field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addJoints

      void addJoints​(X3DNode[] newValue)
      Add array of child joints nodes to array of existing nodes (if any).

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DRigidJointNode.
      Parameters:
      newValue - is new value array to be appended the joints field.
    • setJoints

      void setJoints​(X3DNode newValue)
      Set single child joints node, replacing prior array of existing nodes (if any).
      Parameters:
      newValue - is new node for the joints field
    • getMaxCorrectionSpeed

      float getMaxCorrectionSpeed()
      Provide float value from inputOutput SFFloat field named maxCorrectionSpeed.

      Tooltip: [0,+infinity) or -1, maxCorrectionSpeed . *
      Returns:
      value of maxCorrectionSpeed field
    • setMaxCorrectionSpeed

      RigidBodyCollection setMaxCorrectionSpeed​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named maxCorrectionSpeed.

      Tooltip: [0,+infinity) or -1, maxCorrectionSpeed . *
      Parameters:
      newValue - is new value for the maxCorrectionSpeed field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMetadata

      X3DMetadataObject getMetadata()
      Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
      Specified by:
      getMetadata in interface X3DChildNode
      Specified by:
      getMetadata in interface X3DNode
      Returns:
      value of metadata field
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      RigidBodyCollection setMetadata​(X3DMetadataObject newValue)
      Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
      Specified by:
      setMetadata in interface X3DChildNode
      Specified by:
      setMetadata in interface X3DNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • getPreferAccuracy

      boolean getPreferAccuracy()
      Provide boolean value from inputOutput SFBool field named preferAccuracy.

      Tooltip: preferAccuracy provides hint for performance preference: higher accuracy or faster computational speed. *
      Returns:
      value of preferAccuracy field
    • setPreferAccuracy

      RigidBodyCollection setPreferAccuracy​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named preferAccuracy.

      Tooltip: preferAccuracy provides hint for performance preference: higher accuracy or faster computational speed. *
      Parameters:
      newValue - is new value for the preferAccuracy field.
      Returns:
      RigidBodyCollection - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).