namespace GeometriCS { /// /// Intersection between a line and a line segment /// public class IntersectionLine2ToLineSegment2d { /// /// Possible statuses the intersection can be. /// public enum Statuses { /// /// Intersection is valid. /// SUCCESS, /// /// The two lines are parallel. /// PARALLEL, /// /// The intersection would happen if the intersectors were unbounded, but not inside the bounds. /// OUTOFBOUNDS, } /// /// The intersecting line. /// public Line2d Line { get; } /// /// The intersecting line segment. /// public LineSegment2d LineSegment { get; } /// /// Status of the intersection. /// public Statuses Status { get; } /// /// The point of the intersection between the line and line segment. /// public Vector2d? Result { get; } /// /// Constructor for Line2d to LinearSegment2d intersection. /// /// The intersecting line. /// The intersecting lineSegment. public IntersectionLine2ToLineSegment2d(Line2d line, LineSegment2d lineSegment) { Line = line; LineSegment = lineSegment; // Process the intersection throw new NotImplementedException(); } } }