API Reference > geometry-core > Curve > ParityRegion ParityRegion Class A ParityRegion is a collection of Loop objects. The loops collectively define a planar region. A point is "in" the composite region if it is "in" an odd number of the loops. Extends CurveCollection Methods Name Description constructor(): ParityRegion Construct parity region with empty loop array addLoops(data?: Loop | Loop[] | Loop[][]): void Add loops (recursively) to this region's children announceToCurveProcessor(processor: RecursiveCurveProcessor, indexInParent: number = -1): void invoke processor.announceParityRegion(this, indexInParent) clone(): ParityRegion Return a deep copy. cloneEmptyPeer(): ParityRegion Create a new empty parity region. cloneStroked(options?: StrokeOptions): ParityRegion Stroke these curves into a new ParityRegion. dgnBoundaryType(): number Return the boundary type (4) of a corresponding MicroStation CurveVector dispatchToGeometryHandler(handler: GeometryHandler): any Second step of double dispatch: call handler.handleRegion(this) getChild(i: number): Loop | undefined Get child i by index. isSameGeometryClass(other: GeometryQuery): boolean Test if other is an instance of ParityRegion tryAddChild(child: AnyCurve | undefined): boolean Add child to this parity region. create(...data: Loop[]): ParityRegion Static Create a parity region with given loops createLoops(data?: Loop | Loop[] | Loop[][]): Loop | ParityRegion Static Return a single loop or parity region with given loops. Inherited methods Name Inherited from Description checkForNonLinearPrimitives(): boolean CurveCollection return true if the curve collection has any primitives other than LineSegment3d and LineString3d cloneTransformed(transform: Transform): CurveCollection | undefined CurveCollection Create a deep copy of transformed curves. cloneWithExpandedLineStrings(): CurveCollection | undefined CurveCollection Create a deep copy with all linestrings expanded to multiple LineSegment3d. collectCurvePrimitives(collectorArray?: CurvePrimitive[], smallestPossiblePrimitives: boolean = false): CurvePrimitive[] CurveCollection Return an array containing only the curve primitives. extendRange(rangeToExtend: Range3d, transform?: Transform): void CurveCollection Extend (increase) rangeToExtend as needed to include these curves (optionally transformed) isAlmostEqual(other: GeometryQuery): boolean GeometryQuery test for exact structure and nearly identical geometry. maxGap(): number CurveCollection return the max gap between adjacent primitives in Path and Loop collections. range(transform?: Transform, result?: Range3d): Range3d GeometryQuery return the range of the entire (tree) GeometryQuery sumLengths(): number CurveCollection Return the sum of the lengths of all contained curves. tryTransformInPlace(transform: Transform): boolean CurveCollection Apply transform recursively to children tryTranslateInPlace(dx: number, dy: number = 0, dz: number = 0): boolean GeometryQuery try to move the geometry by dx,dy,dz createCurveLocationDetailOnAnyCurvePrimitive(source: GeometryQuery | undefined, fraction: number = 0.5): CurveLocationDetail | undefined Static CurveCollection * Find any curve primitive in the source. Properties Name Type Description _children Protected Loop[] Array of loops in this parity region. children Accessor ReadOnly Loop[] Return the array of loops in this parity region. curveCollectionType "parityRegion" = "parityRegion" String name for schema properties Inherited properties Name Type Inherited from Description geometryCategory "curveCollection" = "curveCollection" CurveCollection String name for schema properties isAnyRegionType Accessor ReadOnly boolean CurveCollection Return true for planar region types:* Loop* ParityRegion* UnionRegion isClosedPath Accessor ReadOnly boolean CurveCollection Return true for a single-loop planar region type, i.e. Loop.* This is _not- a test for physical closure of a Path isInner boolean CurveCollection Flag for inner loop status. isOpenPath Accessor ReadOnly boolean CurveCollection Return true for a Path, i.e. a chain of curves joined head-to-tail Defined in core/geometry/src/curve/ParityRegion.ts Line 23 Last Updated: 13 June, 2024