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  
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[] | undefined, rangeToExtend: Range3d | undefined, transform?: Transform, testContainment: boolean = true): 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 convexSet.isPointInside (point, tolerance)  
isPointOnOrInside(point: Point3d, tolerance: number = Geometry.smallMetricDistance): boolean Return true if true is returned for any contained convex set returns true for convexSet.isPointOnOrInside (point, tolerance)  
isSphereInside(point: Point3d, radius: number): boolean Return true if true is returned for any contained convex set returns true for convexSet.isSphereOnOrInside (point, tolerance)  
multiplyPlanesByMatrix4d(matrix: Matrix4d, invert: boolean = true, transpose: boolean = true): boolean Multiply all ClipPlanes DPoint4d by matrix.  
polygonClip(input: GrowableXYZArray | Point3d[], 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.  
toJSON(): any 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: any, 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: 20 September, 2019