Rename 'near' to avoid macro conflict on windows

This commit is contained in:
sentientstardust
2026-05-28 10:25:15 +01:00
parent 646f558560
commit dcf79e332c

View File

@ -5099,7 +5099,7 @@ static ExtrusionPath *top_surface_image_last_extrusion_path(ExtrusionEntitiesPtr
return nullptr; return nullptr;
} }
static double top_surface_image_boundary_skin_start_distance_sq(const Polyline &polyline, const Point &near) static double top_surface_image_boundary_skin_start_distance_sq(const Polyline &polyline, const Point &anchor)
{ {
if (!polyline.is_valid()) if (!polyline.is_valid())
return std::numeric_limits<double>::max(); return std::numeric_limits<double>::max();
@ -5107,14 +5107,14 @@ static double top_surface_image_boundary_skin_start_distance_sq(const Polyline &
double best = std::numeric_limits<double>::max(); double best = std::numeric_limits<double>::max();
const size_t point_count = polyline.points.size() > 1 ? polyline.points.size() - 1 : polyline.points.size(); const size_t point_count = polyline.points.size() > 1 ? polyline.points.size() - 1 : polyline.points.size();
for (size_t i = 0; i < point_count; ++i) for (size_t i = 0; i < point_count; ++i)
best = std::min(best, (polyline.points[i] - near).cast<double>().squaredNorm()); best = std::min(best, (polyline.points[i] - anchor).cast<double>().squaredNorm());
return best; return best;
} }
return std::min((polyline.first_point() - near).cast<double>().squaredNorm(), return std::min((polyline.first_point() - anchor).cast<double>().squaredNorm(),
(polyline.last_point() - near).cast<double>().squaredNorm()); (polyline.last_point() - anchor).cast<double>().squaredNorm());
} }
static void top_surface_image_boundary_skin_orient_near(Polyline &polyline, const Point &near) static void top_surface_image_boundary_skin_orient_near(Polyline &polyline, const Point &anchor)
{ {
if (!polyline.is_valid()) if (!polyline.is_valid())
return; return;
@ -5123,19 +5123,19 @@ static void top_surface_image_boundary_skin_orient_near(Polyline &polyline, cons
points.pop_back(); points.pop_back();
if (points.empty()) if (points.empty())
return; return;
const int nearest_idx = near.nearest_point_index(points); const int nearest_idx = anchor.nearest_point_index(points);
std::rotate(points.begin(), points.begin() + nearest_idx, points.end()); std::rotate(points.begin(), points.begin() + nearest_idx, points.end());
points.emplace_back(points.front()); points.emplace_back(points.front());
polyline.points = std::move(points); polyline.points = std::move(points);
} else if ((polyline.last_point() - near).cast<double>().squaredNorm() < } else if ((polyline.last_point() - anchor).cast<double>().squaredNorm() <
(polyline.first_point() - near).cast<double>().squaredNorm()) { (polyline.first_point() - anchor).cast<double>().squaredNorm()) {
polyline.reverse(); polyline.reverse();
} }
} }
static std::unique_ptr<ExtrusionPath> top_surface_image_take_nearest_boundary_skin_path( static std::unique_ptr<ExtrusionPath> top_surface_image_take_nearest_boundary_skin_path(
ExtrusionEntityCollection &collection, ExtrusionEntityCollection &collection,
const Point &near) const Point &anchor)
{ {
size_t best_idx = collection.entities.size(); size_t best_idx = collection.entities.size();
double best_dist = std::numeric_limits<double>::max(); double best_dist = std::numeric_limits<double>::max();
@ -5143,7 +5143,7 @@ static std::unique_ptr<ExtrusionPath> top_surface_image_take_nearest_boundary_sk
const ExtrusionPath *path = dynamic_cast<const ExtrusionPath *>(collection.entities[i]); const ExtrusionPath *path = dynamic_cast<const ExtrusionPath *>(collection.entities[i]);
if (path == nullptr || !path->polyline.is_valid()) if (path == nullptr || !path->polyline.is_valid())
continue; continue;
const double dist = top_surface_image_boundary_skin_start_distance_sq(path->polyline, near); const double dist = top_surface_image_boundary_skin_start_distance_sq(path->polyline, anchor);
if (dist < best_dist) { if (dist < best_dist) {
best_dist = dist; best_dist = dist;
best_idx = i; best_idx = i;
@ -5153,7 +5153,7 @@ static std::unique_ptr<ExtrusionPath> top_surface_image_take_nearest_boundary_sk
return nullptr; return nullptr;
ExtrusionPath *path = static_cast<ExtrusionPath *>(collection.entities[best_idx]); ExtrusionPath *path = static_cast<ExtrusionPath *>(collection.entities[best_idx]);
collection.entities.erase(collection.entities.begin() + best_idx); collection.entities.erase(collection.entities.begin() + best_idx);
top_surface_image_boundary_skin_orient_near(path->polyline, near); top_surface_image_boundary_skin_orient_near(path->polyline, anchor);
return std::unique_ptr<ExtrusionPath>(path); return std::unique_ptr<ExtrusionPath>(path);
} }