Class TNurbsCurveNode

Unit

Declaration

type TNurbsCurveNode = class(TAbstractParametricGeometryNode)

Description

Visible NURBS curve in 3D.

Hierarchy

Overview

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
Public procedure CreateNode; override;
Public class function ClassX3DType: 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;
Public function InternalCoord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override;
Public procedure PiecewiseBezier;
Public function Point(const U: Single; const Tangent: PVector3 = nil): TVector3;
Public procedure SetWeight(const Value: array of Double);
Public procedure SetWeight(const Value: TDoubleList);
Public procedure SetKnot(const Value: array of Double);
Public procedure SetKnot(const Value: TDoubleList);

Properties

Public property FdControlPoint: TSFNode read FFdControlPoint;
Public property FdTessellation: TSFInt32 read FFdTessellation;
Public property FdWeight: TMFDouble read FFdWeight;
Public property FdClosed: TSFBool read FFdClosed;
Public property FdKnot: TMFDouble read FFdKnot;
Public property FdOrder: TSFInt32 read FFdOrder;
Public property ControlPoint: TAbstractCoordinateNode read GetControlPoint write SetControlPoint;
Public property Tessellation: Integer read GetTessellation write SetTessellation;
Public property Closed: boolean read GetClosed write SetClosed;
Public property Order: Integer read GetOrder write SetOrder;

Description

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
 
Public procedure CreateNode; override;
 
Public class function ClassX3DType: 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;
 
Public function InternalCoord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override;
 
Public procedure PiecewiseBezier;

Make this NURBS curve equal to a piecewise Bezier curve by setting appropriate "knot". This looks at ControlPoint count and Order (set Order = 4 for a typical cubic Bezier curve).

Public function Point(const U: Single; const Tangent: PVector3 = nil): TVector3;

Get the position of a point on the curve.

The returned position is in the local transformation space of this shape. This method is guaranteed to work the same, regardless if this node is part of any TX3DRootNode and TCastleSceneCore or not.

Parameters
U
The place on a curve, in [0..1] range.
Tangent
Optional. If non-nil, will be set to the tangent, that is, direction in 3D in which the curve is going.
Public procedure SetWeight(const Value: array of Double);
 
Public procedure SetWeight(const Value: TDoubleList);
 
Public procedure SetKnot(const Value: array of Double);
 
Public procedure SetKnot(const Value: TDoubleList);
 

Properties

Public property FdControlPoint: TSFNode read FFdControlPoint;
 
Public property FdTessellation: TSFInt32 read FFdTessellation;
 
Public property FdWeight: TMFDouble read FFdWeight;
 
Public property FdClosed: TSFBool read FFdClosed;
 
Public property FdKnot: TMFDouble read FFdKnot;
 
Public property FdOrder: TSFInt32 read FFdOrder;
 
Public property ControlPoint: TAbstractCoordinateNode read GetControlPoint write SetControlPoint;
 
Public property Tessellation: Integer read GetTessellation write SetTessellation;
 
Public property Closed: boolean read GetClosed write SetClosed;
 
Public property Order: Integer read GetOrder write SetOrder;
 

Generated by PasDoc 0.15.0.