Interface CADAssembly

All Superinterfaces:
X3DBoundedObject, X3DChildNode, X3DGroupingNode, X3DNode, X3DProductStructureChildNode
All Known Implementing Classes:
CADAssembly

public interface CADAssembly extends X3DGroupingNode, X3DProductStructureChildNode
CADAssembly holds a set of Computer-Aided Design (CAD) assemblies or parts grouped together.

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. X3D node tooltip: (X3D version 3.1 or later) [X3DGroupingNode,X3DProductStructureChildNode,X3DVisibleObject] CADAssembly holds a set of Computer-Aided Design (CAD) assemblies or parts grouped together. CADAssembly is a Grouping node that can contain CADAssembly (subassembly), CADPart or CADFace nodes. Hint: can also contain Shapes or other grouped content. Hint: Datum reference <a href="https://en.wikipedia.org/wiki/Datum_reference" target="_blank">https://en.wikipedia.org/wiki/Datum_reference</a> Hint: X3D for Advanced Modeling (X3D4AM) slideset <a href="https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/ComputerAidedDesignInterchangeProfile.pdf" target="_blank">https://x3dgraphics.com/slidesets/X3dForAdvancedModeling/ComputerAidedDesignInterchangeProfile.pdf</a> Warning: requires X3D profile='Full' or else include &lt;component name='CADGeometry' level='2'/&gt;Hint: ViewpointGroup and OrthoViewpoint require Navigation component level 3, which is higher than CADInterchange profile. *


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 Type
    Method
    Description
    void
    addChildren(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.
    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.
    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 org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    Provide String value from inputOutput SFString field named name.
    boolean
    Provide 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.
    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.
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    setName(String newValue)
    Accessor method to assign String value to inputOutput SFString field named name.
    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 <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#BoundingBoxes" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#BoundingBoxes</a> Hint: X3D Architecture, 10.3.1 X3DBoundedObject <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#X3DBoundedObject" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#X3DBoundedObject</a> *
      Specified by:
      getBboxCenter in interface X3DBoundedObject
      Specified by:
      getBboxCenter in interface X3DGroupingNode
      Returns:
      value of bboxCenter field
    • setBboxCenter

      CADAssembly 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. 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 <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#BoundingBoxes" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#BoundingBoxes</a> Hint: X3D Architecture, 10.3.1 X3DBoundedObject <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#X3DBoundedObject" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#X3DBoundedObject</a> *
      Specified by:
      setBboxCenter in interface X3DBoundedObject
      Specified by:
      setBboxCenter in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the bboxCenter field.
      Returns:
      CADAssembly - 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 interface X3DBoundedObject
      Specified by:
      getBboxDisplay in interface X3DGroupingNode
      Returns:
      value of bboxDisplay field
    • setBboxDisplay

      CADAssembly setBboxDisplay(boolean newValue)
      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 interface X3DBoundedObject
      Specified by:
      setBboxDisplay in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the bboxDisplay field.
      Returns:
      CADAssembly - 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 <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#BoundingBoxes" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#BoundingBoxes</a> Hint: X3D Architecture, 10.3.1 X3DBoundedObject <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#X3DBoundedObject" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#X3DBoundedObject</a> *
      Specified by:
      getBboxSize in interface X3DBoundedObject
      Specified by:
      getBboxSize in interface X3DGroupingNode
      Returns:
      value of bboxSize field
    • setBboxSize

      CADAssembly setBboxSize(float[] newValue)
      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 <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#BoundingBoxes" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#BoundingBoxes</a> Hint: X3D Architecture, 10.3.1 X3DBoundedObject <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#X3DBoundedObject" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#X3DBoundedObject</a> *
      Specified by:
      setBboxSize in interface X3DBoundedObject
      Specified by:
      setBboxSize in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the bboxSize field.
      Returns:
      CADAssembly - 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, <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#GroupingAndChildrenNodes" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#GroupingAndChildrenNodes</a> *


      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:
    • setChildren

      CADAssembly 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.

      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, <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#GroupingAndChildrenNodes" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/grouping.html#GroupingAndChildrenNodes</a> *


      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:
      CADAssembly - 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 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 <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/core.html#Metadata" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/core.html#Metadata</a> *
      Specified by:
      getMetadata in interface X3DChildNode
      Specified by:
      getMetadata in interface X3DGroupingNode
      Specified by:
      getMetadata in interface X3DNode
      Specified by:
      getMetadata in interface X3DProductStructureChildNode
      Returns:
      value of metadata field
      See Also:
    • setMetadata

      CADAssembly setMetadata(X3DMetadataObject newValue)
      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 <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/core.html#Metadata" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-IS.proof//Part01/components/core.html#Metadata</a> *
      Specified by:
      setMetadata in interface X3DChildNode
      Specified by:
      setMetadata in interface X3DGroupingNode
      Specified by:
      setMetadata in interface X3DNode
      Specified by:
      setMetadata in interface X3DProductStructureChildNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      CADAssembly - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
    • getName

      String getName()
      Provide String value from inputOutput SFString field named name.

      Tooltip: Optional name for this particular CAD node. Warning: name field is not included if this instance is a USE node, in order to avoid potential mismatches. Hint: well-defined names can simplify design and debugging through improved author understanding. Hint: X3D Scene Authoring Hints, Naming Conventions <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions" target="_blank">https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions</a> *
      Specified by:
      getName in interface X3DProductStructureChildNode
      Returns:
      value of name field
    • setName

      CADAssembly setName(String newValue)
      Accessor method to assign String value to inputOutput SFString field named name.

      Tooltip: Optional name for this particular CAD node. Warning: name field is not included if this instance is a USE node, in order to avoid potential mismatches. Hint: well-defined names can simplify design and debugging through improved author understanding. Hint: X3D Scene Authoring Hints, Naming Conventions <a href="https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions" target="_blank">https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#NamingConventions</a> *


      @see X3D Scene Authoring Hints: Naming Conventions
      Specified by:
      setName in interface X3DProductStructureChildNode
      Parameters:
      newValue - is new value for the name field.
      Returns:
      CADAssembly - 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 interface X3DBoundedObject
      Specified by:
      getVisible in interface X3DGroupingNode
      Returns:
      value of visible field
    • setVisible

      CADAssembly setVisible(boolean newValue)
      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 interface X3DBoundedObject
      Specified by:
      setVisible in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the visible field.
      Returns:
      CADAssembly - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).