mirror of
https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git
synced 2026-09-08 03:42:34 +02:00
fix compilation on linux and mac
This commit is contained in:
@@ -110,7 +110,7 @@ TEST(GeometryAlgorithms, boundingCircle) {
|
||||
ASSERT_EQ(c.center().Y, 0);
|
||||
ASSERT_DOUBLE_EQ(c.radius(), 10);
|
||||
|
||||
ShapeLike::translate(p, PointImpl{10, 10});
|
||||
shapelike::translate(p, PointImpl{10, 10});
|
||||
c = boundingCircle<PolygonImpl>(p);
|
||||
|
||||
ASSERT_EQ(c.center().X, 10);
|
||||
@@ -124,8 +124,8 @@ TEST(GeometryAlgorithms, boundingCircle) {
|
||||
c = boundingCircle(part.transformedShape());
|
||||
if(std::isnan(c.radius())) std::cout << "fail: radius is nan" << std::endl;
|
||||
|
||||
else for(auto v : ShapeLike::getContour(part.transformedShape()) ) {
|
||||
auto d = PointLike::distance(v, c.center());
|
||||
else for(auto v : shapelike::getContour(part.transformedShape()) ) {
|
||||
auto d = pointlike::distance(v, c.center());
|
||||
if(d > c.radius() ) {
|
||||
auto e = std::abs( 1.0 - d/c.radius());
|
||||
ASSERT_LE(e, 1e-3);
|
||||
@@ -144,14 +144,14 @@ TEST(GeometryAlgorithms, Distance) {
|
||||
Point p2 = {10, 0};
|
||||
Point p3 = {10, 10};
|
||||
|
||||
ASSERT_DOUBLE_EQ(PointLike::distance(p1, p2), 10);
|
||||
ASSERT_DOUBLE_EQ(PointLike::distance(p1, p3), sqrt(200));
|
||||
ASSERT_DOUBLE_EQ(pointlike::distance(p1, p2), 10);
|
||||
ASSERT_DOUBLE_EQ(pointlike::distance(p1, p3), sqrt(200));
|
||||
|
||||
Segment seg(p1, p3);
|
||||
|
||||
ASSERT_DOUBLE_EQ(PointLike::distance(p2, seg), 7.0710678118654755);
|
||||
ASSERT_DOUBLE_EQ(pointlike::distance(p2, seg), 7.0710678118654755);
|
||||
|
||||
auto result = PointLike::horizontalDistance(p2, seg);
|
||||
auto result = pointlike::horizontalDistance(p2, seg);
|
||||
|
||||
auto check = [](Coord val, Coord expected) {
|
||||
if(std::is_floating_point<Coord>::value)
|
||||
@@ -164,11 +164,11 @@ TEST(GeometryAlgorithms, Distance) {
|
||||
ASSERT_TRUE(result.second);
|
||||
check(result.first, 10);
|
||||
|
||||
result = PointLike::verticalDistance(p2, seg);
|
||||
result = pointlike::verticalDistance(p2, seg);
|
||||
ASSERT_TRUE(result.second);
|
||||
check(result.first, -10);
|
||||
|
||||
result = PointLike::verticalDistance(Point{10, 20}, seg);
|
||||
result = pointlike::verticalDistance(Point{10, 20}, seg);
|
||||
ASSERT_TRUE(result.second);
|
||||
check(result.first, 10);
|
||||
|
||||
@@ -176,12 +176,12 @@ TEST(GeometryAlgorithms, Distance) {
|
||||
Point p4 = {80, 0};
|
||||
Segment seg2 = { {0, 0}, {0, 40} };
|
||||
|
||||
result = PointLike::horizontalDistance(p4, seg2);
|
||||
result = pointlike::horizontalDistance(p4, seg2);
|
||||
|
||||
ASSERT_TRUE(result.second);
|
||||
check(result.first, 80);
|
||||
|
||||
result = PointLike::verticalDistance(p4, seg2);
|
||||
result = pointlike::verticalDistance(p4, seg2);
|
||||
// Point should not be related to the segment
|
||||
ASSERT_FALSE(result.second);
|
||||
|
||||
@@ -209,7 +209,7 @@ TEST(GeometryAlgorithms, Area) {
|
||||
{61, 97}
|
||||
};
|
||||
|
||||
ASSERT_TRUE(ShapeLike::area(item.transformedShape()) > 0 );
|
||||
ASSERT_TRUE(shapelike::area(item.transformedShape()) > 0 );
|
||||
}
|
||||
|
||||
TEST(GeometryAlgorithms, IsPointInsidePolygon) {
|
||||
@@ -287,7 +287,7 @@ TEST(GeometryAlgorithms, LeftAndDownPolygon)
|
||||
|
||||
Item leftp(placer.leftPoly(item));
|
||||
|
||||
ASSERT_TRUE(ShapeLike::isValid(leftp.rawShape()).first);
|
||||
ASSERT_TRUE(shapelike::isValid(leftp.rawShape()).first);
|
||||
ASSERT_EQ(leftp.vertexCount(), leftControl.vertexCount());
|
||||
|
||||
for(unsigned long i = 0; i < leftControl.vertexCount(); i++) {
|
||||
@@ -297,7 +297,7 @@ TEST(GeometryAlgorithms, LeftAndDownPolygon)
|
||||
|
||||
Item downp(placer.downPoly(item));
|
||||
|
||||
ASSERT_TRUE(ShapeLike::isValid(downp.rawShape()).first);
|
||||
ASSERT_TRUE(shapelike::isValid(downp.rawShape()).first);
|
||||
ASSERT_EQ(downp.vertexCount(), downControl.vertexCount());
|
||||
|
||||
for(unsigned long i = 0; i < downControl.vertexCount(); i++) {
|
||||
@@ -334,7 +334,7 @@ TEST(GeometryAlgorithms, ArrangeRectanglesTight)
|
||||
{20, 20} };
|
||||
|
||||
|
||||
Arranger<BottomLeftPlacer, DJDHeuristic> arrange(Box(210, 250));
|
||||
Nester<BottomLeftPlacer, DJDHeuristic> arrange(Box(210, 250));
|
||||
|
||||
auto groups = arrange(rects.begin(), rects.end());
|
||||
|
||||
@@ -387,7 +387,7 @@ TEST(GeometryAlgorithms, ArrangeRectanglesLoose)
|
||||
|
||||
Coord min_obj_distance = 5;
|
||||
|
||||
Arranger<BottomLeftPlacer, DJDHeuristic> arrange(Box(210, 250),
|
||||
Nester<BottomLeftPlacer, DJDHeuristic> arrange(Box(210, 250),
|
||||
min_obj_distance);
|
||||
|
||||
auto groups = arrange(rects.begin(), rects.end());
|
||||
@@ -438,7 +438,7 @@ R"raw(<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
setX(v, getX(v)/SCALE);
|
||||
rbin.setVertex(i, v);
|
||||
}
|
||||
out << ShapeLike::serialize<Formats::SVG>(rbin.rawShape()) << std::endl;
|
||||
out << shapelike::serialize<Formats::SVG>(rbin.rawShape()) << std::endl;
|
||||
for(Item& sh : r) {
|
||||
Item tsh(sh.transformedShape());
|
||||
for(unsigned i = 0; i < tsh.vertexCount(); i++) {
|
||||
@@ -447,7 +447,7 @@ R"raw(<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
setX(v, getX(v)/SCALE);
|
||||
tsh.setVertex(i, v);
|
||||
}
|
||||
out << ShapeLike::serialize<Formats::SVG>(tsh.rawShape()) << std::endl;
|
||||
out << shapelike::serialize<Formats::SVG>(tsh.rawShape()) << std::endl;
|
||||
}
|
||||
out << "\n</svg>" << std::endl;
|
||||
}
|
||||
@@ -471,8 +471,8 @@ TEST(GeometryAlgorithms, BottomLeftStressTest) {
|
||||
auto next = it;
|
||||
int i = 0;
|
||||
while(it != input.end() && ++next != input.end()) {
|
||||
placer.pack(input, it);
|
||||
placer.pack(input, next);
|
||||
placer.pack(*it);
|
||||
placer.pack(*next);
|
||||
|
||||
auto result = placer.getItems();
|
||||
bool valid = true;
|
||||
@@ -701,7 +701,7 @@ std::vector<ItemPair> nfp_concave_testdata = {
|
||||
}
|
||||
};
|
||||
|
||||
template<NfpLevel lvl, Coord SCALE>
|
||||
template<nfp::NfpLevel lvl, Coord SCALE>
|
||||
void testNfp(const std::vector<ItemPair>& testdata) {
|
||||
using namespace libnest2d;
|
||||
|
||||
@@ -716,12 +716,12 @@ void testNfp(const std::vector<ItemPair>& testdata) {
|
||||
|
||||
orbiter.translate({210*SCALE, 0});
|
||||
|
||||
auto&& nfp = Nfp::noFitPolygon<lvl>(stationary.rawShape(),
|
||||
auto&& nfp = nfp::noFitPolygon<lvl>(stationary.rawShape(),
|
||||
orbiter.transformedShape());
|
||||
|
||||
strategies::correctNfpPosition(nfp, stationary, orbiter);
|
||||
|
||||
auto v = ShapeLike::isValid(nfp.first);
|
||||
auto v = shapelike::isValid(nfp.first);
|
||||
|
||||
if(!v.first) {
|
||||
std::cout << v.second << std::endl;
|
||||
@@ -733,7 +733,7 @@ void testNfp(const std::vector<ItemPair>& testdata) {
|
||||
|
||||
int i = 0;
|
||||
auto rorbiter = orbiter.transformedShape();
|
||||
auto vo = Nfp::referenceVertex(rorbiter);
|
||||
auto vo = nfp::referenceVertex(rorbiter);
|
||||
|
||||
ASSERT_TRUE(stationary.isInside(infp));
|
||||
|
||||
@@ -774,7 +774,7 @@ void testNfp(const std::vector<ItemPair>& testdata) {
|
||||
}
|
||||
|
||||
TEST(GeometryAlgorithms, nfpConvexConvex) {
|
||||
testNfp<NfpLevel::CONVEX_ONLY, 1>(nfp_testdata);
|
||||
testNfp<nfp::NfpLevel::CONVEX_ONLY, 1>(nfp_testdata);
|
||||
}
|
||||
|
||||
//TEST(GeometryAlgorithms, nfpConcaveConcave) {
|
||||
@@ -807,7 +807,7 @@ TEST(GeometryAlgorithms, pointOnPolygonContour) {
|
||||
|
||||
for(int i = 0; i <= 100; i++) {
|
||||
auto v = ecache.coords(i*(0.01));
|
||||
ASSERT_TRUE(ShapeLike::touches(v, input.transformedShape()));
|
||||
ASSERT_TRUE(shapelike::touches(v, input.transformedShape()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -821,17 +821,17 @@ TEST(GeometryAlgorithms, mergePileWithPolygon) {
|
||||
rect2.translate({10, 0});
|
||||
rect3.translate({25, 0});
|
||||
|
||||
ShapeLike::Shapes<PolygonImpl> pile;
|
||||
shapelike::Shapes<PolygonImpl> pile;
|
||||
pile.push_back(rect1.transformedShape());
|
||||
pile.push_back(rect2.transformedShape());
|
||||
|
||||
auto result = Nfp::merge(pile, rect3.transformedShape());
|
||||
auto result = nfp::merge(pile, rect3.transformedShape());
|
||||
|
||||
ASSERT_EQ(result.size(), 1);
|
||||
|
||||
Rectangle ref(45, 15);
|
||||
|
||||
ASSERT_EQ(ShapeLike::area(result.front()), ref.area());
|
||||
ASSERT_EQ(shapelike::area(result.front()), ref.area());
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
Reference in New Issue
Block a user