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 class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;
Public function Proxy(var State: TX3DGraphTraverseState): TAbstractGeometryNode; 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; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;
Public function InternalCoord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override;
Public function CoordField: TSFNode; override;
Public procedure PiecewiseBezier;
Public function Point(const U: Single; const Tangent: PVector3 = nil): TVector3;
Public procedure CreateNode; override;
Public class function ClassX3DType: string; override;
Public procedure SetWeight(const Value: array of Double); overload;
Public procedure SetWeight(const Value: TDoubleList); overload;
Public procedure SetKnot(const Value: array of Double); overload;
Public procedure SetKnot(const Value: TDoubleList); overload;

Properties

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

Description

Methods

Protected function DirectEnumerateActive(Func: TEnumerateChildrenFunction): Pointer; override;
 
Public class function ForVRMLVersion(const Version: TX3DVersion): boolean; override;
 
Public function Proxy(var State: TX3DGraphTraverseState): TAbstractGeometryNode; 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; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;
 
Public function InternalCoord(State: TX3DGraphTraverseState; out ACoord: TMFVec3f): boolean; override;
 
Public function CoordField: TSFNode; 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 CreateNode; override;
 
Public class function ClassX3DType: string; override;
 
Public procedure SetWeight(const Value: array of Double); overload;
 
Public procedure SetWeight(const Value: TDoubleList); overload;
 
Public procedure SetKnot(const Value: array of Double); overload;
 
Public procedure SetKnot(const Value: TDoubleList); overload;
 

Properties

Public property FdControlPoint: TSFNode read FFdControlPoint;

Internal wrapper for property ControlPoint. This wrapper API may change, we advise to access simpler ControlPoint instead.

Public property ControlPoint: TAbstractCoordinateNode read GetControlPoint write SetControlPoint;
 
Public property FdTessellation: TSFInt32 read FFdTessellation;

Internal wrapper for property Tessellation. This wrapper API may change, we advise to access simpler Tessellation instead.

Public property Tessellation: Integer read GetTessellation write SetTessellation;
 
Public property FdWeight: TMFDouble read FFdWeight;

Internal wrapper for property Weight. This wrapper API may change, we advise to access simpler Weight instead.

Public property FdClosed: TSFBool read FFdClosed;

Internal wrapper for property Closed. This wrapper API may change, we advise to access simpler Closed instead.

Public property Closed: Boolean read GetClosed write SetClosed;
 
Public property FdKnot: TMFDouble read FFdKnot;

Internal wrapper for property Knot. This wrapper API may change, we advise to access simpler Knot instead.

Public property FdOrder: TSFInt32 read FFdOrder;

Internal wrapper for property Order. This wrapper API may change, we advise to access simpler Order instead.

Public property Order: Integer read GetOrder write SetOrder;
 

Generated by PasDoc 0.16.0.