Interface PickableGroup

All Superinterfaces:
X3DBoundedObject, X3DChildNode, X3DGroupingNode, X3DNode, X3DPickableObject
All Known Implementing Classes:
PickableGroupObject

public interface PickableGroup
extends X3DGroupingNode, X3DPickableObject
PickableGroup is a Grouping node that can contain most nodes.

X3D node tooltip: (X3D version 3.2 or later) [X3DGroupingNode,X3DPickableObject] 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.

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: PickableGroup, X3D Tooltips: PickableGroup, X3D Scene Authoring Hints
  • Method Summary

    Modifier and Type Method Description
    void addChildren​(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.
    X3DMetadataObject getMetadata()
    Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    java.lang.String[] getObjectType()
    Provide array of String enumeration results with quoted value(s) ["ALL","NONE","TERRAIN",...] from inputOutput MFString field named objectType.
    boolean getPickable()
    Provide boolean value from inputOutput SFBool field named pickable.
    PickableGroup setBboxCenter​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
    PickableGroup 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).
    PickableGroup setChildren​(X3DNode[] newValue)
    Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field children.
    PickableGroup setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    PickableGroup setObjectType​(java.lang.String[] newValue)
    Accessor method to assign String enumeration array (""ALL"" | ""NONE"" | ""TERRAIN"") to inputOutput MFString field named objectType.
    PickableGroup setPickable​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named pickable.
  • 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
      Specified by:
      getBboxCenter in interface X3DGroupingNode
      Returns:
      value of bboxCenter field
    • setBboxCenter

      PickableGroup 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
      Specified by:
      setBboxCenter in interface X3DGroupingNode
      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).
    • 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
      Specified by:
      getBboxSize in interface X3DGroupingNode
      Returns:
      value of bboxSize field
    • setBboxSize

      PickableGroup 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
      Specified by:
      setBboxSize in interface X3DGroupingNode
      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 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:
      getChildren in interface X3DGroupingNode
      Returns:
      value of children field
      See Also:
      X3DChildNode
    • setChildren

      PickableGroup setChildren​(X3DNode[] newValue)
      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:
      setChildren in interface X3DGroupingNode
      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

      void addChildren​(X3DNode[] newValue)
      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 interface X3DGroupingNode
      Parameters:
      newValue - is new value array to be appended the children field.
    • setChildren

      void setChildren​(X3DNode newValue)
      Set single children node, replacing prior array of existing nodes (if any).
      Specified by:
      setChildren in interface X3DGroupingNode
      Parameters:
      newValue - is new node for the children 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 X3DGroupingNode
      Specified by:
      getMetadata in interface X3DNode
      Returns:
      value of metadata field
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      PickableGroup 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 X3DGroupingNode
      Specified by:
      setMetadata in interface X3DNode
      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:
      X3D Scene Authoring Hints: Metadata Nodes
    • getObjectType

      java.lang.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

      PickableGroup setObjectType​(java.lang.String[] newValue)
      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:
      getPickable in interface X3DPickableObject
      Returns:
      value of pickable field
    • setPickable

      PickableGroup setPickable​(boolean newValue)
      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:
      setPickable in interface X3DPickableObject
      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).