Class RigidBodyCollectionObject

java.lang.Object
org.web3d.x3d.jsail.X3DConcreteElement
org.web3d.x3d.jsail.X3DConcreteNode
org.web3d.x3d.jsail.RigidBodyPhysics.RigidBodyCollectionObject
All Implemented Interfaces:
X3DChildNode, X3DNode, RigidBodyCollection

public class RigidBodyCollectionObject
extends X3DConcreteNode
implements RigidBodyCollection
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 org.web3d.x3d.jsail concrete class is used for implementing a standalone X3D object as a Plain Old Java Object (POJO). If you are writing Java code for use inside an X3D Script node, compile separate code using only the org.web3d.x3d.sai package instead.
See Also:
X3D Abstract Specification: RigidBodyCollection, X3D Tooltips: RigidBodyCollection, X3D Scene Authoring Hints
  • Field Details

  • Constructor Details

    • RigidBodyCollectionObject

      public RigidBodyCollectionObject()
      Constructor for RigidBodyCollectionObject to initialize member variables with default values.
    • RigidBodyCollectionObject

      public RigidBodyCollectionObject​(java.lang.String DEFlabel)
      Utility constructor that assigns DEF label after initializing member variables with default values.
      Parameters:
      DEFlabel - unique DEF name for this X3D node
  • Method Details

    • getElementName

      public final java.lang.String getElementName()
      Provides name of this element: RigidBodyCollection
      Specified by:
      getElementName in class X3DConcreteElement
      Returns:
      name of this element
    • getComponent

      public final java.lang.String getComponent()
      Defines X3D component for the RigidBodyCollection element: RigidBodyPhysics
      Specified by:
      getComponent in class X3DConcreteElement
      Returns:
      X3D component for this element
    • getComponentLevel

      public final int getComponentLevel()
      Provides default X3D component level for this element: 2
      Specified by:
      getComponentLevel in class X3DConcreteElement
      Returns:
      default X3D component level for this element
    • getFieldType

      public java.lang.String getFieldType​(java.lang.String fieldName)
      Indicate type corresponding to given fieldName.
      Specified by:
      getFieldType in class X3DConcreteElement
      Parameters:
      fieldName - name of field in this X3D node
      Returns:
      X3D type (SFvec3f etc.), otherwise ConfigurationProperties.ERROR_UNKNOWN_FIELD_TYPE if not recognized
      See Also:
      ConfigurationProperties.ERROR_UNKNOWN_FIELD_TYPE
    • getAccessType

      public java.lang.String getAccessType​(java.lang.String fieldName)
      Indicate accessType corresponding to given fieldName.
      Specified by:
      getAccessType in class X3DConcreteElement
      Parameters:
      fieldName - name of field in this X3D node
      Returns:
      X3D accessType (inputOnly etc.), otherwise ConfigurationProperties.ERROR_UNKNOWN_FIELD_ACCESSTYPE if not recognized
      See Also:
      ConfigurationProperties.ERROR_UNKNOWN_FIELD_ACCESSTYPE
    • getContainerFieldDefault

      public final java.lang.String getContainerFieldDefault()
      containerField describes typical field relationship of a node to its parent. Usage is not ordinarily needed when using this API, default value is provided for informational purposes.
      Specified by:
      getContainerFieldDefault in class X3DConcreteNode
      Returns:
      default containerField value
      See Also:
      X3D Scene Authoring Hints: containerField, X3D Unified Object Model (X3DUOM)
    • initialize

      public final void initialize()
      Initialize all member variables to default values.
      Overrides:
      initialize in class X3DConcreteNode
    • getAutoDisable

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

      Tooltip: autoDisable toggles operation of disableAngularSpeed, disableLinearSpeed, disableTime. *
      Specified by:
      getAutoDisable in interface RigidBodyCollection
      Returns:
      value of autoDisable field
    • setAutoDisable

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

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

      public RigidBodyCollectionObject setAutoDisable​(SFBoolObject newValue)
      Assign typed object value to SFBool autoDisable field, similar to setAutoDisable(boolean).
      Parameters:
      newValue - is new value for the autoDisable field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getBodies

      public X3DNode[] getBodies()
      Provide array of RigidBodyObject 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.
      Specified by:
      getBodies in interface RigidBodyCollection
      Returns:
      value of bodies field
      See Also:
      RigidBodyObject
    • getBodiesList

      public java.util.ArrayList<X3DNode> getBodiesList()
      Utility method to get ArrayList value of MFNode bodies field, similar to getBodies().
      Returns:
      value of bodies field
    • setBodies

      public RigidBodyCollectionObject setBodies​(X3DNode[] newValue)
      Accessor method to assign RigidBodyObject 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.
      Specified by:
      setBodies in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the bodies field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setBodies

      public RigidBodyCollectionObject setBodies​(java.util.ArrayList<RigidBodyObject> newValue)
      Assign ArrayList value of MFNode bodies field, similar to setBodies(X3DNode[]).
      Parameters:
      newValue - is new value for the bodies field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addBodies

      public RigidBodyCollectionObject addBodies​(RigidBodyObject newValue)
      Add single child node to existing array of bodies nodes (if any).

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

      public RigidBodyCollectionObject addBodies​(ProtoInstanceObject newValue)
      Add single ProtoInstanceObject (with appropriate node type and containerField value) to MFNode array for bodies field.

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to ShaderPart and ProtoInstance.
      Parameters:
      newValue - is new value to be appended the parts field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addBodies

      public 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.
      Specified by:
      addBodies in interface RigidBodyCollection
      Parameters:
      newValue - is new value array to be appended the bodies field.
    • setBodies

      public void setBodies​(X3DNode newValue)
      Set single child bodies node, replacing prior array of existing nodes (if any).

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are restricted to RigidBody.
      Specified by:
      setBodies in interface RigidBodyCollection
      Parameters:
      newValue - is new node for the bodies field (restricted to RigidBody)
    • clearBodies

      public RigidBodyCollectionObject clearBodies()
      Utility method to clear MFNode value of bodies field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • hasBodies

      public boolean hasBodies()
      Indicate whether an object is available for inputOutput MFNode field bodies.
      Returns:
      whether a properly typed node or ProtoInstance array or CommentsBlock is available.
      See Also:
      getBodies()
    • getCollider

      public CollisionCollection getCollider()
      Provide CollisionCollectionObject instance (using a properly typed node) from initializeOnly SFNode field collider.
      Specified by:
      getCollider in interface RigidBodyCollection
      Returns:
      value of collider field
      See Also:
      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. *
    • setCollider

      public RigidBodyCollectionObject setCollider​(CollisionCollection newValue)
      Accessor method to assign CollisionCollectionObject instance (using a properly typed node) to initializeOnly SFNode field collider.
      Specified by:
      setCollider in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the collider field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      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. *
    • clearCollider

      public RigidBodyCollectionObject clearCollider()
      Utility method to clear SFNode value of collider field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • setCollider

      public RigidBodyCollectionObject setCollider​(ProtoInstanceObject newValue)
      Assign ProtoInstance (using a properly typed node) to initializeOnly SFNode field collider.
      Parameters:
      newValue - is new value for the collider field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      setCollider(CollisionCollection)
    • hasCollider

      public boolean hasCollider()
      Indicate whether an object is available for initializeOnly SFNode field collider.
      Returns:
      whether a properly typed node or ProtoInstance or CommentsBlock is available.
      See Also:
      getCollider(), getColliderProtoInstance()
    • getConstantForceMix

      public 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.
      Specified by:
      getConstantForceMix in interface RigidBodyCollection
      Returns:
      value of constantForceMix field
    • setConstantForceMix

      public RigidBodyCollectionObject 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.
      Specified by:
      setConstantForceMix in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the constantForceMix field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setConstantForceMix

      public RigidBodyCollectionObject setConstantForceMix​(SFFloatObject newValue)
      Assign typed object value to SFFloat constantForceMix field, similar to setConstantForceMix(float).
      Parameters:
      newValue - is new value for the constantForceMix field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setConstantForceMix

      public RigidBodyCollectionObject setConstantForceMix​(double newValue)
      Utility method: double-precision set-parameter accessor for X3D floating-point type, similar to setConstantForceMix(float).
      Parameters:
      newValue - is new value for field
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getContactSurfaceThickness

      public 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. *
      Specified by:
      getContactSurfaceThickness in interface RigidBodyCollection
      Returns:
      value of contactSurfaceThickness field
    • setContactSurfaceThickness

      public RigidBodyCollectionObject 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. *
      Specified by:
      setContactSurfaceThickness in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the contactSurfaceThickness field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setContactSurfaceThickness

      public RigidBodyCollectionObject setContactSurfaceThickness​(SFFloatObject newValue)
      Assign typed object value to SFFloat contactSurfaceThickness field, similar to setContactSurfaceThickness(float).
      Parameters:
      newValue - is new value for the contactSurfaceThickness field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setContactSurfaceThickness

      public RigidBodyCollectionObject setContactSurfaceThickness​(double newValue)
      Utility method: double-precision set-parameter accessor for X3D floating-point type, similar to setContactSurfaceThickness(float).
      Parameters:
      newValue - is new value for field
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDisableAngularSpeed

      public 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'.
      Specified by:
      getDisableAngularSpeed in interface RigidBodyCollection
      Returns:
      value of disableAngularSpeed field
    • setDisableAngularSpeed

      public RigidBodyCollectionObject 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'.
      Specified by:
      setDisableAngularSpeed in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the disableAngularSpeed field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setDisableAngularSpeed

      public RigidBodyCollectionObject setDisableAngularSpeed​(SFFloatObject newValue)
      Assign typed object value to SFFloat disableAngularSpeed field, similar to setDisableAngularSpeed(float).
      Parameters:
      newValue - is new value for the disableAngularSpeed field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setDisableAngularSpeed

      public RigidBodyCollectionObject setDisableAngularSpeed​(double newValue)
      Utility method: double-precision set-parameter accessor for X3D floating-point type, similar to setDisableAngularSpeed(float).
      Parameters:
      newValue - is new value for field
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDisableLinearSpeed

      public 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'.
      Specified by:
      getDisableLinearSpeed in interface RigidBodyCollection
      Returns:
      value of disableLinearSpeed field
    • setDisableLinearSpeed

      public RigidBodyCollectionObject 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'.
      Specified by:
      setDisableLinearSpeed in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the disableLinearSpeed field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setDisableLinearSpeed

      public RigidBodyCollectionObject setDisableLinearSpeed​(SFFloatObject newValue)
      Assign typed object value to SFFloat disableLinearSpeed field, similar to setDisableLinearSpeed(float).
      Parameters:
      newValue - is new value for the disableLinearSpeed field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setDisableLinearSpeed

      public RigidBodyCollectionObject setDisableLinearSpeed​(double newValue)
      Utility method: double-precision set-parameter accessor for X3D floating-point type, similar to setDisableLinearSpeed(float).
      Parameters:
      newValue - is new value for field
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDisableTime

      public 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.
      Specified by:
      getDisableTime in interface RigidBodyCollection
      Returns:
      value of disableTime field
    • setDisableTime

      public RigidBodyCollectionObject 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.
      Specified by:
      setDisableTime in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the disableTime field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setDisableTime

      public RigidBodyCollectionObject setDisableTime​(SFTimeObject newValue)
      Assign typed object value to SFTime disableTime field, similar to setDisableTime(double).
      Parameters:
      newValue - is new value for the disableTime field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getEnabled

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

      Tooltip: Enables/disables node operation. *
      Specified by:
      getEnabled in interface RigidBodyCollection
      Returns:
      value of enabled field
    • setEnabled

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

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

      public RigidBodyCollectionObject setEnabled​(SFBoolObject newValue)
      Assign typed object value to SFBool enabled field, similar to setEnabled(boolean).
      Parameters:
      newValue - is new value for the enabled field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getErrorCorrection

      public 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). *
      Specified by:
      getErrorCorrection in interface RigidBodyCollection
      Returns:
      value of errorCorrection field
    • setErrorCorrection

      public RigidBodyCollectionObject 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). *
      Specified by:
      setErrorCorrection in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the errorCorrection field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setErrorCorrection

      public RigidBodyCollectionObject setErrorCorrection​(SFFloatObject newValue)
      Assign typed object value to SFFloat errorCorrection field, similar to setErrorCorrection(float).
      Parameters:
      newValue - is new value for the errorCorrection field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setErrorCorrection

      public RigidBodyCollectionObject setErrorCorrection​(double newValue)
      Utility method: double-precision set-parameter accessor for X3D floating-point type, similar to setErrorCorrection(float).
      Parameters:
      newValue - is new value for field
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getGravity

      public 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). *
      Specified by:
      getGravity in interface RigidBodyCollection
      Returns:
      value of gravity field
    • setGravity

      public RigidBodyCollectionObject 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). *
      Specified by:
      setGravity in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the gravity field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setGravity

      public RigidBodyCollectionObject setGravity​(SFVec3fObject newValue)
      Assign typed object value to SFVec3f gravity field, similar to setGravity(float[]).
      Parameters:
      newValue - is new value for the gravity field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setGravity

      public RigidBodyCollectionObject setGravity​(float x, float y, float z)
      Assign values to SFVec3f gravity field, similar to setGravity(float[]).
      Parameters:
      x - first component
      y - second component
      z - third component
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setGravity

      public RigidBodyCollectionObject setGravity​(double x, double y, double z)
      Utility method: double-precision set-parameters accessor for X3D floating-point type, similar to setGravity(float[]).
      Parameters:
      x - first component
      y - second component
      z - third component
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setGravity

      public RigidBodyCollectionObject setGravity​(double[] newArray)
      Utility method: double-precision set-array accessor for X3D floating-point type, similar to setGravity(float[]).
      Parameters:
      newArray - is new value for field
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getIS

      public ISObject getIS()
      Provide ISObject instance (using a properly typed node) from inputOutput SFNode field IS.
      Specified by:
      getIS in class X3DConcreteNode
      Returns:
      value of IS field
      See Also:
      X3D Tooltips: IS, X3D Tooltips: connect
    • setIS

      public RigidBodyCollectionObject setIS​(ISObject newValue)
      Accessor method to assign ISObject instance (using a properly typed node) to inputOutput SFNode field IS.
      Specified by:
      setIS in class X3DConcreteNode
      Parameters:
      newValue - is new value for the IS field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      X3D Tooltips: IS, X3D Tooltips: connect
    • clearIS

      public RigidBodyCollectionObject clearIS()
      Utility method to clear SFNode value of IS field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • hasIS

      public boolean hasIS()
      Indicate whether an object is available for inputOutput SFNode field IS.
      Returns:
      whether a concrete statement or CommentsBlock is available.
      See Also:
      getIS()
    • getIterations

      public 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. *
      Specified by:
      getIterations in interface RigidBodyCollection
      Returns:
      value of iterations field
    • setIterations

      public RigidBodyCollectionObject 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. *
      Specified by:
      setIterations in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the iterations field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setIterations

      public RigidBodyCollectionObject setIterations​(SFInt32Object newValue)
      Assign typed object value to SFInt32 iterations field, similar to setIterations(int).
      Parameters:
      newValue - is new value for the iterations field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getJoints

      public X3DNode[] getJoints()
      Provide array of X3DRigidJointNode 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.
      Specified by:
      getJoints in interface RigidBodyCollection
      Returns:
      value of joints field
      See Also:
      X3DRigidJointNode
    • getJointsList

      public java.util.ArrayList<X3DNode> getJointsList()
      Utility method to get ArrayList value of MFNode joints field, similar to getJoints().
      Returns:
      value of joints field
    • setJoints

      public RigidBodyCollectionObject setJoints​(X3DNode[] newValue)
      Accessor method to assign X3DRigidJointNode 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.
      Specified by:
      setJoints in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the joints field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setJoints

      public RigidBodyCollectionObject setJoints​(java.util.ArrayList<X3DRigidJointNode> newValue)
      Assign ArrayList value of MFNode joints field, similar to setJoints(X3DNode[]).
      Parameters:
      newValue - is new value for the joints field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addJoints

      public RigidBodyCollectionObject addJoints​(X3DNode newValue)
      Add single child node to existing array of joints nodes (if any).

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

      public RigidBodyCollectionObject addJoints​(ProtoInstanceObject newValue)
      Add single ProtoInstanceObject (with appropriate node type and containerField value) to MFNode array for joints field.

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to ShaderPart and ProtoInstance.
      Parameters:
      newValue - is new value to be appended the parts field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addJoints

      public 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.
      Specified by:
      addJoints in interface RigidBodyCollection
      Parameters:
      newValue - is new value array to be appended the joints field.
    • setJoints

      public void setJoints​(X3DNode newValue)
      Set single child joints node, replacing prior array of existing nodes (if any).

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are restricted to X3DRigidJointNode.
      Specified by:
      setJoints in interface RigidBodyCollection
      Parameters:
      newValue - is new node for the joints field (restricted to X3DRigidJointNode)
    • clearJoints

      public RigidBodyCollectionObject clearJoints()
      Utility method to clear MFNode value of joints field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • hasJoints

      public boolean hasJoints()
      Indicate whether an object is available for inputOutput MFNode field joints.
      Returns:
      whether a properly typed node or ProtoInstance array or CommentsBlock is available.
      See Also:
      getJoints()
    • getMaxCorrectionSpeed

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

      Tooltip: [0,+infinity) or -1, maxCorrectionSpeed . *
      Specified by:
      getMaxCorrectionSpeed in interface RigidBodyCollection
      Returns:
      value of maxCorrectionSpeed field
    • setMaxCorrectionSpeed

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

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

      public RigidBodyCollectionObject setMaxCorrectionSpeed​(SFFloatObject newValue)
      Assign typed object value to SFFloat maxCorrectionSpeed field, similar to setMaxCorrectionSpeed(float).
      Parameters:
      newValue - is new value for the maxCorrectionSpeed field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setMaxCorrectionSpeed

      public RigidBodyCollectionObject setMaxCorrectionSpeed​(double newValue)
      Utility method: double-precision set-parameter accessor for X3D floating-point type, similar to setMaxCorrectionSpeed(float).
      Parameters:
      newValue - is new value for field
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMetadata

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

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

      public RigidBodyCollectionObject clearMetadata()
      Utility method to clear SFNode value of metadata field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • setMetadata

      public RigidBodyCollectionObject setMetadata​(ProtoInstanceObject newValue)
      Assign ProtoInstance (using a properly typed node) to inputOutput SFNode field metadata.
      Specified by:
      setMetadata in class X3DConcreteNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      setMetadata(X3DMetadataObject)
    • hasMetadata

      public boolean hasMetadata()
      Indicate whether an object is available for inputOutput SFNode field metadata.
      Returns:
      whether a properly typed node or ProtoInstance or CommentsBlock is available.
      See Also:
      getMetadata(), getMetadataProtoInstance(), X3D Scene Authoring Hints: Metadata Nodes
    • getPreferAccuracy

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

      Tooltip: preferAccuracy provides hint for performance preference: higher accuracy or faster computational speed. *
      Specified by:
      getPreferAccuracy in interface RigidBodyCollection
      Returns:
      value of preferAccuracy field
    • setPreferAccuracy

      public RigidBodyCollectionObject 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. *
      Specified by:
      setPreferAccuracy in interface RigidBodyCollection
      Parameters:
      newValue - is new value for the preferAccuracy field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setPreferAccuracy

      public RigidBodyCollectionObject setPreferAccuracy​(SFBoolObject newValue)
      Assign typed object value to SFBool preferAccuracy field, similar to setPreferAccuracy(boolean).
      Parameters:
      newValue - is new value for the preferAccuracy field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDEF

      public java.lang.String getDEF()
      Provide String value from inputOutput SFString field named DEF.

      Tooltip: DEF defines a unique ID name for this node, referenceable by other nodes.
      Overrides:
      getDEF in class X3DConcreteNode
      Returns:
      value of DEF field
      See Also:
      X3D Scene Authoring Hints: Naming Conventions
    • setDEF

      public final RigidBodyCollectionObject setDEF​(java.lang.String newValue)
      Accessor method to assign String value to inputOutput SFString field named DEF.

      Tooltip: DEF defines a unique ID name for this node, referenceable by other nodes.

      Note that setting the DEF value clears the USE value.
      Specified by:
      setDEF in class X3DConcreteNode
      Parameters:
      newValue - is new value for the DEF field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setDEF

      public RigidBodyCollectionObject setDEF​(SFStringObject newValue)
      Assign typed object value to SFString DEF field, similar to setDEF(String).
      Parameters:
      newValue - is new value for the DEF field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getUSE

      public java.lang.String getUSE()
      Provide String value from inputOutput SFString field named USE.

      Tooltip: USE means reuse an already DEF-ed node ID, excluding all child nodes and all other attributes (except for containerField, which can have a different value).
      • Hint: USE references to previously defined DEF geometry (instead of duplicating nodes) can improve performance.
      • Warning: do NOT include any child nodes, a DEF attribute, or any other attribute values (except for containerField) when defining a USE attribute.
      • Warning: each USE value must match a corresponding DEF value that is defined earlier in the scene.
      Overrides:
      getUSE in class X3DConcreteNode
      Returns:
      value of USE field
      See Also:
      X3D Scene Authoring Hints: Naming Conventions
    • setUSE

      public final RigidBodyCollectionObject setUSE​(java.lang.String newValue)
      Accessor method to assign String value to inputOutput SFString field named USE.

      Tooltip: USE means reuse an already DEF-ed node ID, excluding all child nodes and all other attributes (except for containerField, which can have a different value).
      • Hint: USE references to previously defined DEF geometry (instead of duplicating nodes) can improve performance.
      • Warning: do NOT include any child nodes, a DEF attribute, or any other attribute values (except for containerField) when defining a USE attribute.
      • Warning: each USE value must match a corresponding DEF value that is defined earlier in the scene.


      Note: each USE node is still an independent object, with the USE value matching the DEF value in the preceding object.

      Warning: invoking the setUSE() method on this node resets all other fields to their default values (except for containerField) and also releases all child nodes.

      Warning: no other operations can be performed to modify a USE node other than setting an alternate containerField value.
      Specified by:
      setUSE in class X3DConcreteNode
      Parameters:
      newValue - is new value for the USE field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setUSE

      public RigidBodyCollectionObject setUSE​(SFStringObject newValue)
      Assign typed object value to SFString USE field, similar to setUSE(String).
      Parameters:
      newValue - is new value for the USE field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getCssClass

      public java.lang.String getCssClass()
      Provide String value from inputOutput SFString field named class.

      Tooltip: The class attribute is a space-separated list of classes, reserved for use by CSS cascading stylesheets.
      • Warning: currently the class attribute is only supported in XML encoding of X3D scenes.
      • Hint: W3C Cascading Style Sheets https://www.w3.org/Style/CSS
      Overrides:
      getCssClass in class X3DConcreteNode
      Returns:
      value of class field
      See Also:
      W3C Cascading Style Sheets
    • setCssClass

      public final RigidBodyCollectionObject setCssClass​(java.lang.String newValue)
      Accessor method to assign String value to inputOutput SFString field named class.

      Tooltip: The class attribute is a space-separated list of classes, reserved for use by CSS cascading stylesheets.
      • Warning: currently the class attribute is only supported in XML encoding of X3D scenes.
      • Hint: W3C Cascading Style Sheets https://www.w3.org/Style/CSS
      Specified by:
      setCssClass in class X3DConcreteNode
      Parameters:
      newValue - is new value for the class field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      W3C Cascading Style Sheets
    • setCssClass

      public RigidBodyCollectionObject setCssClass​(SFStringObject newValue)
      Assign typed object value to SFString cssClass field, similar to setCssClass(String).
      Parameters:
      newValue - is new value for the class field.
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setUSE

      Assign a USE reference to another DEF node of same node type, similar to setUSE(String).

      Warning: note that the setUSE() method on this node resets all other fields to their default values (except for containerField) and also releases all child nodes.

      Warning: no other operations can be performed to modify a USE node other than setting an alternate containerField value.
      Parameters:
      DEFnode - must have a DEF value defined
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addComments

      public RigidBodyCollectionObject addComments​(java.lang.String newComment)
      Add comment as String to contained commentsList.
      Specified by:
      addComments in class X3DConcreteElement
      Parameters:
      newComment - initial value
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • addComments

      public RigidBodyCollectionObject addComments​(java.lang.String[] newComments)
      Add comments as String[] array to contained commentsList.
      Specified by:
      addComments in class X3DConcreteElement
      Parameters:
      newComments - array of comments
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • addComments

      public RigidBodyCollectionObject addComments​(CommentsBlock newCommentsBlock)
      Add CommentsBlock to contained commentsList.
      Specified by:
      addComments in class X3DConcreteElement
      Parameters:
      newCommentsBlock - block of comments to add
      Returns:
      RigidBodyCollectionObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • toStringX3D

      public java.lang.String toStringX3D​(int indentLevel)
      Recursive method to provide X3D string serialization of this model subgraph, utilizing XML encoding and conforming to X3D Canonical Form.
      Specified by:
      toStringX3D in class X3DConcreteElement
      Parameters:
      indentLevel - number of levels of indentation for this element
      Returns:
      X3D string
      See Also:
      X3DObject.FILE_EXTENSION_X3D, X3DObject.FILE_EXTENSION_XML, X3DObject.toStringXML(), X3DObject.toFileXML(String), X3DObject.toFileX3D(String), X3D XML Encoding, X3D Compressed Binary Encoding: X3D Canonical Form, X3D Canonicalization (C14N) Tool
    • toStringClassicVRML

      public java.lang.String toStringClassicVRML​(int indentLevel)
      Recursive method to provide ClassicVRML string serialization.
      Specified by:
      toStringClassicVRML in class X3DConcreteElement
      Parameters:
      indentLevel - number of levels of indentation for this element
      Returns:
      ClassicVRML string
      See Also:
      X3DObject.FILE_EXTENSION_CLASSICVRML, X3D Resources: Virtual Reality Modeling Language (VRML) 97, Extensible 3D (X3D) encodings Part 2: Classic VRML encoding, Extensible 3D (X3D) encodings Part 2: Classic VRML encoding, Annex A: Grammar
    • toStringVRML97

      public java.lang.String toStringVRML97​(int indentLevel)
      Recursive method to provide VRML97 string serialization.
      Specified by:
      toStringVRML97 in class X3DConcreteElement
      Parameters:
      indentLevel - number of levels of indentation for this element
      Returns:
      VRML97 string
      See Also:
      X3DObject.FILE_EXTENSION_VRML97, X3D Resources: Virtual Reality Modeling Language (VRML) 97, Virtual Reality Modeling Language (VRML) 97 specification, VRML 97 v2.1 Amendment
    • findElementByNameValue

      public X3DConcreteElement findElementByNameValue​(java.lang.String nameValue)
      Recursive method to provide object reference to node or statement by name attribute, if found as part of this element or in a contained element. Elements with name fields include meta, Metadata* nodes, field/fieldValue, ProtoDeclare/ExternProtoDeclare/ProtoInstance, CAD and HAnim nodes.

      Warning: first start with findAncestorSceneObject() to check entire scene graph, or findAncestorX3DObject() to check entire model document.

      Warning: more than one element may be found that has the same name, this method does not handle that case.
      Specified by:
      findElementByNameValue in class X3DConcreteElement
      Parameters:
      nameValue - is value of the name field being searched for in this element and child elements(if any)
      Returns:
      object reference to found element, null otherwise
      See Also:
      findNodeByDEF(String), X3DConcreteElement.hasAncestorSceneObject(), X3DConcreteElement.findAncestorX3DObject()
    • findElementByNameValue

      public X3DConcreteElement findElementByNameValue​(java.lang.String nameValue, java.lang.String elementName)
      Recursive method to provide object reference to node or statement by name attribute, if found as part of this element or in a contained element. Elements with name fields include meta, Metadata* nodes, field/fieldValue, ProtoDeclare/ExternProtoDeclare/ProtoInstance, CAD and HAnim nodes.

      Warning: first start with findAncestorSceneObject() to check entire scene graph, or findAncestorX3DObject() to check entire model document.

      Warning: more than one element may be found that has the same name, this method does not handle that case.
      Specified by:
      findElementByNameValue in class X3DConcreteElement
      Parameters:
      nameValue - is value of the name field being searched for in this element and child elements(if any)
      elementName - identifies the element of interest (meta MetadataString ProtoDeclare CADassembly ProtoInstance HAnimHumanoid etc.)
      Returns:
      object reference to found element, null otherwise
      See Also:
      findNodeByDEF(String), X3DConcreteElement.hasAncestorSceneObject(), X3DConcreteElement.findAncestorX3DObject()
    • hasElementByNameValue

      public boolean hasElementByNameValue​(java.lang.String nameValue, java.lang.String elementName)
      Recursive method to determine whether node or statement with given name attribute is found, meaning both objects are attached to same scene graph.
      Parameters:
      nameValue - is value of the name field being searched for in this element and child elements(if any)
      elementName - identifies the element of interest (meta MetadataString ProtoDeclare CADassembly ProtoInstance HAnimHumanoid etc.)
      Returns:
      whether node is found
      See Also:
      findElementByNameValue(String, String)
    • findNodeByDEF

      public X3DConcreteNode findNodeByDEF​(java.lang.String DEFvalue)
      Recursive method to provide object reference to node by DEF, if found as this node or in a contained node.

      Warning: first start with findAncestorSceneObject() to check entire scene graph, or findAncestorX3DObject() to check entire model document.

      Warning: more than one element may be found that has the same DEF, this method does not handle that case.
      Specified by:
      findNodeByDEF in class X3DConcreteElement
      Parameters:
      DEFvalue - is value of the name field being searched for in this element and child elements(if any)
      Returns:
      object reference to found node, null otherwise
      See Also:
      findElementByNameValue(String), X3DConcreteElement.hasAncestorSceneObject(), X3DConcreteElement.findAncestorX3DObject()
    • hasNodeByDEF

      public boolean hasNodeByDEF​(java.lang.String DEFvalue)
      Recursive method to determine whether node with DEFvalue is found, meaning both objects are attached to same scene graph.
      Parameters:
      DEFvalue - is value of the name field being searched for in this element and child elements(if any)
      Returns:
      whether node is found
      See Also:
      findNodeByDEF(String)
    • validate

      public java.lang.String validate()
      Recursive method to validate this element plus all contained nodes and statements, using both datatype-specification value checks and regular expression (regex) checking of corresponding string values.
      Specified by:
      validate in class X3DConcreteElement
      Returns:
      validation results (if any)