Castle Game Engine: X3DNodes: Class TElevationGridNode

# Class TElevationGridNode
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DNodes ## Declaration `type TElevationGridNode = 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 TElevationGridNode ## Overview ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function IsNotEmpty: boolean;`
| `function Color: TMFVec3f; override;`
| `function ColorRGBA: TMFColorRGBA; override;`
| `function FogCoord: TMFFloat; override;`
| `function Attrib: TMFNode; override;`
| `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 VerticesCount(State: TX3DGraphTraverseState; OverTriangulate: boolean; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;`
| `function TrianglesCount(State: TX3DGraphTraverseState; OverTriangulate: boolean; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;`
### Properties
| `property EventSet_height: TX3DEvent read FEventSet_height;`
| `property FdAttrib: TMFNode read FFdAttrib;`
| `property FdColor: TSFNode read FFdColor;`
| `property FdFogCoord: TSFNode read FFdFogCoord;`
| `property FdNormal: TSFNode read FFdNormal;`
| `property FdTexCoord: TSFNode read FFdTexCoord;`
| `property FdCcw: TSFBool read FFdCcw;`
| `property FdColorPerVertex: TSFBool read FFdColorPerVertex;`
| `property FdCreaseAngle: TSFFloat read FFdCreaseAngle;`
| `property FdHeight: TMFFloat read FFdHeight;`
| `property FdNormalPerVertex: TSFBool read FFdNormalPerVertex;`
| `property FdSolid: TSFBool read FFdSolid;`
| `property FdXDimension: TSFInt32 read FFdXDimension;`
| `property FdXSpacing: TSFFloat read FFdXSpacing;`
| `property FdZDimension: TSFInt32 read FFdZDimension;`
| `property FdZSpacing: TSFFloat read FFdZSpacing;`
## Description ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function IsNotEmpty: boolean;`
This checks whether xDimension and zDimension are >= 2, xSpacing and zSpacing are > 0 and height has at least the required number of values. If this returns `False` then it is understood that ElevationGrid is not rendered, doesn't have any vertices/triangles etc.
| `function Color: TMFVec3f; override;`
| `function ColorRGBA: TMFColorRGBA; override;`
| `function FogCoord: TMFFloat; override;`
| `function Attrib: TMFNode; override;`
| `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 VerticesCount(State: TX3DGraphTraverseState; OverTriangulate: boolean; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;`
| `function TrianglesCount(State: TX3DGraphTraverseState; OverTriangulate: boolean; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;`
### Properties
| `property EventSet_height: TX3DEvent read FEventSet_height;`
| `property FdAttrib: TMFNode read FFdAttrib;`
| `property FdColor: TSFNode read FFdColor;`
| `property FdFogCoord: TSFNode read FFdFogCoord;`
| `property FdNormal: TSFNode read FFdNormal;`
| `property FdTexCoord: TSFNode read FFdTexCoord;`
| `property FdCcw: TSFBool read FFdCcw;`
| `property FdColorPerVertex: TSFBool read FFdColorPerVertex;`
| `property FdCreaseAngle: TSFFloat read FFdCreaseAngle;`
| `property FdHeight: TMFFloat read FFdHeight;`
| `property FdNormalPerVertex: TSFBool read FFdNormalPerVertex;`
| `property FdSolid: TSFBool read FFdSolid;`
| `property FdXDimension: TSFInt32 read FFdXDimension;`
| `property FdXSpacing: TSFFloat read FFdXSpacing;`
| `property FdZDimension: TSFInt32 read FFdZDimension;`
| `property FdZSpacing: TSFFloat read FFdZSpacing;`
Generated by PasDoc 0.13.0 on 2013-08-17 21:27:16