Interface Extrusion

All Superinterfaces:
X3DGeometryNode, X3DNode
All Known Implementing Classes:
ExtrusionObject

public interface Extrusion
extends X3DGeometryNode
Extrusion is a geometry node that sequentially stretches a 2D cross section along a 3D-spine path in the local coordinate system, creating an outer hull.

X3D node tooltip: [X3DGeometryNode] Extrusion is a geometry node that sequentially stretches a 2D cross section along a 3D-spine path in the local coordinate system, creating an outer hull. Scaling and rotating the crossSection 2D outline at each control point can modify the outer hull of the Extrusion to produce a wide variety of interesting shapes.
  • Warning: take care to avoid defining parameter combinations that create self-intersecting, impossible or inverted geometry.
  • Hint: Extrusion https://en.wikipedia.org/wiki/Extrusion
  • 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: Extrusion, X3D Tooltips: Extrusion, X3D Scene Authoring Hints
  • Method Summary

    Modifier and Type Method Description
    boolean getBeginCap()
    Provide boolean value from initializeOnly SFBool field named beginCap.
    boolean getCcw()
    Provide boolean value from initializeOnly SFBool field named ccw.
    boolean getConvex()
    Provide boolean value from initializeOnly SFBool field named convex.
    float getCreaseAngle()
    Provide float value unit axis, angle (in radians) within allowed range of [0,infinity) from initializeOnly SFFloat field named creaseAngle.
    float[] getCrossSection()
    Provide array of 2-tuple float results from initializeOnly MFVec2f field named crossSection.
    boolean getEndCap()
    Provide boolean value from initializeOnly SFBool field named endCap.
    X3DMetadataObject getMetadata()
    Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    float[] getOrientation()
    Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput MFRotation field named orientation.
    float[] getScale()
    Provide array of 2-tuple float results from inputOutput MFVec2f field named scale.
    boolean getSolid()
    Provide boolean value from initializeOnly SFBool field named solid.
    float[] getSpine()
    Provide array of 3-tuple float results from initializeOnly MFVec3f field named spine.
    Extrusion setBeginCap​(boolean newValue)
    Accessor method to assign boolean value to initializeOnly SFBool field named beginCap.
    Extrusion setCcw​(boolean newValue)
    Accessor method to assign boolean value to initializeOnly SFBool field named ccw.
    Extrusion setConvex​(boolean newValue)
    Accessor method to assign boolean value to initializeOnly SFBool field named convex.
    Extrusion setCreaseAngle​(float newValue)
    Accessor method to assign float value unit axis, angle (in radians) to initializeOnly SFFloat field named creaseAngle.
    Extrusion setCrossSection​(float[] newValue)
    Accessor method to assign 2-tuple float array to initializeOnly MFVec2f field named crossSection.
    Extrusion setEndCap​(boolean newValue)
    Accessor method to assign boolean value to initializeOnly SFBool field named endCap.
    Extrusion setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    Extrusion setOrientation​(float[] newValue)
    Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput MFRotation field named orientation.
    Extrusion setScale​(float[] newValue)
    Accessor method to assign 2-tuple float array to inputOutput MFVec2f field named scale.
    Extrusion setSolid​(boolean newValue)
    Accessor method to assign boolean value to initializeOnly SFBool field named solid.
    Extrusion setSpine​(float[] newValue)
    Accessor method to assign 3-tuple float array to initializeOnly MFVec3f field named spine.
  • Method Details

    • getBeginCap

      boolean getBeginCap()
      Provide boolean value from initializeOnly SFBool field named beginCap.

      Tooltip: Whether beginning cap is drawn (similar to Cylinder top cap).
      • Warning: cannot be changed after initial creation.
      Returns:
      value of beginCap field
    • setBeginCap

      Extrusion setBeginCap​(boolean newValue)
      Accessor method to assign boolean value to initializeOnly SFBool field named beginCap.

      Tooltip: Whether beginning cap is drawn (similar to Cylinder top cap).
      • Warning: cannot be changed after initial creation.
      Parameters:
      newValue - is new value for the beginCap field.
      Returns:
      Extrusion - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getCcw

      boolean getCcw()
      Provide boolean value from initializeOnly SFBool field named ccw.

      Tooltip: ccw = counterclockwise: ordering of vertex-coordinates orientation.
      • Hint: ccw false can reverse solid (backface culling) and normal-vector orientation. Note that consistency of left-handed or right-handed point sequences is important throughout.
      Returns:
      value of ccw field
    • setCcw

      Extrusion setCcw​(boolean newValue)
      Accessor method to assign boolean value to initializeOnly SFBool field named ccw.

      Tooltip: ccw = counterclockwise: ordering of vertex-coordinates orientation.
      • Hint: ccw false can reverse solid (backface culling) and normal-vector orientation. Note that consistency of left-handed or right-handed point sequences is important throughout.
      Parameters:
      newValue - is new value for the ccw field.
      Returns:
      Extrusion - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getConvex

      boolean getConvex()
      Provide boolean value from initializeOnly SFBool field named convex.

      Tooltip: Whether all polygons in a shape are convex (true), or possibly concave (false). A convex polygon is planar, does not intersect itself, and has all interior angles < 180 degrees.
      • Warning: concave or inverted geometry may be invisible when using default value convex=true.
      Returns:
      value of convex field
    • setConvex

      Extrusion setConvex​(boolean newValue)
      Accessor method to assign boolean value to initializeOnly SFBool field named convex.

      Tooltip: Whether all polygons in a shape are convex (true), or possibly concave (false). A convex polygon is planar, does not intersect itself, and has all interior angles < 180 degrees.
      • Warning: concave or inverted geometry may be invisible when using default value convex=true.
      Parameters:
      newValue - is new value for the convex field.
      Returns:
      Extrusion - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getCreaseAngle

      float getCreaseAngle()
      Provide float value unit axis, angle (in radians) within allowed range of [0,infinity) from initializeOnly SFFloat field named creaseAngle.

      Tooltip: [0,+infinity) creaseAngle defines angle (in radians) where adjacent polygons are drawn with sharp edges or smooth shading. If angle between normals of two adjacent polygons is less than creaseAngle, smooth shading is rendered across the shared line segment.
      Returns:
      value of creaseAngle field
    • setCreaseAngle

      Extrusion setCreaseAngle​(float newValue)
      Accessor method to assign float value unit axis, angle (in radians) to initializeOnly SFFloat field named creaseAngle.

      Tooltip: [0,+infinity) creaseAngle defines angle (in radians) where adjacent polygons are drawn with sharp edges or smooth shading. If angle between normals of two adjacent polygons is less than creaseAngle, smooth shading is rendered across the shared line segment.
      Parameters:
      newValue - is new value for the creaseAngle field.
      Returns:
      Extrusion - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getCrossSection

      float[] getCrossSection()
      Provide array of 2-tuple float results from initializeOnly MFVec2f field named crossSection.

      Tooltip: The crossSection array defines a silhouette outline of the outer Extrusion surface. crossSection is an ordered set of 2D points that draw a piecewise-linear curve which is extruded to form a series of connected vertices.
      • Hint: the crossSection array can be open or closed (closed means that endpoints are coincident).
      • Hint: number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple orientation values.
      • Warning: match clockwise/counterclockwise, otherwise self-intersecting, impossible or inverted geometry can result!
      • Warning: avoid self-intersecting polygon line segments, otherwise defined geometry is irregular and rendering results are undefined. , particularly for end caps.
      Returns:
      value of crossSection field
    • setCrossSection

      Extrusion setCrossSection​(float[] newValue)
      Accessor method to assign 2-tuple float array to initializeOnly MFVec2f field named crossSection.

      Tooltip: The crossSection array defines a silhouette outline of the outer Extrusion surface. crossSection is an ordered set of 2D points that draw a piecewise-linear curve which is extruded to form a series of connected vertices.
      • Hint: the crossSection array can be open or closed (closed means that endpoints are coincident).
      • Hint: number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple orientation values.
      • Warning: match clockwise/counterclockwise, otherwise self-intersecting, impossible or inverted geometry can result!
      • Warning: avoid self-intersecting polygon line segments, otherwise defined geometry is irregular and rendering results are undefined. , particularly for end caps.
      Parameters:
      newValue - is new value for the crossSection field.
      Returns:
      Extrusion - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getEndCap

      boolean getEndCap()
      Provide boolean value from initializeOnly SFBool field named endCap.

      Tooltip: Whether end cap is drawn (similar to Cylinder bottom cap).
      • Warning: cannot be changed after initial creation.
      Returns:
      value of endCap field
    • setEndCap

      Extrusion setEndCap​(boolean newValue)
      Accessor method to assign boolean value to initializeOnly SFBool field named endCap.

      Tooltip: Whether end cap is drawn (similar to Cylinder bottom cap).
      • Warning: cannot be changed after initial creation.
      Parameters:
      newValue - is new value for the endCap field.
      Returns:
      Extrusion - 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.
      Specified by:
      getMetadata in interface X3DGeometryNode
      Specified by:
      getMetadata in interface X3DNode
      Returns:
      value of metadata field
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      Extrusion setMetadata​(X3DMetadataObject newValue)
      Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
      Specified by:
      setMetadata in interface X3DGeometryNode
      Specified by:
      setMetadata in interface X3DNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      Extrusion - 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
    • getOrientation

      float[] getOrientation()
      Provide array of 4-tuple float results unit axis, angle (in radians) from inputOutput MFRotation field named orientation.

      Tooltip: The orientation array is a list of axis-angle 4-tuple values applied at each spine-aligned cross-section plane.
      • Hint: if the orientation array contains a single 4-tuple value, it is applied at all spine-aligned crossSection planes.
      • Hint: number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple orientation values.
      Returns:
      value of orientation field
    • setOrientation

      Extrusion setOrientation​(float[] newValue)
      Accessor method to assign 4-tuple float array unit axis, angle (in radians) to inputOutput MFRotation field named orientation.

      Tooltip: The orientation array is a list of axis-angle 4-tuple values applied at each spine-aligned cross-section plane.
      • Hint: if the orientation array contains a single 4-tuple value, it is applied at all spine-aligned crossSection planes.
      • Hint: number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple orientation values.
      Parameters:
      newValue - is new value for the orientation field.
      Returns:
      Extrusion - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getScale

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

      Tooltip: (0,+infinity) scale is a list of 2D-scale parameters applied at each spine-aligned cross-section plane.
      • Hint: number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple orientation values.
      • Hint: if the scale array contains one value, it is applied at all spine-aligned crossSection planes.
      • Warning: zero or negative scale values not allowed.
      Returns:
      value of scale field
    • setScale

      Extrusion setScale​(float[] newValue)
      Accessor method to assign 2-tuple float array to inputOutput MFVec2f field named scale.

      Tooltip: (0,+infinity) scale is a list of 2D-scale parameters applied at each spine-aligned cross-section plane.
      • Hint: number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple orientation values.
      • Hint: if the scale array contains one value, it is applied at all spine-aligned crossSection planes.
      • Warning: zero or negative scale values not allowed.
      Parameters:
      newValue - is new value for the scale field.
      Returns:
      Extrusion - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getSolid

      boolean getSolid()
      Provide boolean value from initializeOnly SFBool field named solid.

      Tooltip: Setting solid true means draw only one side of polygons (backface culling on), setting solid false means draw both sides of polygons (backface culling off).
      • Warning: default value true can completely hide geometry if viewed from wrong side!
      • Hint: if in doubt, use solid='false' for maximum visibility.
      Returns:
      value of solid field
    • setSolid

      Extrusion setSolid​(boolean newValue)
      Accessor method to assign boolean value to initializeOnly SFBool field named solid.

      Tooltip: Setting solid true means draw only one side of polygons (backface culling on), setting solid false means draw both sides of polygons (backface culling off).
      • Warning: default value true can completely hide geometry if viewed from wrong side!
      • Hint: if in doubt, use solid='false' for maximum visibility.
      Parameters:
      newValue - is new value for the solid field.
      Returns:
      Extrusion - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getSpine

      float[] getSpine()
      Provide array of 3-tuple float results from initializeOnly MFVec3f field named spine.

      Tooltip: The spine array defines a center-line sequence of 3D points that define a piecewise-linear curve forming a series of connected vertices. The spine is set of points along which a 2D crossSection is extruded, scaled and oriented.
      • Hint: the spine array can be open or closed (closed means that endpoints are coincident).
      • Hint: number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple orientation values.
      • Warning: take care if creating loops or spirals, otherwise self-intersecting, impossible or inverted geometry can result!.
      Returns:
      value of spine field
    • setSpine

      Extrusion setSpine​(float[] newValue)
      Accessor method to assign 3-tuple float array to initializeOnly MFVec3f field named spine.

      Tooltip: The spine array defines a center-line sequence of 3D points that define a piecewise-linear curve forming a series of connected vertices. The spine is set of points along which a 2D crossSection is extruded, scaled and oriented.
      • Hint: the spine array can be open or closed (closed means that endpoints are coincident).
      • Hint: number of values must all match for 3-tuple spine points, 2-tuple scale values, and 4-tuple orientation values.
      • Warning: take care if creating loops or spirals, otherwise self-intersecting, impossible or inverted geometry can result!.
      Parameters:
      newValue - is new value for the spine field.
      Returns:
      Extrusion - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).