Class TTriangleStripSetNode

Unit

Declaration

type TTriangleStripSetNode = class(TAbstractComposedGeometryNode)

Description

Strips of triangles. In contrast to TIndexedTriangleStripSetNode, this doesn't use indexes to compose vertexes into triangles.

Hierarchy

Overview

Methods

Protected function InternalCoordRangesCounts(out RangeCount: TInt32List; 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 SetStripCount(const Value: array of Int32); overload;
Public procedure SetStripCount(const Value: TInt32List); overload;

Properties

Public property FdStripCount: TMFInt32 read FFdStripCount;

Description

Methods

Protected function InternalCoordRangesCounts(out RangeCount: TInt32List; 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;

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.

Public procedure SetStripCount(const Value: array of Int32); overload;

This item has no description.

Public procedure SetStripCount(const Value: TInt32List); overload;

This item has no description.

Properties

Public property FdStripCount: TMFInt32 read FFdStripCount;

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


Generated by PasDoc 0.16.0-snapshot.