Class TNurbsCurveNode_2

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TNurbsCurveNode_2 = 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

Public procedure CreateNode; override;
Public class function ClassNodeTypeName: string; override;
Public class function URNMatching(const URN: string): boolean; override;
Public class function ForVRMLVersion(const Version: TX3DVersion): boolean; 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;

Properties

Public property FdcontrolPoint: TMFVec3f read FFdcontrolPoint;
Public property Fdweight: TMFFloat read FFdweight;
Public property Fdtessellation: TSFInt32 read FFdtessellation;
Public property Fdknot: TMFFloat read FFdknot;
Public property Fdorder: TSFInt32 read FFdorder;

Description

Methods

Public procedure CreateNode; override;
 
Public class function ClassNodeTypeName: string; override;
 
Public class function URNMatching(const URN: string): boolean; override;
 
Public class function ForVRMLVersion(const Version: TX3DVersion): boolean; 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;
 

Properties

Public property FdcontrolPoint: TMFVec3f read FFdcontrolPoint;
 
Public property Fdweight: TMFFloat read FFdweight;
 
Public property Fdtessellation: TSFInt32 read FFdtessellation;
 
Public property Fdknot: TMFFloat read FFdknot;
 
Public property Fdorder: TSFInt32 read FFdorder;
 

Generated by PasDoc 0.13.0 on 2013-08-17 21:27:17