Interface GeoTransform

All Superinterfaces:
X3DBoundedObject, X3DChildNode, X3DGroupingNode, X3DNode
All Known Implementing Classes:
GeoTransform

public interface GeoTransform
extends X3DGroupingNode
GeoTransform is a Grouping node that can contain most nodes.

X3D node tooltip: [X3DGroupingNode,X3DVisibleObject] GeoTransform is a Grouping node that can contain most nodes. GeoTransform translates, orients and scales GeoCoordinate geometry within the local world coordinate system. GeoTransform coordinate system X-Z plane is tangent to ellipsoid of local spatial reference frame.
  • Hint: +Y axis is up.
  • Hint: insert a Shape node before adding geometry or Appearance.
  • Hint: X3D for Advanced Modeling (X3D4AM) slideset https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/GeospatialComponentX3dEarth.pdf
  • Warning: requires X3D profile='Full' or else include <component name='Geospatial' level='2'/>
  • Warning: avoid having GeoLocation or GeoTransform as a parent or ancestor node of each other, since multiple geospatial transformations then occur with unpredictable results.

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

    Modifier and Type Method Description
    void addChildren​(X3DNode[] newValue)
    Add array of children nodes to array of existing nodes (if any).
    float[] getBboxCenter()
    Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.
    boolean getBboxDisplay()
    Provide boolean value from inputOutput SFBool field named bboxDisplay.
    float[] getBboxSize()
    Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.
    X3DNode[] getChildren()
    Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field children.
    double[] getGeoCenter()
    Provide array of 3-tuple double results from inputOutput SFVec3d field named geoCenter.
    GeoOrigin getGeoOrigin()
    Provide org.web3d.x3d.sai.Geospatial.GeoOrigin instance (using a properly typed node) (deprecated node, optional) from initializeOnly SFNode field geoOrigin.
    java.lang.String[] getGeoSystem()
    Provide array of String results from initializeOnly MFString field named geoSystem.
    X3DMetadataObject getMetadata()
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    float[] getRotation()
    Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named rotation.
    float[] getScale()
    Provide array of 3-tuple float results within allowed range of (0,infinity) from inputOutput SFVec3f field named scale.
    float[] getScaleOrientation()
    Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named scaleOrientation.
    float[] getTranslation()
    Provide array of 3-tuple float results from inputOutput SFVec3f field named translation.
    boolean getVisible()
    Provide boolean value from inputOutput SFBool field named visible.
    GeoTransform setBboxCenter​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
    GeoTransform setBboxDisplay​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named bboxDisplay.
    GeoTransform setBboxSize​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.
    void setChildren​(X3DNode newValue)
    Set single children node, replacing prior array of existing nodes (if any).
    GeoTransform setChildren​(X3DNode[] newValue)
    Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field children.
    GeoTransform setGeoCenter​(double[] newValue)
    Accessor method to assign 3-tuple double array to inputOutput SFVec3d field named geoCenter.
    GeoTransform setGeoOrigin​(GeoOrigin newValue)
    Accessor method to assign org.web3d.x3d.sai.Geospatial.GeoOrigin instance (using a properly typed node) to initializeOnly SFNode field geoOrigin.
    GeoTransform setGeoSystem​(java.lang.String[] newValue)
    Accessor method to assign String array to initializeOnly MFString field named geoSystem.
    GeoTransform setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    GeoTransform setRotation​(float[] newValue)
    Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named rotation.
    GeoTransform setScale​(float[] newValue)
    Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named scale.
    GeoTransform setScaleOrientation​(float[] newValue)
    Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named scaleOrientation.
    GeoTransform setTranslation​(float[] newValue)
    Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named translation.
    GeoTransform setVisible​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named visible.
  • Method Details

    • getBboxCenter

      float[] getBboxCenter()
      Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.

      Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
      Specified by:
      getBboxCenter in interface X3DBoundedObject
      Specified by:
      getBboxCenter in interface X3DGroupingNode
      Returns:
      value of bboxCenter field
    • setBboxCenter

      GeoTransform setBboxCenter​(float[] newValue)
      Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.

      Tooltip: Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
      Specified by:
      setBboxCenter in interface X3DBoundedObject
      Specified by:
      setBboxCenter in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the bboxCenter field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getBboxDisplay

      boolean getBboxDisplay()
      Provide boolean value from inputOutput SFBool field named bboxDisplay.

      Tooltip: Whether to display bounding box for associated geometry, aligned with world coordinates.
      • Hint: the bounding box is displayed regardless of whether contained content is visible.
      Specified by:
      getBboxDisplay in interface X3DBoundedObject
      Specified by:
      getBboxDisplay in interface X3DGroupingNode
      Returns:
      value of bboxDisplay field
    • setBboxDisplay

      GeoTransform setBboxDisplay​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named bboxDisplay.

      Tooltip: Whether to display bounding box for associated geometry, aligned with world coordinates.
      • Hint: the bounding box is displayed regardless of whether contained content is visible.
      Specified by:
      setBboxDisplay in interface X3DBoundedObject
      Specified by:
      setBboxDisplay in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the bboxDisplay field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getBboxSize

      float[] getBboxSize()
      Provide array of 3-tuple float results within allowed range of [0,infinity), or default value [-1 -1 -1], from initializeOnly SFVec3f field named bboxSize.

      Tooltip: or [0,+infinity) Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
      Specified by:
      getBboxSize in interface X3DBoundedObject
      Specified by:
      getBboxSize in interface X3DGroupingNode
      Returns:
      value of bboxSize field
    • setBboxSize

      GeoTransform setBboxSize​(float[] newValue)
      Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.

      Tooltip: or [0,+infinity) Bounding box size is usually omitted, and can easily be calculated automatically by an X3D player at scene-loading time with minimal computational cost. Bounding box size can also be defined as an optional authoring hint that suggests an optimization or constraint.
      Specified by:
      setBboxSize in interface X3DBoundedObject
      Specified by:
      setBboxSize in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the bboxSize field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getChildren

      X3DNode[] getChildren()
      Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field children.

      Tooltip: [X3DChildNode] Grouping nodes contain an ordered list of children nodes.
      • Hint: Each grouping node defines a coordinate space for its children, relative to the coordinate space of its parent node. Thus transformations accumulate down the scene graph hierarchy.
      • Hint: inputOnly MFNode addChildren field can append new X3DChildNode nodes via a ROUTE connection, duplicate input nodes (i.e. matching DEF, USE values) are ignored.
      • Hint: inputOnly MFNode removeChildren field can remove nodes from the children list, unrecognized input nodes (i.e. nonmatching DEF, USE values) are ignored.
      • Hint: X3D Architecture 10.2.1 Grouping and children node types, https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/Part01/components/grouping.html#GroupingAndChildrenNodes


      Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DChildNode.
      Specified by:
      getChildren in interface X3DGroupingNode
      Returns:
      value of children field
      See Also:
      X3DChildNode
    • setChildren

      GeoTransform setChildren​(X3DNode[] newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field children.

      Tooltip: [X3DChildNode] Grouping nodes contain an ordered list of children nodes.
      • Hint: Each grouping node defines a coordinate space for its children, relative to the coordinate space of its parent node. Thus transformations accumulate down the scene graph hierarchy.
      • Hint: inputOnly MFNode addChildren field can append new X3DChildNode nodes via a ROUTE connection, duplicate input nodes (i.e. matching DEF, USE values) are ignored.
      • Hint: inputOnly MFNode removeChildren field can remove nodes from the children list, unrecognized input nodes (i.e. nonmatching DEF, USE values) are ignored.
      • Hint: X3D Architecture 10.2.1 Grouping and children node types, https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-WD2/Part01/components/grouping.html#GroupingAndChildrenNodes


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

      void addChildren​(X3DNode[] newValue)
      Add array of children nodes to array of existing nodes (if any).

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DChildNode.
      Specified by:
      addChildren in interface X3DGroupingNode
      Parameters:
      newValue - is new value array to be appended the children field.
    • setChildren

      void setChildren​(X3DNode newValue)
      Set single children node, replacing prior array of existing nodes (if any).
      Specified by:
      setChildren in interface X3DGroupingNode
      Parameters:
      newValue - is new node for the children field
    • getGeoCenter

      double[] getGeoCenter()
      Provide array of 3-tuple double results from inputOutput SFVec3d field named geoCenter.

      Tooltip: Translation offset from origin of local coordinate system, applied prior to rotation or scaling.
      Returns:
      value of geoCenter field
    • setGeoCenter

      GeoTransform setGeoCenter​(double[] newValue)
      Accessor method to assign 3-tuple double array to inputOutput SFVec3d field named geoCenter.

      Tooltip: Translation offset from origin of local coordinate system, applied prior to rotation or scaling.
      Parameters:
      newValue - is new value for the geoCenter field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getGeoOrigin

      GeoOrigin getGeoOrigin()
      Provide org.web3d.x3d.sai.Geospatial.GeoOrigin instance (using a properly typed node) (deprecated node, optional) from initializeOnly SFNode field geoOrigin.

      Tooltip: [GeoOrigin] Single contained GeoOrigin node that specifies a local coordinate frame for extended precision.
      Returns:
      value of geoOrigin field
    • setGeoOrigin

      GeoTransform setGeoOrigin​(GeoOrigin newValue)
      Accessor method to assign org.web3d.x3d.sai.Geospatial.GeoOrigin instance (using a properly typed node) to initializeOnly SFNode field geoOrigin.

      Tooltip: [GeoOrigin] Single contained GeoOrigin node that specifies a local coordinate frame for extended precision.
      Parameters:
      newValue - is new value for the geoOrigin field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getGeoSystem

      java.lang.String[] getGeoSystem()
      Provide array of String results from initializeOnly MFString field named geoSystem.
      Returns:
      value of geoSystem field
    • setGeoSystem

      GeoTransform setGeoSystem​(java.lang.String[] newValue)
      Accessor method to assign String array to initializeOnly MFString field named geoSystem.
      Parameters:
      newValue - is new value for the geoSystem field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMetadata

      X3DMetadataObject getMetadata()
      Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      Specified by:
      getMetadata in interface X3DChildNode
      Specified by:
      getMetadata in interface X3DGroupingNode
      Specified by:
      getMetadata in interface X3DNode
      Returns:
      value of metadata field
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      GeoTransform setMetadata​(X3DMetadataObject newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      Specified by:
      setMetadata in interface X3DChildNode
      Specified by:
      setMetadata in interface X3DGroupingNode
      Specified by:
      setMetadata in interface X3DNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • getRotation

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

      Tooltip: Orientation (axis, angle in radians) of children relative to local coordinate system.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Returns:
      value of rotation field
    • setRotation

      GeoTransform setRotation​(float[] newValue)
      Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named rotation.

      Tooltip: Orientation (axis, angle in radians) of children relative to local coordinate system.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Parameters:
      newValue - is new value for the rotation field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getScale

      float[] getScale()
      Provide array of 3-tuple float results within allowed range of (0,infinity) from inputOutput SFVec3f field named scale.

      Tooltip: Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Returns:
      value of scale field
    • setScale

      GeoTransform setScale​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named scale.

      Tooltip: Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Parameters:
      newValue - is new value for the scale field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getScaleOrientation

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

      Tooltip: Preliminary rotation of coordinate sys tem before scaling (to allow scaling around arbitrary orientations).
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Returns:
      value of scaleOrientation field
    • setScaleOrientation

      GeoTransform setScaleOrientation​(float[] newValue)
      Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named scaleOrientation.

      Tooltip: Preliminary rotation of coordinate sys tem before scaling (to allow scaling around arbitrary orientations).
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Parameters:
      newValue - is new value for the scaleOrientation field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getTranslation

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

      Tooltip: Position (x, y, z in meters) of children relative to local coordinate system.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Returns:
      value of translation field
    • setTranslation

      GeoTransform setTranslation​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named translation.

      Tooltip: Position (x, y, z in meters) of children relative to local coordinate system.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Parameters:
      newValue - is new value for the translation field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getVisible

      boolean getVisible()
      Provide boolean value from inputOutput SFBool field named visible.

      Tooltip: Whether or not renderable content within this node is visually displayed.
      • Hint: the visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
      • Hint: content must be visible to be collidable and to be pickable.
      Specified by:
      getVisible in interface X3DBoundedObject
      Specified by:
      getVisible in interface X3DGroupingNode
      Returns:
      value of visible field
    • setVisible

      GeoTransform setVisible​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named visible.

      Tooltip: Whether or not renderable content within this node is visually displayed.
      • Hint: the visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
      • Hint: content must be visible to be collidable and to be pickable.
      Specified by:
      setVisible in interface X3DBoundedObject
      Specified by:
      setVisible in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the visible field.
      Returns:
      GeoTransform - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).