50 m_seg( aStart, aOtherContainedPoint )
OPT_VECTOR2I Intersect(const SEG &aSeg) const
const SEG & GetContainedSeg() const
Gets the (one of the infinite number of) segments that the ray passes through.
const VECTOR2I & GetStart() const
Get the start point of the ray.
HALF_LINE(const SEG &aSeg)
Construct a ray from a segment - the ray will start at the segment's A point and extend infinitely in...
const VECTOR2I & GetContainedPoint() const
Get one (of the infinite number) of points that the ray passes through.
SEG m_seg
Internally, we can represent a just a segment that the ray passes through.
HALF_LINE(const VECTOR2I &aStart, const VECTOR2I &aOtherContainedPoint)
bool Contains(const VECTOR2I &aPoint) const
VECTOR2I NearestPoint(const VECTOR2I &aPoint) const
Get the nearest point on the ray to the given point.
bool operator==(const HALF_LINE &aOther) const
Based on the ray being identically defined.
std::optional< SEG > ClipHalfLineToBox(const HALF_LINE &aRay, const BOX2I &aBox)
std::optional< VECTOR2I > OPT_VECTOR2I