| 3682 | //------------------------------------------------------------------------------ |
| 3683 | |
| 3684 | DoublePoint GetUnitNormal(const IntPoint& pt1, const IntPoint& pt2) |
| 3685 | { |
| 3686 | if (pt2.X == pt1.X && pt2.Y == pt1.Y) |
| 3687 | return DoublePoint(0, 0); |
| 3688 | |
| 3689 | double Dx = (double)(pt2.X - pt1.X); |
| 3690 | double dy = (double)(pt2.Y - pt1.Y); |
| 3691 | double f = 1 * 1.0 / std::sqrt(Dx * Dx + dy * dy); |
| 3692 | Dx *= f; |
| 3693 | dy *= f; |
| 3694 | return DoublePoint(dy, -Dx); |
| 3695 | } |
| 3696 | |
| 3697 | //------------------------------------------------------------------------------ |
| 3698 | // ClipperOffset class |