Class TExtrusionNode

DescriptionHierarchyFieldsMethodsProperties

Unit

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

Overview

Methods

Protected procedure DirectEnumerateActive(Func: TEnumerateChildrenFunction); override;
Public procedure CreateNode; override;
Public class function ClassNodeTypeName: string; override;
Public class function URNMatching(const URN: string): boolean; override;
Public function TexCoordField: TSFNode; override;
Public function SolidField: TSFBool; override;
Public function ConvexField: TSFBool; override;
Public function CrossSection3D(Index: integer): TVector3Single;
Public function SpineClosed: boolean;
Public function CrossSectionClosed: boolean;
Public function Proxy(var State: TX3DGraphTraverseState; const OverTriangulate: boolean): TAbstractGeometryNode; override;
Public function ProxyUsesOverTriangulate: boolean; override;
Public function LocalBoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;
Public function BoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;
Public function TrianglesCount(State: TX3DGraphTraverseState; OverTriangulate: boolean; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;
Public function AutoGenerate3DTexCoords: boolean; override;

Properties

Public property EventSet_crossSection: TMFVec2fEvent read FEventSet_crossSection;
Public property EventSet_orientation: TMFRotationEvent read FEventSet_orientation;
Public property EventSet_scale: TMFVec2fEvent read FEventSet_scale;
Public property EventSet_spine: TMFVec3fEvent read FEventSet_spine;
Public property FdBeginCap: TSFBool read FFdBeginCap;
Public property FdCcw: TSFBool read FFdCcw;
Public property FdConvex: TSFBool read FFdConvex;
Public property FdCreaseAngle: TSFFloat read FFdCreaseAngle;
Public property FdCrossSection: TMFVec2f read FFdCrossSection;
Public property FdEndCap: TSFBool read FFdEndCap;
Public property FdOrientation: TMFRotation read FFdOrientation;
Public property FdScale: TMFVec2f read FFdScale;
Public property FdSolid: TSFBool read FFdSolid;
Public property FdSpine: TMFVec3f read FFdSpine;
Public property FdTexCoord: TSFNode read FFdTexCoord;

Description

Methods

Protected procedure DirectEnumerateActive(Func: TEnumerateChildrenFunction); override;
 
Public procedure CreateNode; override;
 
Public class function ClassNodeTypeName: string; override;
 
Public class function URNMatching(const URN: string): boolean; override;
 
Public function TexCoordField: TSFNode; override;
 
Public function SolidField: TSFBool; override;
 
Public function ConvexField: TSFBool; override;
 
Public 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).

Public function SpineClosed: boolean;

Check is spine closed. This happens when "spine" field is non-empty and it's first and last points are equal.

Public function CrossSectionClosed: boolean;

Check is crossSection closed. This happens when "crossSection" field is non-empty and it's first and last points are equal.

Public function Proxy(var State: TX3DGraphTraverseState; const OverTriangulate: boolean): TAbstractGeometryNode; override;
 
Public function ProxyUsesOverTriangulate: boolean; override;
 
Public function LocalBoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;
 
Public function BoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;
 
Public function TrianglesCount(State: TX3DGraphTraverseState; OverTriangulate: boolean; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;
 
Public function AutoGenerate3DTexCoords: boolean; override;
 

Properties

Public property EventSet_crossSection: TMFVec2fEvent read FEventSet_crossSection;
 
Public property EventSet_orientation: TMFRotationEvent read FEventSet_orientation;
 
Public property EventSet_scale: TMFVec2fEvent read FEventSet_scale;
 
Public property EventSet_spine: TMFVec3fEvent read FEventSet_spine;
 
Public property FdBeginCap: TSFBool read FFdBeginCap;
 
Public property FdCcw: TSFBool read FFdCcw;
 
Public property FdConvex: TSFBool read FFdConvex;
 
Public property FdCreaseAngle: TSFFloat read FFdCreaseAngle;
 
Public property FdCrossSection: TMFVec2f read FFdCrossSection;
 
Public property FdEndCap: TSFBool read FFdEndCap;
 
Public property FdOrientation: TMFRotation read FFdOrientation;
 
Public property FdScale: TMFVec2f read FFdScale;
 
Public property FdSolid: TSFBool read FFdSolid;
 
Public property FdSpine: TMFVec3f read FFdSpine;
 
Public property FdTexCoord: TSFNode read FFdTexCoord;
 

Generated by PasDoc 0.13.0 on 2014-10-26 05:15:17