ParityRegion Class
- A ParityRegionis a collection ofLoopobjects.
- The loops collectively define a planar region.
- A point is "in" the composite region if it is "in" an odd number of the loops.
see Curve Collections learning article.
Extends
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): undefined | Loop | Get child iby index. | |
| isSameGeometryClass(other: GeometryQuery): boolean | Test if otheris an instance ofParityRegion | |
| tryAddChild(child: undefined | AnyCurve): boolean | Add childto 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): undefined | CurveCollection | CurveCollection | Create a deep copy of transformed curves. | 
| cloneWithExpandedLineStrings(): CurveCollection | CurveCollection | Create a deep copy with all linestrings expanded to multiple LineSegment3d. | 
| closestPoint(spacePoint: Point3d): undefined | CurveLocationDetail | CurveCollection | Return the closest point on the contained curves | 
| collectCurvePrimitives(collectorArray?: CurvePrimitive[], smallestPossiblePrimitives: boolean = false, explodeLineStrings: boolean = false): CurvePrimitive[] | CurveCollection | Return an array containing only the curve primitives. | 
| extendRange(rangeToExtend: Range3d, transform?: Transform): void | CurveCollection | Extend (increase) rangeToExtendas needed to include these curves (optionally transformed) | 
| isAlmostEqual(other: GeometryQuery): boolean | CurveCollection | test for exact structure and nearly identical geometry. | 
| maxGap(): number | CurveCollection | return the max gap between adjacent primitives in Path and Loop collections. | 
| projectedParameterRange(ray: Ray3d | Vector3d, lowHigh?: Range1d): undefined | Range1d | CurveCollection | Project instance geometry (via dispatch) onto the given ray, and return the extreme fractional parameters of projection. | 
| range(transform?: Transform, result?: Range3d): Range3d | CurveCollection | 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.0, dz: number = 0.0): boolean | CurveCollection | try to move the geometry by dx,dy,dz | 
| areAlmostEqual(a: undefined | GeometryQuery, b: undefined | GeometryQuery): boolean Static | CurveCollection | apply instance method isAlmostEqual if both are defined. | 
| createCurveLocationDetailOnAnyCurvePrimitive(source: undefined | GeometryQuery, fraction: number = 0.5): undefined | CurveLocationDetail 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 Readonly | "parityRegion" | String name for schema properties | 
Inherited properties
| Name | Type | Inherited from | Description | 
|---|---|---|---|
| geometryCategory Readonly | "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
- curve/ParityRegion.ts Line 25
Last Updated: 20 June, 2023