From f48152525ec6d350f66a2a68fe7a5402b39f4e64 Mon Sep 17 00:00:00 2001 From: Lucas Heitzmann Gabrielli Date: Mon, 2 Aug 2021 18:34:32 -0300 Subject: [PATCH] Revert flag in clipperlib that freezes the operation --- README.md | 3 +++ gdspy/clipper.cpp | 4 ++-- tests/test.gds | Bin 160108 -> 159724 bytes 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ac7905f..e80fe03 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,9 @@ Help support Gdspy development by [donating via PayPal](https://www.paypal.com/c ## History of changes +### Version 1.6.8 (Unreleased) +* Fix in `boolean` for complex geometries that freeze the operation. + ### Version 1.6.7 (Jul 14, 2021) * Fixes in `boolean` for bugs with self-intersecting holes and holes horizontal edges. * Fix bug in warning message. diff --git a/gdspy/clipper.cpp b/gdspy/clipper.cpp index af193a3..f5a599e 100644 --- a/gdspy/clipper.cpp +++ b/gdspy/clipper.cpp @@ -4909,7 +4909,7 @@ static PyObject* clip(PyObject *self, PyObject *args) Paths subj, clip, result; PolyTree solution; ClipType oper; - Clipper clpr(ioStrictlySimple); + Clipper clpr; if (!PyArg_ParseTuple(args, "OOsd:clip", &polyA, &polyB, &operation, &scaling)) return NULL; @@ -5144,7 +5144,7 @@ static PyObject* chop(PyObject *self, PyObject *args) Paths subj(1); Paths clip(1, Path(4)); PolyTree solution; - Clipper clpr(ioStrictlySimple); + Clipper clpr; cInt bb[4]; cInt pos; long num_cuts; diff --git a/tests/test.gds b/tests/test.gds index 05c6c5ec0ef7b46aefd9e741593c1c1229641527..6fc1dedb79c716e5bd3459a0e9d7a441908aa961 100644 GIT binary patch delta 1609 zcmZ{keN0lP*|d~ z2}(4Xto3YOVI;OPW`-k{T(y~wrI=+BiE=fIi*af-!^DKI_?69!9`C)Sbtdg!&&l(9 zo|F5&Ik`)}BrpAxoC|WGsK-HrD8(Wufr2#9LdpGSPi{ead|;c654dtvRIxp72R6y& zj~s6sVEKc{jOX`N?b@xTVS@3J<(qEsIkgeJswc~S7o4AWNxH$`>}BxbN-Z~7*+;9Y z#NJ0CvK;n`io*x;@$u?y1>$`dWFYw$ELyU%(=X+sD&_^wbyj=OgXKc_gH<*8o0wpF zEJ*H50gMf6BdP~-M;(MQK}8qW)d<_bL0yn~x+*h_B}hkbDn;QfmxNWU9XEHe~IixoVww5$^|G5vE`%95xG90x6o zVld4Q>5Npk#F3Ad4Y>(u^;n{3~n$MZXL>AgUMXK)SLVjVtroV zBSxJ{;AEwjhu1nnWL2%^c;jUndn`J|JNY^|r*LsWik7~Jdr8=0!iDWRb@-bSJD@3lG=%xbGC5PrI*oQ?qfLW*Y8|=3+D(zn`pm{e4 zO74|9rCEDi&Qd?>iL*?%7G}KggC9mi zPN{cpJh;)v3&t#r>^hZz$@<4?I8hM!Y@x=P?Oqz+J*vaqM>X93V?5$!+FcYayh3d6 z$jl_IJ`>TD`pJ>{wU}-hc4K!FgFPLWP$NFzC`ipd2Ba&+O9aKwIEqmfe#@~-G4P&S zbU5CzNYhQijls^EO;2~Y!Z*x%BI+#$m(?*`Vb_GXrLTH4`1hX3mUO+5Ep1NY#VtW< zx1Z&Wh~b{>ZIe+a^xRy3mps86Z9G|_NPtFPeW;RtMNMvPGx69 zBWMffyw)M7cL=!eOE=9W|glRLjqdxLBnD z6|u7hG{Qb*Luf5<~6#fVq>>C!8%w9L6?34+; z9~Do!VPY8j^cjJ5Gy08USDH|kQnG!ECe~y{Od!XKnyL6x1Wp}7dt5PAdf(r;G;rf4 r`c#&Hoxg?Z{@cv|d-r}u);$S&?depTCIJhTQ7>gDU_EB)pX`4Dl9nX{ delta 1969 zcmZ{leQ*;+7{=edD-ESsLQ|X`6cRcV42qI1ODGj-sU)2a)GDQ+ARlAV zV3ko+NZC4v(7}VI%BP-lY7i<0ltBhz;`b;xM#u7p(i&@3aBSAyyQJVu`qyvwd7pbW z``+#5`VT4Be@e-QWZ<~vkcBv159lBbM#ESz+&*s0o;EIVVda^`1tkxe^AneF^PE@a z6zX~KU-Xh**$Z8QM0&sR!2yp+<7u0!AFS5u{+Zfb^W)mW@pw^ziIZ%XozPVGA>w}~(N5=A6!Pxa~nDj;^cs&U;R+w0gSyj)dc{xhcyv?Y9{g$^og5<_= zfR3FejW!@R^g-yL{QIn=@-O0qw|>(T#+V;_n+0s0|1RDpY3K zeH?DGkJi~+ys&F+5LXvjaQ_2>&aQKU@3IsBQe+YJbtpr*yxTLxQC-vb-xq#1WT~i zpw`Al8-1ZE?ud$k$L!#k7+8Im(3~3zcW2R>v1w2+guazxs_SQ zraB4QH-%u`b}zJ>Wmq5b0KVc=xvw**wb5l#eMysKmZPl`%WKZ2xfkW#PQkckngn}` zEwJ%>8TN)fuwji1`&zU}7PZ`^b&~32PzW&}8GKKVWmm2)rm^Le6t~3dc6aLG`Gzn) zRF{i?FUwSJ)_sa5u#VDa)K4{rp}xpyP7%<5xqF zH5iV5&BczH@l{SM-Mu2qILetc!! z^!wr#LwblxUSMROL7b`UsFg;b$M_x?xJsJUgqv z@Dklb>QzWOGZ0pJJ_nTU51-(9Dky~?ZB0h^DBqph%;A%lGDn@TM02g4q_dCdmF^2Z zB!>6UD|+Y%&ceSBb>6ZLRhHi+(})Xr|$K*v(Ff=j&T!02Vj>K&?O-1e`R5vcqcok|*} oHsuPk-|FN4pKA%DhpfXqcg?`9${METws2dG!_@j0bN?9s17QTh!vFvP