Interface Anchor
- All Superinterfaces:
X3DBoundedObject
,X3DChildNode
,X3DGroupingNode
,X3DNode
,X3DUrlObject
- All Known Implementing Classes:
Anchor
Anchor is a Grouping node that can contain most nodes.
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
org.web3d.x3d.jsail
classes.
Anchor node tooltip: [X3DGroupingNode,X3DUrlObject,X3DVisibleObject] Anchor is a Grouping node that can contain most nodes. When the user selects any of the geometry contained by the Anchor node, the browser either jumps to another viewpoint (similar to HTML bookmark) or else loads content (such as X3D, an image or HTML) specified by the url field. Newly loaded content completely replaces current content, if the value of parameter field indicates using the same window.
- Hint: insert a Shape node before adding geometry or Appearance.
- Hint: when parent node is LoadSensor, apply containerField='children' (X3Dv4) or containerField='watchList' (X3Dv3). https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#fieldNameChanges
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addChildren
(X3DNode[] newValue) Add array of children nodes to array of existing nodes (if any).double
Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefresh.double
Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefreshTimeLimit.float[]
Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.boolean
Provide boolean value from inputOutput SFBool field named bboxDisplay.float[]
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[]
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.Provide String value from inputOutput SFString field named description.boolean
getLoad()
Provide boolean value from inputOutput SFBool field named load.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.String[]
Provide array of String results from inputOutput MFString field named parameter.String[]
getUrl()
Provide array of String results from inputOutput MFString field named url.boolean
Provide boolean value from inputOutput SFBool field named visible.setAutoRefresh
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefresh.setAutoRefreshTimeLimit
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefreshTimeLimit.setBboxCenter
(float[] newValue) Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.setBboxDisplay
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named bboxDisplay.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).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.setDescription
(String newValue) Accessor method to assign String value to inputOutput SFString field named description.setLoad
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named load.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.setParameter
(String[] newValue) Accessor method to assign String array to inputOutput MFString field named parameter.Accessor method to assign String array to inputOutput MFString field named url.setVisible
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named visible.
-
Method Details
-
getAutoRefresh
double getAutoRefresh()Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefresh.
Tooltip: The [autoRefresh field has no effect, Anchor operation is only triggered by user selection. *- Specified by:
getAutoRefresh
in interfaceX3DUrlObject
- Returns:
- value of autoRefresh field
-
setAutoRefresh
Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefresh.
Tooltip: The [autoRefresh field has no effect, Anchor operation is only triggered by user selection. *- Specified by:
setAutoRefresh
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the autoRefresh field.- Returns:
Anchor
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getAutoRefreshTimeLimit
double getAutoRefreshTimeLimit()Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefreshTimeLimit.
Tooltip: The [autoRefreshTimeLimit field has no effect, Anchor operation is only triggered by user selection. *- Specified by:
getAutoRefreshTimeLimit
in interfaceX3DUrlObject
- Returns:
- value of autoRefreshTimeLimit field
-
setAutoRefreshTimeLimit
Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefreshTimeLimit.
Tooltip: The [autoRefreshTimeLimit field has no effect, Anchor operation is only triggered by user selection. *- Specified by:
setAutoRefreshTimeLimit
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the autoRefreshTimeLimit field.- Returns:
Anchor
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
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/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#X3DBoundedObject
- Specified by:
getBboxCenter
in interfaceX3DBoundedObject
- Specified by:
getBboxCenter
in 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/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#X3DBoundedObject
- Specified by:
setBboxCenter
in interfaceX3DBoundedObject
- Specified by:
setBboxCenter
in interfaceX3DGroupingNode
- Parameters:
newValue
- is new value for the bboxCenter field.- Returns:
Anchor
- 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 interfaceX3DBoundedObject
- Specified by:
getBboxDisplay
in interfaceX3DGroupingNode
- Returns:
- value of bboxDisplay field
-
setBboxDisplay
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 interfaceX3DBoundedObject
- Specified by:
setBboxDisplay
in interfaceX3DGroupingNode
- Parameters:
newValue
- is new value for the bboxDisplay field.- Returns:
Anchor
- 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.- 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/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#X3DBoundedObject
- Specified by:
getBboxSize
in interfaceX3DBoundedObject
- Specified by:
getBboxSize
in interfaceX3DGroupingNode
- Returns:
- value of bboxSize field
-
setBboxSize
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.- 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/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#BoundingBoxes
- Hint: X3D Architecture, 10.3.1 X3DBoundedObject https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#X3DBoundedObject
- Specified by:
setBboxSize
in interfaceX3DBoundedObject
- Specified by:
setBboxSize
in interfaceX3DGroupingNode
- Parameters:
newValue
- is new value for the bboxSize field.- Returns:
Anchor
- 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/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#GroupingAndChildrenNodes
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DChildNode.- Specified by:
getChildren
in interfaceX3DGroupingNode
- Returns:
- value of children field
- See Also:
-
setChildren
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/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/grouping.html#GroupingAndChildrenNodes
Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DChildNode.- Specified by:
setChildren
in interfaceX3DGroupingNode
- Parameters:
newValue
- is new value for the children field.- Returns:
Anchor
- 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:
addChildren
in 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:
setChildren
in interfaceX3DGroupingNode
- Parameters:
newValue
- is new node for the children field
-
getDescription
String getDescription()Provide String value from inputOutput SFString field named description.
Tooltip: Author-provided prose that describes intended purpose of the url asset.- Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
- Specified by:
getDescription
in interfaceX3DUrlObject
- Returns:
- value of description field
-
setDescription
Accessor method to assign String value to inputOutput SFString field named description.
Tooltip: Author-provided prose that describes intended purpose of the url asset.- Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
- Specified by:
setDescription
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the description field.- Returns:
Anchor
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getLoad
boolean getLoad()Provide boolean value from inputOutput SFBool field named load.
Tooltip: The load field has no effect, Anchor operation is only triggered by user selection. *- Specified by:
getLoad
in interfaceX3DUrlObject
- Returns:
- value of load field
-
setLoad
Accessor method to assign boolean value to inputOutput SFBool field named load.
Tooltip: The load field has no effect, Anchor operation is only triggered by user selection. *- Specified by:
setLoad
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the load field.- Returns:
Anchor
- 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.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Metadata
- Specified by:
getMetadata
in interfaceX3DChildNode
- Specified by:
getMetadata
in interfaceX3DGroupingNode
- Specified by:
getMetadata
in interfaceX3DNode
- Returns:
- value of metadata field
- See Also:
-
setMetadata
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.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Metadata
- Specified by:
setMetadata
in interfaceX3DChildNode
- Specified by:
setMetadata
in interfaceX3DGroupingNode
- Specified by:
setMetadata
in interfaceX3DNode
- Parameters:
newValue
- is new value for the metadata field.- Returns:
Anchor
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
-
getParameter
String[] getParameter()Provide array of String results from inputOutput MFString field named parameter.
Tooltip: If provided, parameter tells the X3D player where to to redirect the loaded url.- Hint: set parameter value as target=_blank to load the target url into a new browser frame.
- Hint: set parameter value as target=frame_name to load target url into another browser frame.
- Hint: MFString arrays can have multiple values, so separate each individual string by quote marks. "https://www.web3d.org" "https://www.web3d.org/about" "etc." Interchange profile
- Hint: this field may be ignored, applying the default value regardless.
- Returns:
- value of parameter field
-
setParameter
Accessor method to assign String array to inputOutput MFString field named parameter.
Tooltip: If provided, parameter tells the X3D player where to to redirect the loaded url.- Hint: set parameter value as target=_blank to load the target url into a new browser frame.
- Hint: set parameter value as target=frame_name to load target url into another browser frame.
- Hint: MFString arrays can have multiple values, so separate each individual string by quote marks. "https://www.web3d.org" "https://www.web3d.org/about" "etc." Interchange profile
- Hint: this field may be ignored, applying the default value regardless.
- Parameters:
newValue
- is new value for the parameter field.- Returns:
Anchor
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getUrl
String[] getUrl()Provide array of String results from inputOutput MFString field named url.
Tooltip: Address of replacement world, or #ViewpointDEFName within the current scene, or alternate Web resource, activated by the user selecting Shape geometry within the Anchor children nodes.- Hint: jump to a world's internal viewpoint by appending viewpoint name (for example, #ViewpointName, someOtherCoolWorld.x3d#GrandTour).
- Hint: jump to a local viewpoint by only using viewpoint name (for example, #GrandTour).
- Hint: binding a different Viewpoint triggers an isBound event that can initiate other user-arrival reactions via event chains to interpolators or scripts.
- Hint: MFString arrays can have multiple values, so separate each individual string by quote marks "https://www.web3d.org" "https://www.web3d.org/about" "etc."
- Hint: alternative XML encoding for quotation mark " is " (which is an example of a character entity).
- Warning: strictly match directory and filename capitalization for http links! This is important for portability. Some operating systems are forgiving of capitalization mismatches, but http/https url addresses and paths in Unix-based operating systems are all case sensitive and intolerant of uppercase/lowercase mismatches.
- Hint: can replace embedded blank(s) in url queries with %20 for each blank character.
- Hint: pop up a new window with url value as follows: "JavaScript:window.open('somePage.html','popup','width=240,height=240');location.href='HelloWorld.x3d'"
- Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
- Specified by:
getUrl
in interfaceX3DUrlObject
- Returns:
- value of url field
-
setUrl
Accessor method to assign String array to inputOutput MFString field named url.
Tooltip: Address of replacement world, or #ViewpointDEFName within the current scene, or alternate Web resource, activated by the user selecting Shape geometry within the Anchor children nodes.- Hint: jump to a world's internal viewpoint by appending viewpoint name (for example, #ViewpointName, someOtherCoolWorld.x3d#GrandTour).
- Hint: jump to a local viewpoint by only using viewpoint name (for example, #GrandTour).
- Hint: binding a different Viewpoint triggers an isBound event that can initiate other user-arrival reactions via event chains to interpolators or scripts.
- Hint: MFString arrays can have multiple values, so separate each individual string by quote marks "https://www.web3d.org" "https://www.web3d.org/about" "etc."
- Hint: alternative XML encoding for quotation mark " is " (which is an example of a character entity).
- Warning: strictly match directory and filename capitalization for http links! This is important for portability. Some operating systems are forgiving of capitalization mismatches, but http/https url addresses and paths in Unix-based operating systems are all case sensitive and intolerant of uppercase/lowercase mismatches.
- Hint: can replace embedded blank(s) in url queries with %20 for each blank character.
- Hint: pop up a new window with url value as follows: "JavaScript:window.open('somePage.html','popup','width=240,height=240');location.href='HelloWorld.x3d'"
- Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
- Specified by:
setUrl
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the url field.- Returns:
Anchor
- 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 interfaceX3DBoundedObject
- Specified by:
getVisible
in interfaceX3DGroupingNode
- Returns:
- value of visible field
-
setVisible
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 interfaceX3DBoundedObject
- Specified by:
setVisible
in interfaceX3DGroupingNode
- Parameters:
newValue
- is new value for the visible field.- Returns:
Anchor
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-