mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-01 09:22:01 +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)
|
if (SLIC3R_GUI)
|
||||||
add_subdirectory(libvgcode)
|
add_subdirectory(libvgcode)
|
||||||
|
add_subdirectory(slic3r-arrange)
|
||||||
|
add_subdirectory(slic3r-arrange-wrapper)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
message(STATUS "WXWIN environment set to: $ENV{WXWIN}")
|
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")
|
set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
target_link_libraries(PrusaSlicer libslic3r libcereal)
|
target_link_libraries(PrusaSlicer libslic3r libcereal slic3r-arrange-wrapper)
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
# add_compile_options(-stdlib=libc++)
|
# add_compile_options(-stdlib=libc++)
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
#include "libslic3r/GCode/PostProcessor.hpp"
|
#include "libslic3r/GCode/PostProcessor.hpp"
|
||||||
#include "libslic3r/Model.hpp"
|
#include "libslic3r/Model.hpp"
|
||||||
#include "libslic3r/CutUtils.hpp"
|
#include "libslic3r/CutUtils.hpp"
|
||||||
#include "libslic3r/ModelArrange.hpp"
|
#include <arrange-wrapper/ModelArrange.hpp>
|
||||||
#include "libslic3r/Platform.hpp"
|
#include "libslic3r/Platform.hpp"
|
||||||
#include "libslic3r/Print.hpp"
|
#include "libslic3r/Print.hpp"
|
||||||
#include "libslic3r/SLAPrint.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
|
CutUtils.hpp
|
||||||
Model.cpp
|
Model.cpp
|
||||||
Model.hpp
|
Model.hpp
|
||||||
ModelArrange.hpp
|
|
||||||
ModelArrange.cpp
|
|
||||||
MultiMaterialSegmentation.cpp
|
MultiMaterialSegmentation.cpp
|
||||||
MultiMaterialSegmentation.hpp
|
MultiMaterialSegmentation.hpp
|
||||||
MeshNormals.hpp
|
MeshNormals.hpp
|
||||||
@ -273,54 +271,6 @@ set(SLIC3R_SOURCES
|
|||||||
MeasureUtils.hpp
|
MeasureUtils.hpp
|
||||||
CustomGCode.cpp
|
CustomGCode.cpp
|
||||||
CustomGCode.hpp
|
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.cpp
|
||||||
MultiPoint.hpp
|
MultiPoint.hpp
|
||||||
MutablePriorityQueue.hpp
|
MutablePriorityQueue.hpp
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
#include "BuildVolume.hpp"
|
#include "BuildVolume.hpp"
|
||||||
#include "Exception.hpp"
|
#include "Exception.hpp"
|
||||||
#include "Model.hpp"
|
#include "Model.hpp"
|
||||||
#include "ModelArrange.hpp"
|
|
||||||
#include "Geometry/ConvexHull.hpp"
|
#include "Geometry/ConvexHull.hpp"
|
||||||
#include "MTUtils.hpp"
|
#include "MTUtils.hpp"
|
||||||
#include "TriangleMeshSlicer.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
|
#ifndef ARRANGE2_HPP
|
||||||
#define ARRANGE2_HPP
|
#define ARRANGE2_HPP
|
||||||
|
|
||||||
|
#include <libslic3r/MinAreaBoundingBox.hpp>
|
||||||
|
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||||
|
|
||||||
#include "Scene.hpp"
|
#include "Scene.hpp"
|
||||||
#include "Items/MutableItemTraits.hpp"
|
#include "Items/MutableItemTraits.hpp"
|
||||||
#include "Core/NFP/NFPArrangeItemTraits.hpp"
|
|
||||||
|
|
||||||
#include "libslic3r/MinAreaBoundingBox.hpp"
|
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
#include <map>
|
#include <map>
|
||||||
#include <any>
|
#include <any>
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/DataStoreTraits.hpp"
|
#include <arrange/DataStoreTraits.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -20,24 +20,27 @@
|
|||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
#include "libslic3r/ExPolygon.hpp"
|
#include <libslic3r/ExPolygon.hpp>
|
||||||
#include "libslic3r/BoundingBox.hpp"
|
#include <libslic3r/BoundingBox.hpp>
|
||||||
#include "libslic3r/AnyPtr.hpp"
|
#include <libslic3r/AnyPtr.hpp>
|
||||||
#include "libslic3r/Arrange/Core/PackingContext.hpp"
|
#include <libslic3r/Point.hpp>
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
#include <libslic3r/Polygon.hpp>
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFP.hpp"
|
#include <libslic3r/libslic3r.h>
|
||||||
#include "libslic3r/Arrange/Items/MutableItemTraits.hpp"
|
|
||||||
#include "libslic3r/Arrange/Arrange.hpp"
|
#include <arrange/PackingContext.hpp>
|
||||||
#include "libslic3r/Arrange/Tasks/ArrangeTask.hpp"
|
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||||
#include "libslic3r/Arrange/Tasks/FillBedTask.hpp"
|
#include <arrange/NFP/NFP.hpp>
|
||||||
#include "libslic3r/Arrange/Tasks/MultiplySelectionTask.hpp"
|
#include <arrange/ArrangeBase.hpp>
|
||||||
#include "libslic3r/Arrange/Items/ArbitraryDataStore.hpp"
|
#include <arrange/ArrangeItemTraits.hpp>
|
||||||
#include "libslic3r/Arrange/Core/ArrangeBase.hpp"
|
#include <arrange/DataStoreTraits.hpp>
|
||||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
|
||||||
#include "libslic3r/Arrange/Core/DataStoreTraits.hpp"
|
|
||||||
#include "libslic3r/Point.hpp"
|
#include <arrange-wrapper/Items/MutableItemTraits.hpp>
|
||||||
#include "libslic3r/Polygon.hpp"
|
#include <arrange-wrapper/Arrange.hpp>
|
||||||
#include "libslic3r/libslic3r.h"
|
#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 {
|
namespace Slic3r { namespace arr2 {
|
||||||
struct InfiniteBed;
|
struct InfiniteBed;
|
@ -5,10 +5,10 @@
|
|||||||
#ifndef MutableItemTraits_HPP
|
#ifndef MutableItemTraits_HPP
|
||||||
#define MutableItemTraits_HPP
|
#define MutableItemTraits_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
#include <libslic3r/ExPolygon.hpp>
|
||||||
#include "libslic3r/Arrange/Core/DataStoreTraits.hpp"
|
|
||||||
|
|
||||||
#include "libslic3r/ExPolygon.hpp"
|
#include <arrange/ArrangeItemTraits.hpp>
|
||||||
|
#include <arrange/DataStoreTraits.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -11,21 +11,23 @@
|
|||||||
#include <utility>
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/PackingContext.hpp"
|
#include <libslic3r/Polygon.hpp>
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
#include <libslic3r/Geometry/ConvexHull.hpp>
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFP.hpp"
|
#include <libslic3r/BoundingBox.hpp>
|
||||||
#include "libslic3r/Arrange/Arrange.hpp"
|
#include <libslic3r/ClipperUtils.hpp>
|
||||||
#include "libslic3r/Arrange/Tasks/ArrangeTask.hpp"
|
#include <libslic3r/ObjectID.hpp>
|
||||||
#include "libslic3r/Arrange/Tasks/FillBedTask.hpp"
|
#include <libslic3r/Point.hpp>
|
||||||
#include "libslic3r/Arrange/Tasks/MultiplySelectionTask.hpp"
|
|
||||||
#include "libslic3r/Polygon.hpp"
|
#include <arrange/ArrangeItemTraits.hpp>
|
||||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
#include <arrange/PackingContext.hpp>
|
||||||
#include "MutableItemTraits.hpp"
|
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
#include <arrange/NFP/NFP.hpp>
|
||||||
#include "libslic3r/BoundingBox.hpp"
|
|
||||||
#include "libslic3r/ClipperUtils.hpp"
|
#include <arrange-wrapper/Arrange.hpp>
|
||||||
#include "libslic3r/ObjectID.hpp"
|
#include <arrange-wrapper/Tasks/FillBedTask.hpp>
|
||||||
#include "libslic3r/Point.hpp"
|
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||||
|
#include <arrange-wrapper/Items/MutableItemTraits.hpp>
|
||||||
|
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
struct InfiniteBed;
|
struct InfiniteBed;
|
@ -5,10 +5,10 @@
|
|||||||
#ifndef TRAFOONLYARRANGEITEM_HPP
|
#ifndef TRAFOONLYARRANGEITEM_HPP
|
||||||
#define TRAFOONLYARRANGEITEM_HPP
|
#define TRAFOONLYARRANGEITEM_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
#include <arrange/ArrangeItemTraits.hpp>
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Items/ArbitraryDataStore.hpp"
|
#include "ArbitraryDataStore.hpp"
|
||||||
#include "libslic3r/Arrange/Items/MutableItemTraits.hpp"
|
#include "MutableItemTraits.hpp"
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -5,12 +5,12 @@
|
|||||||
#ifndef MODELARRANGE_HPP
|
#ifndef MODELARRANGE_HPP
|
||||||
#define MODELARRANGE_HPP
|
#define MODELARRANGE_HPP
|
||||||
|
|
||||||
#include <libslic3r/Arrange/Scene.hpp>
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include <arrange/Beds.hpp>
|
||||||
|
#include "Scene.hpp"
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
|
|
@ -19,16 +19,18 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
#include "libslic3r/ObjectID.hpp"
|
#include <libslic3r/ObjectID.hpp>
|
||||||
#include "libslic3r/AnyPtr.hpp"
|
#include <libslic3r/AnyPtr.hpp>
|
||||||
#include "libslic3r/Arrange/ArrangeSettingsView.hpp"
|
#include <libslic3r/BoundingBox.hpp>
|
||||||
#include "libslic3r/Arrange/SegmentedRectangleBed.hpp"
|
#include <libslic3r/ExPolygon.hpp>
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include <libslic3r/Point.hpp>
|
||||||
#include "libslic3r/BoundingBox.hpp"
|
#include <libslic3r/Polygon.hpp>
|
||||||
#include "libslic3r/ExPolygon.hpp"
|
#include <libslic3r/libslic3r.h>
|
||||||
#include "libslic3r/Point.hpp"
|
|
||||||
#include "libslic3r/Polygon.hpp"
|
#include <arrange/Beds.hpp>
|
||||||
#include "libslic3r/libslic3r.h"
|
|
||||||
|
#include "ArrangeSettingsView.hpp"
|
||||||
|
#include "SegmentedRectangleBed.hpp"
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -17,17 +17,19 @@
|
|||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cstddef>
|
#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 "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 {
|
namespace Slic3r {
|
||||||
|
|
@ -5,7 +5,7 @@
|
|||||||
#ifndef SEGMENTEDRECTANGLEBED_HPP
|
#ifndef SEGMENTEDRECTANGLEBED_HPP
|
||||||
#define SEGMENTEDRECTANGLEBED_HPP
|
#define SEGMENTEDRECTANGLEBED_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include <arrange/Beds.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -5,8 +5,8 @@
|
|||||||
#ifndef ARRANGETASK_HPP
|
#ifndef ARRANGETASK_HPP
|
||||||
#define ARRANGETASK_HPP
|
#define ARRANGETASK_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Arrange.hpp"
|
#include <arrange-wrapper/Arrange.hpp>
|
||||||
#include "libslic3r/Arrange/Items/TrafoOnlyArrangeItem.hpp"
|
#include <arrange-wrapper/Items/TrafoOnlyArrangeItem.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -5,9 +5,9 @@
|
|||||||
#ifndef FILLBEDTASK_HPP
|
#ifndef FILLBEDTASK_HPP
|
||||||
#define 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 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -5,8 +5,8 @@
|
|||||||
#ifndef MULTIPLYSELECTIONTASK_HPP
|
#ifndef MULTIPLYSELECTIONTASK_HPP
|
||||||
#define MULTIPLYSELECTIONTASK_HPP
|
#define MULTIPLYSELECTIONTASK_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Arrange.hpp"
|
#include <arrange-wrapper/Arrange.hpp>
|
||||||
#include "libslic3r/Arrange/Items/TrafoOnlyArrangeItem.hpp"
|
#include <arrange-wrapper/Items/TrafoOnlyArrangeItem.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -8,25 +8,24 @@
|
|||||||
#include <random>
|
#include <random>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
#include "Arrange.hpp"
|
#include <libslic3r/Execution/ExecutionTBB.hpp>
|
||||||
|
#include <libslic3r/Geometry/ConvexHull.hpp>
|
||||||
|
|
||||||
#include "Core/ArrangeBase.hpp"
|
#include <arrange/ArrangeBase.hpp>
|
||||||
#include "Core/ArrangeFirstFit.hpp"
|
#include <arrange/ArrangeFirstFit.hpp>
|
||||||
#include "Core/NFP/PackStrategyNFP.hpp"
|
#include <arrange/NFP/PackStrategyNFP.hpp>
|
||||||
#include "Core/NFP/Kernels/TMArrangeKernel.hpp"
|
#include <arrange/NFP/Kernels/TMArrangeKernel.hpp>
|
||||||
#include "Core/NFP/Kernels/GravityKernel.hpp"
|
#include <arrange/NFP/Kernels/GravityKernel.hpp>
|
||||||
#include "Core/NFP/RectangleOverfitPackingStrategy.hpp"
|
#include <arrange/NFP/RectangleOverfitPackingStrategy.hpp>
|
||||||
#include "Core/Beds.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
|
#ifndef NDEBUG
|
||||||
#include "Core/NFP/Kernels/SVGDebugOutputKernelWrapper.hpp"
|
#include <arrange/NFP/Kernels/SVGDebugOutputKernelWrapper.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
@ -2,11 +2,12 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
///|/ 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 <LocalesUtils.hpp>
|
||||||
#include "libslic3r/AppConfig.hpp"
|
#include <libslic3r/AppConfig.hpp>
|
||||||
#include "libslic3r/Arrange/ArrangeSettingsView.hpp"
|
|
||||||
|
#include <arrange-wrapper/ArrangeSettingsView.hpp>
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
|
|
@ -2,16 +2,17 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "ArrangeItem.hpp"
|
|
||||||
|
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFPConcave_Tesselate.hpp"
|
#include <libslic3r/Geometry/ConvexHull.hpp>
|
||||||
#include "libslic3r/Arrange/ArrangeImpl.hpp" // IWYU pragma: keep
|
#include <arrange/NFP/NFPConcave_Tesselate.hpp>
|
||||||
#include "libslic3r/Arrange/Tasks/ArrangeTaskImpl.hpp" // IWYU pragma: keep
|
|
||||||
#include "libslic3r/Arrange/Tasks/FillBedTaskImpl.hpp" // IWYU pragma: keep
|
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||||
#include "libslic3r/Arrange/Tasks/MultiplySelectionTaskImpl.hpp" // IWYU pragma: keep
|
#include "ArrangeImpl.hpp" // IWYU pragma: keep
|
||||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
#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 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -2,11 +2,11 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "SimpleArrangeItem.hpp"
|
#include <arrange-wrapper/Items/SimpleArrangeItem.hpp>
|
||||||
#include "libslic3r/Arrange/ArrangeImpl.hpp" // IWYU pragma: keep
|
#include "ArrangeImpl.hpp" // IWYU pragma: keep
|
||||||
#include "libslic3r/Arrange/Tasks/ArrangeTaskImpl.hpp" // IWYU pragma: keep
|
#include "Tasks/ArrangeTaskImpl.hpp" // IWYU pragma: keep
|
||||||
#include "libslic3r/Arrange/Tasks/FillBedTaskImpl.hpp" // IWYU pragma: keep
|
#include "Tasks/FillBedTaskImpl.hpp" // IWYU pragma: keep
|
||||||
#include "libslic3r/Arrange/Tasks/MultiplySelectionTaskImpl.hpp" // IWYU pragma: keep
|
#include "Tasks/MultiplySelectionTaskImpl.hpp" // IWYU pragma: keep
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -2,16 +2,17 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
///|/ 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 <libslic3r/Model.hpp>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
||||||
#include "libslic3r/Arrange/ArrangeSettingsView.hpp"
|
#include <arrange-wrapper/ModelArrange.hpp>
|
||||||
#include "libslic3r/Arrange/Scene.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 {
|
namespace Slic3r {
|
||||||
|
|
@ -2,12 +2,10 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "Scene.hpp"
|
#include <arrange-wrapper/Scene.hpp>
|
||||||
|
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||||
#include "Items/ArrangeItem.hpp"
|
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||||
|
#include <arrange-wrapper/Tasks/FillBedTask.hpp>
|
||||||
#include "Tasks/ArrangeTask.hpp"
|
|
||||||
#include "Tasks/FillBedTask.hpp"
|
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -5,28 +5,29 @@
|
|||||||
#ifndef SCENEBUILDER_CPP
|
#ifndef SCENEBUILDER_CPP
|
||||||
#define SCENEBUILDER_CPP
|
#define SCENEBUILDER_CPP
|
||||||
|
|
||||||
#include "SceneBuilder.hpp"
|
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
#include <limits>
|
#include <limits>
|
||||||
#include <numeric>
|
#include <numeric>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
|
|
||||||
#include "libslic3r/Model.hpp"
|
#include <libslic3r/Model.hpp>
|
||||||
#include "libslic3r/MultipleBeds.hpp"
|
#include <libslic3r/MultipleBeds.hpp>
|
||||||
#include "libslic3r/Print.hpp"
|
#include <libslic3r/Print.hpp>
|
||||||
#include "libslic3r/SLAPrint.hpp"
|
#include <libslic3r/SLAPrint.hpp>
|
||||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
#include <libslic3r/Geometry/ConvexHull.hpp>
|
||||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
#include <libslic3r/ClipperUtils.hpp>
|
||||||
#include "libslic3r/Arrange/Scene.hpp"
|
#include <libslic3r/Geometry.hpp>
|
||||||
#include "libslic3r/ClipperUtils.hpp"
|
#include <libslic3r/PrintConfig.hpp>
|
||||||
#include "libslic3r/Geometry.hpp"
|
#include <libslic3r/SLA/Pad.hpp>
|
||||||
#include "libslic3r/PrintConfig.hpp"
|
#include <libslic3r/TriangleMesh.hpp>
|
||||||
#include "libslic3r/SLA/Pad.hpp"
|
#include <libslic3r/TriangleMeshSlicer.hpp>
|
||||||
#include "libslic3r/TriangleMesh.hpp"
|
|
||||||
#include "libslic3r/TriangleMeshSlicer.hpp"
|
#include <arrange/Beds.hpp>
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include <arrange/ArrangeItemTraits.hpp>
|
||||||
|
|
||||||
|
#include <arrange-wrapper/SceneBuilder.hpp>
|
||||||
|
#include <arrange-wrapper/Scene.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -9,9 +9,10 @@
|
|||||||
|
|
||||||
#include <boost/log/trivial.hpp>
|
#include <boost/log/trivial.hpp>
|
||||||
|
|
||||||
#include "ArrangeTask.hpp"
|
#include <libslic3r/SVG.hpp>
|
||||||
#include "libslic3r/Arrange/Items/ArrangeItem.hpp"
|
|
||||||
#include "libslic3r/SVG.hpp"
|
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||||
|
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -5,12 +5,12 @@
|
|||||||
#ifndef FILLBEDTASKIMPL_HPP
|
#ifndef FILLBEDTASKIMPL_HPP
|
||||||
#define FILLBEDTASKIMPL_HPP
|
#define FILLBEDTASKIMPL_HPP
|
||||||
|
|
||||||
#include "FillBedTask.hpp"
|
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
|
||||||
|
|
||||||
#include <boost/log/trivial.hpp>
|
#include <boost/log/trivial.hpp>
|
||||||
|
|
||||||
|
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||||
|
|
||||||
|
#include <arrange-wrapper/Tasks/FillBedTask.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
||||||
template<class ArrItem>
|
template<class ArrItem>
|
@ -5,7 +5,7 @@
|
|||||||
#ifndef MULTIPLYSELECTIONTASKIMPL_HPP
|
#ifndef MULTIPLYSELECTIONTASKIMPL_HPP
|
||||||
#define MULTIPLYSELECTIONTASKIMPL_HPP
|
#define MULTIPLYSELECTIONTASKIMPL_HPP
|
||||||
|
|
||||||
#include "MultiplySelectionTask.hpp"
|
#include <arrange-wrapper/Tasks/MultiplySelectionTask.hpp>
|
||||||
|
|
||||||
#include <boost/log/trivial.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 <iterator>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
#include "ArrangeItemTraits.hpp"
|
#include <libslic3r/Point.hpp>
|
||||||
#include "PackingContext.hpp"
|
|
||||||
|
|
||||||
#include "libslic3r/Point.hpp"
|
#include <arrange/ArrangeItemTraits.hpp>
|
||||||
|
#include <arrange/PackingContext.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -8,7 +8,7 @@
|
|||||||
#include <iterator>
|
#include <iterator>
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
#include <libslic3r/Arrange/Core/ArrangeBase.hpp>
|
#include <arrange/ArrangeBase.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 { namespace firstfit {
|
namespace Slic3r { namespace arr2 { namespace firstfit {
|
||||||
|
|
@ -5,8 +5,8 @@
|
|||||||
#ifndef GRAVITYKERNEL_HPP
|
#ifndef GRAVITYKERNEL_HPP
|
||||||
#define GRAVITYKERNEL_HPP
|
#define GRAVITYKERNEL_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include <arrange/Beds.hpp>
|
||||||
|
|
||||||
#include "KernelUtils.hpp"
|
#include "KernelUtils.hpp"
|
||||||
|
|
@ -5,7 +5,7 @@
|
|||||||
#ifndef KERNELTRAITS_HPP
|
#ifndef KERNELTRAITS_HPP
|
||||||
#define KERNELTRAITS_HPP
|
#define KERNELTRAITS_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/ArrangeItemTraits.hpp"
|
#include <arrange/ArrangeItemTraits.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -7,9 +7,9 @@
|
|||||||
|
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include <arrange/Beds.hpp>
|
||||||
#include "libslic3r/Arrange/Core/DataStoreTraits.hpp"
|
#include <arrange/DataStoreTraits.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
#include "KernelTraits.hpp"
|
#include "KernelTraits.hpp"
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include <arrange/Beds.hpp>
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -5,10 +5,9 @@
|
|||||||
#ifndef TMARRANGEKERNEL_HPP
|
#ifndef TMARRANGEKERNEL_HPP
|
||||||
#define TMARRANGEKERNEL_HPP
|
#define TMARRANGEKERNEL_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/NFP/NFPArrangeItemTraits.hpp"
|
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include <arrange/Beds.hpp>
|
||||||
|
#include <arrange/NFP/Kernels/KernelUtils.hpp>
|
||||||
#include "KernelUtils.hpp"
|
|
||||||
|
|
||||||
#include <boost/geometry/index/rtree.hpp>
|
#include <boost/geometry/index/rtree.hpp>
|
||||||
#include <libslic3r/BoostAdapter.hpp>
|
#include <libslic3r/BoostAdapter.hpp>
|
@ -5,14 +5,15 @@
|
|||||||
#ifndef NFP_HPP
|
#ifndef NFP_HPP
|
||||||
#define NFP_HPP
|
#define NFP_HPP
|
||||||
|
|
||||||
#include <libslic3r/ExPolygon.hpp>
|
|
||||||
#include <libslic3r/Arrange/Core/Beds.hpp>
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <boost/variant.hpp>
|
#include <boost/variant.hpp>
|
||||||
#include <cinttypes>
|
#include <cinttypes>
|
||||||
|
|
||||||
#include "libslic3r/Point.hpp"
|
#include <libslic3r/ExPolygon.hpp>
|
||||||
#include "libslic3r/Polygon.hpp"
|
#include <libslic3r/Point.hpp>
|
||||||
|
#include <libslic3r/Polygon.hpp>
|
||||||
|
|
||||||
|
#include <arrange/Beds.hpp>
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
|
|
@ -7,10 +7,11 @@
|
|||||||
|
|
||||||
#include <numeric>
|
#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 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -5,12 +5,11 @@
|
|||||||
#ifndef PACKSTRATEGYNFP_HPP
|
#ifndef PACKSTRATEGYNFP_HPP
|
||||||
#define PACKSTRATEGYNFP_HPP
|
#define PACKSTRATEGYNFP_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/ArrangeBase.hpp"
|
#include <arrange/ArrangeBase.hpp>
|
||||||
|
|
||||||
#include "EdgeCache.hpp"
|
#include <arrange/NFP/EdgeCache.hpp>
|
||||||
#include "Kernels/KernelTraits.hpp"
|
#include <arrange/NFP/Kernels/KernelTraits.hpp>
|
||||||
|
#include <arrange/NFP/NFPArrangeItemTraits.hpp>
|
||||||
#include "NFPArrangeItemTraits.hpp"
|
|
||||||
|
|
||||||
#include "libslic3r/Optimize/NLoptOptimizer.hpp"
|
#include "libslic3r/Optimize/NLoptOptimizer.hpp"
|
||||||
#include "libslic3r/Execution/ExecutionSeq.hpp"
|
#include "libslic3r/Execution/ExecutionSeq.hpp"
|
@ -5,10 +5,10 @@
|
|||||||
#ifndef RECTANGLEOVERFITPACKINGSTRATEGY_HPP
|
#ifndef RECTANGLEOVERFITPACKINGSTRATEGY_HPP
|
||||||
#define RECTANGLEOVERFITPACKINGSTRATEGY_HPP
|
#define RECTANGLEOVERFITPACKINGSTRATEGY_HPP
|
||||||
|
|
||||||
#include "Kernels/RectangleOverfitKernelWrapper.hpp"
|
#include <arrange/Beds.hpp>
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Core/NFP/PackStrategyNFP.hpp"
|
#include "Kernels/RectangleOverfitKernelWrapper.hpp"
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include "PackStrategyNFP.hpp"
|
||||||
|
|
||||||
namespace Slic3r { namespace arr2 {
|
namespace Slic3r { namespace arr2 {
|
||||||
|
|
@ -2,10 +2,11 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "Beds.hpp"
|
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
|
|
||||||
|
#include <arrange/Beds.hpp>
|
||||||
|
|
||||||
#include "libslic3r/BoundingBox.hpp"
|
#include "libslic3r/BoundingBox.hpp"
|
||||||
#include "libslic3r/ExPolygon.hpp"
|
#include "libslic3r/ExPolygon.hpp"
|
||||||
#include "libslic3r/Point.hpp"
|
#include "libslic3r/Point.hpp"
|
@ -2,7 +2,7 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "EdgeCache.hpp"
|
#include <arrange/NFP/EdgeCache.hpp>
|
||||||
|
|
||||||
#include <iterator>
|
#include <iterator>
|
||||||
|
|
@ -5,15 +5,16 @@
|
|||||||
#ifndef NFP_CPP
|
#ifndef NFP_CPP
|
||||||
#define NFP_CPP
|
#define NFP_CPP
|
||||||
|
|
||||||
#include "NFP.hpp"
|
#include <arrange/NFP/NFP.hpp>
|
||||||
|
#include <arrange/NFP/NFPConcave_Tesselate.hpp>
|
||||||
|
|
||||||
#include "CircularEdgeIterator.hpp"
|
#include "CircularEdgeIterator.hpp"
|
||||||
#include "NFPConcave_Tesselate.hpp"
|
#include <libslic3r/ClipperUtils.hpp>
|
||||||
#include "libslic3r/Arrange/Core/Beds.hpp"
|
#include <libslic3r/ExPolygon.hpp>
|
||||||
#include "libslic3r/ClipperUtils.hpp"
|
#include <libslic3r/Line.hpp>
|
||||||
#include "libslic3r/ExPolygon.hpp"
|
#include <libslic3r/libslic3r.h>
|
||||||
#include "libslic3r/Line.hpp"
|
|
||||||
#include "libslic3r/libslic3r.h"
|
#include <arrange/Beds.hpp>
|
||||||
|
|
||||||
#if !defined(_MSC_VER) && defined(__SIZEOF_INT128__) && !defined(__APPLE__)
|
#if !defined(_MSC_VER) && defined(__SIZEOF_INT128__) && !defined(__APPLE__)
|
||||||
namespace Slic3r { using LargeInt = __int128; }
|
namespace Slic3r { using LargeInt = __int128; }
|
@ -2,7 +2,6 @@
|
|||||||
///|/
|
///|/
|
||||||
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher
|
||||||
///|/
|
///|/
|
||||||
#include "NFPConcave_Tesselate.hpp"
|
|
||||||
|
|
||||||
#include <libslic3r/ClipperUtils.hpp>
|
#include <libslic3r/ClipperUtils.hpp>
|
||||||
#include <libslic3r/Tesselate.hpp>
|
#include <libslic3r/Tesselate.hpp>
|
||||||
@ -11,7 +10,9 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
|
|
||||||
#include "NFP.hpp"
|
#include <arrange//NFP/NFPConcave_Tesselate.hpp>
|
||||||
|
#include <arrange/NFP/NFP.hpp>
|
||||||
|
|
||||||
#include "libslic3r/ExPolygon.hpp"
|
#include "libslic3r/ExPolygon.hpp"
|
||||||
#include "libslic3r/Point.hpp"
|
#include "libslic3r/Point.hpp"
|
||||||
#include "libslic3r/libslic3r.h"
|
#include "libslic3r/libslic3r.h"
|
@ -433,6 +433,7 @@ target_link_libraries(
|
|||||||
libslic3r_gui
|
libslic3r_gui
|
||||||
PUBLIC
|
PUBLIC
|
||||||
libslic3r
|
libslic3r
|
||||||
|
slic3r-arrange-wrapper
|
||||||
avrdude
|
avrdude
|
||||||
libcereal
|
libcereal
|
||||||
imgui
|
imgui
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
#ifndef ARRANGESETTINGSDIALOGIMGUI_HPP
|
#ifndef ARRANGESETTINGSDIALOGIMGUI_HPP
|
||||||
#define ARRANGESETTINGSDIALOGIMGUI_HPP
|
#define ARRANGESETTINGSDIALOGIMGUI_HPP
|
||||||
|
|
||||||
#include "libslic3r/Arrange/ArrangeSettingsView.hpp"
|
#include <arrange-wrapper/ArrangeSettingsView.hpp>
|
||||||
#include "ImGuiWrapper.hpp"
|
#include "ImGuiWrapper.hpp"
|
||||||
#include "libslic3r/AnyPtr.hpp"
|
#include "libslic3r/AnyPtr.hpp"
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include "SceneRaycaster.hpp"
|
#include "SceneRaycaster.hpp"
|
||||||
#include "GUI_Utils.hpp"
|
#include "GUI_Utils.hpp"
|
||||||
|
|
||||||
#include "libslic3r/Arrange/ArrangeSettingsDb_AppCfg.hpp"
|
#include <arrange-wrapper/ArrangeSettingsDb_AppCfg.hpp>
|
||||||
#include "ArrangeSettingsDialogImgui.hpp"
|
#include "ArrangeSettingsDialogImgui.hpp"
|
||||||
|
|
||||||
#include "libslic3r/Slicing.hpp"
|
#include "libslic3r/Slicing.hpp"
|
||||||
|
@ -9,10 +9,10 @@
|
|||||||
|
|
||||||
#include "Job.hpp"
|
#include "Job.hpp"
|
||||||
|
|
||||||
#include "libslic3r/Arrange/Tasks/ArrangeTask.hpp"
|
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||||
#include "libslic3r/Arrange/Tasks/FillBedTask.hpp"
|
#include <arrange-wrapper/Tasks/FillBedTask.hpp>
|
||||||
#include "libslic3r/Arrange/Items/ArrangeItem.hpp"
|
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||||
#include "libslic3r/Arrange/SceneBuilder.hpp"
|
#include <arrange-wrapper/SceneBuilder.hpp>
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ add_executable(${_TEST_NAME}_tests ${_TEST_NAME}_tests_main.cpp
|
|||||||
../data/prusaparts.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")
|
set_property(TARGET ${_TEST_NAME}_tests PROPERTY FOLDER "tests")
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
|
@ -3,21 +3,17 @@
|
|||||||
|
|
||||||
#include <libslic3r/Execution/ExecutionSeq.hpp>
|
#include <libslic3r/Execution/ExecutionSeq.hpp>
|
||||||
|
|
||||||
#include <libslic3r/Arrange/Core/ArrangeBase.hpp>
|
#include <arrange/ArrangeBase.hpp>
|
||||||
#include <libslic3r/Arrange/Core/ArrangeFirstFit.hpp>
|
#include <arrange/ArrangeFirstFit.hpp>
|
||||||
#include <libslic3r/Arrange/Core/NFP/PackStrategyNFP.hpp>
|
#include <arrange/NFP/PackStrategyNFP.hpp>
|
||||||
#include <libslic3r/Arrange/Core/NFP/RectangleOverfitPackingStrategy.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 <arrange-wrapper/Items/SimpleArrangeItem.hpp>
|
||||||
#include <libslic3r/Arrange/Core/NFP/Kernels/TMArrangeKernel.hpp>
|
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||||
|
#include <arrange-wrapper/Items/TrafoOnlyArrangeItem.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 <libslic3r/Model.hpp>
|
#include <libslic3r/Model.hpp>
|
||||||
|
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
#include <catch2/catch.hpp>
|
#include <catch2/catch.hpp>
|
||||||
#include "test_utils.hpp"
|
#include "test_utils.hpp"
|
||||||
|
|
||||||
#include <libslic3r/Arrange/Arrange.hpp>
|
#include <arrange-wrapper/Arrange.hpp>
|
||||||
#include <libslic3r/Arrange/Items/ArrangeItem.hpp>
|
#include <arrange-wrapper/Items/ArrangeItem.hpp>
|
||||||
#include <libslic3r/Arrange/Tasks/ArrangeTask.hpp>
|
#include <arrange-wrapper/Tasks/ArrangeTask.hpp>
|
||||||
|
#include <arrange-wrapper/SceneBuilder.hpp>
|
||||||
#include <libslic3r/Arrange/SceneBuilder.hpp>
|
#include <arrange-wrapper/ModelArrange.hpp>
|
||||||
|
|
||||||
#include "libslic3r/Model.hpp"
|
#include "libslic3r/Model.hpp"
|
||||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
#include "libslic3r/Geometry/ConvexHull.hpp"
|
||||||
#include "libslic3r/Format/3mf.hpp"
|
#include "libslic3r/Format/3mf.hpp"
|
||||||
#include "libslic3r/ModelArrange.hpp"
|
|
||||||
|
|
||||||
static Slic3r::Model get_example_model_with_20mm_cube()
|
static Slic3r::Model get_example_model_with_20mm_cube()
|
||||||
{
|
{
|
||||||
|
@ -39,7 +39,7 @@ add_executable(${_TEST_NAME}_tests
|
|||||||
test_thin_walls.cpp
|
test_thin_walls.cpp
|
||||||
test_trianglemesh.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")
|
set_property(TARGET ${_TEST_NAME}_tests PROPERTY FOLDER "tests")
|
||||||
target_compile_definitions(${_TEST_NAME}_tests PUBLIC CATCH_CONFIG_ENABLE_BENCHMARKING)
|
target_compile_definitions(${_TEST_NAME}_tests PUBLIC CATCH_CONFIG_ENABLE_BENCHMARKING)
|
||||||
|
|
||||||
|
@ -7,6 +7,8 @@
|
|||||||
#include "libslic3r/Format/OBJ.hpp"
|
#include "libslic3r/Format/OBJ.hpp"
|
||||||
#include "libslic3r/Format/STL.hpp"
|
#include "libslic3r/Format/STL.hpp"
|
||||||
|
|
||||||
|
#include <arrange-wrapper/ModelArrange.hpp>
|
||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
@ -14,7 +16,6 @@
|
|||||||
#include <boost/nowide/fstream.hpp>
|
#include <boost/nowide/fstream.hpp>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
#include <boost/regex.hpp>
|
#include <boost/regex.hpp>
|
||||||
#include <libslic3r/ModelArrange.hpp>
|
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@
|
|||||||
|
|
||||||
#include "libslic3r/GCode.hpp"
|
#include "libslic3r/GCode.hpp"
|
||||||
#include "libslic3r/Geometry/ConvexHull.hpp"
|
#include "libslic3r/Geometry/ConvexHull.hpp"
|
||||||
#include "libslic3r/ModelArrange.hpp"
|
|
||||||
#include "test_data.hpp"
|
#include "test_data.hpp"
|
||||||
|
|
||||||
using namespace Slic3r;
|
using namespace Slic3r;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
#include "libslic3r/libslic3r.h"
|
#include "libslic3r/libslic3r.h"
|
||||||
#include "libslic3r/Model.hpp"
|
#include "libslic3r/Model.hpp"
|
||||||
#include "libslic3r/ModelArrange.hpp"
|
#include <arrange-wrapper/ModelArrange.hpp>
|
||||||
|
|
||||||
#include <boost/nowide/cstdio.hpp>
|
#include <boost/nowide/cstdio.hpp>
|
||||||
#include <boost/filesystem.hpp>
|
#include <boost/filesystem.hpp>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user