Package org.web3d.x3d.sai.Geometry3D
Interface Extrusion
 All Superinterfaces:
X3DGeometryNode
,X3DNode
 All Known Implementing Classes:
Extrusion
Extrusion is a geometry node that sequentially stretches a 2D cross section along a 3Dspine path in the local coordinate system, creating an outer hull.
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
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
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: [X3DGeometryNode] Extrusion is a geometry node that sequentially stretches a 2D cross section along a 3Dspine 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 selfintersecting, impossible or inverted geometry.
Hint: Extrusion <a href="https://en.wikipedia.org/wiki/Extrusion" target="_blank">https://en.wikipedia.org/wiki/Extrusion</a>
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:

Method Summary
Modifier and TypeMethodDescriptionboolean
Provide boolean value from initializeOnly SFBool field named beginCap.boolean
getCcw()
Provide boolean value from initializeOnly SFBool field named ccw.boolean
Provide boolean value from initializeOnly SFBool field named convex.float
Provide float value unit axis, angle (in radians) within allowed range of [0,infinity) from initializeOnly SFFloat field named creaseAngle.float[]
Provide array of 2tuple float results from initializeOnly MFVec2f field named crossSection.boolean
Provide boolean value from initializeOnly SFBool field named endCap.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.float[]
Provide array of 4tuple float results unit axis, angle (in radians) from initializeOnly MFRotation field named orientation.float[]
getScale()
Provide array of 2tuple float results from initializeOnly MFVec2f field named scale.boolean
getSolid()
Provide boolean value from initializeOnly SFBool field named solid.float[]
getSpine()
Provide array of 3tuple float results from initializeOnly MFVec3f field named spine.setBeginCap
(boolean newValue) Accessor method to assign boolean value to initializeOnly SFBool field named beginCap.setCcw
(boolean newValue) Accessor method to assign boolean value to initializeOnly SFBool field named ccw.setConvex
(boolean newValue) Accessor method to assign boolean value to initializeOnly SFBool field named convex.setCreaseAngle
(float newValue) Accessor method to assign float value unit axis, angle (in radians) to initializeOnly SFFloat field named creaseAngle.setCrossSection
(float[] newValue) Accessor method to assign 2tuple float array to initializeOnly MFVec2f field named crossSection.setEndCap
(boolean newValue) Accessor method to assign boolean value to initializeOnly SFBool field named endCap.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.setOrientation
(float[] newValue) Accessor method to assign 4tuple float array unit axis, angle (in radians) to initializeOnly MFRotation field named orientation.setScale
(float[] newValue) Accessor method to assign 2tuple float array to initializeOnly MFVec2f field named scale.setSolid
(boolean newValue) Accessor method to assign boolean value to initializeOnly SFBool field named solid.setSpine
(float[] newValue) Accessor method to assign 3tuple 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: since this field has accessType initializeOnly, the value cannot be changed after initial creation. * Returns:
 value of beginCap field

setBeginCap
Accessor method to assign boolean value to initializeOnly SFBool field named beginCap.
Tooltip: Whether beginning cap is drawn (similar to Cylinder top cap). Warning: since this field has accessType initializeOnly, the value 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: The ccw field indicates counterclockwise ordering of vertexcoordinates orientation. Hint: a good debugging technique for problematic polygons is to try changing the value of ccw, which can reverse solid effects (singlesided backface culling) and normalvector direction. Warning: consistent and correct ordering of lefthanded or righthanded point sequences is important throughout the coord array of point values. Hint: clockwise <a href="https://en.wikipedia.org/wiki/Clockwise" target="_blank">https://en.wikipedia.org/wiki/Clockwise</a> * Returns:
 value of ccw field

setCcw
Accessor method to assign boolean value to initializeOnly SFBool field named ccw.
Tooltip: The ccw field indicates counterclockwise ordering of vertexcoordinates orientation. Hint: a good debugging technique for problematic polygons is to try changing the value of ccw, which can reverse solid effects (singlesided backface culling) and normalvector direction. Warning: consistent and correct ordering of lefthanded or righthanded point sequences is important throughout the coord array of point values. Hint: clockwise <a href="https://en.wikipedia.org/wiki/Clockwise" target="_blank">https://en.wikipedia.org/wiki/Clockwise</a> * 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: The convex field is a hint to renderers 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. Hint: concave is the opposite of convex. Warning: concave or inverted geometry may be invisible when using default value convex=true, since some renderers use moreefficient algorithms to perform tessellation that may inadvertently fail on concave geometry. Hint: select convex=false (i.e. concave) and solid=false (i.e. twosided display) for greatest visibility of geometry. Hint: convex polygon <a href="https://en.wikipedia.org/wiki/Convex_polygon" target="_blank">https://en.wikipedia.org/wiki/Convex_polygon</a> Hint: tessellation <a href="https://en.wikipedia.org/wiki/Tessellation" target="_blank">https://en.wikipedia.org/wiki/Tessellation</a> * Returns:
 value of convex field

setConvex
Accessor method to assign boolean value to initializeOnly SFBool field named convex.
Tooltip: The convex field is a hint to renderers 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. Hint: concave is the opposite of convex. Warning: concave or inverted geometry may be invisible when using default value convex=true, since some renderers use moreefficient algorithms to perform tessellation that may inadvertently fail on concave geometry. Hint: select convex=false (i.e. concave) and solid=false (i.e. twosided display) for greatest visibility of geometry. Hint: convex polygon <a href="https://en.wikipedia.org/wiki/Convex_polygon" target="_blank">https://en.wikipedia.org/wiki/Convex_polygon</a> Hint: tessellation <a href="https://en.wikipedia.org/wiki/Tessellation" target="_blank">https://en.wikipedia.org/wiki/Tessellation</a> * 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. Hint: creaseAngle=0 means render all edges sharply, creaseAngle=3.14159 means render all edges smoothly. Hint: radian units for angular measure <a href="https://en.wikipedia.org/wiki/Radian" target="_blank">https://en.wikipedia.org/wiki/Radian</a> * Returns:
 value of creaseAngle field

setCreaseAngle
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. Hint: creaseAngle=0 means render all edges sharply, creaseAngle=3.14159 means render all edges smoothly. Hint: radian units for angular measure <a href="https://en.wikipedia.org/wiki/Radian" target="_blank">https://en.wikipedia.org/wiki/Radian</a> * 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 2tuple 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 piecewiselinear 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 3tuple spine points, 2tuple scale values, and 4tuple orientation values. Warning: if the order of crossSection point definition does not match clockwise/counterclockwise setting of ccw field, then selfintersecting, impossible or inverted geometry can result! Warning: avoid selfintersecting polygon line segments, otherwise defined geometry is irregular and rendering results are undefined (especially for end caps). * Returns:
 value of crossSection field

setCrossSection
Accessor method to assign 2tuple 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 piecewiselinear 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 3tuple spine points, 2tuple scale values, and 4tuple orientation values. Warning: if the order of crossSection point definition does not match clockwise/counterclockwise setting of ccw field, then selfintersecting, impossible or inverted geometry can result! Warning: avoid selfintersecting polygon line segments, otherwise defined geometry is irregular and rendering results are undefined (especially 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: since this field has accessType initializeOnly, the value cannot be changed after initial creation. * Returns:
 value of endCap field

setEndCap
Accessor method to assign boolean value to initializeOnly SFBool field named endCap.
Tooltip: Whether end cap is drawn (similar to Cylinder bottom cap). Warning: since this field has accessType initializeOnly, the value 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 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/ISOIEC197751v4IS.proof//Part01/components/core.html#Metadata" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISOIEC197751v4IS.proof//Part01/components/core.html#Metadata</a> * Specified by:
getMetadata
in interfaceX3DGeometryNode
 Specified by:
getMetadata
in interfaceX3DNode
 Returns:
 value of metadata field
 See Also:

setMetadata
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/ISOIEC197751v4IS.proof//Part01/components/core.html#Metadata" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISOIEC197751v4IS.proof//Part01/components/core.html#Metadata</a> * Specified by:
setMetadata
in interfaceX3DGeometryNode
 Specified by:
setMetadata
in interfaceX3DNode
 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:

getOrientation
float[] getOrientation()Provide array of 4tuple float results unit axis, angle (in radians) from initializeOnly MFRotation field named orientation.
Tooltip: The orientation array is a list of axisangle 4tuple values applied at each spinealigned crosssection plane. Hint: if the orientation array contains a single 4tuple value, it is applied at all spinealigned crossSection planes. Hint: number of values must all match for 3tuple spine points, 2tuple scale values, and 4tuple orientation values. * Returns:
 value of orientation field

setOrientation
Accessor method to assign 4tuple float array unit axis, angle (in radians) to initializeOnly MFRotation field named orientation.
Tooltip: The orientation array is a list of axisangle 4tuple values applied at each spinealigned crosssection plane. Hint: if the orientation array contains a single 4tuple value, it is applied at all spinealigned crossSection planes. Hint: number of values must all match for 3tuple spine points, 2tuple scale values, and 4tuple 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 2tuple float results from initializeOnly MFVec2f field named scale.
Tooltip: (0,+infinity) scale is a list of 2Dscale parameters applied at each spinealigned crosssection plane. Hint: number of values must all match for 3tuple spine points, 2tuple scale values, and 4tuple orientation values. Hint: if the scale array contains one value, it is applied at all spinealigned crossSection planes. Warning: zero or negative scale values not allowed. * Returns:
 value of scale field

setScale
Accessor method to assign 2tuple float array to initializeOnly MFVec2f field named scale.
Tooltip: (0,+infinity) scale is a list of 2Dscale parameters applied at each spinealigned crosssection plane. Hint: number of values must all match for 3tuple spine points, 2tuple scale values, and 4tuple orientation values. Hint: if the scale array contains one value, it is applied at all spinealigned 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). Hint: mnemonic "this geometry is solid like a brick" (you don't render the inside of a brick). Warning: default value true can completely hide geometry if viewed from wrong side! Hint: if in doubt, use solid='false' for maximum visibility. Hint: (X3D version 4.0 draft) accessType relaxed to inputOutput in order to support animation and visualization. * Returns:
 value of solid field

setSolid
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). Hint: mnemonic "this geometry is solid like a brick" (you don't render the inside of a brick). Warning: default value true can completely hide geometry if viewed from wrong side! Hint: if in doubt, use solid='false' for maximum visibility. Hint: (X3D version 4.0 draft) accessType relaxed to inputOutput in order to support animation and visualization. * 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 3tuple float results from initializeOnly MFVec3f field named spine.
Tooltip: The spine array defines a centerline sequence of 3D points that define a piecewiselinear 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 3tuple spine points, 2tuple scale values, and 4tuple orientation values. Warning: special care is needed if creating loops or spirals since selfintersecting, impossible or inverted geometry can result! Warning: ensure that spine segments have nonzero length and are not coincident with each other. Hint: if a spine is closed (or nearly closed) then the inner diameter usually needs to be greater than the corresponding crossSection width. * Returns:
 value of spine field

setSpine
Accessor method to assign 3tuple float array to initializeOnly MFVec3f field named spine.
Tooltip: The spine array defines a centerline sequence of 3D points that define a piecewiselinear 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 3tuple spine points, 2tuple scale values, and 4tuple orientation values. Warning: special care is needed if creating loops or spirals since selfintersecting, impossible or inverted geometry can result! Warning: ensure that spine segments have nonzero length and are not coincident with each other. Hint: if a spine is closed (or nearly closed) then the inner diameter usually needs to be greater than the corresponding crossSection width. * 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).
