mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-07-30 15:42:02 +08:00
Arrange: Move arrange into separate cmake targets
- Create a slicer specific arrange target - Create a general arrange target from the arrange core
This commit is contained in:
parent
ffc369e187
commit
5199d8fb48
@ -20,6 +20,8 @@ endif ()
|
||||
|
||||
if (SLIC3R_GUI)
|
||||
add_subdirectory(libvgcode)
|
||||
add_subdirectory(slic3r-arrange)
|
||||
add_subdirectory(slic3r-arrange-wrapper)
|
||||
|
||||
if(WIN32)
|
||||
message(STATUS "WXWIN environment set to: $ENV{WXWIN}")
|
||||
@ -109,7 +111,7 @@ if (NOT WIN32 AND NOT APPLE)
|
||||
set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
|
||||
endif ()
|
||||
|
||||
target_link_libraries(PrusaSlicer libslic3r libcereal)
|
||||
target_link_libraries(PrusaSlicer libslic3r libcereal slic3r-arrange-wrapper)
|
||||
|
||||
if (APPLE)
|
||||
# add_compile_options(-stdlib=libc++)
|
||||
|
@ -48,7 +48,7 @@
|
||||
#include "libslic3r/GCode/PostProcessor.hpp"
|
||||
#include "libslic3r/Model.hpp"
|
||||
#include "libslic3r/CutUtils.hpp"
|
||||
#include "libslic3r/ModelArrange.hpp"
|
||||
#include <arrange-wrapper/ModelArrange.hpp>
|
||||
#include "libslic3r/Platform.hpp"
|
||||
#include "libslic3r/Print.hpp"
|
||||
#include "libslic3r/SLAPrint.hpp"
|
||||
|
@ -1,121 +0,0 @@
|
||||
///|/ Copyright (c) Prusa Research 2023 Tomáš Mészáros @tamasmeszaros
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/partition_2.h>
|
||||
#include <CGAL/Partition_traits_2.h>
|
||||
#include <CGAL/property_map.h>
|
||||
#include <CGAL/Polygon_vertical_decomposition_2.h>
|
||||
#include <iterator>
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
#include <cstddef>
|
||||
|
||||
#include "NFP.hpp"
|
||||
#include "NFPConcave_CGAL.hpp"
|
||||
#include "libslic3r/ClipperUtils.hpp"
|
||||
#include "libslic3r/ExPolygon.hpp"
|
||||
#include "libslic3r/Point.hpp"
|
||||
#include "libslic3r/libslic3r.h"
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
using K = CGAL::Exact_predicates_inexact_constructions_kernel;
|
||||
using Partition_traits_2 = CGAL::Partition_traits_2<K, CGAL::Pointer_property_map<K::Point_2>::type >;
|
||||
using Point_2 = Partition_traits_2::Point_2;
|
||||
using Polygon_2 = Partition_traits_2::Polygon_2; // a polygon of indices
|
||||
|
||||
ExPolygons nfp_concave_concave_cgal(const ExPolygon &fixed, const ExPolygon &movable)
|
||||
{
|
||||
Polygons fixed_decomp = convex_decomposition_cgal(fixed);
|
||||
Polygons movable_decomp = convex_decomposition_cgal(movable);
|
||||
|
||||
auto refs_mv = reserve_vector<Vec2crd>(movable_decomp.size());
|
||||
|
||||
for (const Polygon &p : movable_decomp)
|
||||
refs_mv.emplace_back(reference_vertex(p));
|
||||
|
||||
auto nfps = reserve_polygons(fixed_decomp.size() *movable_decomp.size());
|
||||
|
||||
Vec2crd ref_whole = reference_vertex(movable);
|
||||
for (const Polygon &fixed_part : fixed_decomp) {
|
||||
size_t mvi = 0;
|
||||
for (const Polygon &movable_part : movable_decomp) {
|
||||
Polygon subnfp = nfp_convex_convex(fixed_part, movable_part);
|
||||
const Vec2crd &ref_mp = refs_mv[mvi];
|
||||
auto d = ref_whole - ref_mp;
|
||||
subnfp.translate(d);
|
||||
nfps.emplace_back(subnfp);
|
||||
mvi++;
|
||||
}
|
||||
}
|
||||
|
||||
return union_ex(nfps);
|
||||
}
|
||||
|
||||
// TODO: holes
|
||||
Polygons convex_decomposition_cgal(const ExPolygon &expoly)
|
||||
{
|
||||
CGAL::Polygon_vertical_decomposition_2<K> decomp;
|
||||
|
||||
CGAL::Polygon_2<K> contour;
|
||||
for (auto &p : expoly.contour.points)
|
||||
contour.push_back({unscaled(p.x()), unscaled(p.y())});
|
||||
|
||||
CGAL::Polygon_with_holes_2<K> cgalpoly{contour};
|
||||
for (const Polygon &h : expoly.holes) {
|
||||
CGAL::Polygon_2<K> hole;
|
||||
for (auto &p : h.points)
|
||||
hole.push_back({unscaled(p.x()), unscaled(p.y())});
|
||||
|
||||
cgalpoly.add_hole(hole);
|
||||
}
|
||||
|
||||
std::vector<CGAL::Polygon_2<K>> out;
|
||||
decomp(cgalpoly, std::back_inserter(out));
|
||||
|
||||
Polygons ret;
|
||||
for (auto &pwh : out) {
|
||||
Polygon poly;
|
||||
for (auto &p : pwh)
|
||||
poly.points.emplace_back(scaled(p.x()), scaled(p.y()));
|
||||
ret.emplace_back(std::move(poly));
|
||||
}
|
||||
|
||||
return ret; //convex_decomposition_cgal(expoly.contour);
|
||||
}
|
||||
|
||||
Polygons convex_decomposition_cgal(const Polygon &poly)
|
||||
{
|
||||
auto pts = reserve_vector<K::Point_2>(poly.size());
|
||||
|
||||
for (const Point &p : poly.points)
|
||||
pts.emplace_back(unscaled(p.x()), unscaled(p.y()));
|
||||
|
||||
Partition_traits_2 traits(CGAL::make_property_map(pts));
|
||||
|
||||
Polygon_2 polyidx;
|
||||
for (size_t i = 0; i < pts.size(); ++i)
|
||||
polyidx.push_back(i);
|
||||
|
||||
std::vector<Polygon_2> outp;
|
||||
|
||||
CGAL::optimal_convex_partition_2(polyidx.vertices_begin(),
|
||||
polyidx.vertices_end(),
|
||||
std::back_inserter(outp),
|
||||
traits);
|
||||
|
||||
Polygons ret;
|
||||
for (const Polygon_2& poly : outp){
|
||||
Polygon r;
|
||||
for(Point_2 p : poly.container())
|
||||
r.points.emplace_back(scaled(pts[p].x()), scaled(pts[p].y()));
|
||||
|
||||
ret.emplace_back(std::move(r));
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // namespace Slic3r
|
@ -1,20 +0,0 @@
|
||||
///|/ Copyright (c) Prusa Research 2023 Tomáš Mészáros @tamasmeszaros
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#ifndef NFPCONCAVE_CGAL_HPP
|
||||
#define NFPCONCAVE_CGAL_HPP
|
||||
|
||||
#include <libslic3r/ExPolygon.hpp>
|
||||
|
||||
#include "libslic3r/Polygon.hpp"
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
Polygons convex_decomposition_cgal(const Polygon &expoly);
|
||||
Polygons convex_decomposition_cgal(const ExPolygon &expoly);
|
||||
ExPolygons nfp_concave_concave_cgal(const ExPolygon &fixed, const ExPolygon &movable);
|
||||
|
||||
} // namespace Slic3r
|
||||
|
||||
#endif // NFPCONCAVE_CGAL_HPP
|
@ -262,8 +262,6 @@ set(SLIC3R_SOURCES
|
||||
CutUtils.hpp
|
||||
Model.cpp
|
||||
Model.hpp
|
||||
ModelArrange.hpp
|
||||
ModelArrange.cpp
|
||||
MultiMaterialSegmentation.cpp
|
||||
MultiMaterialSegmentation.hpp
|
||||
MeshNormals.hpp
|
||||
@ -273,54 +271,6 @@ set(SLIC3R_SOURCES
|
||||
MeasureUtils.hpp
|
||||
CustomGCode.cpp
|
||||
CustomGCode.hpp
|
||||
Arrange/ArrangeImpl.hpp
|
||||
Arrange/Items/ArrangeItem.hpp
|
||||
Arrange/Items/ArrangeItem.cpp
|
||||
Arrange/Items/SimpleArrangeItem.hpp
|
||||
Arrange/Items/SimpleArrangeItem.cpp
|
||||
Arrange/Items/TrafoOnlyArrangeItem.hpp
|
||||
Arrange/Items/MutableItemTraits.hpp
|
||||
Arrange/Items/ArbitraryDataStore.hpp
|
||||
Arrange/ArrangeSettingsView.hpp
|
||||
Arrange/ArrangeSettingsDb_AppCfg.hpp
|
||||
Arrange/ArrangeSettingsDb_AppCfg.cpp
|
||||
Arrange/Scene.hpp
|
||||
Arrange/Scene.cpp
|
||||
Arrange/SceneBuilder.hpp
|
||||
Arrange/SceneBuilder.cpp
|
||||
Arrange/Tasks/ArrangeTask.hpp
|
||||
Arrange/Tasks/ArrangeTaskImpl.hpp
|
||||
Arrange/Tasks/FillBedTask.hpp
|
||||
Arrange/Tasks/FillBedTaskImpl.hpp
|
||||
Arrange/Tasks/MultiplySelectionTask.hpp
|
||||
Arrange/Tasks/MultiplySelectionTaskImpl.hpp
|
||||
Arrange/SegmentedRectangleBed.hpp
|
||||
Arrange/Core/ArrangeItemTraits.hpp
|
||||
Arrange/Core/DataStoreTraits.hpp
|
||||
Arrange/Core/ArrangeBase.hpp
|
||||
Arrange/Core/PackingContext.hpp
|
||||
Arrange/Core/ArrangeFirstFit.hpp
|
||||
Arrange/Core/Beds.hpp
|
||||
Arrange/Core/Beds.cpp
|
||||
Arrange/Core/NFP/NFP.hpp
|
||||
Arrange/Core/NFP/NFP.cpp
|
||||
Arrange/Core/NFP/NFPConcave_CGAL.hpp
|
||||
Arrange/Core/NFP/NFPConcave_CGAL.cpp
|
||||
Arrange/Core/NFP/NFPConcave_Tesselate.hpp
|
||||
Arrange/Core/NFP/NFPConcave_Tesselate.cpp
|
||||
Arrange/Core/NFP/EdgeCache.hpp
|
||||
Arrange/Core/NFP/EdgeCache.cpp
|
||||
Arrange/Core/NFP/CircularEdgeIterator.hpp
|
||||
Arrange/Core/NFP/NFPArrangeItemTraits.hpp
|
||||
Arrange/Core/NFP/PackStrategyNFP.hpp
|
||||
Arrange/Core/NFP/RectangleOverfitPackingStrategy.hpp
|
||||
Arrange/Core/NFP/Kernels/KernelTraits.hpp
|
||||
Arrange/Core/NFP/Kernels/GravityKernel.hpp
|
||||
Arrange/Core/NFP/Kernels/TMArrangeKernel.hpp
|
||||
Arrange/Core/NFP/Kernels/CompactifyKernel.hpp
|
||||
Arrange/Core/NFP/Kernels/RectangleOverfitKernelWrapper.hpp
|
||||
Arrange/Core/NFP/Kernels/SVGDebugOutputKernelWrapper.hpp
|
||||
Arrange/Core/NFP/Kernels/KernelUtils.hpp
|
||||
MultiPoint.cpp
|
||||
MultiPoint.hpp
|
||||
MutablePriorityQueue.hpp
|
||||
|
@ -16,7 +16,6 @@
|
||||
#include "BuildVolume.hpp"
|
||||
#include "Exception.hpp"
|
||||
#include "Model.hpp"
|
||||
#include "ModelArrange.hpp"
|
||||
#include "Geometry/ConvexHull.hpp"
|
||||
#include "MTUtils.hpp"
|
||||
#include "TriangleMeshSlicer.hpp"
|
||||
|
35
src/slic3r-arrange-wrapper/CMakeLists.txt
Normal file
35
src/slic3r-arrange-wrapper/CMakeLists.txt
Normal file
@ -0,0 +1,35 @@
|
||||
project(slic3r-arrange-wrapper)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
add_library(slic3r-arrange-wrapper
|
||||
include/arrange-wrapper/Arrange.hpp
|
||||
include/arrange-wrapper/ArrangeSettingsDb_AppCfg.hpp
|
||||
include/arrange-wrapper/ArrangeSettingsView.hpp
|
||||
include/arrange-wrapper/Items/ArbitraryDataStore.hpp
|
||||
include/arrange-wrapper/Items/ArrangeItem.hpp
|
||||
include/arrange-wrapper/Items/MutableItemTraits.hpp
|
||||
include/arrange-wrapper/Items/SimpleArrangeItem.hpp
|
||||
include/arrange-wrapper/Items/TrafoOnlyArrangeItem.hpp
|
||||
include/arrange-wrapper/Scene.hpp
|
||||
include/arrange-wrapper/SceneBuilder.hpp
|
||||
include/arrange-wrapper/SegmentedRectangleBed.hpp
|
||||
include/arrange-wrapper/Tasks/ArrangeTask.hpp
|
||||
include/arrange-wrapper/Tasks/FillBedTask.hpp
|
||||
include/arrange-wrapper/Tasks/MultiplySelectionTask.hpp
|
||||
include/arrange-wrapper/ModelArrange.hpp
|
||||
|
||||
src/ArrangeImpl.hpp
|
||||
src/ArrangeSettingsDb_AppCfg.cpp
|
||||
src/Items/SimpleArrangeItem.cpp
|
||||
src/SceneBuilder.cpp
|
||||
src/Scene.cpp
|
||||
src/Items/ArrangeItem.cpp
|
||||
src/ModelArrange.cpp
|
||||
src/Tasks/ArrangeTaskImpl.hpp
|
||||
src/Tasks/FillBedTaskImpl.hpp
|
||||
src/Tasks/MultiplySelectionTaskImpl.hpp
|
||||
)
|
||||
|
||||
target_include_directories(slic3r-arrange-wrapper PRIVATE src)
|
||||
target_include_directories(slic3r-arrange-wrapper PUBLIC include)
|
||||
target_link_libraries(slic3r-arrange-wrapper PUBLIC slic3r-arrange)
|
@ -5,11 +5,11 @@
|
||||
#ifndef ARRANGE2_HPP
|
||||
#define ARRANGE2_HPP
|
||||
|
||||
#include <libslic3r/MinAreaBoundingBox.hpp>
|
||||
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||
|
||||
#include "Scene.hpp"
|
||||
#include "Items/MutableItemTraits.hpp"
|
||||
#include "Core/NFP/NFPArrangeItemTraits.hpp"
|
||||
|
||||
#include "libslic3r/MinAreaBoundingBox.hpp"
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include <map>
|
||||
#include <any>
|
||||
|
||||
#include "libslic3r/Arrange/Core/DataStoreTraits.hpp"
|
||||
#include <arrange/DataStoreTraits.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -20,24 +20,27 @@
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
|
||||
#include "libslic3r/ExPolygon.hpp"
|
||||
#include "libslic3r/BoundingBox.hpp"
|
||||
#include "libslic3r/AnyPtr.hpp"
|
||||
#include "libslic3r/Arrange/Core/PackingContext.hpp"
|
||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Core/NFP/NFP.hpp"
|
||||
#include "libslic3r/Arrange/Items/MutableItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Arrange.hpp"
|
||||
#include "libslic3r/Arrange/Tasks/ArrangeTask.hpp"
|
||||
#include "libslic3r/Arrange/Tasks/FillBedTask.hpp"
|
||||
#include "libslic3r/Arrange/Tasks/MultiplySelectionTask.hpp"
|
||||
#include "libslic3r/Arrange/Items/ArbitraryDataStore.hpp"
|
||||
#include "libslic3r/Arrange/Core/ArrangeBase.hpp"
|
||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Core/DataStoreTraits.hpp"
|
||||
#include "libslic3r/Point.hpp"
|
||||
#include "libslic3r/Polygon.hpp"
|
||||
#include "libslic3r/libslic3r.h"
|
||||
#include <libslic3r/ExPolygon.hpp>
|
||||
#include <libslic3r/BoundingBox.hpp>
|
||||
#include <libslic3r/AnyPtr.hpp>
|
||||
#include <libslic3r/Point.hpp>
|
||||
#include <libslic3r/Polygon.hpp>
|
||||
#include <libslic3r/libslic3r.h>
|
||||
|
||||
#include <arrange/PackingContext.hpp>
|
||||
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||
#include <arrange/NFP/NFP.hpp>
|
||||
#include <arrange/ArrangeBase.hpp>
|
||||
#include <arrange/ArrangeItemTraits.hpp>
|
||||
#include <arrange/DataStoreTraits.hpp>
|
||||
|
||||
|
||||
#include <arrange-wrapper/Items/MutableItemTraits.hpp>
|
||||
#include <arrange-wrapper/Arrange.hpp>
|
||||
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||
#include <arrange-wrapper/Tasks/FillBedTask.hpp>
|
||||
#include <arrange-wrapper/Tasks/MultiplySelectionTask.hpp>
|
||||
#include <arrange-wrapper/Items/ArbitraryDataStore.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
struct InfiniteBed;
|
@ -5,10 +5,10 @@
|
||||
#ifndef MutableItemTraits_HPP
|
||||
#define MutableItemTraits_HPP
|
||||
|
||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Core/DataStoreTraits.hpp"
|
||||
#include <libslic3r/ExPolygon.hpp>
|
||||
|
||||
#include "libslic3r/ExPolygon.hpp"
|
||||
#include <arrange/ArrangeItemTraits.hpp>
|
||||
#include <arrange/DataStoreTraits.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -11,21 +11,23 @@
|
||||
#include <utility>
|
||||
#include <vector>
|
||||
|
||||
#include "libslic3r/Arrange/Core/PackingContext.hpp"
|
||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Core/NFP/NFP.hpp"
|
||||
#include "libslic3r/Arrange/Arrange.hpp"
|
||||
#include "libslic3r/Arrange/Tasks/ArrangeTask.hpp"
|
||||
#include "libslic3r/Arrange/Tasks/FillBedTask.hpp"
|
||||
#include "libslic3r/Arrange/Tasks/MultiplySelectionTask.hpp"
|
||||
#include "libslic3r/Polygon.hpp"
|
||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
||||
#include "MutableItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
||||
#include "libslic3r/BoundingBox.hpp"
|
||||
#include "libslic3r/ClipperUtils.hpp"
|
||||
#include "libslic3r/ObjectID.hpp"
|
||||
#include "libslic3r/Point.hpp"
|
||||
#include <libslic3r/Polygon.hpp>
|
||||
#include <libslic3r/Geometry/ConvexHull.hpp>
|
||||
#include <libslic3r/BoundingBox.hpp>
|
||||
#include <libslic3r/ClipperUtils.hpp>
|
||||
#include <libslic3r/ObjectID.hpp>
|
||||
#include <libslic3r/Point.hpp>
|
||||
|
||||
#include <arrange/ArrangeItemTraits.hpp>
|
||||
#include <arrange/PackingContext.hpp>
|
||||
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||
#include <arrange/NFP/NFP.hpp>
|
||||
|
||||
#include <arrange-wrapper/Arrange.hpp>
|
||||
#include <arrange-wrapper/Tasks/FillBedTask.hpp>
|
||||
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||
#include <arrange-wrapper/Items/MutableItemTraits.hpp>
|
||||
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
struct InfiniteBed;
|
@ -5,10 +5,10 @@
|
||||
#ifndef TRAFOONLYARRANGEITEM_HPP
|
||||
#define TRAFOONLYARRANGEITEM_HPP
|
||||
|
||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
||||
#include <arrange/ArrangeItemTraits.hpp>
|
||||
|
||||
#include "libslic3r/Arrange/Items/ArbitraryDataStore.hpp"
|
||||
#include "libslic3r/Arrange/Items/MutableItemTraits.hpp"
|
||||
#include "ArbitraryDataStore.hpp"
|
||||
#include "MutableItemTraits.hpp"
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -5,12 +5,12 @@
|
||||
#ifndef MODELARRANGE_HPP
|
||||
#define MODELARRANGE_HPP
|
||||
|
||||
#include <libslic3r/Arrange/Scene.hpp>
|
||||
#include <stddef.h>
|
||||
#include <vector>
|
||||
#include <cstddef>
|
||||
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include <arrange/Beds.hpp>
|
||||
#include "Scene.hpp"
|
||||
|
||||
namespace Slic3r {
|
||||
|
@ -19,16 +19,18 @@
|
||||
#include <vector>
|
||||
#include <cstddef>
|
||||
|
||||
#include "libslic3r/ObjectID.hpp"
|
||||
#include "libslic3r/AnyPtr.hpp"
|
||||
#include "libslic3r/Arrange/ArrangeSettingsView.hpp"
|
||||
#include "libslic3r/Arrange/SegmentedRectangleBed.hpp"
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include "libslic3r/BoundingBox.hpp"
|
||||
#include "libslic3r/ExPolygon.hpp"
|
||||
#include "libslic3r/Point.hpp"
|
||||
#include "libslic3r/Polygon.hpp"
|
||||
#include "libslic3r/libslic3r.h"
|
||||
#include <libslic3r/ObjectID.hpp>
|
||||
#include <libslic3r/AnyPtr.hpp>
|
||||
#include <libslic3r/BoundingBox.hpp>
|
||||
#include <libslic3r/ExPolygon.hpp>
|
||||
#include <libslic3r/Point.hpp>
|
||||
#include <libslic3r/Polygon.hpp>
|
||||
#include <libslic3r/libslic3r.h>
|
||||
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
#include "ArrangeSettingsView.hpp"
|
||||
#include "SegmentedRectangleBed.hpp"
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -17,17 +17,19 @@
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
|
||||
#include <libslic3r/AnyPtr.hpp>
|
||||
#include <libslic3r/BoundingBox.hpp>
|
||||
#include <libslic3r/ExPolygon.hpp>
|
||||
#include <libslic3r/Model.hpp>
|
||||
#include <libslic3r/ObjectID.hpp>
|
||||
#include <libslic3r/Point.hpp>
|
||||
#include <libslic3r/Polygon.hpp>
|
||||
#include <libslic3r/libslic3r.h>
|
||||
|
||||
#include <arrange/ArrangeItemTraits.hpp>
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
#include "Scene.hpp"
|
||||
#include "Core/ArrangeItemTraits.hpp"
|
||||
#include "libslic3r/AnyPtr.hpp"
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include "libslic3r/BoundingBox.hpp"
|
||||
#include "libslic3r/ExPolygon.hpp"
|
||||
#include "libslic3r/Model.hpp"
|
||||
#include "libslic3r/ObjectID.hpp"
|
||||
#include "libslic3r/Point.hpp"
|
||||
#include "libslic3r/Polygon.hpp"
|
||||
#include "libslic3r/libslic3r.h"
|
||||
|
||||
namespace Slic3r {
|
||||
|
@ -5,7 +5,7 @@
|
||||
#ifndef SEGMENTEDRECTANGLEBED_HPP
|
||||
#define SEGMENTEDRECTANGLEBED_HPP
|
||||
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -5,8 +5,8 @@
|
||||
#ifndef ARRANGETASK_HPP
|
||||
#define ARRANGETASK_HPP
|
||||
|
||||
#include "libslic3r/Arrange/Arrange.hpp"
|
||||
#include "libslic3r/Arrange/Items/TrafoOnlyArrangeItem.hpp"
|
||||
#include <arrange-wrapper/Arrange.hpp>
|
||||
#include <arrange-wrapper/Items/TrafoOnlyArrangeItem.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -5,9 +5,9 @@
|
||||
#ifndef FILLBEDTASK_HPP
|
||||
#define FILLBEDTASK_HPP
|
||||
|
||||
#include "MultiplySelectionTask.hpp"
|
||||
#include <arrange-wrapper/Arrange.hpp>
|
||||
|
||||
#include "libslic3r/Arrange/Arrange.hpp"
|
||||
#include "MultiplySelectionTask.hpp"
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -5,8 +5,8 @@
|
||||
#ifndef MULTIPLYSELECTIONTASK_HPP
|
||||
#define MULTIPLYSELECTIONTASK_HPP
|
||||
|
||||
#include "libslic3r/Arrange/Arrange.hpp"
|
||||
#include "libslic3r/Arrange/Items/TrafoOnlyArrangeItem.hpp"
|
||||
#include <arrange-wrapper/Arrange.hpp>
|
||||
#include <arrange-wrapper/Items/TrafoOnlyArrangeItem.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -8,25 +8,24 @@
|
||||
#include <random>
|
||||
#include <map>
|
||||
|
||||
#include "Arrange.hpp"
|
||||
#include <libslic3r/Execution/ExecutionTBB.hpp>
|
||||
#include <libslic3r/Geometry/ConvexHull.hpp>
|
||||
|
||||
#include "Core/ArrangeBase.hpp"
|
||||
#include "Core/ArrangeFirstFit.hpp"
|
||||
#include "Core/NFP/PackStrategyNFP.hpp"
|
||||
#include "Core/NFP/Kernels/TMArrangeKernel.hpp"
|
||||
#include "Core/NFP/Kernels/GravityKernel.hpp"
|
||||
#include "Core/NFP/RectangleOverfitPackingStrategy.hpp"
|
||||
#include "Core/Beds.hpp"
|
||||
#include <arrange/ArrangeBase.hpp>
|
||||
#include <arrange/ArrangeFirstFit.hpp>
|
||||
#include <arrange/NFP/PackStrategyNFP.hpp>
|
||||
#include <arrange/NFP/Kernels/TMArrangeKernel.hpp>
|
||||
#include <arrange/NFP/Kernels/GravityKernel.hpp>
|
||||
#include <arrange/NFP/RectangleOverfitPackingStrategy.hpp>
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
#include "Items/MutableItemTraits.hpp"
|
||||
#include <arrange-wrapper/Arrange.hpp>
|
||||
#include <arrange-wrapper/Items/MutableItemTraits.hpp>
|
||||
#include <arrange-wrapper/SegmentedRectangleBed.hpp>
|
||||
|
||||
#include "SegmentedRectangleBed.hpp"
|
||||
|
||||
#include "libslic3r/Execution/ExecutionTBB.hpp"
|
||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
||||
|
||||
#ifndef NDEBUG
|
||||
#include "Core/NFP/Kernels/SVGDebugOutputKernelWrapper.hpp"
|
||||
#include <arrange/NFP/Kernels/SVGDebugOutputKernelWrapper.hpp>
|
||||
#endif
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
@ -2,11 +2,12 @@
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#include "ArrangeSettingsDb_AppCfg.hpp"
|
||||
#include <arrange-wrapper/ArrangeSettingsDb_AppCfg.hpp>
|
||||
|
||||
#include "LocalesUtils.hpp"
|
||||
#include "libslic3r/AppConfig.hpp"
|
||||
#include "libslic3r/Arrange/ArrangeSettingsView.hpp"
|
||||
#include <LocalesUtils.hpp>
|
||||
#include <libslic3r/AppConfig.hpp>
|
||||
|
||||
#include <arrange-wrapper/ArrangeSettingsView.hpp>
|
||||
|
||||
namespace Slic3r {
|
||||
|
@ -2,16 +2,17 @@
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#include "ArrangeItem.hpp"
|
||||
|
||||
#include <numeric>
|
||||
|
||||
#include "libslic3r/Arrange/Core/NFP/NFPConcave_Tesselate.hpp"
|
||||
#include "libslic3r/Arrange/ArrangeImpl.hpp" // IWYU pragma: keep
|
||||
#include "libslic3r/Arrange/Tasks/ArrangeTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include "libslic3r/Arrange/Tasks/FillBedTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include "libslic3r/Arrange/Tasks/MultiplySelectionTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
||||
#include <libslic3r/Geometry/ConvexHull.hpp>
|
||||
#include <arrange/NFP/NFPConcave_Tesselate.hpp>
|
||||
|
||||
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||
#include "ArrangeImpl.hpp" // IWYU pragma: keep
|
||||
#include "Tasks/ArrangeTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include "Tasks/FillBedTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include "Tasks/MultiplySelectionTaskImpl.hpp" // IWYU pragma: keep
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -2,11 +2,11 @@
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#include "SimpleArrangeItem.hpp"
|
||||
#include "libslic3r/Arrange/ArrangeImpl.hpp" // IWYU pragma: keep
|
||||
#include "libslic3r/Arrange/Tasks/ArrangeTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include "libslic3r/Arrange/Tasks/FillBedTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include "libslic3r/Arrange/Tasks/MultiplySelectionTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include <arrange-wrapper/Items/SimpleArrangeItem.hpp>
|
||||
#include "ArrangeImpl.hpp" // IWYU pragma: keep
|
||||
#include "Tasks/ArrangeTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include "Tasks/FillBedTaskImpl.hpp" // IWYU pragma: keep
|
||||
#include "Tasks/MultiplySelectionTaskImpl.hpp" // IWYU pragma: keep
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -2,16 +2,17 @@
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#include "ModelArrange.hpp"
|
||||
|
||||
#include <libslic3r/Arrange/SceneBuilder.hpp>
|
||||
#include <libslic3r/Arrange/Items/ArrangeItem.hpp>
|
||||
#include <libslic3r/Arrange/Tasks/MultiplySelectionTask.hpp>
|
||||
#include <libslic3r/Model.hpp>
|
||||
#include <utility>
|
||||
|
||||
#include "libslic3r/Arrange/ArrangeSettingsView.hpp"
|
||||
#include "libslic3r/Arrange/Scene.hpp"
|
||||
#include <arrange-wrapper/ModelArrange.hpp>
|
||||
|
||||
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||
#include <arrange-wrapper/Tasks/MultiplySelectionTask.hpp>
|
||||
#include <arrange-wrapper/SceneBuilder.hpp>
|
||||
#include <arrange-wrapper/ArrangeSettingsView.hpp>
|
||||
#include <arrange-wrapper/Scene.hpp>
|
||||
|
||||
namespace Slic3r {
|
||||
|
@ -2,12 +2,10 @@
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#include "Scene.hpp"
|
||||
|
||||
#include "Items/ArrangeItem.hpp"
|
||||
|
||||
#include "Tasks/ArrangeTask.hpp"
|
||||
#include "Tasks/FillBedTask.hpp"
|
||||
#include <arrange-wrapper/Scene.hpp>
|
||||
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||
#include <arrange-wrapper/Tasks/FillBedTask.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -5,28 +5,29 @@
|
||||
#ifndef SCENEBUILDER_CPP
|
||||
#define SCENEBUILDER_CPP
|
||||
|
||||
#include "SceneBuilder.hpp"
|
||||
|
||||
#include <cmath>
|
||||
#include <limits>
|
||||
#include <numeric>
|
||||
#include <cstdlib>
|
||||
#include <iterator>
|
||||
|
||||
#include "libslic3r/Model.hpp"
|
||||
#include "libslic3r/MultipleBeds.hpp"
|
||||
#include "libslic3r/Print.hpp"
|
||||
#include "libslic3r/SLAPrint.hpp"
|
||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
||||
#include "libslic3r/Arrange/Scene.hpp"
|
||||
#include "libslic3r/ClipperUtils.hpp"
|
||||
#include "libslic3r/Geometry.hpp"
|
||||
#include "libslic3r/PrintConfig.hpp"
|
||||
#include "libslic3r/SLA/Pad.hpp"
|
||||
#include "libslic3r/TriangleMesh.hpp"
|
||||
#include "libslic3r/TriangleMeshSlicer.hpp"
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include <libslic3r/Model.hpp>
|
||||
#include <libslic3r/MultipleBeds.hpp>
|
||||
#include <libslic3r/Print.hpp>
|
||||
#include <libslic3r/SLAPrint.hpp>
|
||||
#include <libslic3r/Geometry/ConvexHull.hpp>
|
||||
#include <libslic3r/ClipperUtils.hpp>
|
||||
#include <libslic3r/Geometry.hpp>
|
||||
#include <libslic3r/PrintConfig.hpp>
|
||||
#include <libslic3r/SLA/Pad.hpp>
|
||||
#include <libslic3r/TriangleMesh.hpp>
|
||||
#include <libslic3r/TriangleMeshSlicer.hpp>
|
||||
|
||||
#include <arrange/Beds.hpp>
|
||||
#include <arrange/ArrangeItemTraits.hpp>
|
||||
|
||||
#include <arrange-wrapper/SceneBuilder.hpp>
|
||||
#include <arrange-wrapper/Scene.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -9,9 +9,10 @@
|
||||
|
||||
#include <boost/log/trivial.hpp>
|
||||
|
||||
#include "ArrangeTask.hpp"
|
||||
#include "libslic3r/Arrange/Items/ArrangeItem.hpp"
|
||||
#include "libslic3r/SVG.hpp"
|
||||
#include <libslic3r/SVG.hpp>
|
||||
|
||||
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -5,12 +5,12 @@
|
||||
#ifndef FILLBEDTASKIMPL_HPP
|
||||
#define FILLBEDTASKIMPL_HPP
|
||||
|
||||
#include "FillBedTask.hpp"
|
||||
|
||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
||||
|
||||
#include <boost/log/trivial.hpp>
|
||||
|
||||
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||
|
||||
#include <arrange-wrapper/Tasks/FillBedTask.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
||||
template<class ArrItem>
|
@ -5,7 +5,7 @@
|
||||
#ifndef MULTIPLYSELECTIONTASKIMPL_HPP
|
||||
#define MULTIPLYSELECTIONTASKIMPL_HPP
|
||||
|
||||
#include "MultiplySelectionTask.hpp"
|
||||
#include <arrange-wrapper/Tasks/MultiplySelectionTask.hpp>
|
||||
|
||||
#include <boost/log/trivial.hpp>
|
||||
|
34
src/slic3r-arrange/CMakeLists.txt
Normal file
34
src/slic3r-arrange/CMakeLists.txt
Normal file
@ -0,0 +1,34 @@
|
||||
project(slic3r-arrange)
|
||||
cmake_minimum_required(VERSION 3.13)
|
||||
|
||||
add_library(slic3r-arrange
|
||||
include/arrange/Beds.hpp
|
||||
include/arrange/ArrangeItemTraits.hpp
|
||||
include/arrange/PackingContext.hpp
|
||||
include/arrange/NFP/NFPArrangeItemTraits.hpp
|
||||
include/arrange/NFP/NFP.hpp
|
||||
include/arrange/ArrangeBase.hpp
|
||||
include/arrange/DataStoreTraits.hpp
|
||||
include/arrange/ArrangeFirstFit.hpp
|
||||
include/arrange/NFP/PackStrategyNFP.hpp
|
||||
include/arrange/NFP/Kernels/TMArrangeKernel.hpp
|
||||
include/arrange/NFP/Kernels/GravityKernel.hpp
|
||||
include/arrange/NFP/RectangleOverfitPackingStrategy.hpp
|
||||
include/arrange/NFP/EdgeCache.hpp
|
||||
include/arrange/NFP/Kernels/KernelTraits.hpp
|
||||
include/arrange/NFP/NFPConcave_Tesselate.hpp
|
||||
include/arrange/NFP/Kernels/KernelUtils.hpp
|
||||
include/arrange/NFP/Kernels/CompactifyKernel.hpp
|
||||
include/arrange/NFP/Kernels/RectangleOverfitKernelWrapper.hpp
|
||||
include/arrange/NFP/Kernels/SVGDebugOutputKernelWrapper.hpp
|
||||
|
||||
src/Beds.cpp
|
||||
src/NFP/NFP.cpp
|
||||
src/NFP/NFPConcave_Tesselate.cpp
|
||||
src/NFP/EdgeCache.cpp
|
||||
src/NFP/CircularEdgeIterator.hpp
|
||||
)
|
||||
|
||||
target_include_directories(slic3r-arrange PRIVATE src)
|
||||
target_include_directories(slic3r-arrange PUBLIC include)
|
||||
target_link_libraries(slic3r-arrange PUBLIC libslic3r)
|
@ -8,10 +8,10 @@
|
||||
#include <iterator>
|
||||
#include <type_traits>
|
||||
|
||||
#include "ArrangeItemTraits.hpp"
|
||||
#include "PackingContext.hpp"
|
||||
#include <libslic3r/Point.hpp>
|
||||
|
||||
#include "libslic3r/Point.hpp"
|
||||
#include <arrange/ArrangeItemTraits.hpp>
|
||||
#include <arrange/PackingContext.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -8,7 +8,7 @@
|
||||
#include <iterator>
|
||||
#include <map>
|
||||
|
||||
#include <libslic3r/Arrange/Core/ArrangeBase.hpp>
|
||||
#include <arrange/ArrangeBase.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 { namespace firstfit {
|
||||
|
@ -5,8 +5,8 @@
|
||||
#ifndef GRAVITYKERNEL_HPP
|
||||
#define GRAVITYKERNEL_HPP
|
||||
|
||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
#include "KernelUtils.hpp"
|
||||
|
@ -5,7 +5,7 @@
|
||||
#ifndef KERNELTRAITS_HPP
|
||||
#define KERNELTRAITS_HPP
|
||||
|
||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
||||
#include <arrange/ArrangeItemTraits.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -7,9 +7,9 @@
|
||||
|
||||
#include <type_traits>
|
||||
|
||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include "libslic3r/Arrange/Core/DataStoreTraits.hpp"
|
||||
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||
#include <arrange/Beds.hpp>
|
||||
#include <arrange/DataStoreTraits.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -7,8 +7,8 @@
|
||||
|
||||
#include "KernelTraits.hpp"
|
||||
|
||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -5,10 +5,9 @@
|
||||
#ifndef TMARRANGEKERNEL_HPP
|
||||
#define TMARRANGEKERNEL_HPP
|
||||
|
||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
|
||||
#include "KernelUtils.hpp"
|
||||
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||
#include <arrange/Beds.hpp>
|
||||
#include <arrange/NFP/Kernels/KernelUtils.hpp>
|
||||
|
||||
#include <boost/geometry/index/rtree.hpp>
|
||||
#include <libslic3r/BoostAdapter.hpp>
|
@ -5,14 +5,15 @@
|
||||
#ifndef NFP_HPP
|
||||
#define NFP_HPP
|
||||
|
||||
#include <libslic3r/ExPolygon.hpp>
|
||||
#include <libslic3r/Arrange/Core/Beds.hpp>
|
||||
#include <stdint.h>
|
||||
#include <boost/variant.hpp>
|
||||
#include <cinttypes>
|
||||
|
||||
#include "libslic3r/Point.hpp"
|
||||
#include "libslic3r/Polygon.hpp"
|
||||
#include <libslic3r/ExPolygon.hpp>
|
||||
#include <libslic3r/Point.hpp>
|
||||
#include <libslic3r/Polygon.hpp>
|
||||
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
namespace Slic3r {
|
||||
|
@ -7,10 +7,11 @@
|
||||
|
||||
#include <numeric>
|
||||
|
||||
#include "libslic3r/Arrange/Core/ArrangeBase.hpp"
|
||||
#include <libslic3r/ExPolygon.hpp>
|
||||
#include <libslic3r/BoundingBox.hpp>
|
||||
|
||||
#include <arrange/ArrangeBase.hpp>
|
||||
|
||||
#include "libslic3r/ExPolygon.hpp"
|
||||
#include "libslic3r/BoundingBox.hpp"
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -5,12 +5,11 @@
|
||||
#ifndef PACKSTRATEGYNFP_HPP
|
||||
#define PACKSTRATEGYNFP_HPP
|
||||
|
||||
#include "libslic3r/Arrange/Core/ArrangeBase.hpp"
|
||||
#include <arrange/ArrangeBase.hpp>
|
||||
|
||||
#include "EdgeCache.hpp"
|
||||
#include "Kernels/KernelTraits.hpp"
|
||||
|
||||
#include "NFPArrangeItemTraits.hpp"
|
||||
#include <arrange/NFP/EdgeCache.hpp>
|
||||
#include <arrange/NFP/Kernels/KernelTraits.hpp>
|
||||
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||
|
||||
#include "libslic3r/Optimize/NLoptOptimizer.hpp"
|
||||
#include "libslic3r/Execution/ExecutionSeq.hpp"
|
@ -5,10 +5,10 @@
|
||||
#ifndef RECTANGLEOVERFITPACKINGSTRATEGY_HPP
|
||||
#define RECTANGLEOVERFITPACKINGSTRATEGY_HPP
|
||||
|
||||
#include "Kernels/RectangleOverfitKernelWrapper.hpp"
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
#include "libslic3r/Arrange/Core/NFP/PackStrategyNFP.hpp"
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include "Kernels/RectangleOverfitKernelWrapper.hpp"
|
||||
#include "PackStrategyNFP.hpp"
|
||||
|
||||
namespace Slic3r { namespace arr2 {
|
||||
|
@ -2,10 +2,11 @@
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#include "Beds.hpp"
|
||||
|
||||
#include <cstdlib>
|
||||
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
#include "libslic3r/BoundingBox.hpp"
|
||||
#include "libslic3r/ExPolygon.hpp"
|
||||
#include "libslic3r/Point.hpp"
|
@ -2,7 +2,7 @@
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#include "EdgeCache.hpp"
|
||||
#include <arrange/NFP/EdgeCache.hpp>
|
||||
|
||||
#include <iterator>
|
||||
|
@ -5,15 +5,16 @@
|
||||
#ifndef NFP_CPP
|
||||
#define NFP_CPP
|
||||
|
||||
#include "NFP.hpp"
|
||||
#include <arrange/NFP/NFP.hpp>
|
||||
#include <arrange/NFP/NFPConcave_Tesselate.hpp>
|
||||
|
||||
#include "CircularEdgeIterator.hpp"
|
||||
#include "NFPConcave_Tesselate.hpp"
|
||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
||||
#include "libslic3r/ClipperUtils.hpp"
|
||||
#include "libslic3r/ExPolygon.hpp"
|
||||
#include "libslic3r/Line.hpp"
|
||||
#include "libslic3r/libslic3r.h"
|
||||
#include <libslic3r/ClipperUtils.hpp>
|
||||
#include <libslic3r/ExPolygon.hpp>
|
||||
#include <libslic3r/Line.hpp>
|
||||
#include <libslic3r/libslic3r.h>
|
||||
|
||||
#include <arrange/Beds.hpp>
|
||||
|
||||
#if !defined(_MSC_VER) && defined(__SIZEOF_INT128__) && !defined(__APPLE__)
|
||||
namespace Slic3r { using LargeInt = __int128; }
|
@ -2,7 +2,6 @@
|
||||
///|/
|
||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||
///|/
|
||||
#include "NFPConcave_Tesselate.hpp"
|
||||
|
||||
#include <libslic3r/ClipperUtils.hpp>
|
||||
#include <libslic3r/Tesselate.hpp>
|
||||
@ -11,7 +10,9 @@
|
||||
#include <vector>
|
||||
#include <cstddef>
|
||||
|
||||
#include "NFP.hpp"
|
||||
#include <arrange//NFP/NFPConcave_Tesselate.hpp>
|
||||
#include <arrange/NFP/NFP.hpp>
|
||||
|
||||
#include "libslic3r/ExPolygon.hpp"
|
||||
#include "libslic3r/Point.hpp"
|
||||
#include "libslic3r/libslic3r.h"
|
@ -433,6 +433,7 @@ target_link_libraries(
|
||||
libslic3r_gui
|
||||
PUBLIC
|
||||
libslic3r
|
||||
slic3r-arrange-wrapper
|
||||
avrdude
|
||||
libcereal
|
||||
imgui
|
||||
|
@ -5,7 +5,7 @@
|
||||
#ifndef ARRANGESETTINGSDIALOGIMGUI_HPP
|
||||
#define ARRANGESETTINGSDIALOGIMGUI_HPP
|
||||
|
||||
#include "libslic3r/Arrange/ArrangeSettingsView.hpp"
|
||||
#include <arrange-wrapper/ArrangeSettingsView.hpp>
|
||||
#include "ImGuiWrapper.hpp"
|
||||
#include "libslic3r/AnyPtr.hpp"
|
||||
|
||||
|
@ -24,7 +24,7 @@
|
||||
#include "SceneRaycaster.hpp"
|
||||
#include "GUI_Utils.hpp"
|
||||
|
||||
#include "libslic3r/Arrange/ArrangeSettingsDb_AppCfg.hpp"
|
||||
#include <arrange-wrapper/ArrangeSettingsDb_AppCfg.hpp>
|
||||
#include "ArrangeSettingsDialogImgui.hpp"
|
||||
|
||||
#include "libslic3r/Slicing.hpp"
|
||||
|
@ -9,10 +9,10 @@
|
||||
|
||||
#include "Job.hpp"
|
||||
|
||||
#include "libslic3r/Arrange/Tasks/ArrangeTask.hpp"
|
||||
#include "libslic3r/Arrange/Tasks/FillBedTask.hpp"
|
||||
#include "libslic3r/Arrange/Items/ArrangeItem.hpp"
|
||||
#include "libslic3r/Arrange/SceneBuilder.hpp"
|
||||
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||
#include <arrange-wrapper/Tasks/FillBedTask.hpp>
|
||||
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||
#include <arrange-wrapper/SceneBuilder.hpp>
|
||||
|
||||
namespace Slic3r {
|
||||
|
||||
|
@ -5,7 +5,7 @@ add_executable(${_TEST_NAME}_tests ${_TEST_NAME}_tests_main.cpp
|
||||
../data/prusaparts.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(${_TEST_NAME}_tests test_common libslic3r)
|
||||
target_link_libraries(${_TEST_NAME}_tests test_common slic3r-arrange-wrapper)
|
||||
set_property(TARGET ${_TEST_NAME}_tests PROPERTY FOLDER "tests")
|
||||
|
||||
if (WIN32)
|
||||
|
@ -3,21 +3,17 @@
|
||||
|
||||
#include <libslic3r/Execution/ExecutionSeq.hpp>
|
||||
|
||||
#include <libslic3r/Arrange/Core/ArrangeBase.hpp>
|
||||
#include <libslic3r/Arrange/Core/ArrangeFirstFit.hpp>
|
||||
#include <libslic3r/Arrange/Core/NFP/PackStrategyNFP.hpp>
|
||||
#include <libslic3r/Arrange/Core/NFP/RectangleOverfitPackingStrategy.hpp>
|
||||
#include <arrange/ArrangeBase.hpp>
|
||||
#include <arrange/ArrangeFirstFit.hpp>
|
||||
#include <arrange/NFP/PackStrategyNFP.hpp>
|
||||
#include <arrange/NFP/RectangleOverfitPackingStrategy.hpp>
|
||||
#include <arrange/NFP/Kernels/GravityKernel.hpp>
|
||||
#include <arrange/NFP/Kernels/TMArrangeKernel.hpp>
|
||||
#include <arrange/NFP/NFPConcave_Tesselate.hpp>
|
||||
|
||||
#include <libslic3r/Arrange/Core/NFP/Kernels/GravityKernel.hpp>
|
||||
#include <libslic3r/Arrange/Core/NFP/Kernels/TMArrangeKernel.hpp>
|
||||
|
||||
#include <libslic3r/Arrange/Core/NFP/NFPConcave_CGAL.hpp>
|
||||
#include <libslic3r/Arrange/Core/NFP/NFPConcave_Tesselate.hpp>
|
||||
#include <libslic3r/Arrange/Core/NFP/CircularEdgeIterator.hpp>
|
||||
|
||||
#include <libslic3r/Arrange/Items/SimpleArrangeItem.hpp>
|
||||
#include <libslic3r/Arrange/Items/ArrangeItem.hpp>
|
||||
#include <libslic3r/Arrange/Items/TrafoOnlyArrangeItem.hpp>
|
||||
#include <arrange-wrapper/Items/SimpleArrangeItem.hpp>
|
||||
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||
#include <arrange-wrapper/Items/TrafoOnlyArrangeItem.hpp>
|
||||
|
||||
#include <libslic3r/Model.hpp>
|
||||
|
||||
|
@ -1,16 +1,15 @@
|
||||
#include <catch2/catch.hpp>
|
||||
#include "test_utils.hpp"
|
||||
|
||||
#include <libslic3r/Arrange/Arrange.hpp>
|
||||
#include <libslic3r/Arrange/Items/ArrangeItem.hpp>
|
||||
#include <libslic3r/Arrange/Tasks/ArrangeTask.hpp>
|
||||
|
||||
#include <libslic3r/Arrange/SceneBuilder.hpp>
|
||||
#include <arrange-wrapper/Arrange.hpp>
|
||||
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||
#include <arrange-wrapper/SceneBuilder.hpp>
|
||||
#include <arrange-wrapper/ModelArrange.hpp>
|
||||
|
||||
#include "libslic3r/Model.hpp"
|
||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
||||
#include "libslic3r/Format/3mf.hpp"
|
||||
#include "libslic3r/ModelArrange.hpp"
|
||||
|
||||
static Slic3r::Model get_example_model_with_20mm_cube()
|
||||
{
|
||||
|
@ -39,7 +39,7 @@ add_executable(${_TEST_NAME}_tests
|
||||
test_thin_walls.cpp
|
||||
test_trianglemesh.cpp
|
||||
)
|
||||
target_link_libraries(${_TEST_NAME}_tests test_common libslic3r)
|
||||
target_link_libraries(${_TEST_NAME}_tests test_common slic3r-arrange-wrapper)
|
||||
set_property(TARGET ${_TEST_NAME}_tests PROPERTY FOLDER "tests")
|
||||
target_compile_definitions(${_TEST_NAME}_tests PUBLIC CATCH_CONFIG_ENABLE_BENCHMARKING)
|
||||
|
||||
|
@ -7,6 +7,8 @@
|
||||
#include "libslic3r/Format/OBJ.hpp"
|
||||
#include "libslic3r/Format/STL.hpp"
|
||||
|
||||
#include <arrange-wrapper/ModelArrange.hpp>
|
||||
|
||||
#include <cstdlib>
|
||||
#include <string>
|
||||
|
||||
@ -14,7 +16,6 @@
|
||||
#include <boost/nowide/fstream.hpp>
|
||||
#include <boost/filesystem.hpp>
|
||||
#include <boost/regex.hpp>
|
||||
#include <libslic3r/ModelArrange.hpp>
|
||||
|
||||
using namespace std;
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
|
||||
#include "libslic3r/GCode.hpp"
|
||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
||||
#include "libslic3r/ModelArrange.hpp"
|
||||
#include "test_data.hpp"
|
||||
|
||||
using namespace Slic3r;
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
#include "libslic3r/libslic3r.h"
|
||||
#include "libslic3r/Model.hpp"
|
||||
#include "libslic3r/ModelArrange.hpp"
|
||||
#include <arrange-wrapper/ModelArrange.hpp>
|
||||
|
||||
#include <boost/nowide/cstdio.hpp>
|
||||
#include <boost/filesystem.hpp>
|
||||
|
Loading…
x
Reference in New Issue
Block a user