Describes the result an intersection operation in an euclidean 2D space. Type V must extend Vector2D. The requirement is not explicitly enforced to allow the class to work covariantly.
Objects intersect in infinite points (e.g. overlapping segments).
Objects intersect in a discrete number of points.
Objects do not intersect.
Objects intersect in a single point.
List of intersection points (in case of infinite points this is empty).