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;

Create node fields and events.

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, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

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, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

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, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property FdClosed: TSFBool read FFdClosed;

Internal wrapper for property Closed. This wrapper API may change, we advise to access simpler Closed instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

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, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property FdOrder: TSFInt32 read FFdOrder;

Internal wrapper for property Order. This wrapper API may change, we advise to access simpler Order instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property Order: Integer read GetOrder write SetOrder;
 

Generated by PasDoc 0.16.0.