Interface PickableGroup
- All Superinterfaces:
X3DBoundedObject,X3DChildNode,X3DGroupingNode,X3DNode,X3DPickableObject
- All Known Implementing Classes:
PickableGroup
PickableGroup is a Grouping node that can contain most nodes.
PickableGroup node tooltip: (X3D version 3.2 or later) [X3DGroupingNode,X3DPickableObject,X3DVisibleObject] PickableGroup is a Grouping node that can contain most nodes. PickableGroup contains children that are marked as having a given classification of picking types, and can also enable or disable picking of the children.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
PickableGroup node tooltip: (X3D version 3.2 or later) [X3DGroupingNode,X3DPickableObject,X3DVisibleObject] PickableGroup is a Grouping node that can contain most nodes. PickableGroup contains children that are marked as having a given classification of picking types, and can also enable or disable picking of the children.
- Hint: insert a Shape node before adding geometry or Appearance.
- Hint: content must be visible to be collidable and to be pickable.
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 TypeMethodDescriptionvoidaddChildren(X3DNode[] newValue) Add array of children nodes to array of existing nodes (if any).float[]Provide array of 3-tuple float results from initializeOnly SFVec3f field named bboxCenter.booleanProvide 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.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.String[]Provide array of String enumeration results with quoted value(s) ["ALL","NONE","TERRAIN",...] from inputOutput MFString field named objectType.booleanProvide boolean value from inputOutput SFBool field named pickable.booleanProvide boolean value from inputOutput SFBool field named visible.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.voidsetChildren(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.setMetadata(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.setObjectType(String[] newValue) Accessor method to assign String enumeration array (""ALL"" | ""NONE"" | ""TERRAIN"") to inputOutput MFString field named objectType.setPickable(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named pickable.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.- 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:
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/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:
setBboxCenterin interfaceX3DBoundedObject- Specified by:
setBboxCenterin interfaceX3DGroupingNode- Parameters:
newValue- is new value for the bboxCenter field.- Returns:
PickableGroup- 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:
getBboxDisplayin interfaceX3DBoundedObject- Specified by:
getBboxDisplayin 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:
setBboxDisplayin interfaceX3DBoundedObject- Specified by:
setBboxDisplayin interfaceX3DGroupingNode- Parameters:
newValue- is new value for the bboxDisplay field.- Returns:
PickableGroup- 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:
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: 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:
setBboxSizein interfaceX3DBoundedObject- Specified by:
setBboxSizein interfaceX3DGroupingNode- Parameters:
newValue- is new value for the bboxSize field.- Returns:
PickableGroup- 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:
getChildrenin 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:
setChildrenin interfaceX3DGroupingNode- Parameters:
newValue- is new value for the children field.- Returns:
PickableGroup- 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
-
getDescription
String getDescription()Provide String value from inputOutput SFString field named description.
Tooltip: Author-provided prose that describes intended purpose of the node.- 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).
- 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 node.- 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).
- Parameters:
newValue- is new value for the description field.- Returns:
PickableGroup- 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:
getMetadatain interfaceX3DChildNode- Specified by:
getMetadatain interfaceX3DGroupingNode- Specified by:
getMetadatain 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:
setMetadatain interfaceX3DChildNode- Specified by:
setMetadatain interfaceX3DGroupingNode- Specified by:
setMetadatain interfaceX3DNode- Parameters:
newValue- is new value for the metadata field.- Returns:
PickableGroup- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
-
getObjectType
String[] getObjectType()Provide array of String enumeration results with quoted value(s) ["ALL","NONE","TERRAIN",...] from inputOutput MFString field named objectType.
Tooltip: The objectType field specifies a set of labels used in the picking process. Each string specified is treated as an independent label that needs to be matched against the same type in one of the pick sensor instances. Example: labeling a PickableGroup with the objectType value "WATER" and then attempting to intersect a pick sensor with objectType value "GROUND" fails since the objectType values do not match. Example: the special value "ALL" means that each node is available for picking regardless of the type specified by the pick sensor. Example: the special value "NONE" effectively disables all picking for this node and is the equivalent of setting the pickable field to false.- Hint: authors may define any value for objectType.
- Hint: MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
- Returns:
- value of objectType field
-
setObjectType
Accessor method to assign String enumeration array (""ALL"" | ""NONE"" | ""TERRAIN"") to inputOutput MFString field named objectType.
Tooltip: The objectType field specifies a set of labels used in the picking process. Each string specified is treated as an independent label that needs to be matched against the same type in one of the pick sensor instances. Example: labeling a PickableGroup with the objectType value "WATER" and then attempting to intersect a pick sensor with objectType value "GROUND" fails since the objectType values do not match. Example: the special value "ALL" means that each node is available for picking regardless of the type specified by the pick sensor. Example: the special value "NONE" effectively disables all picking for this node and is the equivalent of setting the pickable field to false.- Hint: authors may define any value for objectType.
- Hint: MFString arrays can have multiple values, so "separate each individual string" "by using quote marks".
- Parameters:
newValue- is new value for the objectType field.- Returns:
PickableGroup- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getPickable
boolean getPickable()Provide boolean value from inputOutput SFBool field named pickable.
Tooltip: The pickable field determines whether pick traversal is performed on this node or its children.- Hint: pickable only affects children accessed through the transformation hierarchy of the parent.
- Warning: if one or more of the children of this instance is accessible through another transformation hierarchy through DEF/USE that still has picking enabled, they are still pickable through that path only.
- Specified by:
getPickablein interfaceX3DPickableObject- Returns:
- value of pickable field
-
setPickable
Accessor method to assign boolean value to inputOutput SFBool field named pickable.
Tooltip: The pickable field determines whether pick traversal is performed on this node or its children.- Hint: pickable only affects children accessed through the transformation hierarchy of the parent.
- Warning: if one or more of the children of this instance is accessible through another transformation hierarchy through DEF/USE that still has picking enabled, they are still pickable through that path only.
- Specified by:
setPickablein interfaceX3DPickableObject- Parameters:
newValue- is new value for the pickable field.- Returns:
PickableGroup- 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:
getVisiblein interfaceX3DBoundedObject- Specified by:
getVisiblein 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:
setVisiblein interfaceX3DBoundedObject- Specified by:
setVisiblein interfaceX3DGroupingNode- Parameters:
newValue- is new value for the visible field.- Returns:
PickableGroup- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-