In Line::getPointAlongLine (ValueType distanceFromStart)
there’s a divide by 0 produced if start and end are the same. Line::getPointAlongLine (ValueType, ValueType)
handles the degenerate case correctly, as does Line::getPointAlongLineProportionally
.
Here’s the current implementation:
Point<ValueType> getPointAlongLine (ValueType distanceFromStart) const noexcept { return start + (end - start) * (distanceFromStart / getLength()); }