Interface LayoutGroup

  • All Superinterfaces:
    X3DBoundedObject, X3DChildNode, X3DGroupingNode, X3DNode
    All Known Implementing Classes:
    LayoutGroupObject

    public interface LayoutGroup
    extends X3DNode, X3DGroupingNode
    Abstract node interface, defined by X3D Java Scene Access Interface (SAI) Specification to support X3D Java interoperability.

    X3D node tooltip: (X3D version 3.2 or later) [X3DGroupingNode] LayoutGroup is a Grouping node that can contain most nodes, whose children are related by a common layout within a parent layout. The layout field contains an X3DLayoutNode node that provides the information required to locate and size the layout region of the LayoutGroup node relative to its parent’s layout region. LayoutGroup content is clipped by the specified viewport node.
    • Hint: The origin of the node is always in the center of its layout region. Thus, children (with the exception of LayoutGroup) are specified in a coordinate system whose origin is located at the center of the rectangle and can be transformed from that location.
    • Warning: a LayoutGroup can only be a child of a LayoutLayer node or another LayoutGroup node.
    • Hint: insert a Shape node before adding geometry or Appearance.
    • Hint: LayoutGroup does not directly have any pixel-dependent concepts. However, it can contain a Layout node that does have pixel-specific options.

    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: LayoutGroup, X3D Tooltips: LayoutGroup, 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.
      X3DLayoutNode getLayout()
      Provide X3DLayoutNode instance (using a properly typed node) from inputOutput SFNode field layout.
      X3DMetadataObject getMetadata()
      Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
      X3DViewportNode getViewport()
      Provide X3DViewportNode instance (using a properly typed node) from inputOutput SFNode field viewport.
      LayoutGroup setBboxCenter​(float[] newValue)
      Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
      LayoutGroup 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).
      LayoutGroup setChildren​(X3DNode[] newValue)
      Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field children.
      LayoutGroup setLayout​(X3DLayoutNode newValue)
      Accessor method to assign X3DLayoutNode instance (using a properly typed node) to inputOutput SFNode field layout.
      LayoutGroup setMetadata​(X3DMetadataObject newValue)
      Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
      LayoutGroup setViewport​(X3DViewportNode newValue)
      Accessor method to assign X3DViewportNode instance (using a properly typed node) to inputOutput SFNode field viewport.
    • Method Detail

      • setBboxCenter

        LayoutGroup 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:
        LayoutGroup - 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

        LayoutGroup 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:
        LayoutGroup - 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, http://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

        LayoutGroup 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, http://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:
        LayoutGroup - 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
      • getLayout

        X3DLayoutNode getLayout()
        Provide X3DLayoutNode instance (using a properly typed node) from inputOutput SFNode field layout.

        Tooltip: [X3DLayoutNode] The layout field contains an X3DLayoutNode node that provides the information required to locate and size the layout region of the LayoutGroup node relative to its parent’s layout region, and also to scale the contents of the LayoutGroup. *
        Returns:
        value of layout field
      • setLayout

        LayoutGroup setLayout​(X3DLayoutNode newValue)
        Accessor method to assign X3DLayoutNode instance (using a properly typed node) to inputOutput SFNode field layout.

        Tooltip: [X3DLayoutNode] The layout field contains an X3DLayoutNode node that provides the information required to locate and size the layout region of the LayoutGroup node relative to its parent’s layout region, and also to scale the contents of the LayoutGroup. *
        Parameters:
        newValue - is new value for the layout field.
        Returns:
        LayoutGroup - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      • getViewport

        X3DViewportNode getViewport()
        Provide X3DViewportNode instance (using a properly typed node) from inputOutput SFNode field viewport.

        Tooltip: [X3DViewportNode] The content of the LayoutGroup is clipped by the specified viewport. *
        Returns:
        value of viewport field
      • setViewport

        LayoutGroup setViewport​(X3DViewportNode newValue)
        Accessor method to assign X3DViewportNode instance (using a properly typed node) to inputOutput SFNode field viewport.

        Tooltip: [X3DViewportNode] The content of the LayoutGroup is clipped by the specified viewport. *
        Parameters:
        newValue - is new value for the viewport field.
        Returns:
        LayoutGroup - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).