| 12 | #include "fields2cover/types.h" |
| 13 | |
| 14 | TEST(fields2cover_decomp_trapezoidal, decompose) { |
| 15 | f2c::Random rand(42); |
| 16 | F2CCells non_convex_field {rand.genNonConvexCell(1e3)}; |
| 17 | F2CCells convex_field {rand.genConvexCell(1e2)}; |
| 18 | F2CCells cells = non_convex_field.difference(convex_field); |
| 19 | |
| 20 | f2c::decomp::TrapezoidalDecomp decomp; |
| 21 | decomp.setSplitAngle(0.5*M_PI); |
| 22 | EXPECT_NEAR(decomp.getSplitAngle(), 0.5*M_PI, 1e-5); |
| 23 | |
| 24 | auto decomp_lines = decomp.genSplitLines(cells); |
| 25 | auto decomp_field = decomp.decompose(cells); |
| 26 | EXPECT_EQ(decomp_field.size(), 13); |
| 27 | EXPECT_NEAR(decomp_field.area(), cells.area(), 1e-3); |
| 28 | } |
| 29 |
nothing calls this directly
no test coverage detected