Package org.web3d.x3d.sai.Geospatial
Interface GeoTransform
- All Superinterfaces:
X3DBoundedObject,X3DChildNode,X3DGroupingNode,X3DNode
- All Known Implementing Classes:
GeoTransformObject
public interface GeoTransform extends X3DGroupingNode
GeoTransform is a Grouping node that can contain most nodes.
X3D node tooltip: [X3DGroupingNode] 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.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
X3D node tooltip: [X3DGroupingNode] 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 http://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).
-
Method Summary
Modifier and Type Method Description voidaddChildren(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.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 X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field children.booleangetDisplayBBox()Provide boolean value from inputOutput SFBool field named displayBBox.double[]getGeoCenter()Provide array of 3-tuple double results from inputOutput SFVec3d field named geoCenter.GeoOrigingetGeoOrigin()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.X3DMetadataObjectgetMetadata()Provide 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.booleangetVisible()Provide boolean value from inputOutput SFBool field named visible.GeoTransformsetBboxCenter(float[] newValue)Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.GeoTransformsetBboxSize(float[] newValue)Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.voidsetChildren(X3DNode newValue)Set single children node, replacing prior array of existing nodes (if any).GeoTransformsetChildren(X3DNode[] newValue)Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field children.GeoTransformsetDisplayBBox(boolean newValue)Accessor method to assign boolean value to inputOutput SFBool field named displayBBox.GeoTransformsetGeoCenter(double[] newValue)Accessor method to assign 3-tuple double array to inputOutput SFVec3d field named geoCenter.GeoTransformsetGeoOrigin(GeoOrigin newValue)Accessor method to assign GeoOrigin instance (using a properly typed node) to initializeOnly SFNode field geoOrigin.GeoTransformsetGeoSystem(java.lang.String[] newValue)Accessor method to assign String array to initializeOnly MFString field named geoSystem.GeoTransformsetMetadata(X3DMetadataObject newValue)Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.GeoTransformsetRotation(float[] newValue)Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named rotation.GeoTransformsetScale(float[] newValue)Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named scale.GeoTransformsetScaleOrientation(float[] newValue)Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named scaleOrientation.GeoTransformsetTranslation(float[] newValue)Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named translation.GeoTransformsetVisible(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.- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#X3DBoundedObject
- Specified by:
getBboxCenterin interfaceX3DBoundedObject- Specified by:
getBboxCenterin interfaceX3DGroupingNode- Returns:
- value of bboxCenter field
-
setBboxCenter
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.- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#X3DBoundedObject
- Specified by:
setBboxCenterin interfaceX3DBoundedObject- Specified by:
setBboxCenterin interfaceX3DGroupingNode- 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).
-
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.- Hint: can be useful for collision computations or inverse-kinematics (IK) engines.
- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#X3DBoundedObject
- Specified by:
getBboxSizein interfaceX3DBoundedObject- Specified by:
getBboxSizein interfaceX3DGroupingNode- Returns:
- value of bboxSize field
-
setBboxSize
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.- Hint: can be useful for collision computations or inverse-kinematics (IK) engines.
- Hint: precomputation and inclusion of bounding box information can speed up the initialization of large detailed models, with a corresponding cost of increased file size.
- Hint: X3D Architecture, 10.2.2 Bounding boxes https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/group.html#X3DBoundedObject
- Specified by:
setBboxSizein interfaceX3DBoundedObject- Specified by:
setBboxSizein interfaceX3DGroupingNode- 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 X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) 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/documents/specifications/19775-1/V3.3/Part01/components/group.html#GroupingAndChildrenNodes
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DChildNode.- Specified by:
getChildrenin interfaceX3DGroupingNode- Returns:
- value of children field
- See Also:
X3DChildNode
-
setChildren
Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) 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/documents/specifications/19775-1/V3.3/Part01/components/group.html#GroupingAndChildrenNodes
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DChildNode.- Specified by:
setChildrenin interfaceX3DGroupingNode- 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
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:
addChildrenin interfaceX3DGroupingNode- Parameters:
newValue- is new value array to be appended the children field.
-
setChildren
Set single children node, replacing prior array of existing nodes (if any).- Specified by:
setChildrenin interfaceX3DGroupingNode- Parameters:
newValue- is new node for the children field
-
getDisplayBBox
boolean getDisplayBBox()Provide boolean value from inputOutput SFBool field named displayBBox.- Specified by:
getDisplayBBoxin interfaceX3DBoundedObject- Specified by:
getDisplayBBoxin interfaceX3DGroupingNode- Returns:
- value of displayBBox field
-
setDisplayBBox
Accessor method to assign boolean value to inputOutput SFBool field named displayBBox.- Specified by:
setDisplayBBoxin interfaceX3DBoundedObject- Specified by:
setDisplayBBoxin interfaceX3DGroupingNode- Parameters:
newValue- is new value for the displayBBox field.- Returns:
GeoTransform- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
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.- Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
- 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'/>
- Returns:
- value of geoCenter field
-
setGeoCenter
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.- Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
- 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'/>
- 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 GeoOrigin instance (using a properly typed node) (deprecated node, optional) from initializeOnly SFNode field geoOrigin.- Returns:
- value of geoOrigin field
-
setGeoOrigin
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:
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
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 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.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
getMetadatain interfaceX3DChildNode- Specified by:
getMetadatain interfaceX3DGroupingNode- Specified by:
getMetadatain interfaceX3DNode- Returns:
- value of metadata field
- See Also:
- X3D Scene Authoring Hints: Metadata Nodes
-
setMetadata
Accessor method to assign 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.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
setMetadatain interfaceX3DChildNode- Specified by:
setMetadatain interfaceX3DGroupingNode- Specified by:
setMetadatain interfaceX3DNode- 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
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
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
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
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.- Specified by:
getVisiblein interfaceX3DBoundedObject- Specified by:
getVisiblein interfaceX3DGroupingNode- Returns:
- value of visible field
-
setVisible
Accessor method to assign boolean value to inputOutput SFBool field named visible.- Specified by:
setVisiblein interfaceX3DBoundedObject- Specified by:
setVisiblein interfaceX3DGroupingNode- 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).
-