Interface IsoSurfaceVolumeData

All Superinterfaces:
X3DBoundedObject, X3DChildNode, X3DNode, X3DVolumeDataNode
All Known Implementing Classes:
IsoSurfaceVolumeData

public interface IsoSurfaceVolumeData extends X3DVolumeDataNode
IsoSurfaceVolumeData displays one or more surfaces extracted from a voxel dataset.

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.3 or later) [X3DVolumeDataNode] IsoSurfaceVolumeData displays one or more surfaces extracted from a voxel dataset. A surface is defined as the boundary between regions in the volume where the voxel values are larger than a given value (the iso value) on one side of the boundary and smaller on the other side, and the gradient magnitude is larger than surfaceTolerance. Hint: IsoSurfaceVolumeData can contain a single Texture3D node with containerField='gradients' that is used to provide explicit per-voxel gradient direction information for determining surface boundaries, rather than having values implicitly calculated by the implementation. Hint: IsoSurfaceVolumeData can contain another Texture3D node with containerField='voxels' containing voxel data. Hint: IsoSurfaceVolumeData can contain multiple VolumeStyle nodes. Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events. Warning: requires X3D profile='Full' or else include <component name='VolumeRendering' level='2'/> *


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
    addRenderStyle(X3DNode[] newValue)
    Add array of child renderStyle 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.
    float
    Provide float value from inputOutput SFFloat field named contourStepSize.
    float[]
    Provide array of 3-tuple float results within allowed range of (0,infinity) from inputOutput SFVec3f field named dimensions.
    Provide org.web3d.x3d.sai.Texturing3D.X3DTexture3DNode instance (using a properly typed node) from inputOutput SFNode field gradients.
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field renderStyle.
    float
    Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named surfaceTolerance.
    float[]
    Provide array of float results from inputOutput MFFloat field named surfaceValues.
    boolean
    Provide boolean value from inputOutput SFBool field named visible.
    Provide org.web3d.x3d.sai.Texturing3D.X3DTexture3DNode instance (using a properly typed node) from inputOutput SFNode field voxels.
    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.
    setContourStepSize(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named contourStepSize.
    setDimensions(float[] newValue)
    Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named dimensions.
    Accessor method to assign org.web3d.x3d.sai.Texturing3D.X3DTexture3DNode instance (using a properly typed node) to inputOutput SFNode field gradients.
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    void
    Set single child renderStyle node, replacing prior array of existing nodes (if any).
    setRenderStyle(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 renderStyle.
    setSurfaceTolerance(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named surfaceTolerance.
    setSurfaceValues(float[] newValue)
    Accessor method to assign float array to inputOutput MFFloat field named surfaceValues.
    setVisible(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named visible.
    Accessor method to assign org.web3d.x3d.sai.Texturing3D.X3DTexture3DNode instance (using a properly typed node) to inputOutput SFNode field voxels.
  • 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 X3DVolumeDataNode
      Returns:
      value of bboxCenter field
    • setBboxCenter

      IsoSurfaceVolumeData 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 X3DVolumeDataNode
      Parameters:
      newValue - is new value for the bboxCenter field.
      Returns:
      IsoSurfaceVolumeData - 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 X3DVolumeDataNode
      Returns:
      value of bboxDisplay field
    • setBboxDisplay

      IsoSurfaceVolumeData 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 X3DVolumeDataNode
      Parameters:
      newValue - is new value for the bboxDisplay field.
      Returns:
      IsoSurfaceVolumeData - 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 X3DVolumeDataNode
      Returns:
      value of bboxSize field
    • setBboxSize

      IsoSurfaceVolumeData 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 X3DVolumeDataNode
      Parameters:
      newValue - is new value for the bboxSize field.
      Returns:
      IsoSurfaceVolumeData - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getContourStepSize

      float getContourStepSize()
      Provide float value from inputOutput SFFloat field named contourStepSize.

      Tooltip: If contourStepSize is non-zero, also render all isosurfaces that are multiples of that step size from initial surface value. Hint: contourStepSize can be negative so that steppping can proceed in a negative direction. *
      Returns:
      value of contourStepSize field
    • setContourStepSize

      IsoSurfaceVolumeData setContourStepSize(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named contourStepSize.

      Tooltip: If contourStepSize is non-zero, also render all isosurfaces that are multiples of that step size from initial surface value. Hint: contourStepSize can be negative so that steppping can proceed in a negative direction. *
      Parameters:
      newValue - is new value for the contourStepSize field.
      Returns:
      IsoSurfaceVolumeData - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getDimensions

      float[] getDimensions()
      Provide array of 3-tuple float results within allowed range of (0,infinity) from inputOutput SFVec3f field named dimensions.

      Tooltip: Actual-size X-Y-Z dimensions of volume data in local coordinate system. *
      Specified by:
      getDimensions in interface X3DVolumeDataNode
      Returns:
      value of dimensions field
    • setDimensions

      IsoSurfaceVolumeData setDimensions(float[] newValue)
      Accessor method to assign 3-tuple float array to inputOutput SFVec3f field named dimensions.

      Tooltip: Actual-size X-Y-Z dimensions of volume data in local coordinate system. *
      Specified by:
      setDimensions in interface X3DVolumeDataNode
      Parameters:
      newValue - is new value for the dimensions field.
      Returns:
      IsoSurfaceVolumeData - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getGradients

      X3DTexture3DNode getGradients()
      Provide org.web3d.x3d.sai.Texturing3D.X3DTexture3DNode instance (using a properly typed node) from inputOutput SFNode field gradients.

      Tooltip: [X3DTexture3DNode] Single contained X3DTexture3DNode (ComposedTexture3D, ImageTexture3D, PixelTexture3D) that provides explicit per-voxel gradient direction information for determining surface boundaries, rather than having it implicitly calculated by the implementation. *
      Returns:
      value of gradients field
    • setGradients

      IsoSurfaceVolumeData setGradients(X3DTexture3DNode newValue)
      Accessor method to assign org.web3d.x3d.sai.Texturing3D.X3DTexture3DNode instance (using a properly typed node) to inputOutput SFNode field gradients.

      Tooltip: [X3DTexture3DNode] Single contained X3DTexture3DNode (ComposedTexture3D, ImageTexture3D, PixelTexture3D) that provides explicit per-voxel gradient direction information for determining surface boundaries, rather than having it implicitly calculated by the implementation. *
      Parameters:
      newValue - is new value for the gradients field.
      Returns:
      IsoSurfaceVolumeData - 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 <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 X3DNode
      Specified by:
      getMetadata in interface X3DVolumeDataNode
      Returns:
      value of metadata field
      See Also:
    • setMetadata

      IsoSurfaceVolumeData 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 X3DNode
      Specified by:
      setMetadata in interface X3DVolumeDataNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      IsoSurfaceVolumeData - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
    • getRenderStyle

      X3DNode[] getRenderStyle()
      Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field renderStyle.

      Tooltip: [X3DVolumeRenderStyleNode] Multiple contained X3DVolumeRenderStyleNode nodes corresponding to each isosurface that define specific rendering technique for this volumetric object. Hint: Warning: if not defined, no default renderStryle is defined. *


      Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DVolumeRenderStyleNode.
      Returns:
      value of renderStyle field
      See Also:
    • setRenderStyle

      IsoSurfaceVolumeData setRenderStyle(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 renderStyle.

      Tooltip: [X3DVolumeRenderStyleNode] Multiple contained X3DVolumeRenderStyleNode nodes corresponding to each isosurface that define specific rendering technique for this volumetric object. Hint: Warning: if not defined, no default renderStryle is defined. *


      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DVolumeRenderStyleNode.
      Parameters:
      newValue - is new value for the renderStyle field.
      Returns:
      IsoSurfaceVolumeData - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addRenderStyle

      void addRenderStyle(X3DNode[] newValue)
      Add array of child renderStyle nodes to array of existing nodes (if any).

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to X3DVolumeRenderStyleNode.
      Parameters:
      newValue - is new value array to be appended the renderStyle field.
    • setRenderStyle

      void setRenderStyle(X3DNode newValue)
      Set single child renderStyle node, replacing prior array of existing nodes (if any).
      Parameters:
      newValue - is new node for the renderStyle field
    • getSurfaceTolerance

      float getSurfaceTolerance()
      Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named surfaceTolerance.

      Tooltip: [0,+infinity) Threshold for gradient magnitude for voxel inolusion in isosurface. Hint: contained Texture3D node with containerField='gradients' can provide explicit per-voxel gradient direction information for determining surface boundaries. *
      Returns:
      value of surfaceTolerance field
    • setSurfaceTolerance

      IsoSurfaceVolumeData setSurfaceTolerance(float newValue)
      Accessor method to assign float value to inputOutput SFFloat field named surfaceTolerance.

      Tooltip: [0,+infinity) Threshold for gradient magnitude for voxel inolusion in isosurface. Hint: contained Texture3D node with containerField='gradients' can provide explicit per-voxel gradient direction information for determining surface boundaries. *
      Parameters:
      newValue - is new value for the surfaceTolerance field.
      Returns:
      IsoSurfaceVolumeData - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getSurfaceValues

      float[] getSurfaceValues()
      Provide array of float results from inputOutput MFFloat field named surfaceValues.

      Tooltip: If surfaceValues has one value defined, render corresponding isosurface plus any isosurfaces based on contourStepSize. If surfaceValues has more than one value defined, ignore contourStepSize and render surfaces corresponding to listed surfaceValues. *
      Returns:
      value of surfaceValues field
    • setSurfaceValues

      IsoSurfaceVolumeData setSurfaceValues(float[] newValue)
      Accessor method to assign float array to inputOutput MFFloat field named surfaceValues.

      Tooltip: If surfaceValues has one value defined, render corresponding isosurface plus any isosurfaces based on contourStepSize. If surfaceValues has more than one value defined, ignore contourStepSize and render surfaces corresponding to listed surfaceValues. *
      Parameters:
      newValue - is new value for the surfaceValues field.
      Returns:
      IsoSurfaceVolumeData - 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 X3DVolumeDataNode
      Returns:
      value of visible field
    • setVisible

      IsoSurfaceVolumeData 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 X3DVolumeDataNode
      Parameters:
      newValue - is new value for the visible field.
      Returns:
      IsoSurfaceVolumeData - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getVoxels

      X3DTexture3DNode getVoxels()
      Provide org.web3d.x3d.sai.Texturing3D.X3DTexture3DNode instance (using a properly typed node) from inputOutput SFNode field voxels.

      Tooltip: [X3DTexture3DNode] Single contained X3DTexture3DNode (ComposedTexture3D, ImageTexture3D, PixelTexture3D) that provides raw voxel information utilized by corresponding rendering styles. Any number of color components (1-4) may be defined. *
      Returns:
      value of voxels field
    • setVoxels

      Accessor method to assign org.web3d.x3d.sai.Texturing3D.X3DTexture3DNode instance (using a properly typed node) to inputOutput SFNode field voxels.

      Tooltip: [X3DTexture3DNode] Single contained X3DTexture3DNode (ComposedTexture3D, ImageTexture3D, PixelTexture3D) that provides raw voxel information utilized by corresponding rendering styles. Any number of color components (1-4) may be defined. *
      Parameters:
      newValue - is new value for the voxels field.
      Returns:
      IsoSurfaceVolumeData - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).