### Extrusion

Extrusion is a geometry node stretching a 2D cross section along a 3D-spine path in the local coordinate system Scaling/rotating cross-sections can produce a variety of shapes. Hint: insert a Shape node before adding geometry or Appearance.

#### Inheritance

#### Code

##### XML encoding

<Extrusion logFeature='' optimizationMode='auto' cacheMode='auto' normalUpdateMode='nice' invalidateVolume='FALSE' multiResolutionLevel='1' resolution='1' lit='TRUE' spine='0 0 0, 0 1 0' scale='1 1' orientation='0 0 1 0' crossSection='1 1, 1 -1, -1 -1, -1 1, 1 1' creaseAngle='0' beginCap='TRUE' endCap='TRUE' ccw='TRUE' convex='TRUE' solid='TRUE' />

##### Classic encoding

Extrusion { logFeature [""] optimizationMode ["auto"] cacheMode "auto" normalUpdateMode "nice" invalidateVolume FALSE multiResolutionLevel 1 resolution 1 lit TRUE spine [0 0 0, 0 1 0] scale [1 1] orientation [0 0 1 0] crossSection [1 1, 1 -1, -1 -1, -1 1, 1 1] creaseAngle 0 beginCap TRUE endCap TRUE ccw TRUE convex TRUE solid TRUE }

#### Interface

Filter: X3D only | Avalon only | All

id | Name | DataType | PartType | Default | ValueType | Description |
---|---|---|---|---|---|---|

beginCap | SFBool | initializeOnly | TRUE | Specifies whether beginning cap is drawn (similar to Cylinder top cap). Warning: cannot be changed after initial creation. | ||

endCap | SFBool | initializeOnly | TRUE | Specifies whether end cap is drawn (similar to Cylinder end cap). Warning: cannot be changed after initial creation. | ||

ccw | SFBool | initializeOnly | TRUE | ccw = counterclockwise: ordering of vertex-coordinates orientation. Hint: ccw false can reverse solid (backface culling) and normal-vector orientation. | ||

convex | SFBool | initializeOnly | TRUE | Specifies whether all polygons in a shape are convex. A convex polygon is planar, does not intersect itself, and has all interior angles less then; 180 degrees. Warning: Non planar and self intersecting polygons may produce undefined results even if the convex field is FALSE. | ||

solid | SFBool | initializeOnly | TRUE | Specifies whether to draw only one side or both sides of polygons. Warning: default value true can completely hide geometry if viewed from wrong side. TRUE: draw only one side of polygons (backface culling on); FALSE: draw both sides of polygons (backface culling off) | ||

creaseAngle | SFFloat | initializeOnly | 0 | [0, inf) | CreaseAngle defines the angle (in radians) for determining whether 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.14 means render all edges smoothly. | |

crossSection | MFVec2f | inputOutput | 1 1, 1 -1, -1 -1, -1 1, 1 1 | (-inf, inf) | An ordered set of 2D points drawing a piecewise-linear curve and forming a planar series of connected vertices. This provides a silhouette of the outer surface. Warning: match clockwise/counterclockwise or impossible/inverted geometry can result! | |

orientation | MFRotation | inputOutput | 0 0 1 0 | [-1, 1] or (-inf, inf) for the last value of a 4-tuple | List of 3D orientation parameters. These axis-angle orientation 4-tuples are applied at each spine-aligned cross-section plane. Hint: number of spine points, scale values and orientation values must be the same. | |

scale | MFVec2f | inputOutput | 1 1 | (0, inf) | List of 2D-scale parameters applied at each spine-aligned cross-section plane. Hint: number of spine points, scale values and orientation values must be the same. Warning: zero or negative scale values not allowed. | |

spine | MFVec3f | inputOutput | 0 0 0, 0 1 0 | (-inf, inf) | List of 3D points for a piecewise-linear curve forming a series of connected vertices, open or closed. This is the path along which the crossSection is extruded. Hint: number of spine points, scale values and orientation values must be the same. | |

lit | SFBool | initializeOnly | TRUE | Specifies whether to enable/disable lighting the geometry. TRUE enables lighting, FALSE disables lighting. | ||

resolution | SFFloat | inputOutput | 1 | factor for subdivision of mesh | ||

multiResolutionLevel | SFInt32 | initializeOnly | 1 | resolution level in progressive mesh | ||

invalidateVolume | SFBool | inputOutput | FALSE | set volume invalid | ||

normalUpdateMode | SFString | initializeOnly | nice | none; fast; nice | force update of normals; nice update is with creaseAngle, fast is without | |

cacheMode | SFString | initializeOnly | auto | auto; dlist; vbo; off | controls the creation of geo cache objects; auto is vbo or dlist for dynamic objects | |

optimizationMode | MFString | inputOutput | auto | auto; all, none, sharedVertex; stripFan; vertexResort; reduceIndexSize; singleIndex | optimization mode settings; used leading +/- to switch modes on and off | |

logFeature | MFString | inputOutput | state, child, parent, route, eventIn, eventOut | controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything | ||

metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element |