UnionOfConvexClipPlaneSets Class

A collection of ConvexClipPlaneSets.

  • A point is "in" the clip plane set if it is "in" one or more of the ConvexClipPlaneSet
  • Hence the boolean logic is that the ClipPlaneSet is a UNION of its constituents.

Implements

Methods

Name Description
addConvexSet(toAdd: ConvexClipPlaneSet): void Append toAdd to the array of ConvexClipPlaneSet.  
addOutsideZClipSets(invisible: boolean, zLow?: number, zHigh?: number): void add convex sets that accept points below zLow and above zHigh  
announceClippedArcIntervals(arc: Arc3d, announce?: AnnounceNumberNumberCurvePrimitive): boolean Find parts of an arc that are inside any member clipper.  
announceClippedSegmentIntervals(f0: number, f1: number, pointA: Point3d, pointB: Point3d, announce?: (fraction0: number, fraction1: number) => void): boolean Announce clipSegment() for each convexSet in this ClipPlaneSet.  
appendIntervalsFromSegment(segment: LineSegment3d, intervals: Segment1d[]): void Returns the fractions of the segment that pass through the set region, as 1 dimensional pieces.  
appendPolygonClip(xyz: IndexedXYZCollection, insideFragments: GrowableXYZArray[], outsideFragments: GrowableXYZArray[], arrayCache: ): void Implement appendPolygonClip, as defined in interface PolygonClipper.  
classifyPointContainment(points: Point3d[], onIsOutside: boolean): number Returns 1, 2, or 3 based on whether point is strongly inside, ambiguous, or strongly outside respectively.  
clone(result?: UnionOfConvexClipPlaneSets): UnionOfConvexClipPlaneSets Return a deep copy.  
computePlanePlanePlaneIntersectionsInAllConvexSets(points: Point3d[], rangeToExtend: Range3d, transform?: Transform, testContainment: booleantrue): number Collect the output from computePlanePlanePlaneIntersections in all the contained convex sets.  
hasIntersectionWithRay(ray: Ray3d, maximalRange?: Range1d): boolean Test if there is any intersection with a ray defined by origin and direction.  
isAlmostEqual(other: UnionOfConvexClipPlaneSets): boolean Return true if all member convex sets are almostEqual to corresponding members of other.  
isAnyPointInOrOnFromSegment(segment: LineSegment3d): boolean Test if any part of a line segment is within the volume.  
isPointInside(point: Point3d): boolean Return true if true is returned for any contained convex set returns true for  
isPointOnOrInside(point: Point3d, tolerance: numberGeometry.smallMetricDistance): boolean Return true if true is returned for any contained convex set returns true for  
isSphereInside(point: Point3d, radius: number): boolean Return true if true is returned for any contained convex set returns true for  
multiplyPlanesByMatrix4d(matrix: Matrix4d, invert: booleantrue, transpose: booleantrue): boolean Multiply all ClipPlanes DPoint4d by matrix.  
polygonClip(input: Point3d[] | GrowableXYZArray, output: GrowableXYZArray[]): void Clip a polygon using this ClipPlaneSet, returning new polygon boundaries.  
setInvisible(invisible: boolean): void Recursively call setInvisible on all member convex sets.  
takeConvexSets(source: UnionOfConvexClipPlaneSets): void Move convex sets from source.  
toJSON(): UnionOfConvexClipPlaneSetsProps Return an array with the toJSON form of each ConvexClipPlaneSet  
transformInPlace(transform: Transform): void Apply transform to all the ConvexClipPlaneSet's.  
createConvexSets(convexSets: ConvexClipPlaneSet[], result?: UnionOfConvexClipPlaneSets): UnionOfConvexClipPlaneSets Static Create a UnionOfConvexClipPlaneSets with given ConvexClipPlaneSet members.  
createEmpty(result?: UnionOfConvexClipPlaneSets): UnionOfConvexClipPlaneSets Static Create a UnionOfConvexClipPlaneSets with no members.  
fromJSON(json: UnionOfConvexClipPlaneSetsProps, result?: UnionOfConvexClipPlaneSets): UnionOfConvexClipPlaneSets Static Convert json UnionOfConvexClipPlaneSets, using setFromJSON.  

Properties

Name Type Description
convexSets Accessor ReadOnly ConvexClipPlaneSet[] (property accessor) Return the (reference to the) array of ConvexClipPlaneSet  

Defined in

Last Updated: 14 November, 2024