IndexedPolyfaceVisitor Class
An IndexedPolyfaceVisitor is an iterator-like object that "visits" facets of a mesh.
- The visitor extends PolyfaceData, so it can at any time hold all the data of a single facet.
Extends
Extended by
Implements
Methods
| Name | Description | |
|---|---|---|
| constructor(polyface: IndexedPolyface, numWrap: number): IndexedPolyfaceVisitor Protected | ||
| clearArrays(): void | Clear the contents of all arrays. | |
| clientAuxIndex(i: number): number | Return the aux data index of vertex iwithin the currently loaded facet. | |
| clientColorIndex(i: number): number | Return the color index of vertex iwithin the currently loaded facet. | |
| clientNormalIndex(i: number): number | Return the normal index of vertex iwithin the currently loaded facet. | |
| clientParamIndex(i: number): number | Return the param index of vertex iwithin the currently loaded facet. | |
| clientPointIndex(i: number): number | Return the point index of vertex iwithin the currently loaded facet. | |
| clientPolyface(): IndexedPolyface | Return the client polyface object. | |
| currentReadIndex(): number | Return the index (in the client polyface) of the current facet. | |
| getVisitableFacetCount(): number | Return the number of facets this visitor is able to visit. | |
| moveToNextFacet(): boolean | Advance the iterator to a the 'next' facet in the client polyface. | |
| moveToReadIndex(facetIndex: number): boolean | Advance the iterator to a particular facet in the client polyface. | |
| pushDataFrom(other: PolyfaceVisitor, index: number): void | Transfer data from a specified indexof theothervisitor as new data in this visitor. | |
| pushInterpolatedDataFrom(other: PolyfaceVisitor, index0: number, fraction: number, index1: number): void | Transfer interpolated data from the other visitor. | |
| reset(): void | Reset the iterator to start at the first facet of the polyface. | |
| setNumWrap(numWrap: number): void | Set the number of vertices replicated in visitor arrays (both data and index arrays). | |
| tryGetDistanceParameter(index: number, result?: Point2d): undefined | Point2d | Attempts to extract the distance parameter for the given vertex indexon the current facet. | |
| tryGetNormalizedParameter(index: number, result?: Point2d): undefined | Point2d | Attempts to extract the normalized parameter (0,1) for the given vertex indexon the current facet. | |
| create(polyface: IndexedPolyface, numWrap: number): IndexedPolyfaceVisitor Static | Create a visitor for iterating the facets of polyface. | 
Inherited methods
| Name | Inherited from | Description | 
|---|---|---|
| clone(): PolyfaceData Inherited | PolyfaceData | Return a deep clone. | 
| compress(tolerance: numberGeometry.smallMetricDistance): void Inherited | PolyfaceData | Compress the instance by equating duplicate data. | 
| copyNormalTo(i: number, dest: Vector3d): void Inherited | PolyfaceData | Copy the contents (not pointer) of normal[i]intodest. | 
| copyParamTo(i: number, dest: Point2d): void Inherited | PolyfaceData | Copy the contents (not pointer) of param[i]intodest. | 
| copyPointTo(i: number, dest: Point3d): void Inherited | PolyfaceData | Copy the contents (not pointer) of point[i]intodest. | 
| gatherIndexedData(other: PolyfaceData, index0: number, index1: number, numWrap: number): void Inherited | PolyfaceData | Copy data from othertothis. | 
| getColor(i: number): number Inherited | PolyfaceData | Return indexed color at index i. | 
| getEdgeVisible(i: number): boolean Inherited | PolyfaceData | Return indexed visibility. | 
| getNormal(i: number, result?: Vector3d): undefined | Vector3d Inherited | PolyfaceData | Return indexed normal at index i. | 
| getParam(i: number, result?: Point2d): undefined | Point2d Inherited | PolyfaceData | Return indexed param at index i. | 
| getPoint(i: number, result?: Point3d): undefined | Point3d Inherited | PolyfaceData | Return indexed point at index i. | 
| isAlmostEqual(other: PolyfaceData): boolean Inherited | PolyfaceData | Test for equal indices and nearly equal coordinates. | 
| isAlmostEqualParamIndexUV(i: number, u: number, v: number): boolean Inherited | PolyfaceData | Test if param at a index imatches the given uv | 
| range(result?: Range3d, transform?: Transform): Range3d Inherited | PolyfaceData | Return the range of the point array (optionally transformed). | 
| resizeAllArrays(length: number): void Inherited | PolyfaceData | Resize all data and index arrays to the specified length. | 
| resizeAllDataArrays(length: number): void Inherited | PolyfaceData | Resize all data arrays to the specified length. | 
| reverseIndices(facetStartIndex?: number[]): void Inherited | PolyfaceData | Reverse the indices for the specified facets in the index arrays (pointIndex, normalIndex, paramIndex, colorIndex, | 
| reverseIndicesSingleFacet(facetIndex: number, facetStartIndex: number[]): void Inherited | PolyfaceData | Reverse the indices for the specified facet in the index arrays (pointIndex, normalIndex, paramIndex, colorIndex, | 
| reverseNormals(): void Inherited | PolyfaceData | Scale all the normals by -1. | 
| setTaggedNumericData(data: TaggedNumericData): void Inherited | PolyfaceData | Set the tagged geometry data. | 
| trimAllIndexArrays(length: number): void Inherited | PolyfaceData | Trim all index arrays to the stated length. | 
| tryTransformInPlace(transform: Transform): boolean Inherited | PolyfaceData | Apply transformto point and normal arrays and to auxData. | 
| isValidFacetStartIndexArray(facetStartIndex: number[]): boolean Static Inherited | PolyfaceData | Test if facetStartIndexis (minimally) valid. | 
| reverseIndices<T>(facetStartIndex: number[], indices: T[], preserveStart: boolean): boolean Static Inherited | PolyfaceData | Reverse the indices for the specified facets in the given index array. | 
| reverseIndicesSingleFacet<T>(facetIndex: number, facetStartIndex: number[], indices: T[], preserveStart: boolean): boolean Static Inherited | PolyfaceData | Reverse the indices for the specified facet in the specified index array. | 
Properties
| Name | Type | Description | |
|---|---|---|---|
| numEdgesThisFacet Accessor ReadOnly | number | Return the number of edges in the current facet. | 
Inherited properties
| Name | Type | Inherited from | Description | 
|---|---|---|---|
| auxData Inherited | PolyfaceAuxData | undefined | PolyfaceData | Auxiliary data. | 
| color Inherited | number[] | undefined | PolyfaceData | Color values. | 
| colorCount Accessor Inherited ReadOnly | number | PolyfaceData | Get the color count | 
| colorIndex Inherited | number[] | undefined | PolyfaceData | Indices of colors at facet vertices. | 
| edgeVisible Inherited | boolean[] | PolyfaceData | Booleans indicating visibility of corresponding edges. | 
| expectedClosure Accessor Inherited | number | PolyfaceData | Get flag indicating if the mesh closure is unknown (0), open sheet (1), closed solid (2). | 
| face Inherited | FacetFaceData[] | PolyfaceData | Map from facet index to face data. | 
| faceCount Accessor Inherited ReadOnly | number | PolyfaceData | Get the number of faces. * Note that a "face" is not a facet. * A face is a subset of the Polyface's facets grouped for application purposes. | 
| indexCount Accessor Inherited ReadOnly | number | PolyfaceData | Get the index count. Note that the point array is always indexed, and index arrays all have the same length. | 
| normal Inherited | GrowableXYZArray | undefined | PolyfaceData | Coordinates of normal vectors (packed as numbers in a contiguous array). | 
| normalCount Accessor Inherited ReadOnly | number | PolyfaceData | Get the normal count | 
| normalIndex Inherited | number[] | undefined | PolyfaceData | Indices of normals at facet vertices. | 
| param Inherited | GrowableXYArray | undefined | PolyfaceData | Coordinates of uv parameters (packed as numbers in a contiguous array). | 
| paramCount Accessor Inherited ReadOnly | number | PolyfaceData | Get the param count | 
| paramIndex Inherited | number[] | undefined | PolyfaceData | Indices of params at facet vertices. | 
| point Inherited | GrowableXYZArray | PolyfaceData | Coordinate data for points in the facets (packed as numbers in a contiguous array). | 
| pointCount Accessor Inherited ReadOnly | number | PolyfaceData | Get the point count | 
| pointIndex Inherited | number[] | PolyfaceData | Indices of points at facet vertices. | 
| requireColors Accessor Inherited ReadOnly | boolean | PolyfaceData | Ask if colors are required in this mesh. | 
| requireNormals Accessor Inherited ReadOnly | boolean | PolyfaceData | Ask if normals are required in this mesh. | 
| requireParams Accessor Inherited ReadOnly | boolean | PolyfaceData | Ask if params are required in this mesh. | 
| taggedNumericData Inherited | TaggedNumericData | undefined | PolyfaceData | Tagged geometry data. | 
| twoSided Accessor Inherited | boolean | PolyfaceData | Get boolean tag indicating if the facets are to be considered viewable from the back. | 
Defined in
Last Updated: 24 June, 2025
Found something wrong, missing, or unclear on this page? Raise an issue in our repo.