Castle Game Engine: X3DNodes: Class TExtrusionNode

# Class TExtrusionNode
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DNodes ## Declaration `type TExtrusionNode = class(TAbstractX3DGeometryNode)` ## Description no description available, TAbstractX3DGeometryNode description follows no description available, TAbstractGeometryNode description follows Geometry nodes are the only nodes that produces some visible results during rendering. Much of the VRML language is just a method of describing properties how geometry nodes are displayed (materials, transformations, lighting). A few things that make geometry node special : Only geometry nodes may have [Local]BoundingBox. Only geometry nodes define something visible "in usual way" during rendering (Some other nodes in VRML / X3D are visible but in an unusual way, like Background and Fog. These nodes must be rendered in a special way — they are not affected in any usual way by the current transformation matrix etc.) Geometry nodes are never "grouping nodes", in particular there's never a geometry node that is (direct or indirect) child of another geometry node. So there's no need to be concerned whether geometry nodes' children are included in things like [Local]BoundingBox or Triangles/VerticesCount. Geometry nodes don't affect anything in graph traverse state. (This is important mostly for VRML 1.0, since in newer VRML / X3D "graph traverse state" is not that important.) For X3D, this descends from TAbstractNode, and TAbstractX3DGeometryNode descends from us. This way in X3D TAbstractX3DGeometryNode descends from this, and also X3D hierarchy is preserved (X3DGeometryNode must descend from X3DNode). ## Hierarchy TPersistent TNonRefCountedInterfacedPersistent TX3DFileItem TX3DNode TAbstractNode TAbstractGeometryNode TAbstractX3DGeometryNode TExtrusionNode ## Overview ### Methods
| `procedure DirectEnumerateActive(Func: TEnumerateChildrenFunction); override;`
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function TexCoordField: TSFNode; override;`
| `function SolidField: TSFBool; override;`
| `function ConvexField: TSFBool; override;`
| `function CrossSection3D(Index: integer): TVector3Single;`
| `function SpineClosed: boolean;`
| `function CrossSectionClosed: boolean;`
| `function Proxy(var State: TX3DGraphTraverseState; const OverTriangulate: boolean): TAbstractGeometryNode; override;`
| `function ProxyUsesOverTriangulate: boolean; override;`
| `function LocalBoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;`
| `function BoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;`
| `function TrianglesCount(State: TX3DGraphTraverseState; OverTriangulate: boolean; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;`
| `function AutoGenerate3DTexCoords: boolean; override;`
### Properties
| `property EventSet_crossSection: TMFVec2fEvent read FEventSet_crossSection;`
| `property EventSet_orientation: TMFRotationEvent read FEventSet_orientation;`
| `property EventSet_scale: TMFVec2fEvent read FEventSet_scale;`
| `property EventSet_spine: TMFVec3fEvent read FEventSet_spine;`
| `property FdBeginCap: TSFBool read FFdBeginCap;`
| `property FdCcw: TSFBool read FFdCcw;`
| `property FdConvex: TSFBool read FFdConvex;`
| `property FdCreaseAngle: TSFFloat read FFdCreaseAngle;`
| `property FdCrossSection: TMFVec2f read FFdCrossSection;`
| `property FdEndCap: TSFBool read FFdEndCap;`
| `property FdOrientation: TMFRotation read FFdOrientation;`
| `property FdScale: TMFVec2f read FFdScale;`
| `property FdSolid: TSFBool read FFdSolid;`
| `property FdSpine: TMFVec3f read FFdSpine;`
| `property FdTexCoord: TSFNode read FFdTexCoord;`
## Description ### Methods
| `procedure DirectEnumerateActive(Func: TEnumerateChildrenFunction); override;`
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function TexCoordField: TSFNode; override;`
| `function SolidField: TSFBool; override;`
| `function ConvexField: TSFBool; override;`
| `function CrossSection3D(Index: integer): TVector3Single;`
For given Index, return appropriate FdCrossIndex item as 3D vertex. That is, uses FdCrossIndex values as X, Z of 3D vertex and sets Y = 0 (that's how Extrusion is defined in VRML / X3D).
| `function SpineClosed: boolean;`
Check is spine closed. This happens when "spine" field is non-empty and it's first and last points are equal.
| `function CrossSectionClosed: boolean;`
Check is crossSection closed. This happens when "crossSection" field is non-empty and it's first and last points are equal.
| `function Proxy(var State: TX3DGraphTraverseState; const OverTriangulate: boolean): TAbstractGeometryNode; override;`
| `function ProxyUsesOverTriangulate: boolean; override;`
| `function LocalBoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;`
| `function BoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;`
| `function TrianglesCount(State: TX3DGraphTraverseState; OverTriangulate: boolean; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;`
| `function AutoGenerate3DTexCoords: boolean; override;`
### Properties
| `property EventSet_crossSection: TMFVec2fEvent read FEventSet_crossSection;`
| `property EventSet_orientation: TMFRotationEvent read FEventSet_orientation;`
| `property EventSet_scale: TMFVec2fEvent read FEventSet_scale;`
| `property EventSet_spine: TMFVec3fEvent read FEventSet_spine;`
| `property FdBeginCap: TSFBool read FFdBeginCap;`
| `property FdCcw: TSFBool read FFdCcw;`
| `property FdConvex: TSFBool read FFdConvex;`
| `property FdCreaseAngle: TSFFloat read FFdCreaseAngle;`
| `property FdCrossSection: TMFVec2f read FFdCrossSection;`
| `property FdEndCap: TSFBool read FFdEndCap;`
| `property FdOrientation: TMFRotation read FFdOrientation;`
| `property FdScale: TMFVec2f read FFdScale;`
| `property FdSolid: TSFBool read FFdSolid;`
| `property FdSpine: TMFVec3f read FFdSpine;`
| `property FdTexCoord: TSFNode read FFdTexCoord;`
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:14