Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnest2d/tools/libnfpglue.hpp')
-rw-r--r--src/libnest2d/tools/libnfpglue.hpp46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/libnest2d/tools/libnfpglue.hpp b/src/libnest2d/tools/libnfpglue.hpp
new file mode 100644
index 000000000..1ff033cb9
--- /dev/null
+++ b/src/libnest2d/tools/libnfpglue.hpp
@@ -0,0 +1,46 @@
+#ifndef LIBNFPGLUE_HPP
+#define LIBNFPGLUE_HPP
+
+#include <libnest2d/clipper_backend/clipper_backend.hpp>
+
+namespace libnest2d {
+
+using NfpR = nfp::NfpResult<PolygonImpl>;
+
+NfpR _nfp(const PolygonImpl& sh, const PolygonImpl& cother);
+
+template<>
+struct nfp::NfpImpl<PolygonImpl, nfp::NfpLevel::CONVEX_ONLY> {
+ NfpR operator()(const PolygonImpl& sh, const PolygonImpl& cother);
+};
+
+template<>
+struct nfp::NfpImpl<PolygonImpl, nfp::NfpLevel::ONE_CONVEX> {
+ NfpR operator()(const PolygonImpl& sh, const PolygonImpl& cother);
+};
+
+template<>
+struct nfp::NfpImpl<PolygonImpl, nfp::NfpLevel::BOTH_CONCAVE> {
+ NfpR operator()(const PolygonImpl& sh, const PolygonImpl& cother);
+};
+
+//template<>
+//struct Nfp::NfpImpl<PolygonImpl, NfpLevel::ONE_CONVEX_WITH_HOLES> {
+// NfpResult operator()(const PolygonImpl& sh, const PolygonImpl& cother);
+//};
+
+//template<>
+//struct Nfp::NfpImpl<PolygonImpl, NfpLevel::BOTH_CONCAVE_WITH_HOLES> {
+// NfpResult operator()(const PolygonImpl& sh, const PolygonImpl& cother);
+//};
+
+template<> struct nfp::MaxNfpLevel<PolygonImpl> {
+ static const BP2D_CONSTEXPR NfpLevel value =
+// NfpLevel::CONVEX_ONLY;
+ NfpLevel::BOTH_CONCAVE;
+};
+
+}
+
+
+#endif // LIBNFPGLUE_HPP