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 constructor Create(const AX3DName: string = ''; const ABaseUrl: string = ''); override;
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 constructor Create(const AX3DName: string = ''; const ABaseUrl: string = ''); override;

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

Constructor. Initializes various properties:

  • Name, BaseUrl are initialized from given parameters.

  • The Fields, Events lists are filled in every descendant, to have all the fields/events defined by the specification.

  • DefaultContainerField, and other node-specific stuff, is filled in descendants. This is actually implemented in CreateNode, that is called at the end of this constructor.

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;

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

Automatically generated node properties.

Do not edit this file manually! To add new properties: - add them to the text files in tools/internal/x3d-nodes-to-pascal/nodes-specification/ , - and regenerate include files by running x3d-nodes-to-pascal

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.

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.

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.

Public property StartAngle: Single read GetStartAngle write SetStartAngle;

This item has no description.


Generated by PasDoc 0.16.0-snapshot.