Class TTriangleFanSetNode

Unit

Declaration

type TTriangleFanSetNode = class(TAbstractComposedGeometryNode)

Description

Triangles that form a fan shape around the first vertex. In constrast to TIndexedTriangleFanSetNode, this doesn't use indexes to compose vertexes into triangles.

Hierarchy

Overview

Methods

Protected function InternalCoordRangesCounts(out RangeCount: TLongIntList; out SRanges, SRangeName: string; out RangeMinimumCount: Cardinal): boolean; override;
Public procedure InternalCoordPolygons( State: TX3DGraphTraverseState; PolygonHandler: TIndexedPolygonHandler); override;
Public function TrianglesCount(State: TX3DGraphTraverseState; ProxyGeometry: TAbstractGeometryNode; ProxyState: TX3DGraphTraverseState): Cardinal; override;
Public procedure CreateNode; override;
Public class function ClassX3DType: string; override;
Public procedure SetFanCount(const Value: array of LongInt); overload;
Public procedure SetFanCount(const Value: TLongIntList); overload;

Properties

Public property FdFanCount: TMFInt32 read FFdFanCount;

Description

Methods

Protected function InternalCoordRangesCounts(out RangeCount: TLongIntList; out SRanges, SRangeName: string; out RangeMinimumCount: Cardinal): boolean; override;

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

Returns an information how to split InternalCoord array into ranges.

When CoordIndex = Nil, then if the node's InternalCoord array can be divided into some "ranges", we will use this information. This is used (and should be overridden) for X3D non-indexed nodes, like fanCount or stripCount or vertexCount.

What precisely is a "range of coordinates" is not specified here. It may be a line stip, or one triangle strip, etc. — depending on the descendant.

Returns True if this is available. In this case, RangeCount must be set to something <> nil, and the rest of returned variables are mainly to generate proper warnings by MakeCoordRanges.

Public procedure InternalCoordPolygons( State: TX3DGraphTraverseState; PolygonHandler: TIndexedPolygonHandler); override;

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

Splits coordinate-based node into polygons.

Indexes in PolygonHandler point to CoordIndex, if assigned, or directly to Coord. The ordering of generated polygons is correct, so what pointed CCW in the node field, will still point CCW according to generated PolygonHandler indexes.

In this class this does nothing. Some, but not all, coordinate-based nodes (the ones when InternalCoord returns True) override this. So currently, whether this is implemented is coordinated with CastleInternalNormals and such internal needs.

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

This item has no description.

Public procedure CreateNode; override;

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.

Public procedure SetFanCount(const Value: array of LongInt); overload;

This item has no description.

Public procedure SetFanCount(const Value: TLongIntList); overload;

This item has no description.

Properties

Public property FdFanCount: TMFInt32 read FFdFanCount;

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


Generated by PasDoc 0.16.0.