Fix failing tests
This commit is contained in:
parent
87336349b1
commit
3d6bb38dd4
@ -128,7 +128,7 @@ public:
|
||||
|
||||
void report_unroutable(const branchingtree::Node &j) override
|
||||
{
|
||||
BOOST_LOG_TRIVIAL(error) << "Cannot route junction at " << j.pos.x()
|
||||
BOOST_LOG_TRIVIAL(warning) << "Cannot route junction at " << j.pos.x()
|
||||
<< " " << j.pos.y() << " " << j.pos.z();
|
||||
|
||||
// Discard all the support points connecting to this branch.
|
||||
|
@ -591,6 +591,7 @@ GroundConnection deepsearch_ground_connection(
|
||||
if (bridge_len > EPSILON)
|
||||
conn.path.emplace_back(Junction{bridge_end, bridge_r});
|
||||
|
||||
if (bridge_end.z() >= gndlvl)
|
||||
conn.pillar_base =
|
||||
Pedestal{gp, sm.cfg.base_height_mm, base_r, end_radius};
|
||||
}
|
||||
|
@ -263,6 +263,24 @@ TEST_CASE("Avoid disk below junction with barrier on the side", "[suptreeutils]"
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE("Find ground route just above ground", "[suptreeutils]") {
|
||||
using namespace Slic3r;
|
||||
|
||||
sla::SupportTreeConfig cfg;
|
||||
cfg.object_elevation_mm = 0.;
|
||||
|
||||
sla::Junction j{Vec3d{0., 0., 2. * cfg.head_back_radius_mm}, cfg.head_back_radius_mm};
|
||||
|
||||
sla::SupportableMesh sm{{}, sla::SupportPoints{}, cfg};
|
||||
|
||||
sla::GroundConnection conn =
|
||||
sla::deepsearch_ground_connection(ex_seq, sm, j, Geometry::spheric_to_dir(3 * PI/ 4, PI));
|
||||
|
||||
REQUIRE(conn);
|
||||
|
||||
REQUIRE(conn.pillar_base->pos.z() >= Approx(ground_level(sm)));
|
||||
}
|
||||
|
||||
TEST_CASE("BranchingSupports::MergePointFinder", "[suptreeutils]") {
|
||||
using namespace Slic3r;
|
||||
|
||||
|
@ -181,6 +181,18 @@ void test_supports(const std::string &obj_filename,
|
||||
if (std::abs(supportcfg.object_elevation_mm) < EPSILON)
|
||||
allowed_zmin = zmin - 2 * supportcfg.head_back_radius_mm;
|
||||
|
||||
#ifndef NDEBUG
|
||||
if (!(obb.min.z() >= Approx(allowed_zmin)) || !(obb.max.z() <= Approx(zmax)))
|
||||
{
|
||||
indexed_triangle_set its;
|
||||
treebuilder.retrieve_full_mesh(its);
|
||||
TriangleMesh m{its};
|
||||
m.merge(mesh);
|
||||
m.WriteOBJFile((Catch::getResultCapture().getCurrentTestName() + "_" +
|
||||
obj_filename).c_str());
|
||||
}
|
||||
#endif
|
||||
|
||||
REQUIRE(obb.min.z() >= Approx(allowed_zmin));
|
||||
REQUIRE(obb.max.z() <= Approx(zmax));
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user