From 50c004b679d5982010c51a3971686ebd12f8ec3e Mon Sep 17 00:00:00 2001 From: whitequark Date: Thu, 23 May 2019 16:06:24 +0000 Subject: [PATCH] Add a button to hide construction entities. Also, mark not just curves, but also points and normals derived from construction requests as construction. Also, don't always mark arc center point as construction just to exclude it from chord tolerance bounding box calculation; instead, special-case it there. --- CHANGELOG.md | 1 + res/CMakeLists.txt | 1 + res/icons/text-window/construction.png | Bin 0 -> 739 bytes src/drawentity.cpp | 1 + src/graphicswin.cpp | 1 + src/request.cpp | 8 ++------ src/solvespace.cpp | 8 ++++++++ src/textwin.cpp | 19 ++++++++++-------- src/ui.h | 1 + test/constraint/arc_line_tangent/normal.slvs | Bin 8281 -> 8281 bytes .../curve_curve_tangent/arc_arc.slvs | Bin 7415 -> 7415 bytes .../curve_curve_tangent/arc_cubic.slvs | Bin 9240 -> 9240 bytes .../constraint/equal_line_arc_len/normal.slvs | Bin 6597 -> 6597 bytes test/constraint/pt_face_distance/normal.png | Bin 4297 -> 4305 bytes test/constraint/pt_face_distance/normal.slvs | Bin 26259 -> 27547 bytes .../constraint/pt_face_distance/reference.png | Bin 4360 -> 4369 bytes .../pt_face_distance/reference.slvs | Bin 26259 -> 27547 bytes test/constraint/pt_on_face/normal.slvs | Bin 27157 -> 27157 bytes test/request/arc_of_circle/normal.slvs | Bin 5401 -> 5401 bytes 19 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 res/icons/text-window/construction.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 49ba5b5..1bf2719 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -69,6 +69,7 @@ Other new features: * New command-line interface, for batch exporting and more. * The graphical interface now supports HiDPI screens on every OS. * New option to lock Z axis to be always vertical, like in SketchUp. + * New button to hide all construction entities. * New link to match the on-screen size of the sketch with its actual size, "view → set to full scale". * When zooming to fit, constraints are also considered. diff --git a/res/CMakeLists.txt b/res/CMakeLists.txt index b9f2e25..4c96b47 100644 --- a/res/CMakeLists.txt +++ b/res/CMakeLists.txt @@ -208,6 +208,7 @@ add_resources( icons/graphics-window/trim.png icons/graphics-window/vert.png icons/text-window/constraint.png + icons/text-window/construction.png icons/text-window/edges.png icons/text-window/faces.png icons/text-window/occluded-visible.png diff --git a/res/icons/text-window/construction.png b/res/icons/text-window/construction.png new file mode 100644 index 0000000000000000000000000000000000000000..35ddcb274ff9113bfaca088234a5e6c7ac76b1d5 GIT binary patch literal 739 zcmY+BT}abm6vls%VRPw)lud20qSc09|NpkkjR?)nTsoO<(X5NMbk@qXG5@A3FqQQs zVi^>M85Ct?CVfDOP#IX*7k%7h7eQAM(N%P#751*W>EgVHbKd89-simMgu7;QdRk5z zknXIs*NLo2#^QzIe0S~TGm%num$}N|)=Blxz#>uW8Y=5taBvNDCSXpqIzL0J1Yi7M z8-V4}^Aoij#KnDgwbwB}KaU9xixPz51L%Nz5C=gjgf@5tBajO@Fbvrs^e5o}904=D z0HOFCmVq9sgabGY(~u8O;VKy6228;**a)T23lXru9vFh-uuWKmW;g}iQ1fSEyYLT3 z#Uvm;VGCS_N~pk5+Wt!nvOuY;@lg6{rYTwMs@iPl_#&-9po&)3w}3h`84KQi==dp` zsfyF(Nd1_SwIp}(_cK?*qIKJ8FY_8+HTZRC&JEQ2&S~VS_cPX#?D6sV!0X5H*-6Vo za!0IRyWM9`Nj;(FRncKXPgawxTUl6`v0Crz*RQ_vG4pNybmnMpRF%C{+k87ZyrM_j z`%T(rG+dhNcRF*b^RC~#_`|)`HMFzb)1Pi0o$=}G-)mF}!&H~1)1w|t-0d5?u<>Z3 z>tg?{6UK?{<`#8TUWZb|>k!-M;~LF~@8G literal 0 HcmV?d00001 diff --git a/src/drawentity.cpp b/src/drawentity.cpp index a5f86c4..0a1d0cd 100644 --- a/src/drawentity.cpp +++ b/src/drawentity.cpp @@ -158,6 +158,7 @@ bool Entity::IsVisible() const { if(IsPoint() && !SS.GW.showPoints) return false; if(IsNormal() && !SS.GW.showNormals) return false; + if(construction && !SS.GW.showConstruction) return false; if(!SS.GW.showWorkplanes) { if(IsWorkplane() && !h.isFromRequest()) { diff --git a/src/graphicswin.cpp b/src/graphicswin.cpp index 13c2df3..7e46b4a 100644 --- a/src/graphicswin.cpp +++ b/src/graphicswin.cpp @@ -380,6 +380,7 @@ void GraphicsWindow::Init() { showWorkplanes = false; showNormals = true; showPoints = true; + showConstruction = true; showConstraints = true; showShaded = true; showEdges = true; diff --git a/src/request.cpp b/src/request.cpp index 5046c01..13a77c3 100644 --- a/src/request.cpp +++ b/src/request.cpp @@ -145,12 +145,7 @@ void Request::Generate(IdList *entity, p.h = h.entity(i+((et != (Entity::Type)0) ? 1 : 0)); p.group = group; p.style = style; - if(type == Request::Type::ARC_OF_CIRCLE && i == 0) { - // mark arc center point as construction, since it shouldn't be included - // in bounding box calculation - p.construction = true; - } - + p.construction = e.construction; if(workplane.v == Entity::FREE_IN_3D.v) { p.type = Entity::Type::POINT_IN_3D; // params for x y z @@ -172,6 +167,7 @@ void Request::Generate(IdList *entity, n.h = h.entity(32); n.group = group; n.style = style; + n.construction = e.construction; if(workplane.v == Entity::FREE_IN_3D.v) { n.type = Entity::Type::NORMAL_IN_3D; n.param[0] = AddParam(param, h.param(32+0)); diff --git a/src/solvespace.cpp b/src/solvespace.cpp index 97bb384..409c7ed 100644 --- a/src/solvespace.cpp +++ b/src/solvespace.cpp @@ -996,6 +996,14 @@ BBox Sketch::CalculateEntityBBox(bool includingInvisible) { if(e.construction) continue; if(!(includingInvisible || e.IsVisible())) continue; + // arc center point shouldn't be included in bounding box calculation + if(e.IsPoint() && e.h.isFromRequest()) { + Request *r = SK.GetRequest(e.h.request()); + if(r->type == Request::Type::ARC_OF_CIRCLE && e.h.v == r->h.entity(1).v) { + continue; + } + } + if(e.IsPoint()) { includePoint(e.PointGetNum()); continue; diff --git a/src/textwin.cpp b/src/textwin.cpp index 4ae71d6..15b10eb 100644 --- a/src/textwin.cpp +++ b/src/textwin.cpp @@ -156,28 +156,31 @@ public: static SpacerButton spacerButton; static ShowHideButton workplanesButton = - { &(SS.GW.showWorkplanes), "workplane", "workplanes from inactive groups" }; + { &(SS.GW.showWorkplanes), "workplane", "workplanes from inactive groups" }; static ShowHideButton normalsButton = - { &(SS.GW.showNormals), "normal", "normals" }; + { &(SS.GW.showNormals), "normal", "normals" }; static ShowHideButton pointsButton = - { &(SS.GW.showPoints), "point", "points" }; + { &(SS.GW.showPoints), "point", "points" }; +static ShowHideButton constructionButton = + { &(SS.GW.showConstruction), "construction", "construction entities" }; static ShowHideButton constraintsButton = - { &(SS.GW.showConstraints), "constraint", "constraints and dimensions" }; + { &(SS.GW.showConstraints), "constraint", "constraints and dimensions" }; static FacesButton facesButton; static ShowHideButton shadedButton = - { &(SS.GW.showShaded), "shaded", "shaded view of solid model" }; + { &(SS.GW.showShaded), "shaded", "shaded view of solid model" }; static ShowHideButton edgesButton = - { &(SS.GW.showEdges), "edges", "edges of solid model" }; + { &(SS.GW.showEdges), "edges", "edges of solid model" }; static ShowHideButton outlinesButton = - { &(SS.GW.showOutlines), "outlines", "outline of solid model" }; + { &(SS.GW.showOutlines), "outlines", "outline of solid model" }; static ShowHideButton meshButton = - { &(SS.GW.showMesh), "mesh", "triangle mesh of solid model" }; + { &(SS.GW.showMesh), "mesh", "triangle mesh of solid model" }; static OccludedLinesButton occludedLinesButton; static Button *buttons[] = { &workplanesButton, &normalsButton, &pointsButton, + &constructionButton, &constraintsButton, &facesButton, &spacerButton, diff --git a/src/ui.h b/src/ui.h index cc47938..0ac02b6 100644 --- a/src/ui.h +++ b/src/ui.h @@ -768,6 +768,7 @@ public: bool showWorkplanes; bool showNormals; bool showPoints; + bool showConstruction; bool showConstraints; bool showTextWindow; bool showShaded; diff --git a/test/constraint/arc_line_tangent/normal.slvs b/test/constraint/arc_line_tangent/normal.slvs index bf3103315d325df8157f84a4da2e26d59f7cc0dc..757213975d18c515ab49d9c41d528fb5f66c0ed7 100644 GIT binary patch delta 16 YcmccVaMNMKPT|Q7;)a`F3Fq?w07RwyF~Z@@C=%rox|{jLU$O!KLIe|! diff --git a/test/constraint/curve_curve_tangent/arc_cubic.slvs b/test/constraint/curve_curve_tangent/arc_cubic.slvs index ac2548d5f65e6e9af3415b4d899d2df9d9fc758e..4e8be1b32662d805481b9464944b4f69c5ee1b8c 100644 GIT binary patch delta 25 gcmbQ?F~eiSa*@doBn>uS7YSkqGNLv&%S>el0F#aivj6}9 delta 33 kcmbQ?F~eiSa*@dn0-TdyN~&+ZE)v8J90N&gTivR!s diff --git a/test/constraint/equal_line_arc_len/normal.slvs b/test/constraint/equal_line_arc_len/normal.slvs index 8d54b962615abc1b2df2e254a09d645a8d3584f5..1f7869e743c537e161264e9333968e22a7648367 100644 GIT binary patch delta 16 XcmX?VeAIY@q0r>LVg{QNg;Ll7I-Uj# delta 22 dcmX?VeAIY@p%A0t^V+XM7!t5%#S(#sB?1aRKD-s z_wIY|-Xq(5Jk3mIng9UIyuNhb0RWDwdkCMQZ)*2ucK~3S?d85wp zFa!=869Jd>U;3!!s0|XuFF4)2yxE59FOB(CFnyY zm0U=0GQ{ME&g*4;0gy`*o=7@Q7vuq(E%#Y&m>G=04qw9KbrL(YNpH>G|s^w zK+A$$OB?K*iYd<{!_4Qc0GuwH=tRU>B8tbsD?Of@VJb*PDe%Y*fV(%%F`)E|o*o`h zxBxgGeUBB2MO92+476R-sd*6w!25>@Pwb&SmKk&JPd(>^Wm%1=+|L36Br6vTD1FY6 zj_)bR1KmXZ_`uzw7hPMh&_ZBVo*5v0KH-V!;UPr}z$V{=U6z;&QM&CS;{oD5VL9LR z#V3O3O@&Vc!4A&%2%@?W54v63{e$}JR0$l7Br$qjxuhV2b+-z12$KyBDr{X+>$*4t z(+!(f&r)R5Aw~hpXcubCi+rOl)#%s0Z+fZ0_6btT#TU76|J8KHp4d_u?&6ht|9}rT zr&yK|FrC|^YZze_<#5A;wyI2fhsIKkqWg7+|KrtzUCd)kEBDV(y3vM`UK5MSaY~sV zO(5!0YnamtD~wDXnmNwH&$h={NF4m|-Q}I`olNb>pzKzkHc_ilKbnhNF($$bXRS*r zc7VF)sdYWyT7SqbIruYqovNv}XDHY6^ITmN>YVX6iYD1);De4LtHsqb>|w{W+VhR( z)|2E6@kBNcv97(bmM{xu@T2S1xM_<<4%sQQcG@m?@EnhDgds#}_xkTlb4zbA)(a zd2O0z#FPm7L{~Ve*1;zc9Gt|sTCv=z(qK&WkLTJ^1&1@<&#xO%JNY}LRBJUsG`@D^ zTCHqhR<&(Fe<0cHbWwZ#Yd?GpZ~TgQyl;!rhW$XQlt`7bWlNdrQ|Fu9TxVwyptz(c zrqJDb>m{+I{M1~|%P^U5dv!*D_SBMa-Ll9#F;~0UY`?Z4O=PL5P8}21n53RzS&-vqpR_#Tbk9!x5sFIioT*?q-mB4x9IPiy&E z-$y8jqYKW9BwckJX&_CY4s|t_pSIW64!@?UCS)wn@8FiHpt}I8aO56J0J7r7RFO&o zSb+8=p+;RE8I+(Ir7IV*%OZo6gc!8{?Ige72-|4xos~_lxTp>#NdSd6-rao-fu!9VdaxN%R-u0XA z+Tx|c4hr-kX$%yBk5An&!HkV~T4a&K)50i@xaObj(n^dH2S#0PKyUrOE>#qy;Z&Y!TtOKPvmGHOyX>g~K=8gW9{mcvW?lN= zm?(TGVQk!E9ezq2UR#Gtwpk%`h?N=-*WNBWUt#tD`}(%>k5m@U5?zLZ6XSB|CrN ri;q4;bq#Xq-$wX7PX7;$yif}z8~pk9<|rKMX94i?@NvJg5kB-2(vGjN literal 4297 zcmcIodpMN&9{*-}lU(M!)5WuIUY`Exk9nSXX5MGs@9*>d+}?@aVQ(uh zyHFMYjVV{)kOL_vJ^xGEe?{*!&IM8Ympk=!-@@em{Mo;f6OO`BE1d zXGp){2s;P!v-yQ(BUypWKDYL_iEg6k1pedTSLtL6o5AIJ-y?{PKt7Q|dOwGY2a=4XTi?|0x(4x=u6+K<)Z*hx&BYs99J}Ds(KHL5c^NJ#E`?(_u>q zO_c|#J|V)fJ{}mbn;nAMlyD1JoyE%vqX7GSQ^i~aWFL6#Nh6_K@L*z7B{|oZCgY~# z7NbKJivZb4h_GgLvD0>lz1~x@1VO-w?3n;k7FX&wYuy2p_oI0$k4?gJgoB8Q@$V5yGe$pBF|(zQJUUV^!0it}Pi+07=n=^q%%CP1`|? z=NGMUU}9`$hpM;U*2hhkDQ8%hPl6SDi4bNV;Lt}T&>v$SF2b`4vrI=t5>QnM={;?d zGYkatH?YrV=JUE5yV|_U8SO2)u6<3_7JEG)psC^*>B*^-N-r;#$3xjm4&Qd`_mTT| zVvG*vc03xlZ5!?0<8Wkjhdb?cnP79hzV2{5gOq(<+pwu9D)_8Ix*#4lbor#_8G)CI z7-~i$B|OmIqeemTM$=U2{?Hf6HCiEqw>Jyi3u52q@)QSYa&$${a#pJ=-GBG!q_29$ z@6vKQxf6$9CfZieT*7xLvs;2y8SNs$_(|Plk+4$Ha#tMO?p9gyAs`M#D=EkyT(EzP zG4?<6Df`g)JMU&Pex6f4m7zoGSZVG;&CN@$Cyid|S=8H)RG0;sn9*bN1XsFJjioHo!QT^xxt(>x4(e0XAtzBP7uh{>b2?V{+KW9@GWQ z*Z81#o!3*{x-EUl4h=)zV-we%MJz{?ddKmxa?3*g3(=8Vrs}FG&)0GJykG^R8^W`7 zA*~7tIZN4V40RIs~05nGo(_4F~*-=D@RakiWcnzBoqm}m{*i|&u)+_5?u>2PM>q``XPKpp|?P78IcKo%-*ob8fH@i4A2Qq55@7FW>{Vu%`U~H6{LL#LdKPc* z?ijrYCNZz(>QmI5wyg>VpLi4J3jGQ|T`k^r#V%r2eLG}OO#SZ>l9fxsHUAcVTS=$` zO*YN11*54}VfOMUMzoS<)zGN_2<1tx;noof*KOLxR%fl%s3*ZO!Z?}@Ju%zgSv*0N z!Sc;hcD9^_q{iX|EvJuydMBFC&9-S%|D+DhOl{1{g;--IjucGOeBLweGyvj0%l%9n zC&1%f^3Mz?to9Tol4q-5(9OfPf;XkltUMo0?{BgEKICSWIV|Bz)n;oNST$j+UeEd4 z&%ol(P4}7VdS3`<_7_9BwJI>E|j3LCMakQznrF~%M21%fr%pLJxoEs-j7EiVsU2_0X%_r(g zvpl2)@1r-4{>X%+IP|gpWl5p9slMkcZ_U>6q3UHZhMN!J!{0l+SeP>Ejx_ZL<`QAHD zy$J_4o%$0}D+q9xF@Pr12;QOKEa))ch*!-&-OMAiO=LLQd2~teQFSr*X_SSk!f)CK z$_)zBzB(WYokLojl=Ty@%usC>S%ONz`7J(I{k$R=Z&o)cGPjQUv}Z7T7v3n-h7P-N zS&lzdnq!Yo-mo$XCh2t51uqMcLsFL0#mL+`t$hKo0T_* z8mO`V(b$X@VHI!ujdxwt<)HQ!otVoG#>1`hUnfeD*uGd$HH>$PCLdK_9AXJL&%3&K zb%~;*r6nZ~nd&K~Ri#*S;W~WuKcDvF458;Lp(6>*bK}skm1nJ0fqLn{V8w>moNAqw zvatWVPAR?>M#>$2574llKQGrr1L|Sp&%Ko_SnHlTp2NHVRR0{pJw0|I zXV-^kVew<}$-gk|pjX|OO3d^|0)c$li?||^UgJ5=s$1mw*k2T|#m3$`dlPc({|r{0 AiU0rr diff --git a/test/constraint/pt_face_distance/normal.slvs b/test/constraint/pt_face_distance/normal.slvs index 8ebd1526dd928d395d2877162f875d39052cb22d..f2fd3344b387bd005edb35b20b71b46d57b4bc5d 100644 GIT binary patch delta 994 zcmb7@%}N4M7=}3-f&`KTqhnD+3Pn28nKNhpHrc`fGen$)LIar?Eou{8L;H}A2sG#h z!i2N$3JPk~&Q+_fAPA%xu}w2dvpzr1^S$pm@Phj9Xb2o!ugBRP_buj4SyPE-P=XC& z=me|SkOeH6*feB!fnW{mMA5LOU`SdU?51>y;GxQkzCG@Fg$h&(x{-}7EwUZ763k+W zat}eeoC$}4u9JoP9TE283vhd|%wm;`Xu)SnbcHCvrm$pX;jx*7e0_@zs=Ej>7B7jx zQ~BJf8=qprsF{VKU1F8m8}bh@hb}|Wp)6lNLr`{BLQ=aogB36)Grx&jYX(9JS6NCyE^11 z5rnnqIv-Krq{JYmOlO!+3SaA(Y|xsPJ)>*iwN&@M4vgIZUpF}rPI*S#pU9^?7cWC? cUtv<`+Og!o^JE1#fz7j%(;-f7@DQKumnFV=X6kE3 ikj&)S$(oY|;w2^vcnM5?4P?h>d<44;rtoFvCPo0j&}#_* diff --git a/test/constraint/pt_face_distance/reference.png b/test/constraint/pt_face_distance/reference.png index 69c7a05dae4be9aa3b070ba6c24ed95ac9601b1f..b01d4ea8fe58b5ecfb518ef5f8c5fcfc8b069833 100644 GIT binary patch delta 1896 zcmY*a2~d+s7VacOjsTHcPG@z{MS{R;L^*<>l;SKw2L}>Bhy`Ai1%e=G6#gIrf(#kV zEXaL1P#l3cY$Slf&*4OBFu-tx)4;GSM+gIQ1_;??$C{e$s;=sO-Syt<{=WCVr-w2R zefK40*z>&G)%*F93HuDw3ns}^3rWYPIxj_|#3}-Zk=wQ$wzaVY^N*LEjoy?AI5mF@ zoYF)k_nKau{^98q$1^U!wR+1LAOg-ALgc$WPJ=EkKGd)<06KTe=m0SK)G~`HEPH;|ZGoA#KA3nn|-qt6g`QeXDmbbE0Zv=!x z9A!2SyWTup5e7rwFaa&g95-Czg7%{BC~kj9Ybg-m(R$4^wKAwc^=3}-x4pVwXl?U7xOFq!pA!|Y;X-(P$G>AJU7 zMpt3fFH#WTi8}5xh6zI(=+A z+3^pA6&KO8BvJehTj~4v=-|NjK2KO}8h?R+TGY|lV(X=UYp=oDh9D$&c0rvNg2XWF zZGPsz*Y)3I&-DaT5O%dUq|oiQ6S^dj-V<)v)9tYYx5(C{t$VwoBKh8|pFDoOyMwkR zYUOT7i+aSj%xCVVWO8wX{dT-2b6l_oFnaOPD~!HcPS+&lC|3^OFe4i~AfIFcHu4-% z2T6l0VmRjw9sZ`E^YhrfUs?xdU&q#w<aSGjD#nmE*ckcr;ip7S9&V3S^%)vilE?@8C&% z3xfSl;K|peA8DCRcfcm!NIL!kMsC~hJb7>QBlRAXwpW8Th?$GE-uXik%z^YRm03r8nysU|?Paq4qbd}Q)AXp~a&a9*8 zL#%F1-THZqDZ(@cO5plp0Z6Ys&N){1!+tV=wI)Ogw!z=BR53@imL#w9u&ra2(Hek4 zQIrD%bKm#RduwP&P$T&m&c=di9g>sfzb18716>fkd8O0I@MunD++K*Thap(IK#>eY zhN|0uxfFQRzL^YqE1KZDHt%l6)PrJM+bUJww-vgfjyvfVHImh3B-rS%YR_1=NCkFP zZn2!g;jtV6A*3NAv5GH3f$>B)6xBH;(y|6n+(jxwf)Or~Vavf;Mp$!Vx@!%pn< zX2d(LdSeLxI^GOSx+|>gteF)%`l68NvNQ&W-iWpli~-;^RzP=&z>zXl+2VaKGVgIXErhX#wC1f=-t zm#IfU@i|#g;ytrq?}^L$VA6QqlvME)2Z~8W3HKHTO8Qd)TvB@K#VCIV@9Zk{LuB6_ z2abKSN?bDrmna3Rmcf<&3Xy8~U9XHZD=`X2x}8yq%@J0crk#Qzmda`VnZ9yV*Y)m3 TFW&(KPz+BG;`v&4%H#h65~GCY delta 1832 zcmYjSdt4G&7QUeP!e=SI21sWoM>Dl;93S|~#K|;uem){mpd5R-iminyKLK;psjUcU zwam2amyXG6GE}q#YZ@(^u+fml8Z=W(G%dvkqAoN$yWRiJx%ZxP?)QE79G2@3t{47B zl14@BNIY3R{c78J=Wm=!M~x=V{Q3p_AGZ%9AB8=5L0n?11Wf-HVwktCjG*A_qB9vw?%^q1l%`7 zfG}JdDJ$TR8R&Dtuq3v~`3J!QMzkH$Prr9b0tF@;aRBV6AzXAOy92&@rW5zQsk(;GC5vWly&lhS3Qj~<;U)#G0D+42e4K<7NBK#oKfh9TR9BAhl zcS9w@iROI=In;?nbJUuqB7Q?cm?%FxYaccW1ToNGcRo~=`4!&Yz zjXddAv2%sO=@U1mQAkYi$tl~3FQlSLr=QR%D{qUb`=`6E_>ogGxqJF?beYRTU)=23 zw`IlRAg?x~roH(4ZwL5kAFBVw55S|xHSat92te9~c0Usdl_n}9@ zh3;LNlZG~Z1N?g}*?n;5NIxf7`-g5cJ&_4=Dv+Ll;Zpig>sG-u!qD@Med|;v`+@X0)9~sL zhu*eu_fAVST}-BF-+#Cqvb;P*=B}5h6eS7t(gfDQ)gdl1=ZxTMLA8PL)8*MWipph| zwvc5Fkto&%<-Mz16j!g2tOiNJV+EX*_yK1=L5qZ3tMdLJ+Ezq@&8IKeyApeN&sW_w zsc=t{BIGJ1Ww5Ntkszj}`I|EvGD2xuc}iwhRiGv|yd(MUCLK8Psg!ReSx&&AvaRk1 zjL0A@=S&W<-5)z~aZ`yQq7POi^iDHG*nY%#3wpFbn}5+eh6DlMoBl;?vONx~jDUdb zU-k6cu{q|BNJg$qJrb|hs8z3{4s(S}bZCn#Tfo3K7k?s`FnN=%KX|=gTV0v70Z%vJ!tCph996Zqw2~Fc%=>Pt_GBhd zZjF946o@rBo~|dxu;x;IV}YT3>;FVnFRNlt0I-Admy+0Lpmr?jMz+Afh;3&X)qD@$ z4`I7n2C?tKcR9ZzlDN+e0JzZv=RD4Ik3fK&or|ryqH@yNy{4Njs2$Veqcaqbt5D#e zZzT*kVc=7H3thN9v!fNSGLW1!l*O8E^*>P4=>Wf0B&=^J7VB(E2|0RLr5;XT`!o6ah$R{#f}>e|&BOB7G+; zW!tHk{uhU)Wc%aQOH{z1`Wz;mQyxh*-2&u0{ECFR6fPKsd+Km8;~<+eVW4mW4)fih z8PIGNP=4XrfqC-L&LR3SW6;*u3C(QE2tY-4)20V<(Y3_+otuibEUnv3MAR0ktJ95#(^(lxGtkDO z8K``!TBahAk^knGUia?wfqEq!e<|;_qK25?Oh;qvcH-maf-U~uU<6?})0_W&ff1shz0 zYt&Z|fSg=(;yhR?cvo5nfcK9INg(z+2zaP5=Oi>(UX3*bH6BNc8-ri+N5({*W^ETo zjrvZ92z-X*gc#*V(p|KP3#M%4lKb}h!r%{_i^oT RYH2*sttf141TUO)>OUWdRZIW? diff --git a/test/constraint/pt_face_distance/reference.slvs b/test/constraint/pt_face_distance/reference.slvs index 894d7dd60e10d703871ae4628442f0ff51ac127a..2d89471b03e2a41896a4181ab212dfaa22091d31 100644 GIT binary patch delta 994 zcmb7@%}N4M7=}3-f&`KTqhnD+3Pn28nKNhpHrc`fGen$)LIar?Eou{8L;H}A2sG#h z!i2N$3JPk~&Q+_fAPA%xu}w2dvpzr1^S$pm@Phj9Xb2o!ugBRP_buj4SyPE-P=XC& z=me|SkOeH6*feB!fnW{mMA5LOU`SdU?51>y;GxQkzCG@Fg$h&(x{-}7EwUZ763k+W zat}eeoC$}4u9JoP9TE283vhd|%wm;`Xu)SnbcHCvrm$pX;jx*7e0_@zs=Ej>7B7jx zQ~BJf8=qprsF{VKU1F8m8}bh@hb}|Wp)6lNLr`{BLQ=aogB36)Grx&jYX(9JS6NCyE^11 z5rnnqIv-Krq{JYmOlO!+3SaA(Y|xsPJ)>*iwN&@M4vgIZUpF}rPI*S#pU9^?7cWC? cUtv<`+Og!o^JE1#fz7j%(;-f7@DQKumnFV=X6kE3 ikj&)S$(oY|;w2^vcnM5?4P?h>d<44;rtoFvCPo0j&}#_* diff --git a/test/constraint/pt_on_face/normal.slvs b/test/constraint/pt_on_face/normal.slvs index 3ef79b8e207cbbf779d68701756fe7811a9d2770..7656071bd3d480e89b765343d94ec6bc21da3d47 100644 GIT binary patch delta 18 acmbPwg>mW?#tlMZli$noY?c%I9t;3WA_s{8 delta 18 acmbPwg>mW?#tlMZlRrrCY?c%I9t;3W2M2`! diff --git a/test/request/arc_of_circle/normal.slvs b/test/request/arc_of_circle/normal.slvs index 07417f750c06748c0bf80605f46e3abfad20f058..aaa6b8ff4283c22df16d035ee0ba83b612cef5b0 100644 GIT binary patch delta 28 kcmbQKHB)QD7J`5^3vo