API Reference > geometry-core > Polyface > Polyface Polyface Class A Polyface is n abstract mesh structure (of unspecified implementation) that provides a PolyfaceVisitor to iterate over its facets. Extends GeometryQuery Extended by IndexedPolyface Methods Name Description constructor(data: PolyfaceData): Polyface Protected createVisitor(_numWrap: number): PolyfaceVisitor Abstract create and return a visitor for this concrete polyface. areIndicesValid(indices: undefined | number[], indexPositionA: number, indexPositionB: number, data: any, dataLength: number): boolean Static Check validity of indices into a data array. Inherited methods Name Inherited from Description clone(): undefined | GeometryQuery Abstract GeometryQuery return a clone cloneTransformed(transform: Transform): undefined | GeometryQuery Abstract GeometryQuery return a transformed clone. dispatchToGeometryHandler(handler: GeometryHandler): any Abstract GeometryQuery * "double dispatch" call pattern. extendRange(rangeToExtend: Range3d, transform?: Transform): void Abstract GeometryQuery extend rangeToExtend by the range of this geometry multiplied by the transform isAlmostEqual(other: GeometryQuery): boolean GeometryQuery test for exact structure and nearly identical geometry. isSameGeometryClass(other: GeometryQuery): boolean Abstract GeometryQuery test if (other instanceof this.Type). range(transform?: Transform, result?: Range3d): Range3d GeometryQuery return the range of the entire (tree) GeometryQuery tryTransformInPlace(transform: Transform): boolean Abstract GeometryQuery Attempt to transform in place. tryTranslateInPlace(dx: number, dy: number = 0.0, dz: number = 0.0): boolean GeometryQuery try to move the geometry by dx,dy,dz areAlmostEqual(a: undefined | GeometryQuery, b: undefined | GeometryQuery): boolean Static GeometryQuery apply instance method isAlmostEqual if both are defined. Properties Name Type Description data PolyfaceData Underlying polyface data. expectedClosure Accessor number Flag indicating if the mesh closure is unknown (0), open sheet (1), closed (2) geometryCategory Readonly "polyface" String name for schema properties isEmpty Accessor AbstractReadOnly boolean Returns true if this polyface has no facets. twoSided Accessor boolean Flag indicating if the mesh display must assume both sides are visible. Inherited properties Name Type Inherited from Description children Accessor ReadOnly undefined | GeometryQuery[] GeometryQuery return GeometryQuery children for recursive queries.* leaf classes do not need to implement. Defined in polyface/Polyface.ts Line 37 Last Updated: 29 November, 2022