Class TAbstractComposedGeometryNode

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TAbstractComposedGeometryNode = 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 function Coord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override;
Public function TexCoordField: TSFNode; override;
Public function ColorField: TSFNode; override;
Public function SolidField: TSFBool; override;
Public function FogCoord: TMFFloat; override;
Public function Attrib: TMFNode; override;
Public function Normal: TMFVec3f;
Public function NormalItems: TVector3SingleList;

Properties

Public property FdAttrib: TMFNode read FFdAttrib;
Public property FdColor: TSFNode read FFdColor;
Public property FdCoord: TSFNode read FFdCoord;
Public property FdFogCoord: TSFNode read FFdFogCoord;
Public property FdNormal: TSFNode read FFdNormal;
Public property FdTexCoord: TSFNode read FFdTexCoord;
Public property FdCcw: TSFBool read FFdCcw;
Public property FdColorPerVertex: TSFBool read FFdColorPerVertex;
Public property FdNormalPerVertex: TSFBool read FFdNormalPerVertex;
Public property FdSolid: TSFBool read FFdSolid;
Public property FdRadianceTransfer: TMFVec3f read FFdRadianceTransfer;

Description

Methods

Protected procedure DirectEnumerateActive( Func: TEnumerateChildrenFunction); override;
 
Public procedure CreateNode; override;
 
Public function Coord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override;
 
Public function TexCoordField: TSFNode; override;
 
Public function ColorField: TSFNode; override;
 
Public function SolidField: TSFBool; override;
 
Public function FogCoord: TMFFloat; override;
 
Public function Attrib: TMFNode; override;
 
Public function Normal: TMFVec3f;

Returns normal vectors that are specified explicitly. The vectors are taken from the Normal node inside our FdNormal field. In case of problems (no Normal node specified, invalid node specified etc.) returns Nil.

Public function NormalItems: TVector3SingleList;

Returns normal vectors that are specified explicitly. The vectors are taken from the Normal node inside our FdNormal field. In case of problems (no Normal node specified, invalid node specified etc.) returns Nil.

Properties

Public property FdAttrib: TMFNode read FFdAttrib;
 
Public property FdColor: TSFNode read FFdColor;
 
Public property FdCoord: TSFNode read FFdCoord;
 
Public property FdFogCoord: TSFNode read FFdFogCoord;
 
Public property FdNormal: TSFNode read FFdNormal;
 
Public property FdTexCoord: TSFNode read FFdTexCoord;
 
Public property FdCcw: TSFBool read FFdCcw;
 
Public property FdColorPerVertex: TSFBool read FFdColorPerVertex;
 
Public property FdNormalPerVertex: TSFBool read FFdNormalPerVertex;
 
Public property FdSolid: TSFBool read FFdSolid;
 
Public property FdRadianceTransfer: TMFVec3f read FFdRadianceTransfer;
 

Generated by PasDoc 0.14.0.