IndexedPolyfaceSubsetVisitor Class
An IndexedPolyfaceSubsetVisitor
is an IndexedPolyfaceVisitor
which only visits a subset of facets in the polyface.
- The subset is defined by an array of facet indices provided when this visitor is created.
- Within the subset visitor,
facetIndex
is understood as index within the subset array:moveToNextFacet
moves only within the subset.moveToReadIndex(i)
moves underlying visitor'sparentFacetIndex(i)
.
Extends
Methods
Name | Description | |
---|---|---|
moveToNextFacet(): boolean | Advance the iterator to the next facet in the client polyface. | |
moveToReadIndex(activeIndex: number): boolean | Advance the iterator to a particular facet in the client polyface. | |
parentFacetIndex(activeIndex: number): undefined | number | Return the parent facet index of the indicated index within the active facets. | |
reset(): void | Reset the iterator to start at the first active facet in the polyface. | |
createSubsetVisitor(polyface: IndexedPolyface, activeFacetIndices: number[], numWrap: number): IndexedPolyfaceSubsetVisitor Static | Create a visitor for iterating a subset of the facets of polyface . |
Inherited methods
Name | Inherited from | Description |
---|---|---|
clearArrays(): void | IndexedPolyfaceVisitor | Clear the contents of all arrays. |
clientAuxIndex(i: number): number | IndexedPolyfaceVisitor | Return the aux data index of vertex i within the currently loaded facet. |
clientColorIndex(i: number): number | IndexedPolyfaceVisitor | Return the color index of vertex i within the currently loaded facet. |
clientNormalIndex(i: number): number | IndexedPolyfaceVisitor | Return the normal index of vertex i within the currently loaded facet. |
clientParamIndex(i: number): number | IndexedPolyfaceVisitor | Return the param index of vertex i within the currently loaded facet. |
clientPointIndex(i: number): number | IndexedPolyfaceVisitor | Return the point index of vertex i within the currently loaded facet. |
clientPolyface(): Polyface | IndexedPolyfaceVisitor | Return the client polyface object. |
clone(): PolyfaceData | IndexedPolyfaceVisitor | Return a deep clone. |
compress(tolerance: number = Geometry.smallMetricDistance): void | IndexedPolyfaceVisitor | Compress the instance by equating duplicate data. |
copyNormalTo(i: number, dest: Vector3d): void | IndexedPolyfaceVisitor | Copy the contents (not pointer) of normal[i] into dest . |
copyParamTo(i: number, dest: Point2d): void | IndexedPolyfaceVisitor | Copy the contents (not pointer) of param[i] into dest . |
copyPointTo(i: number, dest: Point3d): void | IndexedPolyfaceVisitor | Copy the contents (not pointer) of point[i] into dest . |
currentReadIndex(): number | IndexedPolyfaceVisitor | Return the index (in the client polyface) of the current facet. |
gatherIndexedData(other: PolyfaceData, index0: number, index1: number, numWrap: number): void | IndexedPolyfaceVisitor | Copy data from other to this . |
getColor(i: number): number | IndexedPolyfaceVisitor | Return indexed color at index i . |
getEdgeVisible(i: number): boolean | IndexedPolyfaceVisitor | Return indexed visibility. |
getNormal(i: number, result?: Vector3d): undefined | Vector3d | IndexedPolyfaceVisitor | Return indexed normal at index i . |
getParam(i: number, result?: Point2d): undefined | Point2d | IndexedPolyfaceVisitor | Return indexed param at index i . |
getPoint(i: number, result?: Point3d): undefined | Point3d | IndexedPolyfaceVisitor | Return indexed point at index i . |
isAlmostEqual(other: PolyfaceData): boolean | IndexedPolyfaceVisitor | Test for equal indices and nearly equal coordinates. |
isAlmostEqualParamIndexUV(i: number, u: number, v: number): boolean | IndexedPolyfaceVisitor | Test if param at a index i matches the given uv |
pushDataFrom(other: PolyfaceVisitor, index: number): void | IndexedPolyfaceVisitor | 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 | IndexedPolyfaceVisitor | Transfer interpolated data from the other visitor. |
range(result?: Range3d, transform?: Transform): Range3d | IndexedPolyfaceVisitor | Return the range of the point array (optionally transformed). |
resizeAllArrays(length: number): void | IndexedPolyfaceVisitor | Resize all data and index arrays to the specified length . |
resizeAllDataArrays(length: number): void | IndexedPolyfaceVisitor | Resize all data arrays to the specified length . |
reverseIndices(facetStartIndex?: number[]): void | IndexedPolyfaceVisitor | Reverse the indices for the specified facets in the index arrays (pointIndex, normalIndex, paramIndex, colorIndex, |
reverseIndicesSingleFacet(facetIndex: number, facetStartIndex: number[]): void | IndexedPolyfaceVisitor | Reverse the indices for the specified facet in the index arrays (pointIndex, normalIndex, paramIndex, colorIndex, |
reverseNormals(): void | IndexedPolyfaceVisitor | Scale all the normals by -1. |
setNumWrap(numWrap: number): void | IndexedPolyfaceVisitor | Set the number of vertices replicated in visitor arrays (both data and index arrays). |
setTaggedNumericData(data: undefined | TaggedNumericData): void | IndexedPolyfaceVisitor | Set the tagged geometry data. |
trimAllIndexArrays(length: number): void | IndexedPolyfaceVisitor | Trim all index arrays to the stated length . |
tryGetDistanceParameter(index: number, result?: Point2d): undefined | Point2d | IndexedPolyfaceVisitor | Attempts to extract the distance parameter for the given vertex index on the current facet. |
tryGetNormalizedParameter(index: number, result?: Point2d): undefined | Point2d | IndexedPolyfaceVisitor | Attempts to extract the normalized parameter (0,1) for the given vertex index on the current facet. |
tryTransformInPlace(transform: Transform): boolean | IndexedPolyfaceVisitor | Apply transform to point and normal arrays and to auxData. |
create(polyface: IndexedPolyface, numWrap: number): IndexedPolyfaceVisitor Static | IndexedPolyfaceVisitor | Create a visitor for iterating the facets of polyface . |
isValidFacetStartIndexArray(facetStartIndex: number[]): boolean Static | IndexedPolyfaceVisitor | Test if facetStartIndex is (minimally) valid. |
reverseIndices<T>(facetStartIndex: number[], indices: undefined | T[], preserveStart: boolean): boolean Static | IndexedPolyfaceVisitor | Reverse the indices for the specified facets in the given index array. |
reverseIndicesSingleFacet<T>(facetIndex: number, facetStartIndex: number[], indices: undefined | T[], preserveStart: boolean): boolean Static | IndexedPolyfaceVisitor | Reverse the indices for the specified facet in the specified index array. |
Inherited properties
Name | Type | Inherited from | Description |
---|---|---|---|
auxData | undefined | PolyfaceAuxData | IndexedPolyfaceVisitor | Auxiliary data. |
color | undefined | number[] | IndexedPolyfaceVisitor | Color values. |
colorCount Accessor ReadOnly | number | IndexedPolyfaceVisitor | Get the color count |
colorIndex | undefined | number[] | IndexedPolyfaceVisitor | Indices of colors at facet vertices. |
edgeVisible | boolean[] | IndexedPolyfaceVisitor | Booleans indicating visibility of corresponding edges. |
expectedClosure Accessor | number | IndexedPolyfaceVisitor | Get flag indicating if the mesh closure is unknown (0), open sheet (1), closed solid (2). |
face | FacetFaceData[] | IndexedPolyfaceVisitor | Map from facet index to face data. |
faceCount Accessor ReadOnly | number | IndexedPolyfaceVisitor | 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 ReadOnly | number | IndexedPolyfaceVisitor | Get the index count. Note that the point array is always indexed, and index arrays all have the same length. |
normal | undefined | GrowableXYZArray | IndexedPolyfaceVisitor | Coordinates of normal vectors (packed as numbers in a contiguous array). |
normalCount Accessor ReadOnly | number | IndexedPolyfaceVisitor | Get the normal count |
normalIndex | undefined | number[] | IndexedPolyfaceVisitor | Indices of normals at facet vertices. |
numEdgesThisFacet Accessor ReadOnly | number | IndexedPolyfaceVisitor | Return the number of edges in the current facet. * If numWrap > 0 for this visitor, the number of edges is smaller than the number of points. |
param | undefined | GrowableXYArray | IndexedPolyfaceVisitor | Coordinates of uv parameters (packed as numbers in a contiguous array). |
paramCount Accessor ReadOnly | number | IndexedPolyfaceVisitor | Get the param count |
paramIndex | undefined | number[] | IndexedPolyfaceVisitor | Indices of params at facet vertices. |
point | GrowableXYZArray | IndexedPolyfaceVisitor | Coordinate data for points in the facets (packed as numbers in a contiguous array). |
pointCount Accessor ReadOnly | number | IndexedPolyfaceVisitor | Get the point count |
pointIndex | number[] | IndexedPolyfaceVisitor | Indices of points at facet vertices. |
requireColors Accessor ReadOnly | boolean | IndexedPolyfaceVisitor | Ask if colors are required in this mesh. |
requireNormals Accessor ReadOnly | boolean | IndexedPolyfaceVisitor | Ask if normals are required in this mesh. |
requireParams Accessor ReadOnly | boolean | IndexedPolyfaceVisitor | Ask if params are required in this mesh. |
taggedNumericData | undefined | TaggedNumericData | IndexedPolyfaceVisitor | Tagged geometry data. |
twoSided Accessor | boolean | IndexedPolyfaceVisitor | Get boolean tag indicating if the facets are to be considered viewable from the back. |
Defined in
- polyface/IndexedPolyfaceVisitor.ts Line 198
Last Updated: 25 April, 2024
Found something wrong, missing, or unclear on this page?
Raise an issue in our repo.