VECTOR2I::extended_type ecoord
SEG m_seg
Internally, we can represent a just a segment that the line passes through.
int Distance(const VECTOR2I &aPoint) const
Gets the distance from the line to the given point.
VECTOR2I NearestPoint(const VECTOR2I &aPoint) const
Gets the nearest point on the line to the given point.
OPT_VECTOR2I Intersect(const SEG &aOther) const
int LineDistance(const VECTOR2I &aP, bool aDetermineSide=false) const
Return the closest Euclidean distance between point aP and the line defined by the ends of segment (t...
OPT_VECTOR2I Intersect(const SEG &aSeg, bool aIgnoreEndpoints=false, bool aLines=false) const
Compute intersection point of segment (this) with segment aSeg.
bool Contains(const SEG &aSeg) const
constexpr extended_type Dot(const VECTOR2< T > &aVector) const
Compute dot product of self with aVector.
std::optional< VECTOR2I > OPT_VECTOR2I
T rescale(T aNumerator, T aValue, T aDenominator)
Scale a number (value) by rational (numerator/denominator).