GeoLOD
Overview
GeoLOD provides quadtree level-of-detail loading/unloading for multi-resolution terrains. GeoLOD can contain children and GeoOrigin nodes.
The GeoLOD node belongs to the Geospatial component and requires at least level 1, its default container field is children. It is available from X3D version 3.0 or higher.
Hierarchy
1
2
3
+ X3DNode
+ X3DChildNode
+ GeoLOD (X3DBoundedObject)*
* Derived from multiple interfaces.
Fields
SFNode [in, out] metadata NULL [X3DMetadataObject]
Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
Hint
SFNode [ ] geoOrigin NULL [GeoOrigin] (deprecated)
Single contained GeoOrigin node that can specify a local coordinate frame for extended precision.
Hint
Warning
- XML validation requires placement as first child node following contained metadata nodes (if any).
MFString [ ] geoSystem [ “GD”, “WE” ]
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.
Hints
- X3D Architecture 25.2.2 Spatial reference frames
- X3D Architecture 25.2.4 Specifying geospatial coordinates
- UTM is Universal Transverse Mercator coordinate system
Warning
- Deprecated values are GDC (replaced by GD) and GCC (replaced by GC).
MFString [ ] rootUrl [ ] [URI]
Url for scene providing geometry for the root tile.
Warning
- Either rootNode or rootUrl can specify root tile, but specifying both is an error.
MFString [ ] child1Url [ ] [URI]
Quadtree geometry loaded when viewer is within range.
MFString [ ] child2Url [ ] [URI]
Quadtree geometry loaded when viewer is within range.
MFString [ ] child3Url [ ] [URI]
Quadtree geometry loaded when viewer is within range.
MFString [ ] child4Url [ ] [URI]
Quadtree geometry loaded when viewer is within range.
SFVec3d [ ] center 0 0 0 (-∞,∞)
Viewer range from geographic-coordinates center triggers quadtree loading/unloading.
SFFloat [ ] range 10 [0,∞)
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.
SFInt32 [out] level_changed
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.
SFBool [in, out] visible TRUE
Whether or not renderable content within this node is visually displayed.
Hints
- The visible field has no effect on animation behaviors, event passing or other non-visual characteristics.
- Content must be visible to be collidable and to be pickable.
SFBool [in, out] bboxDisplay FALSE
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.
SFVec3f [ ] bboxSize -1 -1 -1 [0,∞) or −1 −1 −1
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.
Hints
- Can be useful for collision computations or inverse-kinematics (IK) engines.
- Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- X3D Architecture, 10.2.2 Bounding boxes
- X3D Architecture, 10.3.1 X3DBoundedObject
SFVec3f [ ] bboxCenter 0 0 0 (-∞,∞)
Bounding box center accompanies bboxSize and provides an optional hint for bounding box position offset from origin of local coordinate system.
Hints
- Precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- X3D Architecture, 10.2.2 Bounding boxes
- X3D Architecture, 10.3.1 X3DBoundedObject
MFNode [ ] rootNode [ ] [X3DChildNode]
Geometry for the root tile.
Warning
- Either rootNode or rootUrl can specify root tile, but specifying both is an error.
MFNode [out] children
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.
Advice
Hints
- Children nodes expose the scene graph for the currently loaded set of nodes.
- RootNode specifies the geometry of the root tile.
- X3D for Advanced Modeling (X3D4AM) slideset
Warnings
- Do not use rootUrl and rootNode simultaneously, since each specifies the root tile.
- Requires X3D
profile='Full'
or else include<component name='Geospatial' level='1'/>
- Nested LOD (and/or GeoLOD) nodes with overlapping range intervals can lead to unexpected or undefined behavior.