|
@@ -4,6 +4,7 @@
|
|
#include <cstdlib>
|
|
#include <cstdlib>
|
|
#include <cmath>
|
|
#include <cmath>
|
|
#include <cstring>
|
|
#include <cstring>
|
|
|
|
+#include <cfloat>
|
|
#include <queue>
|
|
#include <queue>
|
|
#include "arithmetics.hpp"
|
|
#include "arithmetics.hpp"
|
|
|
|
|
|
@@ -244,7 +245,7 @@ static double edgeToEdgeDistance(const EdgeSegment &a, const EdgeSegment &b, int
|
|
}
|
|
}
|
|
|
|
|
|
static double splineToSplineDistance(EdgeSegment * const *edgeSegments, int aStart, int aEnd, int bStart, int bEnd, int precision) {
|
|
static double splineToSplineDistance(EdgeSegment * const *edgeSegments, int aStart, int aEnd, int bStart, int bEnd, int precision) {
|
|
- double minDistance = fabs(SignedDistance::INFINITE.distance);
|
|
|
|
|
|
+ double minDistance = DBL_MAX;
|
|
for (int ai = aStart; ai < aEnd; ++ai)
|
|
for (int ai = aStart; ai < aEnd; ++ai)
|
|
for (int bi = bStart; bi < bEnd && minDistance; ++bi) {
|
|
for (int bi = bStart; bi < bEnd && minDistance; ++bi) {
|
|
double d = edgeToEdgeDistance(*edgeSegments[ai], *edgeSegments[bi], precision);
|
|
double d = edgeToEdgeDistance(*edgeSegments[ai], *edgeSegments[bi], precision);
|