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).
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).
-
Method Summary
Modifier and Type Method Description voidaddBodies(X3DNode[] newValue)Add array of child bodies nodes to array of existing nodes (if any).voidaddJoints(X3DNode[] newValue)Add array of child joints nodes to array of existing nodes (if any).booleangetAutoDisable()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.CollisionCollectiongetCollider()Provide CollisionCollection instance (using a properly typed node) from initializeOnly SFNode field collider.floatgetConstantForceMix()Provide float value from inputOutput SFFloat field named constantForceMix.floatgetContactSurfaceThickness()Provide float value from inputOutput SFFloat field named contactSurfaceThickness.floatgetDisableAngularSpeed()Provide float value from inputOutput SFFloat field named disableAngularSpeed.floatgetDisableLinearSpeed()Provide float value from inputOutput SFFloat field named disableLinearSpeed.doublegetDisableTime()Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named disableTime.booleangetEnabled()Provide boolean value from inputOutput SFBool field named enabled.floatgetErrorCorrection()Provide float value from inputOutput SFFloat field named errorCorrection.float[]getGravity()Provide array of 3-tuple float results from inputOutput SFVec3f field named gravity.intgetIterations()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.floatgetMaxCorrectionSpeed()Provide float value from inputOutput SFFloat field named maxCorrectionSpeed.X3DMetadataObjectgetMetadata()Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.booleangetPreferAccuracy()Provide boolean value from inputOutput SFBool field named preferAccuracy.RigidBodyCollectionsetAutoDisable(boolean newValue)Accessor method to assign boolean value to inputOutput SFBool field named autoDisable.voidsetBodies(X3DNode newValue)Set single child bodies node, replacing prior array of existing nodes (if any).RigidBodyCollectionsetBodies(X3DNode[] newValue)Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field bodies.RigidBodyCollectionsetCollider(CollisionCollection newValue)Accessor method to assign CollisionCollection instance (using a properly typed node) to initializeOnly SFNode field collider.RigidBodyCollectionsetConstantForceMix(float newValue)Accessor method to assign float value to inputOutput SFFloat field named constantForceMix.RigidBodyCollectionsetContactSurfaceThickness(float newValue)Accessor method to assign float value to inputOutput SFFloat field named contactSurfaceThickness.RigidBodyCollectionsetDisableAngularSpeed(float newValue)Accessor method to assign float value to inputOutput SFFloat field named disableAngularSpeed.RigidBodyCollectionsetDisableLinearSpeed(float newValue)Accessor method to assign float value to inputOutput SFFloat field named disableLinearSpeed.RigidBodyCollectionsetDisableTime(double newValue)Accessor method to assign double value in seconds to inputOutput SFTime field named disableTime.RigidBodyCollectionsetEnabled(boolean newValue)Accessor method to assign boolean value to inputOutput SFBool field named enabled.RigidBodyCollectionsetErrorCorrection(float newValue)Accessor method to assign float value to inputOutput SFFloat field named errorCorrection.RigidBodyCollectionsetGravity(float[] newValue)Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named gravity.RigidBodyCollectionsetIterations(int newValue)Accessor method to assign int value to inputOutput SFInt32 field named iterations.voidsetJoints(X3DNode newValue)Set single child joints node, replacing prior array of existing nodes (if any).RigidBodyCollectionsetJoints(X3DNode[] newValue)Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field joints.RigidBodyCollectionsetMaxCorrectionSpeed(float newValue)Accessor method to assign float value to inputOutput SFFloat field named maxCorrectionSpeed.RigidBodyCollectionsetMetadata(X3DMetadataObject newValue)Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.RigidBodyCollectionsetPreferAccuracy(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
getMetadatain interfaceX3DChildNode- Specified by:
getMetadatain interfaceX3DNode- Returns:
- value of metadata field
- See Also:
- X3D Scene Authoring Hints: Metadata Nodes
-
setMetadata
Accessor method to assign 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/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
setMetadatain interfaceX3DChildNode- Specified by:
setMetadatain interfaceX3DNode- 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
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).
-