Class TArc2DNode

Unit

Declaration

type TArc2DNode = class(TAbstractGeometryNode)

Description

Circular arc in 2D. Rendering of this node is not implemented yet.

Hierarchy

Overview

Methods

Public function LocalBoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;
Public function VerticesCount(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;
Public function TrianglesCount(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;
Public procedure CreateNode; override;
Public class function ClassX3DType: String; override;

Properties

Public property FdEndAngle: TSFFloat read FFdEndAngle;
Public property EndAngle: Single read GetEndAngle write SetEndAngle;
Public property FdRadius: TSFFloat read FFdRadius;
Public property Radius: Single read GetRadius write SetRadius;
Public property FdStartAngle: TSFFloat read FFdStartAngle;
Public property StartAngle: Single read GetStartAngle write SetStartAngle;

Description

Methods

Public function LocalBoundingBox(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): TBox3D; override;

This item has no description.

Public function VerticesCount(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;

This item has no description. Showing description inherited from TAbstractGeometryNode.VerticesCount.

Calculate vertex and triangles count of this node.

They require State of this node during VRML traverse state — this is mainly for VRML 1.0 nodes, that depend on such state.

Vertices count calculates number of different vertexes in this node. That is, it doesn't eliminate doubles in cases like Coordinate node with multiple points the same. But if some face is known to use twice the same vertex index, then this counts like a single vertex. The idea is that this indicates rendering speed.

For triangles count, the returned value may be different then actual if some faces were non-convex. Things like TriangulateFace may remove degenerate triangles, so actual number of triangles may be slightly less. So don't depend on TrianglesCount as a precise measure — but it's a good fast measure of complexity of given node, how fast it will be rendered, used with collision detection etc.

Notes for descendants implementors:

For coordinate-based nodes (when InternalCoord returns True), VerticesCount is already implemented in this class. Using Coord method, no other information is needed.

For other nodes, the default implementation of both VerticesCount and TrianglesCount in this TAbstractGeometryNode class will use ProxyGeometry and ProxyState to do the work. You should override these methods if Proxy is not available (so caller will always pass ProxyGeometry = Nil) or some faster approach is possible.

Public function TrianglesCount(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;

This item has no description.

Public procedure CreateNode; override;

Create node fields and events.

Public class function ClassX3DType: String; override;

This item has no description. Showing description inherited from TX3DNode.ClassX3DType.

Node type name in VRML/X3D, for this class. Normal VRML/X3D node classes should override this to return something non-empty, and then X3DType automatically will return the same value.

Empty for classes that don't have a hardcoded VRML/X3D node name, like a special TX3DUnknownNode. Such special classes should override then X3DType to return actual non-empty name there.

You usually should call X3DType. The only use of this method is that it works on classes (it's "class function"), without needing at actual instance.

Properties

Public property FdEndAngle: TSFFloat read FFdEndAngle;

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

Public property EndAngle: Single read GetEndAngle write SetEndAngle;

This item has no description.

Public property FdRadius: TSFFloat read FFdRadius;

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

Public property Radius: Single read GetRadius write SetRadius;

This item has no description.

Public property FdStartAngle: TSFFloat read FFdStartAngle;

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

Public property StartAngle: Single read GetStartAngle write SetStartAngle;

This item has no description.


Generated by PasDoc 0.16.0-snapshot.