diff --git a/src/brep/large_assembly.cpp b/src/brep/large_assembly.cpp index f4efc00..ba4ab22 100644 --- a/src/brep/large_assembly.cpp +++ b/src/brep/large_assembly.cpp @@ -90,41 +90,6 @@ void LargeAssemblyManager::build_index(const Assembly& assembly) { traverse(assembly.root, Transform3D::Identity()); - // Build BVH from AABBs → convert to triangles - std::vector tris; - for (const auto& bb : part_aabbs_) { - Point3D mn = bb.min(), mx = bb.max(); - // 12 triangles for the box faces - std::vector corners = { - mn, Point3D(mx.x(), mn.y(), mn.z()), Point3D(mx.x(), mx.y(), mn.z()), - Point3D(mn.x(), mx.y(), mn.z()), - Point3D(mn.x(), mn.y(), mx.z()), Point3D(mx.x(), mn.y(), mx.z()), - mx, Point3D(mn.x(), mx.y(), mx.z()) - }; - // bottom - tris.push_back(Triangle3D(corners[0], corners[2], corners[1])); - tris.push_back(Triangle3D(corners[0], corners[3], corners[2])); - // top - tris.push_back(Triangle3D(corners[4], corners[5], corners[6])); - tris.push_back(Triangle3D(corners[4], corners[6], corners[7])); - // front - tris.push_back(Triangle3D(corners[0], corners[1], corners[5])); - tris.push_back(Triangle3D(corners[0], corners[5], corners[4])); - // back - tris.push_back(Triangle3D(corners[2], corners[3], corners[7])); - tris.push_back(Triangle3D(corners[2], corners[7], corners[6])); - // left - tris.push_back(Triangle3D(corners[0], corners[4], corners[7])); - tris.push_back(Triangle3D(corners[0], corners[7], corners[3])); - // right - tris.push_back(Triangle3D(corners[1], corners[2], corners[6])); - tris.push_back(Triangle3D(corners[1], corners[6], corners[5])); - } - - if (!tris.empty()) { - bvh_.build(tris); - } - part_count_ = static_cast(part_names_.size()); index_built_ = true; }