IntersectionEvent

References
public class IntersectionEvent
Provides all the information for a single Curve Intersection event.

Properties

IsOverlap

#ExampleSince v5.0
public bool IsOverlap { get; }
All curve intersection events are either a single point or an overlap.

IsPoint

#Since v5.0
public bool IsPoint { get; }
All curve intersection events are either a single point or an overlap.

OverlapA

#Since v5.0
public Interval OverlapA { get; }
Gets the interval on curve A where the overlap occurs. If the intersection type is not overlap, this value is meaningless.

OverlapB

#Since v5.0
public Interval OverlapB { get; }
Gets the interval on curve B where the overlap occurs. If the intersection type is not overlap, this value is meaningless.

ParameterA

#Since v5.0
public double ParameterA { get; }
Gets the parameter on Curve A where the intersection occurred. If the intersection type is overlap, then this will return the start of the overlap region.

ParameterB

#Since v5.0
public double ParameterB { get; }
Gets the parameter on Curve B where the intersection occurred. If the intersection type is overlap, then this will return the start of the overlap region.

PointA

#Since v5.0
public Point3d PointA { get; }
Gets the point on Curve A where the intersection occurred. If the intersection type is overlap, then this will return the start of the overlap region.

PointA2

#Since v5.0
public Point3d PointA2 { get; }
Gets the end point of the overlap on Curve A. If the intersection type is not overlap, this value is meaningless.

PointB

#Since v5.0
public Point3d PointB { get; }
Gets the point on Curve B (or Surface B) where the intersection occurred. If the intersection type is overlap, then this will return the start of the overlap region.

PointB2

#Since v5.0
public Point3d PointB2 { get; }
Gets the end point of the overlap on Curve B (or Surface B). If the intersection type is not overlap, this value is meaningless.

Methods

CompareEquivalent

#Since v7.0
public static bool CompareEquivalent(IntersectionEvent eventA, IntersectionEvent eventB, double relativePointTolerance, TextLog log)
Compare intersection events.
eventA (IntersectionEvent)The first intersection event to compare.
eventB (IntersectionEvent)The second intersection event to compare.
relativePointTolerance (double)The comparison tolerance. If RhinoMath.UnsetValue, then RhinoMath.SqrtEpsilon is used.
log (TextLog)If not null and false is returned, then a description of the error is appended to log.

CompareEquivalent

#Since v7.0
public static bool CompareEquivalent(IntersectionEvent eventA, IntersectionEvent eventB, double relativePointTolerance)
Compare intersection events.
eventA (IntersectionEvent)The first intersection event to compare.
eventB (IntersectionEvent)The second intersection event to compare.
relativePointTolerance (double)The comparison tolerance. If RhinoMath.UnsetValue, then RhinoMath.SqrtEpsilon is used.
true if the two inputs represent the same intersection, false otherwise.

SurfaceOverlapParameter

#Since v5.0
[ConstOperation] public void SurfaceOverlapParameter(out Interval uDomain, out Interval vDomain)
If this instance records a Curve|Surface intersection event, and the intersection type if overlap, then use this function to get the U and V domains on the surface where the overlap occurs.
uDomain (out Interval)Domain along surface U direction for overlap event.
vDomain (out Interval)Domain along surface V direction for overlap event.

SurfacePointParameter

#Since v5.0
[ConstOperation] public void SurfacePointParameter(out double u, out double v)
If this instance records a Curve|Surface intersection event, and the intersection type is point, then use this function to get the U and V parameters on the surface where the intersection occurs.
u (out double)Parameter on surface u direction where the intersection occurs.
v (out double)Parameter on surface v direction where the intersection occurs.