fix(v1.0.1): VDE-016 root cause + VDE-017 submodule path
VDE-016 (High): GCC two-phase lookup — root cause is anonymous namespace - Move SSICurveData OUT of anonymous namespace into vde::brep - Add #include <iterator> for std::begin/end - Add using vde::brep::ClassResult VDE-017 (Medium): Root CMakeLists configure_file CMAKE_SOURCE_DIR - Change to CMAKE_CURRENT_SOURCE_DIR for submodule compatibility
This commit is contained in:
+12
-10
@@ -10,6 +10,7 @@
|
||||
#include <algorithm>
|
||||
#include <cmath>
|
||||
#include <cstdint>
|
||||
#include <iterator>
|
||||
#include <limits>
|
||||
#include <map>
|
||||
#include <mutex>
|
||||
@@ -40,6 +41,17 @@ using core::AABB3D;
|
||||
AABB3D face_bounds(const BrepModel& body, int face_id);
|
||||
Vector3D face_normal(const BrepModel& body, int face_id);
|
||||
struct SSICurveData;
|
||||
using vde::brep::ClassResult;
|
||||
|
||||
/// SSI curve data for a face pair
|
||||
struct SSICurveData {
|
||||
int face_a;
|
||||
int face_b;
|
||||
std::vector<Point3D> points;
|
||||
Vector3D cutting_normal;
|
||||
Point3D cutting_center;
|
||||
bool valid = false;
|
||||
};
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -54,16 +66,6 @@ BrepModel extract_face_fragment(const BrepModel& body, int face_id);
|
||||
ClassResult classify_point_adaptive(
|
||||
const BrepModel& body, const Point3D& p, int& num_exact_upgrades);
|
||||
|
||||
/// SSI curve data for a face pair
|
||||
struct SSICurveData {
|
||||
int face_a;
|
||||
int face_b;
|
||||
std::vector<Point3D> points; ///< 3D intersection points
|
||||
Vector3D cutting_normal; ///< best-fit plane normal for splitting
|
||||
Point3D cutting_center; ///< centroid of intersection points
|
||||
bool valid = false;
|
||||
};
|
||||
|
||||
// ═══════════════════════════════════════════════════════════
|
||||
// Mesh caching (shared with brep_boolean.cpp pattern)
|
||||
// ═══════════════════════════════════════════════════════════
|
||||
|
||||
Reference in New Issue
Block a user