Class RigidBodyObject

java.lang.Object
org.web3d.x3d.jsail.X3DConcreteElement
org.web3d.x3d.jsail.X3DConcreteNode
org.web3d.x3d.jsail.RigidBodyPhysics.RigidBodyObject
All Implemented Interfaces:
X3DNode, RigidBody

public class RigidBodyObject
extends X3DConcreteNode
implements RigidBody
RigidBody describes a collection of shapes with a mass distribution that is affected by the physics model.

X3D node tooltip: (X3D version 3.2 or later) [X3DNode] RigidBody describes a collection of shapes with a mass distribution that is affected by the physics model. Contains a Sphere, Box, or Cone (containerField='massDensityModel') and multiple CollidableOffset or CollidableShape nodes (containerField='geometry') for animating collidable geometry. *


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: RigidBody, X3D Tooltips: RigidBody, X3D Scene Authoring Hints
  • Field Details

  • Constructor Details

    • RigidBodyObject

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

      public RigidBodyObject​(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: RigidBody
      Specified by:
      getElementName in class X3DConcreteElement
      Returns:
      name of this element
    • getComponent

      public final java.lang.String getComponent()
      Defines X3D component for the RigidBody 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
    • getAngularDampingFactor

      public float getAngularDampingFactor()
      Provide float value from inputOutput SFFloat field named angularDampingFactor.

      Tooltip: [0,1] angularDampingFactor automatically damps a portion of body motion over time. *
      Specified by:
      getAngularDampingFactor in interface RigidBody
      Returns:
      value of angularDampingFactor field
    • setAngularDampingFactor

      public RigidBodyObject setAngularDampingFactor​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named angularDampingFactor.

      Tooltip: [0,1] angularDampingFactor automatically damps a portion of body motion over time. *
      Specified by:
      setAngularDampingFactor in interface RigidBody
      Parameters:
      newValue - is new value for the angularDampingFactor field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setAngularDampingFactor

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

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

      public float[] getAngularVelocity()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named angularVelocity.

      Tooltip: angularVelocity sets constant velocity value to object every frame, and reports updates by physics model.
      • Hint: initial value only applied during first frame if forces applied.
      • Warning: instantaneous velocity changes may lead to numerical instability.
      Specified by:
      getAngularVelocity in interface RigidBody
      Returns:
      value of angularVelocity field
    • setAngularVelocity

      public RigidBodyObject setAngularVelocity​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named angularVelocity.

      Tooltip: angularVelocity sets constant velocity value to object every frame, and reports updates by physics model.
      • Hint: initial value only applied during first frame if forces applied.
      • Warning: instantaneous velocity changes may lead to numerical instability.
      Specified by:
      setAngularVelocity in interface RigidBody
      Parameters:
      newValue - is new value for the angularVelocity field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setAngularVelocity

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

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

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

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

      public boolean getAutoDamp()
      Provide boolean value from inputOutput SFBool field named autoDamp.

      Tooltip: autoDamp enables/disables angularDampingFactor and linearDampingFactor. *
      Specified by:
      getAutoDamp in interface RigidBody
      Returns:
      value of autoDamp field
    • setAutoDamp

      public RigidBodyObject setAutoDamp​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named autoDamp.

      Tooltip: autoDamp enables/disables angularDampingFactor and linearDampingFactor. *
      Specified by:
      setAutoDamp in interface RigidBody
      Parameters:
      newValue - is new value for the autoDamp field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setAutoDamp

      public RigidBodyObject setAutoDamp​(SFBoolObject newValue)
      Assign typed object value to SFBool autoDamp field, similar to setAutoDamp(boolean).
      Parameters:
      newValue - is new value for the autoDamp field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • 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 RigidBody
      Returns:
      value of autoDisable field
    • setAutoDisable

      public RigidBodyObject 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 RigidBody
      Parameters:
      newValue - is new value for the autoDisable field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setAutoDisable

      public RigidBodyObject 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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getCenterOfMass

      public float[] getCenterOfMass()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named centerOfMass.

      Tooltip: centerOfMass defines local center of mass for physics calculations. *
      Specified by:
      getCenterOfMass in interface RigidBody
      Returns:
      value of centerOfMass field
    • setCenterOfMass

      public RigidBodyObject setCenterOfMass​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named centerOfMass.

      Tooltip: centerOfMass defines local center of mass for physics calculations. *
      Specified by:
      setCenterOfMass in interface RigidBody
      Parameters:
      newValue - is new value for the centerOfMass field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setCenterOfMass

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

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

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

      public RigidBodyObject setCenterOfMass​(double[] newArray)
      Utility method: double-precision set-array accessor for X3D floating-point type, similar to setCenterOfMass(float[]).
      Parameters:
      newArray - is new value for field
      Returns:
      RigidBodyObject - 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 RigidBody
      Returns:
      value of disableAngularSpeed field
    • setDisableAngularSpeed

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

      public RigidBodyObject 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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setDisableAngularSpeed

      public RigidBodyObject 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:
      RigidBodyObject - 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 RigidBody
      Returns:
      value of disableLinearSpeed field
    • setDisableLinearSpeed

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

      public RigidBodyObject 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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setDisableLinearSpeed

      public RigidBodyObject 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:
      RigidBodyObject - 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 RigidBody
      Returns:
      value of disableTime field
    • setDisableTime

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

      public RigidBodyObject 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:
      RigidBodyObject - 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 RigidBody
      Returns:
      value of enabled field
    • setEnabled

      public RigidBodyObject 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 RigidBody
      Parameters:
      newValue - is new value for the enabled field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setEnabled

      public RigidBodyObject 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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getFiniteRotationAxis

      public float[] getFiniteRotationAxis()
      Provide array of 3-tuple float results unit axis, angle (in radians) from inputOutput SFVec3f field named finiteRotationAxis.

      Tooltip: finiteRotationAxis specifies vector around which the object rotates. *
      Specified by:
      getFiniteRotationAxis in interface RigidBody
      Returns:
      value of finiteRotationAxis field
    • setFiniteRotationAxis

      public RigidBodyObject setFiniteRotationAxis​(float[] newValue)
      Accessor method to assign 3-tuple float array unit axis, angle (in radians) to inputOutput SFVec3f field named finiteRotationAxis.

      Tooltip: finiteRotationAxis specifies vector around which the object rotates. *
      Specified by:
      setFiniteRotationAxis in interface RigidBody
      Parameters:
      newValue - is new value for the finiteRotationAxis field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setFiniteRotationAxis

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

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

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

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

      public boolean getFixed()
      Provide boolean value from inputOutput SFBool field named fixed.

      Tooltip: fixed indicates whether body is able to move.
      • Hint: fixed is useful for indicating objects that do not move: walls, ground, etc.
      Specified by:
      getFixed in interface RigidBody
      Returns:
      value of fixed field
    • setFixed

      public RigidBodyObject setFixed​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named fixed.

      Tooltip: fixed indicates whether body is able to move.
      • Hint: fixed is useful for indicating objects that do not move: walls, ground, etc.
      Specified by:
      setFixed in interface RigidBody
      Parameters:
      newValue - is new value for the fixed field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setFixed

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

      public float[] getForces()
      Provide array of 3-tuple float results from inputOutput MFVec3f field named forces.

      Tooltip: forces defines linear force values applied to the object every frame. *
      Specified by:
      getForces in interface RigidBody
      Returns:
      value of forces field
    • setForces

      public RigidBodyObject setForces​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput MFVec3f field named forces.

      Tooltip: forces defines linear force values applied to the object every frame. *
      Specified by:
      setForces in interface RigidBody
      Parameters:
      newValue - is new value for the forces field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setForces

      public RigidBodyObject setForces​(MFVec3fObject newValue)
      Assign typed object value to MFVec3f forces field, similar to setForces(float[]).
      Parameters:
      newValue - is new value for the forces field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addForces

      public RigidBodyObject addForces​(SFVec3fObject newValue)
      Add singleton SFVec3fObject value to MFVec3f forces field.
      Parameters:
      newValue - is new value to add to the forces field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setForces

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

      public X3DNode[] getGeometry()
      Provide array of X3DNBodyCollidableNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field geometry.

      Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DNBodyCollidableNode.
      Specified by:
      getGeometry in interface RigidBody
      Returns:
      value of geometry field
      See Also:
      X3DNBodyCollidableNode
    • getGeometryList

      public java.util.ArrayList<X3DNode> getGeometryList()
      Utility method to get ArrayList value of MFNode geometry field, similar to getGeometry().
      Returns:
      value of geometry field
    • setGeometry

      public RigidBodyObject setGeometry​(X3DNode[] newValue)
      Accessor method to assign X3DNBodyCollidableNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field geometry.

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DNBodyCollidableNode.
      Specified by:
      setGeometry in interface RigidBody
      Parameters:
      newValue - is new value for the geometry field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setGeometry

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

      public RigidBodyObject addGeometry​(X3DNode newValue)
      Add single child node to existing array of geometry nodes (if any).

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

      public RigidBodyObject addGeometry​(ProtoInstanceObject newValue)
      Add single ProtoInstanceObject (with appropriate node type and containerField value) to MFNode array for geometry 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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addGeometry

      public void addGeometry​(X3DNode[] newValue)
      Add array of child geometry nodes to array of existing nodes (if any).

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DNBodyCollidableNode.
      Specified by:
      addGeometry in interface RigidBody
      Parameters:
      newValue - is new value array to be appended the geometry field.
    • setGeometry

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

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

      public RigidBodyObject clearGeometry()
      Utility method to clear MFNode value of geometry field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • hasGeometry

      public boolean hasGeometry()
      Indicate whether an object is available for inputOutput MFNode field geometry.
      Returns:
      whether a properly typed node or ProtoInstance array or CommentsBlock is available.
      See Also:
      getGeometry()
    • getInertia

      public float[] getInertia()
      Provide array of float results from inputOutput SFMatrix3f field named inertia.

      Tooltip: inertia matrix defines a 3x2 inertia tensor matrix.
      • Warning: only the first 6 values are used.
      Specified by:
      getInertia in interface RigidBody
      Returns:
      value of inertia field
    • setInertia

      public RigidBodyObject setInertia​(float[] newValue)
      Accessor method to assign float array to inputOutput SFMatrix3f field named inertia.

      Tooltip: inertia matrix defines a 3x2 inertia tensor matrix.
      • Warning: only the first 6 values are used.
      Specified by:
      setInertia in interface RigidBody
      Parameters:
      newValue - is new value for the inertia field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setInertia

      public RigidBodyObject setInertia​(SFMatrix3fObject newValue)
      Assign typed object value to SFMatrix3f inertia field, similar to setInertia(float[]).
      Parameters:
      newValue - is new value for the inertia field.
      Returns:
      RigidBodyObject - 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 RigidBodyObject 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:
      RigidBodyObject - 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 RigidBodyObject clearIS()
      Utility method to clear SFNode value of IS field.
      Returns:
      RigidBodyObject - 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()
    • getLinearDampingFactor

      public float getLinearDampingFactor()
      Provide float value from inputOutput SFFloat field named linearDampingFactor.

      Tooltip: [0,1] linearDampingFactor automatically damps a portion of body motion over time. *
      Specified by:
      getLinearDampingFactor in interface RigidBody
      Returns:
      value of linearDampingFactor field
    • setLinearDampingFactor

      public RigidBodyObject setLinearDampingFactor​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named linearDampingFactor.

      Tooltip: [0,1] linearDampingFactor automatically damps a portion of body motion over time. *
      Specified by:
      setLinearDampingFactor in interface RigidBody
      Parameters:
      newValue - is new value for the linearDampingFactor field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setLinearDampingFactor

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

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

      public float[] getLinearVelocity()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named linearVelocity.

      Tooltip: linearVelocity sets constant velocity value to object every frame, and reports updates by physics model.
      • Hint: initial value only applied during first frame if forces applied.
      • Warning: instantaneous velocity changes may lead to numerical instability.
      Specified by:
      getLinearVelocity in interface RigidBody
      Returns:
      value of linearVelocity field
    • setLinearVelocity

      public RigidBodyObject setLinearVelocity​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named linearVelocity.

      Tooltip: linearVelocity sets constant velocity value to object every frame, and reports updates by physics model.
      • Hint: initial value only applied during first frame if forces applied.
      • Warning: instantaneous velocity changes may lead to numerical instability.
      Specified by:
      setLinearVelocity in interface RigidBody
      Parameters:
      newValue - is new value for the linearVelocity field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setLinearVelocity

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

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

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

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

      public float getMass()
      Provide float value from inputOutput SFFloat field named mass.

      Tooltip: (0,1] mass of the body in kilograms.
      Specified by:
      getMass in interface RigidBody
      Returns:
      value of mass field
    • setMass

      public RigidBodyObject setMass​(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named mass.

      Tooltip: (0,1] mass of the body in kilograms.
      Specified by:
      setMass in interface RigidBody
      Parameters:
      newValue - is new value for the mass field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setMass

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

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

      public X3DNode getMassDensityModel()
      Provide X3DNode instance (using a properly typed node) with acceptable node types limited to Sphere|Box|Cone, from inputOutput SFNode field massDensityModel.
      Specified by:
      getMassDensityModel in interface RigidBody
      Returns:
      value of massDensityModel field
      See Also:
      getMassDensityModelProtoInstance()
    • setMassDensityModel

      public RigidBodyObject setMassDensityModel​(X3DNode newValue)
      Accessor method to assign X3DNode instance (using a properly typed node) to inputOutput SFNode field massDensityModel. // newValueInstanceAcceptableNodeTypesTest checks are needed for methods that override/subset X3DNode interfaces #1 boolean isNodeTypeAllowed = (((X3DConcreteNode)newValue) instanceof org.web3d.x3d.jsail.Geometry3D.SphereObject) || (((X3DConcreteNode)newValue) instanceof org.web3d.x3d.jsail.Geometry3D.BoxObject) || (((X3DConcreteNode)newValue) instanceof org.web3d.x3d.jsail.Geometry3D.ConeObject); if (!isNodeTypeAllowed) { throw new org.web3d.x3d.sai.InvalidFieldValueException("X3DNode newValue is not instanceof " + "acceptableNodeTypes Sphere|Box|Cone; newValue=" + newValue); }
      Specified by:
      setMassDensityModel in interface RigidBody
      Parameters:
      newValue - is new value for the massDensityModel field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      setMassDensityModel(ProtoInstanceObject)
    • clearMassDensityModel

      public RigidBodyObject clearMassDensityModel()
      Utility method to clear SFNode value of massDensityModel field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • setMassDensityModel

      public RigidBodyObject setMassDensityModel​(ProtoInstanceObject newValue)
      Assign ProtoInstance (using a properly typed node) to inputOutput SFNode field massDensityModel.
      Parameters:
      newValue - is new value for the massDensityModel field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      setMassDensityModel(X3DNode)
    • hasMassDensityModel

      public boolean hasMassDensityModel()
      Indicate whether an object is available for inputOutput SFNode field massDensityModel.
      Returns:
      whether a properly typed node or ProtoInstance or CommentsBlock is available.
      See Also:
      getMassDensityModel(), getMassDensityModelProtoInstance()
    • getMetadata

      public X3DMetadataObject getMetadata()
      Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
      Specified by:
      getMetadata in interface RigidBody
      Specified by:
      getMetadata in interface X3DNode
      Returns:
      value of metadata field
      See Also:
      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 , X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

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

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

      public RigidBodyObject 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:
      RigidBodyObject - 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
    • getOrientation

      public float[] getOrientation()
      Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named orientation.

      Tooltip: orientation sets body direction in world space, then reports physics updates. *
      Specified by:
      getOrientation in interface RigidBody
      Returns:
      value of orientation field
    • setOrientation

      public RigidBodyObject setOrientation​(float[] newValue)
      Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named orientation.

      Tooltip: orientation sets body direction in world space, then reports physics updates. *
      Specified by:
      setOrientation in interface RigidBody
      Parameters:
      newValue - is new value for the orientation field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setOrientation

      public RigidBodyObject setOrientation​(SFRotationObject newValue)
      Assign typed object value to SFRotation orientation field, similar to setOrientation(float[]).
      Parameters:
      newValue - is new value for the orientation field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setOrientation

      public RigidBodyObject setOrientation​(float x, float y, float z, float angleRadians)
      Assign values to SFRotation orientation field, similar to setOrientation(float[]).
      Parameters:
      x - first component of axis
      y - second component of axis
      z - third component of axis
      angleRadians - fourth component of rotation around axis
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setOrientation

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

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

      public float[] getPosition()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named position.

      Tooltip: position sets body location in world space, then reports physics updates. *
      Specified by:
      getPosition in interface RigidBody
      Returns:
      value of position field
    • setPosition

      public RigidBodyObject setPosition​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named position.

      Tooltip: position sets body location in world space, then reports physics updates. *
      Specified by:
      setPosition in interface RigidBody
      Parameters:
      newValue - is new value for the position field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setPosition

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

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

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

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

      public float[] getTorques()
      Provide array of 3-tuple float results from inputOutput MFVec3f field named torques.

      Tooltip: torques defines rotational force values applied to the object every frame. *
      Specified by:
      getTorques in interface RigidBody
      Returns:
      value of torques field
    • setTorques

      public RigidBodyObject setTorques​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput MFVec3f field named torques.

      Tooltip: torques defines rotational force values applied to the object every frame. *
      Specified by:
      setTorques in interface RigidBody
      Parameters:
      newValue - is new value for the torques field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setTorques

      public RigidBodyObject setTorques​(MFVec3fObject newValue)
      Assign typed object value to MFVec3f torques field, similar to setTorques(float[]).
      Parameters:
      newValue - is new value for the torques field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addTorques

      public RigidBodyObject addTorques​(SFVec3fObject newValue)
      Add singleton SFVec3fObject value to MFVec3f torques field.
      Parameters:
      newValue - is new value to add to the torques field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setTorques

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

      public boolean getUseFiniteRotation()
      Provide boolean value unit axis, angle (in radians) from inputOutput SFBool field named useFiniteRotation.

      Tooltip: useFiniteRotation enables/disables higher-resolution, higher-cost computational method for calculating rotations. *
      Specified by:
      getUseFiniteRotation in interface RigidBody
      Returns:
      value of useFiniteRotation field
    • setUseFiniteRotation

      public RigidBodyObject setUseFiniteRotation​(boolean newValue)
      Accessor method to assign boolean value unit axis, angle (in radians) to inputOutput SFBool field named useFiniteRotation.

      Tooltip: useFiniteRotation enables/disables higher-resolution, higher-cost computational method for calculating rotations. *
      Specified by:
      setUseFiniteRotation in interface RigidBody
      Parameters:
      newValue - is new value for the useFiniteRotation field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setUseFiniteRotation

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

      public boolean getUseGlobalGravity()
      Provide boolean value from inputOutput SFBool field named useGlobalGravity.

      Tooltip: useGlobalGravity indicates whether this particular body is influenced by parent RigidBodyCollection's gravity setting.
      • Hint: contained sub-bodies are not affected by this setting.
      Specified by:
      getUseGlobalGravity in interface RigidBody
      Returns:
      value of useGlobalGravity field
    • setUseGlobalGravity

      public RigidBodyObject setUseGlobalGravity​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named useGlobalGravity.

      Tooltip: useGlobalGravity indicates whether this particular body is influenced by parent RigidBodyCollection's gravity setting.
      • Hint: contained sub-bodies are not affected by this setting.
      Specified by:
      setUseGlobalGravity in interface RigidBody
      Parameters:
      newValue - is new value for the useGlobalGravity field.
      Returns:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setUseGlobalGravity

      public RigidBodyObject setUseGlobalGravity​(SFBoolObject newValue)
      Assign typed object value to SFBool useGlobalGravity field, similar to setUseGlobalGravity(boolean).
      Parameters:
      newValue - is new value for the useGlobalGravity field.
      Returns:
      RigidBodyObject - 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 RigidBodyObject 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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setDEF

      public RigidBodyObject 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:
      RigidBodyObject - 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 RigidBodyObject 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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setUSE

      public RigidBodyObject 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:
      RigidBodyObject - 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 RigidBodyObject 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:
      RigidBodyObject - 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 RigidBodyObject 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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • setUSE

      public RigidBodyObject setUSE​(RigidBodyObject DEFnode)
      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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addComments

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

      public RigidBodyObject 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:
      RigidBodyObject - namely this same object to allow sequential method pipelining (i.e. consecutive setAttribute method invocations).
    • addComments

      public RigidBodyObject addComments​(CommentsBlock newCommentsBlock)
      Add CommentsBlock to contained commentsList.
      Specified by:
      addComments in class X3DConcreteElement
      Parameters:
      newCommentsBlock - block of comments to add
      Returns:
      RigidBodyObject - 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)