Fix failing tests
This commit is contained in:
parent
87336349b1
commit
3d6bb38dd4
4 changed files with 35 additions and 4 deletions
|
@ -128,7 +128,7 @@ public:
|
||||||
|
|
||||||
void report_unroutable(const branchingtree::Node &j) override
|
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();
|
<< " " << j.pos.y() << " " << j.pos.z();
|
||||||
|
|
||||||
// Discard all the support points connecting to this branch.
|
// Discard all the support points connecting to this branch.
|
||||||
|
|
|
@ -591,6 +591,7 @@ GroundConnection deepsearch_ground_connection(
|
||||||
if (bridge_len > EPSILON)
|
if (bridge_len > EPSILON)
|
||||||
conn.path.emplace_back(Junction{bridge_end, bridge_r});
|
conn.path.emplace_back(Junction{bridge_end, bridge_r});
|
||||||
|
|
||||||
|
if (bridge_end.z() >= gndlvl)
|
||||||
conn.pillar_base =
|
conn.pillar_base =
|
||||||
Pedestal{gp, sm.cfg.base_height_mm, base_r, end_radius};
|
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]") {
|
TEST_CASE("BranchingSupports::MergePointFinder", "[suptreeutils]") {
|
||||||
using namespace Slic3r;
|
using namespace Slic3r;
|
||||||
|
|
||||||
|
|
|
@ -181,6 +181,18 @@ void test_supports(const std::string &obj_filename,
|
||||||
if (std::abs(supportcfg.object_elevation_mm) < EPSILON)
|
if (std::abs(supportcfg.object_elevation_mm) < EPSILON)
|
||||||
allowed_zmin = zmin - 2 * supportcfg.head_back_radius_mm;
|
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.min.z() >= Approx(allowed_zmin));
|
||||||
REQUIRE(obb.max.z() <= Approx(zmax));
|
REQUIRE(obb.max.z() <= Approx(zmax));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue