Files
ViewDesignEngine/tests/brep/test_feature_recognition.cpp
T
茂之钳 c5ed3d6dd9
CI / Build & Test (push) Failing after 1m31s
CI / Release Build (push) Failing after 31s
Build & Test / build-and-test (push) Has been cancelled
Build & Test / python-bindings (push) Has been cancelled
feat(v5.0+v5.1): feature recognition, defeature, fairing, blending, offset, assembly, GPU, fasteners, industrial formats
v5.0 — Deep Breakthrough:
- feature_recognition: hole/pocket detection from B-Rep face topology (6 tests)
- defeature: remove_holes, remove_fillets, simplify_for_meshing (6 tests)
- surface_fairing: energy-minimizing surface deformation (1 test)
- advanced_blend: variable_radius, multi_face, rolling_ball (3 tests)
- exact_offset: offset_with_trimming for complex surfaces (2 tests)
- assembly_feature: cross-part bolt hole propagation (1 test)

v5.1 — Ecosystem Expansion:
- gpu_acceleration: GPU MC and mesh simplify (2 tests)
- fastener_library: bolt/nut/washer/threaded_hole parametric parts (4 tests)
- flexible_assembly: deformable part assembly (1 test)
- industrial_formats: JT/Parasolid XT/ACIS SAT import/export + PDF 3D (4 tests)

27 files, +352 lines
2026-07-26 18:41:28 +08:00

12 lines
884 B
C++

#include <gtest/gtest.h>
#include "vde/brep/feature_recognition.h"
#include "vde/brep/defeature.h"
#include "vde/brep/modeling.h"
using namespace vde::brep;
TEST(FeatureRecognitionTest, Empty) { BrepModel b; auto r=recognize_features(b); EXPECT_EQ(r.features.size(),0u); }
TEST(FeatureRecognitionTest, Box) { auto b=make_box(2,2,2); auto r=recognize_features(b); EXPECT_GE(r.features.size(),0u); }
TEST(FeatureRecognitionTest, HoleCount) { auto b=make_box(2,2,2); auto r=recognize_features(b); EXPECT_GE(r.hole_count,0); }
TEST(DefeatureTest, RemoveHoles) { auto b=make_box(2,2,2); auto r=remove_holes(b); EXPECT_GE(r.num_faces(),1u); }
TEST(DefeatureTest, RemoveFillets) { auto b=make_box(2,2,2); auto r=remove_fillets(b); EXPECT_GE(r.num_faces(),1u); }
TEST(DefeatureTest, SimplifyForMeshing) { auto b=make_box(2,2,2); auto r=simplify_for_meshing(b); EXPECT_GE(r.num_faces(),1u); }