CurveCollection Class
- A
CurveCollection
is an abstract (non-instantiable) class for various sets of curves with particular structures:
CurveChain
is a (non-instantiable) intermediate class for a sequence of CurvePrimitive
joining head-to-tail. The two instantiable forms of CurveChain
are
Path
- A chain not required to close, and not enclosing a planar area
Loop
- A chain required to close from last to first so that a planar area is enclosed.
ParityRegion
-- a collection of coplanar Loop
s, with "in/out" classification by parity rules
UnionRegion
-- a collection of coplanar Loop
s, with "in/out" classification by union rules
BagOfCurves
-- a collection of AnyCurve
with no implied structure.
Extends
Extended by
Methods
Name |
Description |
|
announceToCurveProcessor(processor: RecursiveCurveProcessor): void Abstract |
Support method for ICurvePrimitive ... |
|
checkForNonLinearPrimitives(): boolean |
return true if the curve collection has any primitives other than LineSegment3d and LineString3d |
|
clone(): CurveCollection | undefined |
Return a deep copy. |
|
cloneEmptyPeer(): CurveCollection Abstract |
clone an empty collection. |
|
cloneStroked(options?: StrokeOptions): AnyCurve Abstract |
Return a CurveCollection with the same structure but all curves replaced by strokes. |
|
cloneTransformed(transform: Transform): CurveCollection | undefined |
Create a deep copy of transformed curves. |
|
cloneWithExpandedLineStrings(): CurveCollection | undefined |
Create a deep copy with all linestrings expanded to multiple LineSegment3d. |
|
collectCurvePrimitives(): CurvePrimitive[] |
Return an array containing only the curve primitives. |
|
dgnBoundaryType(): number Abstract |
Return the boundary type of a corresponding MicroStation CurveVector. |
|
extendRange(rangeToExtend: Range3d, transform?: Transform): void |
Extend (increase) rangeToExtend as needed to include these curves (optionally transformed) |
|
getChild(i: number): AnyCurve | undefined Abstract |
Return a child identified by by index |
|
maxGap(): number |
return the max gap between adjacent primitives in Path and Loop collections. |
|
sumLengths(): number |
Return the sum of the lengths of all contained curves. |
|
tryAddChild(child: AnyCurve | undefined): boolean Abstract |
Try to add a child. |
|
tryTransformInPlace(transform: Transform): boolean |
Apply transform recursively to children |
|
createCurveLocationDetailOnAnyCurvePrimitive(source: GeometryQuery | undefined, fraction: number = 0.5): CurveLocationDetail | undefined Static |
* Find any curve primitive in the source. |
|
Inherited methods
Properties
Name |
Type |
Description |
|
curveCollectionType Abstract |
CurveCollectionType |
Type discriminator. |
|
geometryCategory |
"curveCollection" = "curveCollection" |
String name for schema properties |
|
isAnyRegionType Accessor ReadOnly |
boolean |
Return true for planar region types: Loop ParityRegion * UnionRegion |
|
isClosedPath Accessor ReadOnly |
boolean |
Return true for a single-loop planar region type, i.e. |
|
isInner |
boolean |
Flag for inner loop status. |
|
isOpenPath Accessor ReadOnly |
boolean |
Return true for a Path , i.e. |
|
Inherited properties
Name |
Type |
Inherited from |
Description |
children Accessor ReadOnly |
GeometryQuery[] | undefined |
GeometryQuery |
return GeometryQuery children for recursive queries.
* leaf classes do not need to implement. |
Defined in
Last Updated:
08 January, 2020