Interface GeoLOD

All Superinterfaces:
X3DBoundedObject, X3DChildNode, X3DNode
All Known Implementing Classes:
GeoLODObject

public interface GeoLOD
extends X3DChildNode, X3DBoundedObject
GeoLOD provides quadtree level-of-detail loading/unloading for multi-resolution terrains.

X3D node tooltip: [X3DChildNode,X3DBoundedObject] GeoLOD provides quadtree level-of-detail loading/unloading for multi-resolution terrains. GeoLOD can contain children and GeoOrigin nodes.
  • Hint: children nodes expose the scene graph for the currently loaded set of nodes.
  • Hint: rootNode specifies the geometry of the root tile.
  • Warning: do not use rootUrl and rootNode simultaneously, since each specifies the root tile.
  • Hint: X3D for Advanced Modeling (X3D4AM) slideset http://x3dgraphics.com/slidesets/X3dForAdvancedModeling/GeospatialComponentX3dEarth.pdf
  • Warning: requires X3D profile='Full' or else include <component name='Geospatial' level='1'/>
  • Warning: nested LOD (and/or GeoLOD) nodes with overlapping range intervals can lead to unexpected or undefined behavior.

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

    Modifier and Type Method Description
    void addRootNode​(X3DNode[] newValue)
    Add array of child rootNode nodes to array of existing nodes (if any).
    float[] getBboxCenter()
    Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.
    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.
    double[] getCenter()
    Provide array of 3-tuple double results from initializeOnly SFVec3d field named center.
    java.lang.String[] getChild1Url()
    Provide array of String results from initializeOnly MFString field named child1Url.
    java.lang.String[] getChild2Url()
    Provide array of String results from initializeOnly MFString field named child2Url.
    java.lang.String[] getChild3Url()
    Provide array of String results from initializeOnly MFString field named child3Url.
    java.lang.String[] getChild4Url()
    Provide array of String results from initializeOnly MFString field named child4Url.
    X3DNode[] getChildren()
    Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from outputOnly MFNode field children.
    GeoOrigin getGeoOrigin()
    Provide 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.
    int getLevel()
    Provide int value within allowed range of [0,1] from outputOnly SFInt32 field named level_changed.
    X3DMetadataObject getMetadata()
    Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    float getRange()
    Provide float value within allowed range of [0,infinity) from initializeOnly SFFloat field named range.
    X3DNode[] getRootNode()
    Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from initializeOnly MFNode field rootNode.
    java.lang.String[] getRootUrl()
    Provide array of String results from initializeOnly MFString field named rootUrl.
    GeoLOD setBboxCenter​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
    GeoLOD setBboxSize​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.
    GeoLOD setCenter​(double[] newValue)
    Accessor method to assign 3-tuple double array to initializeOnly SFVec3d field named center.
    GeoLOD setChild1Url​(java.lang.String[] newValue)
    Accessor method to assign String array to initializeOnly MFString field named child1Url.
    GeoLOD setChild2Url​(java.lang.String[] newValue)
    Accessor method to assign String array to initializeOnly MFString field named child2Url.
    GeoLOD setChild3Url​(java.lang.String[] newValue)
    Accessor method to assign String array to initializeOnly MFString field named child3Url.
    GeoLOD setChild4Url​(java.lang.String[] newValue)
    Accessor method to assign String array to initializeOnly MFString field named child4Url.
    GeoLOD setGeoOrigin​(GeoOrigin newValue)
    Accessor method to assign GeoOrigin instance (using a properly typed node) to initializeOnly SFNode field geoOrigin.
    GeoLOD setGeoSystem​(java.lang.String[] newValue)
    Accessor method to assign String array to initializeOnly MFString field named geoSystem.
    GeoLOD setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    GeoLOD setRange​(float newValue)
    Accessor method to assign float value to initializeOnly SFFloat field named range.
    void setRootNode​(X3DNode newValue)
    Set single child rootNode node, replacing prior array of existing nodes (if any).
    GeoLOD setRootNode​(X3DNode[] newValue)
    Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to initializeOnly MFNode field rootNode.
    GeoLOD setRootUrl​(java.lang.String[] newValue)
    Accessor method to assign String array to initializeOnly MFString field named rootUrl.
  • 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
      Returns:
      value of bboxCenter field
    • setBboxCenter

      GeoLOD 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
      Parameters:
      newValue - is new value for the bboxCenter field.
      Returns:
      GeoLOD - 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: 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
      Returns:
      value of bboxSize field
    • setBboxSize

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

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

      double[] getCenter()
      Provide array of 3-tuple double results from initializeOnly SFVec3d field named center.

      Tooltip: Viewer range from geographic-coordinates center triggers quadtree loading/unloading. *
      Returns:
      value of center field
    • setCenter

      GeoLOD setCenter​(double[] newValue)
      Accessor method to assign 3-tuple double array to initializeOnly SFVec3d field named center.

      Tooltip: Viewer range from geographic-coordinates center triggers quadtree loading/unloading. *
      Parameters:
      newValue - is new value for the center field.
      Returns:
      GeoLOD - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getChild1Url

      java.lang.String[] getChild1Url()
      Provide array of String results from initializeOnly MFString field named child1Url.

      Tooltip: quadtree geometry loaded when viewer is within range. *
      Returns:
      value of child1Url field
    • setChild1Url

      GeoLOD setChild1Url​(java.lang.String[] newValue)
      Accessor method to assign String array to initializeOnly MFString field named child1Url.

      Tooltip: quadtree geometry loaded when viewer is within range. *
      Parameters:
      newValue - is new value for the child1Url field.
      Returns:
      GeoLOD - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getChild2Url

      java.lang.String[] getChild2Url()
      Provide array of String results from initializeOnly MFString field named child2Url.

      Tooltip: quadtree geometry loaded when viewer is within range. *
      Returns:
      value of child2Url field
    • setChild2Url

      GeoLOD setChild2Url​(java.lang.String[] newValue)
      Accessor method to assign String array to initializeOnly MFString field named child2Url.

      Tooltip: quadtree geometry loaded when viewer is within range. *
      Parameters:
      newValue - is new value for the child2Url field.
      Returns:
      GeoLOD - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getChild3Url

      java.lang.String[] getChild3Url()
      Provide array of String results from initializeOnly MFString field named child3Url.

      Tooltip: quadtree geometry loaded when viewer is within range. *
      Returns:
      value of child3Url field
    • setChild3Url

      GeoLOD setChild3Url​(java.lang.String[] newValue)
      Accessor method to assign String array to initializeOnly MFString field named child3Url.

      Tooltip: quadtree geometry loaded when viewer is within range. *
      Parameters:
      newValue - is new value for the child3Url field.
      Returns:
      GeoLOD - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getChild4Url

      java.lang.String[] getChild4Url()
      Provide array of String results from initializeOnly MFString field named child4Url.

      Tooltip: quadtree geometry loaded when viewer is within range. *
      Returns:
      value of child4Url field
    • setChild4Url

      GeoLOD setChild4Url​(java.lang.String[] newValue)
      Accessor method to assign String array to initializeOnly MFString field named child4Url.

      Tooltip: quadtree geometry loaded when viewer is within range. *
      Parameters:
      newValue - is new value for the child4Url field.
      Returns:
      GeoLOD - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getChildren

      X3DNode[] getChildren()
      Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from outputOnly MFNode field children.

      Tooltip: [X3DChildNode] The outputOnly children field exposes a portion of the scene graph for the currently loaded set of nodes. The value returned as an event is an MFNode containing the currently selected tile. This will either be the node specified by the rootNode field or the nodes specified by the child1Url, child2Url, child3Url, and child4Url fields. The GeoLOD node shall generate a new children output event each time the scene graph is changed (EXAMPLE whenever nodes are loaded or unloaded).
      • Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.


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

      GeoOrigin getGeoOrigin()
      Provide GeoOrigin instance (using a properly typed node) (deprecated node, optional) from initializeOnly SFNode field geoOrigin.
      Returns:
      value of geoOrigin field
    • setGeoOrigin

      GeoLOD setGeoOrigin​(GeoOrigin newValue)
      Accessor method to assign GeoOrigin instance (using a properly typed node) to initializeOnly SFNode field geoOrigin.
      Parameters:
      newValue - is new value for the geoOrigin field.
      Returns:
      GeoLOD - 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.

      Tooltip: Identifies spatial reference frame: Geodetic (GD), Geocentric (GC), Universal Transverse Mercator (UTM). Supported values: "GD" "UTM" or "GC" followed by additional quoted string parameters as appropriate for the type.
      Returns:
      value of geoSystem field
    • setGeoSystem

      GeoLOD setGeoSystem​(java.lang.String[] newValue)
      Accessor method to assign String array to initializeOnly MFString field named geoSystem.

      Tooltip: Identifies spatial reference frame: Geodetic (GD), Geocentric (GC), Universal Transverse Mercator (UTM). Supported values: "GD" "UTM" or "GC" followed by additional quoted string parameters as appropriate for the type.
      Parameters:
      newValue - is new value for the geoSystem field.
      Returns:
      GeoLOD - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getLevel

      int getLevel()
      Provide int value within allowed range of [0,1] from outputOnly SFInt32 field named level_changed.

      Tooltip: Output event that reports when the new children outputOnly event is generated, with value 0 or 1, where 0 indicates the rootNode field and 1 indicates the nodes specified by the child1Url, child2Url, child3Url, and child4Url fields.
      • Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
      Returns:
      value of level_changed field
    • getMetadata

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

      GeoLOD setMetadata​(X3DMetadataObject newValue)
      Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
      Specified by:
      setMetadata in interface X3DChildNode
      Specified by:
      setMetadata in interface X3DNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      GeoLOD - 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
    • getRange

      float getRange()
      Provide float value within allowed range of [0,infinity) from initializeOnly SFFloat field named range.

      Tooltip: (0,+infinity) Viewer range from geographic-coordinates center triggers quadtree loading/unloading.
      • Hint: not setting range values indicates that level switching can be optimized automatically based on performance.
      Returns:
      value of range field
    • setRange

      GeoLOD setRange​(float newValue)
      Accessor method to assign float value to initializeOnly SFFloat field named range.

      Tooltip: (0,+infinity) Viewer range from geographic-coordinates center triggers quadtree loading/unloading.
      • Hint: not setting range values indicates that level switching can be optimized automatically based on performance.
      Parameters:
      newValue - is new value for the range field.
      Returns:
      GeoLOD - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getRootNode

      X3DNode[] getRootNode()
      Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from initializeOnly MFNode field rootNode.

      Tooltip: Geometry for the root tile.
      • Warning: either rootNode or rootUrl can specify root tile, but specifying both is an error.


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

      GeoLOD setRootNode​(X3DNode[] newValue)
      Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to initializeOnly MFNode field rootNode.

      Tooltip: Geometry for the root tile.
      • Warning: either rootNode or rootUrl can specify root tile, but specifying both is an error.


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

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

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

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

      java.lang.String[] getRootUrl()
      Provide array of String results from initializeOnly MFString field named rootUrl.

      Tooltip: url for scene providing geometry for the root tile.
      • Warning: either rootNode or rootUrl can specify root tile, but specifying both is an error.
      Returns:
      value of rootUrl field
    • setRootUrl

      GeoLOD setRootUrl​(java.lang.String[] newValue)
      Accessor method to assign String array to initializeOnly MFString field named rootUrl.

      Tooltip: url for scene providing geometry for the root tile.
      • Warning: either rootNode or rootUrl can specify root tile, but specifying both is an error.
      Parameters:
      newValue - is new value for the rootUrl field.
      Returns:
      GeoLOD - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).