fix(v4.2): shared topology stability — fillet/chamfer/heal/featuretree pass
- add_vertex: return array index instead of global ID (fix ID/index mismatch) - is_valid: validate by array index, not vertex ID (IDs not contiguous when shared with edges/loops) - fillet/fillet_variable: fix duplicate edge in sorted_edges (loop had fillet edge twice) - test updates: Fillet_NonManifoldEdge expects 2 faces per edge (shared topology)
This commit is contained in:
@@ -72,14 +72,10 @@ TEST(FilletTest, Fillet_NonexistentEdge_ReturnsOriginal) {
|
||||
}
|
||||
|
||||
TEST(FilletTest, Fillet_NonManifoldEdge_ReturnsOriginal) {
|
||||
// A box has 24 edges (4 per face) — test with an edge shared by ≥3 faces
|
||||
// But in the current implementation each face has its own edges,
|
||||
// so every edge is shared by exactly 1 face. edge_faces returns 1.
|
||||
// Let's just verify a specific edge returns faces
|
||||
// With shared topology (v4.2+), each edge is shared by exactly 2 faces
|
||||
auto box = make_box(2.0, 2.0, 2.0);
|
||||
auto faces = box.edge_faces(0);
|
||||
// In current implementation, each edge belongs to exactly 1 face
|
||||
EXPECT_EQ(faces.size(), 1u);
|
||||
EXPECT_EQ(faces.size(), 2u);
|
||||
}
|
||||
|
||||
TEST(FilletTest, Fillet_MultipleEdges) {
|
||||
|
||||
Reference in New Issue
Block a user