I have three questions, related to the same problem.

I have two curves that intersect, potentially more than once.

I know the direction of the curves. I want to trim *Curve A* from the start of the curve to the first intersection point, and I want to trim *Curve B* from that same intersection point until the end of the curve.

I am pretty confident I can determine which intersection event is closest to the start of *Curve A*, just by checking for which event has the lowest value for *parameterA*. That is, since I believe the domain at the start of a curve is always less than the domain at the end of a curve, then the lowest *parameterA* would be the intersection event closets to the start of *Curve A*.

I am unsure about overlaps, however. The documentation says

If the intersection type is overlap, then this will return the start of the overlap region.

But “start” here is ambiguous. Does it mean the point closest to the start of Curve A, or Curve B? Or is *parameterA* the part of the overlap closest to the start of Curve A, and *parameterB* closest to the start of curve B, so that in the case of an overlap they would be opposite ends?

Finally, is there a reliable order to the *IntersectionEvents* return by *Intersection.CurveCurve*? For example is index [0] always closest to the start of *CurveA*, or something like that?

thanks