diff --git a/tests/arrange/test_arrange.cpp b/tests/arrange/test_arrange.cpp index a2eda8c480..ec2a1894d9 100644 --- a/tests/arrange/test_arrange.cpp +++ b/tests/arrange/test_arrange.cpp @@ -1066,57 +1066,3 @@ TEMPLATE_TEST_CASE("Test if allowed item rotations are considered", "[arrange2]" REQUIRE(get_rotation(itm) == Approx(PI)); } -//TEST_CASE("NFP optimizing test", "[arrange2]") { -// using namespace Slic3r; - -// auto itemshape = arr2::to_rectangle(BoundingBox{{scaled(-25.), scaled(-25.)}, {scaled(25.), scaled(25.)}}); - -// arr2::ArrangeItem item{arr2::DecomposedShape{itemshape}}; - -// ExPolygons nfp = { ExPolygon {{scaled(-2000.), scaled(25.)}, {scaled(2000.), scaled(25.)}} }; - -// struct K : public arr2::GravityKernel { -// size_t &fncnt; -// K(size_t &counter, Vec2crd gpos): arr2::GravityKernel{gpos}, fncnt{counter} {} -// double placement_fitness(const arr2::ArrangeItem &itm, const Vec2crd &tr) const -// { -// ++fncnt; -// return arr2::GravityKernel::placement_fitness(itm, tr); -// } -// }; - -// size_t counter = 0; -// K k{counter, Vec2crd{0, 0}}; -// opt::Optimizer solver_ref({}, 1000); -// opt::Optimizer solver (opt::StopCriteria{} -// .max_iterations(1000) -// /*.rel_score_diff(1e-20)*/); - -// double accuracy = 1.; -// arr2::PackStrategyNFP strategy_ref(solver_ref, k, ex_seq, accuracy); -// arr2::PackStrategyNFP strategy(solver, k, ex_seq, accuracy); - -// SVG svg("nfp_optimizing.svg"); -// svg.flipY = true; -// svg.draw_outline(nfp, "green"); - -// svg.draw_outline(item.shape().transformed_outline(), "yellow"); - -// double score = pick_best_spot_on_nfp(item, nfp, arr2::InfiniteBed{}, strategy); -// svg.draw_outline(item.shape().transformed_outline(), "red"); - -// counter = 0; -// double score_ref = pick_best_spot_on_nfp(item, nfp, arr2::InfiniteBed{}, strategy_ref); -// svg.draw_outline(item.shape().transformed_outline(), "blue"); - -//#ifndef NDEBUG -// std::cout << "fitness called: " << k.fncnt << " times" << std::endl; -// std::cout << "score = " << score << " score_ref = " << score_ref << std::endl; -//#endif - -// REQUIRE(!std::isnan(score)); -// REQUIRE(!std::isnan(score_ref)); -// REQUIRE(score >= score_ref); -//} - - diff --git a/tests/arrange/test_arrange_integration.cpp b/tests/arrange/test_arrange_integration.cpp index 34b77ab33b..2f1a345f34 100644 --- a/tests/arrange/test_arrange_integration.cpp +++ b/tests/arrange/test_arrange_integration.cpp @@ -1078,41 +1078,3 @@ TEST_CASE("Testing duplicate function to really duplicate the whole Model", REQUIRE(is_collision_free(range(task->selected))); } -// TODO: -//TEST_CASE("Testing fit-into-bed rotation search", "[arrange2][integration]") -//{ -// using namespace Slic3r; - -// Model model; - -// ModelObject* new_object = model.add_object(); -// new_object->name = "big_cube"; -// new_object->add_instance(); -// TriangleMesh mesh = make_cube(205., 220., 10.); -// mesh.rotate_z(15 * PI / 180); - -// ModelVolume* new_volume = new_object->add_volume(mesh); -// new_volume->name = new_object->name; - -// store_3mf("rotfail.3mf", &model, nullptr, false); - -// arr2::RectangleBed bed{scaled(250.), scaled(210.)}; - -// arr2::Scene scene{ -// arr2::SceneBuilder{} -// .set_bed(bed) -// .set_model(model) -// .set_arrange_settings(arr2::ArrangeSettings{} -// .set_distance_from_objects(0.) -// .set_rotation_enabled(true) -// ) -// }; - -// auto task = arr2::ArrangeTask::create(scene); -// auto result = task->process_native(arr2::DummyCtl{}); - -// REQUIRE(result->items.size() == 1); -// REQUIRE(arr2::get_rotation(result->items.front()) > 0.); -// REQUIRE(arr2::is_arranged(result->items.front())); -//} -