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 i within the currently loaded facet.  
clientColorIndex(i: number): number Return the color index of vertex i within the currently loaded facet.  
clientNormalIndex(i: number): number Return the normal index of vertex i within the currently loaded facet.  
clientParamIndex(i: number): number Return the param index of vertex i within the currently loaded facet.  
clientPointIndex(i: number): number Return the point index of vertex i within 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 index of the other visitor 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 index on the current facet.  
tryGetNormalizedParameter(index: number, result?: Point2d): undefined | Point2d Attempts to extract the normalized parameter (0,1) for the given vertex index on 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] into dest.
copyParamTo(i: number, dest: Point2d): void Inherited PolyfaceData Copy the contents (not pointer) of param[i] into dest.
copyPointTo(i: number, dest: Point3d): void Inherited PolyfaceData Copy the contents (not pointer) of point[i] into dest.
gatherIndexedData(other: PolyfaceData, index0: number, index1: number, numWrap: number): void Inherited PolyfaceData Copy data from other to this.
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 i matches 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 a transform to the mesh data.
isValidFacetStartIndexArray(facetStartIndex: number[]): boolean Static Inherited PolyfaceData Test if facetStartIndex is (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: 23 November, 2024