Interface CADPart

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

public interface CADPart
extends X3DProductStructureChildNode, X3DGroupingNode
CADPart is an atomic part that defines both coordinate-system location and the faces that constitute a part in a Computer-Aided Design (CAD) model.

X3D node tooltip: (X3D version 3.1 or later) [X3DGroupingNode,X3DProductStructureChildNode] CADPart is an atomic part that defines both coordinate-system location and the faces that constitute a part in a Computer-Aided Design (CAD) model. CADPart contains multiple CADFace nodes that make up a single part.
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: CADPart, X3D Tooltips: CADPart, 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.
    float[] getCenter()
    Provide array of 3-tuple float results from inputOutput SFVec3f field named center.
    X3DNode[] getChildren()
    Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field children.
    boolean getDisplayBBox()
    Provide boolean value from inputOutput SFBool field named displayBBox.
    X3DMetadataObject getMetadata()
    Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    java.lang.String getName()
    Provide String value from inputOutput SFString field named name.
    float[] getRotation()
    Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named rotation.
    float[] getScale()
    Provide array of 3-tuple float results from inputOutput SFVec3f field named scale.
    float[] getScaleOrientation()
    Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named scaleOrientation.
    float[] getTranslation()
    Provide array of 3-tuple float results from inputOutput SFVec3f field named translation.
    boolean getVisible()
    Provide boolean value from inputOutput SFBool field named visible.
    CADPart setBboxCenter​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxCenter.
    CADPart setBboxSize​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly SFVec3f field named bboxSize.
    CADPart setCenter​(float[] newValue)
    Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named center.
    void setChildren​(X3DNode newValue)
    Set single children node, replacing prior array of existing nodes (if any).
    CADPart setChildren​(X3DNode[] newValue)
    Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field children.
    CADPart setDisplayBBox​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named displayBBox.
    CADPart setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    CADPart setName​(java.lang.String newValue)
    Accessor method to assign String value to inputOutput SFString field named name.
    CADPart setRotation​(float[] newValue)
    Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named rotation.
    CADPart setScale​(float[] newValue)
    Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named scale.
    CADPart setScaleOrientation​(float[] newValue)
    Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named scaleOrientation.
    CADPart setTranslation​(float[] newValue)
    Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named translation.
    CADPart 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.
      Specified by:
      getBboxCenter in interface X3DBoundedObject
      Specified by:
      getBboxCenter in interface X3DGroupingNode
      Returns:
      value of bboxCenter field
    • setBboxCenter

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

      CADPart 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:
      CADPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getCenter

      float[] getCenter()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named center.

      Tooltip: Translation offset from origin of local coordinate system, applied prior to rotation or scaling.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Returns:
      value of center field
    • setCenter

      CADPart setCenter​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named center.

      Tooltip: Translation offset from origin of local coordinate system, applied prior to rotation or scaling.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Parameters:
      newValue - is new value for the center field.
      Returns:
      CADPart - 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 CADFace.
      Specified by:
      getChildren in interface X3DGroupingNode
      Returns:
      value of children field
      See Also:
      CADFaceObject
    • setChildren

      CADPart 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 CADFace.
      Specified by:
      setChildren in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the children field.
      Returns:
      CADPart - 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 CADFace.
      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
    • getDisplayBBox

      boolean getDisplayBBox()
      Provide boolean value from inputOutput SFBool field named displayBBox.
      Specified by:
      getDisplayBBox in interface X3DBoundedObject
      Specified by:
      getDisplayBBox in interface X3DGroupingNode
      Returns:
      value of displayBBox field
    • setDisplayBBox

      CADPart setDisplayBBox​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named displayBBox.
      Specified by:
      setDisplayBBox in interface X3DBoundedObject
      Specified by:
      setDisplayBBox in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the displayBBox field.
      Returns:
      CADPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMetadata

      X3DMetadataObject getMetadata()
      Provide 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.
      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:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      CADPart setMetadata​(X3DMetadataObject newValue)
      Accessor method to assign 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.
      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:
      CADPart - 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
    • getName

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

      Tooltip: Optional name for this particular CAD node.
      Specified by:
      getName in interface X3DProductStructureChildNode
      Returns:
      value of name field
    • setName

      CADPart setName​(java.lang.String newValue)
      Accessor method to assign String value to inputOutput SFString field named name.

      Tooltip: Optional name for this particular CAD node.

      @see X3D Scene Authoring Hints: Naming Conventions
      Specified by:
      setName in interface X3DProductStructureChildNode
      Parameters:
      newValue - is new value for the name field.
      Returns:
      CADPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getRotation

      float[] getRotation()
      Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named rotation.

      Tooltip: Orientation (axis, angle in radians) of children relative to local coordinate system.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Returns:
      value of rotation field
    • setRotation

      CADPart setRotation​(float[] newValue)
      Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named rotation.

      Tooltip: Orientation (axis, angle in radians) of children relative to local coordinate system.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Parameters:
      newValue - is new value for the rotation field.
      Returns:
      CADPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getScale

      float[] getScale()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named scale.

      Tooltip: Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Returns:
      value of scale field
    • setScale

      CADPart setScale​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named scale.

      Tooltip: Non-uniform x-y-z scale of child coordinate system, adjusted by center and scaleOrientation.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Parameters:
      newValue - is new value for the scale field.
      Returns:
      CADPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getScaleOrientation

      float[] getScaleOrientation()
      Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput SFRotation field named scaleOrientation.

      Tooltip: Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Returns:
      value of scaleOrientation field
    • setScaleOrientation

      CADPart setScaleOrientation​(float[] newValue)
      Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput SFRotation field named scaleOrientation.

      Tooltip: Preliminary rotation of coordinate system before scaling (to allow scaling around arbitrary orientations).
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Parameters:
      newValue - is new value for the scaleOrientation field.
      Returns:
      CADPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getTranslation

      float[] getTranslation()
      Provide array of 3-tuple float results from inputOutput SFVec3f field named translation.

      Tooltip: Position (x, y, z in meters) of children relative to local coordinate system.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Returns:
      value of translation field
    • setTranslation

      CADPart setTranslation​(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named translation.

      Tooltip: Position (x, y, z in meters) of children relative to local coordinate system.
      • Hint: The order of operation is first apply the center offset, then scaleOrientation and scale, then rotation, then restore the center offset, then translation.
      Parameters:
      newValue - is new value for the translation field.
      Returns:
      CADPart - 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.
      Specified by:
      getVisible in interface X3DBoundedObject
      Specified by:
      getVisible in interface X3DGroupingNode
      Returns:
      value of visible field
    • setVisible

      CADPart setVisible​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named visible.
      Specified by:
      setVisible in interface X3DBoundedObject
      Specified by:
      setVisible in interface X3DGroupingNode
      Parameters:
      newValue - is new value for the visible field.
      Returns:
      CADPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).