Class TAbstractNurbsSurfaceGeometryNode

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TAbstractNurbsSurfaceGeometryNode = class(TAbstractParametricGeometryNode)

Description

no description available, TAbstractParametricGeometryNode description follows
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 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 Coord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override;
Public function SolidField: TSFBool; override;

Properties

Public property FdControlPoint: TSFNode read FFdControlPoint;
Public property FdTexCoord: TSFNode read FFdTexCoord;
Public property FdUTessellation: TSFInt32 read FFdUTessellation;
Public property FdVTessellation: TSFInt32 read FFdVTessellation;
Public property FdWeight: TMFDouble read FFdWeight;
Public property FdSolid: TSFBool read FFdSolid;
Public property FdUClosed: TSFBool read FFdUClosed;
Public property FdUDimension: TSFInt32 read FFdUDimension;
Public property FdUKnot: TMFDouble read FFdUKnot;
Public property FdUOrder: TSFInt32 read FFdUOrder;
Public property FdVClosed: TSFBool read FFdVClosed;
Public property FdVDimension: TSFInt32 read FFdVDimension;
Public property FdVKnot: TMFDouble read FFdVKnot;
Public property FdVOrder: TSFInt32 read FFdVOrder;

Description

Methods

Protected procedure DirectEnumerateActive( Func: TEnumerateChildrenFunction); override;
 
Public procedure CreateNode; override;
 
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 Coord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override;
 
Public function SolidField: TSFBool; override;
 

Properties

Public property FdControlPoint: TSFNode read FFdControlPoint;
 
Public property FdTexCoord: TSFNode read FFdTexCoord;
 
Public property FdUTessellation: TSFInt32 read FFdUTessellation;
 
Public property FdVTessellation: TSFInt32 read FFdVTessellation;
 
Public property FdWeight: TMFDouble read FFdWeight;
 
Public property FdSolid: TSFBool read FFdSolid;
 
Public property FdUClosed: TSFBool read FFdUClosed;
 
Public property FdUDimension: TSFInt32 read FFdUDimension;
 
Public property FdUKnot: TMFDouble read FFdUKnot;
 
Public property FdUOrder: TSFInt32 read FFdUOrder;
 
Public property FdVClosed: TSFBool read FFdVClosed;
 
Public property FdVDimension: TSFInt32 read FFdVDimension;
 
Public property FdVKnot: TMFDouble read FFdVKnot;
 
Public property FdVOrder: TSFInt32 read FFdVOrder;