From ab9aa28a64dc44b3f27355c95f84aee45c82df91 Mon Sep 17 00:00:00 2001 From: vsr Date: Tue, 12 Feb 2008 15:57:45 +0000 Subject: [PATCH] Merge from branch BR_Dev_For_4_0 (from tag mergeto_BR_QT4_Dev_12Feb08) --- doc/salome/gui/GEOM/images/extrusion1.png | Bin 15672 -> 17119 bytes doc/salome/gui/GEOM/images/extrusion2.png | Bin 14907 -> 16332 bytes doc/salome/gui/GEOM/images/filling.png | Bin 17649 -> 17640 bytes doc/salome/gui/GEOM/images/line.png | Bin 10742 -> 0 bytes doc/salome/gui/GEOM/images/line1.png | Bin 0 -> 13886 bytes doc/salome/gui/GEOM/images/line2.png | Bin 0 -> 13762 bytes doc/salome/gui/GEOM/images/point1.png | Bin 12028 -> 16967 bytes doc/salome/gui/GEOM/images/point2.png | Bin 0 -> 18460 bytes doc/salome/gui/GEOM/images/point3.png | Bin 14515 -> 17319 bytes doc/salome/gui/GEOM/images/point4.png | Bin 0 -> 14530 bytes doc/salome/gui/GEOM/images/revolution.png | Bin 14251 -> 16962 bytes .../gui/GEOM/input/creating_complex_obj.doc | 4 +- .../gui/GEOM/input/creating_extrusion.doc | 8 +- .../gui/GEOM/input/creating_filling.doc | 12 +- .../gui/GEOM/input/creating_geom_objects.doc | 4 +- doc/salome/gui/GEOM/input/creating_line.doc | 18 +- doc/salome/gui/GEOM/input/creating_point.doc | 11 +- .../gui/GEOM/input/creating_revolution.doc | 2 + doc/salome/gui/GEOM/input/index.doc | 4 +- idl/GEOM_Gen.idl | 2 +- idl/GEOM_Superv.idl | 2 +- resources/GEOMCatalog.xml.in | 29 +++ src/BooleanGUI/BooleanGUI_Dialog.cxx | 6 + src/DlgRef/DlgRef.cxx | 14 ++ src/DlgRef/DlgRef.h | 16 ++ src/DlgRef/DlgRef_1Sel1Spin_QTD.ui | 49 +++-- src/DlgRef/DlgRef_1Sel3Spin_QTD.ui | 59 ++++-- src/DlgRef/DlgRef_1Sel4Spin_QTD.ui | 79 +++++--- src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.ui | 189 ++++++++++++++++++ src/DlgRef/DlgRef_3Spin_QTD.ui | 49 +++-- src/DlgRef/DlgRef_Skeleton_QTD.ui | 88 +++++--- src/DlgRef/Makefile.am | 1 + src/EntityGUI/EntityGUI_SubShapeDlg.cxx | 7 + src/GEOM/GEOM_Engine.cxx | 93 +++++++-- src/GEOM/GEOM_Engine.hxx | 5 +- src/GEOM/GEOM_Gen_i.cc | 5 +- src/GEOMGUI/GEOM_msg_en.ts | 4 + src/GEOMImpl/GEOMImpl_BoxDriver.cxx | 6 + src/GEOMImpl/GEOMImpl_FillingDriver.cxx | 3 +- src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx | 11 +- src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx | 2 +- src/GEOMImpl/GEOMImpl_IFilling.hxx | 4 + src/GEOMImpl/GEOMImpl_IShapesOperations.cxx | 2 +- src/GEOMImpl/GEOMImpl_RotateDriver.cxx | 174 ++++++++-------- src/GEOMImpl/GEOMImpl_ShapeDriver.cxx | 9 +- src/GEOMImpl/GEOMImpl_TranslateDriver.cxx | 151 ++++++++------ src/GEOM_I/GEOM_Gen_i.cc | 8 +- src/GEOM_I/GEOM_I3DPrimOperations_i.cc | 8 +- src/GEOM_I/GEOM_I3DPrimOperations_i.hh | 2 +- src/GEOM_I/GEOM_IBooleanOperations_i.cc | 6 +- src/GEOM_I/GEOM_IOperations_i.cc | 4 +- src/GEOM_I/GEOM_IOperations_i.hh | 2 +- src/GEOM_I/GEOM_Object_i.cc | 4 +- src/GEOM_I/GEOM_Object_i.hh | 2 +- src/GEOM_I_Superv/GEOM_Superv_i.cc | 29 ++- src/GEOM_I_Superv/GEOM_Superv_i.hh | 24 +-- src/GEOM_SWIG/batchmode_geompy.py | 4 +- src/GEOM_SWIG/geompyDC.py | 4 +- .../GenerationGUI_FillingDlg.cxx | 20 +- src/GenerationGUI/GenerationGUI_FillingDlg.h | 6 +- src/RepairGUI/RepairGUI_GlueDlg.cxx | 21 +- 61 files changed, 935 insertions(+), 331 deletions(-) delete mode 100755 doc/salome/gui/GEOM/images/line.png create mode 100755 doc/salome/gui/GEOM/images/line1.png create mode 100755 doc/salome/gui/GEOM/images/line2.png create mode 100755 doc/salome/gui/GEOM/images/point2.png create mode 100755 doc/salome/gui/GEOM/images/point4.png create mode 100644 src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.ui diff --git a/doc/salome/gui/GEOM/images/extrusion1.png b/doc/salome/gui/GEOM/images/extrusion1.png index 673e863252848904ca8257f1530b55f95c9dc636..44a1822256c87e8809a85cd8de872f03b1d5551e 100755 GIT binary patch literal 17119 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 H;QN07aAek- literal 15672 zcmb7rby$?$y7vGADoCi5q@#k;-Kmr!pdj5KAYIZ8(nyGOseni~Ll4r8bTjnOHPn#b z;(hn|zO&Ch*E#$9!|Rfn=ULBM>sj~xi~F9CHwrR$Za=sUfk5uOl$BJ1Kro`fKi!)+ z;FCO^mp360I><{&iFfJ&TQja6_m}6}_xd+iZY!R{mT2YTySqNO{o-yu{a~aLJkPHE(7Ci0F4ja)9VuU$ zym;nS?~}TbXd0M$v5o5443~H)At6B^DJj`i?0{5gMo)I5p--Q7?5R(0sC#;pEU&z? zz&6f`dfVn=rhagRsN!k4x(ck4S6S`}oU(z>%;OVd-EJ~k!oph}dDd9QbDua`aBH_@ z(Ng!)dvm&ah~3Z6k4l+FD-g>xN!RTO6k5^U-O<|qB_KXJY^0;vaJ)n)f1GM|Nx-AC z1Z@N#)>!&oidXtOk%&zMMW?%#n5f;+QP1!HmR-v9xum3d%80ps8Hq=uCccoor~NLf zvuUcMz58}sYs5n)r~D%-<|8WnN6B~sm+x25ZzkA|E0ih|?_eJ)_V=`OPj!dkQMj&r z#10OY-P$h^{4gaPw&EplqK?;4gwKvk#Rb3u-neP@d^$ehSIWqK+s24_FAd4=q@cUI~?^; zSUL&GC-b(NSA0oN?@#11g?w;ur98j5_+ZofkPRWxrNPAOjy8r>Gt=g^zEV(NMfRsR zZ`;1BwKV1BFKcR_qGW4km+kMV?C4ulm_3w~LqKVYGJ8ht0w;C_n8%l;m$AP4i# z8`Xnnj~abp@e*9#c=8wd8?XpZOSD=!As#) zt6_;Pqd+t%OOpL`RbY6Jc5ag)2RYx;120!Aq5b`>aZ3VK>yxCNh}1kKf#vGOpAjDW zuJ)f}_f{O56AwB_d4!J^XbpWY2v|}^r^xoQ!ZulTYX0OXGf)xW zj(zrs@w^IWcs%SfJc?mk%?V{FD=kCYx9v3(x5Nlr_+Y@eSbl?gcZCMvyv{vM6?%h4UawTM$bSzTRFm|=|u!&>!j_nh9 zVUZcG*E`)Kb|o6hq0CpMJ(~-UuysXmt5yCOAsM?*;q1PI$*j6_7d6^aIo5I%%FRnX zc{-0owy$yJoS@MI4W91y4ye$c#bx7%@bP%K)7E5kO3Ld=G`FVCY@CAH_{5>HW>#0_ z6bK}oi|ugJvE)Y>H|Co8Sw?Cm+p23fyq@amiRXZ+EyXY=XV^gwOa7-(MHSns#?OoD>oW5Um+!a zcq7t3(_TjEs#O#YR>oIe&AMJqJ($pqZlf=@Ques;=hSSPmGpHOP8S4 zn(Zb*Gkfub)q7(Tj#I)~0rw+jr`pu%I;teS(N6?ho0+D|D(X%qCiHW2dfm?{&KsS$ z`0=quFD^(UsD-4ht*rx$h2rh_Z|f9FI>pQH zSRQu`6*}HK+H?ui#iD)0S48I%v2ya~Vl)W7D8jdYu+W?D>d5-re|xU8I&ybIZ2SAf zGB)jMf9v_}c4PQb-i!_V+8EqmC~PVufxI~_a?#9518@7{kYCkGu;XG;mBV6`S@3|0 zK(b_M4T0LS^KPT|iu^RzM$B!;1G!c7d9jtYZ?`8*%LO?i@Vd%^O4oGA^)OY>{;Fyt z^y}W6cXW91RyiMM3MtsLI-KAaM^imsD=gMK-ggvxE*~w@UM8@lm#?%Hu2~|yqKYxF z5|38((3jqb0rcsQ-nTN}hp*6$|6p zg#J#NWc>R^?bZMv{*tPh*&?CgBP#1y7% z%GqmNUsu0(#9DP;DQ_V((JJZyrdl@9Q<}=lcFXYOg%F0iz>c6oc3K-deqDV%6Eh`y z+4s4Ow#GR_pZCaj1!0|LyCXrXQ}dWwN0!i;JeZvE*A*mJ;*Cm+h?zVdjR|a_x!-z+ zCMX%NkGCv;PZjmh&yhJhbh%O2yJ?{-aQY&kbA8mx+wyu zHgz8GXK$s8bn9KtV&8&OpWQ%6IZE5cAqtD(Q~i4;$;l|$EpQRhcsHRSBs}KzA4rDl#g(9q!hMeEiYHS zpLFrtFUiKPuTbrLY^Qd%o!)t1y*d$*nSt!6w)N{t@wiNNNkXQlby{p3`OJTw$#V=b z#_-};KZG_{qn+pxj#y#3XP;z#;xkxVDMT+bmTfI>!T-WJ)KCsp;iiiKX;{GY^t7L9 zQ!62wUew9n!HOTk#>NzgF*}Q`ho8(_VmoNv-rrBwye_pLvU#^%c^)v3($KG-$5+&i zhK(Dj!e$74E7gLtL&M5v^w@l(Z?ARx*jRQ?>Gxfp8thwdpNenx<(1lM*F4YDo@%I0 zvO=7H*Kb5FbkrrGebnn1qjQWji>+VYpQxl?LJGM&HMx_0c}(oBQ59pFrX|}jkU}rd zX0(zLd%}%JSM;X_wa=RBbGr6kaHnpUvUHzes62$QpZSchUDVr`)+?!Zf4SS0wc(FF z+KJcuK+I`-x-;!j{5s0p8_|klV}95@`ZdMFhQ8k;sXW}n>%{DJH0O5xu`VgRs(jF~ zo2e4s7D3%D4a?=dg$j~J~7?7Bd^(V z%aPEpi|w7AeQgK?txs(RVO+JglM^p^6;5j93=Cs^V^>0Y3oeWWmVovFT0x36>y}%D zp13^X@yN8BDz4rc4o8k$&?gYLNksP;qY`<_>D^o5*zG^uD|s7Ec>! zkmVS8>x6gbxx(aeis(LR;0SJzNMyJB^k*9sE5sw+R!pZ^_u2mGdE^yzaY>h1SH2i& zI>bDun&f<&9zFEoTvO*ovM!vZbh^h|W#%R@_B<-Im|&J(UfIc8GYBxiy}6f{4?PT?<$44!V zmdXu1bjKd;OBE9H`kkkEcpN?)dZCvNwVr?8py&|*Io zvt32)PmQBRUy5jRVwq_VCH2bka&&BLYiA6DfYT;X5~v(nERa zIT=Ik%sWBonGbf$L;*pvShl<@K|2vy134GQ+72TmH=J(XpkrbAyt!#<@8Hnc z*Vi^Rm0YM(yWg#Mc{eYfaO3V5m-*g{%rq7>)7}r`biVHG@e(X>a?8uPOG`^T`uga( zxbEeRbg8K6w950%d>ZKvIw8F5UQh{Hj?>Xbol80zgao@ZsibPMd#MxtV4Zbsp4j*C zWBo}lpQK-+ejR~qbtK+F zB|EOXswXJD|NY(;q3MM8$$gS>cotu&jdwNP648xzAtc{QNi zBRN>p)W=?a1as2a%V*zd(;{Lv_X8JC+%}c^{aK!BuJQX3SmoCObyao9CV%mi#WC!Y zPVL7h%*;LKWw!H8_Q=Svu)Gq-$Ok;RZC!VX&GNxxi0|KDDn6;?GCg^JR$H+z9JM`D z6LX-Wl!e@x$Y79Z5KuC#0}9-{BChlk*uuC*AMx#*)D{F&4hkgY;$Gf1_xo8~!tIQn zPiuZ}X_0*X;yGYQ54pHvgskEIk7OcI`zwXOUH0@6VgZwFzQAA-0i;1OEo=!JTGpwkpr< ze;k5^nAG&IPc57_Eq}gFdmcv0a+BZ|>!4twfDt`-Wv$k*d(_lAh7+!+6%NPscX6yb zugbcUO5S&VnVirkj>hS;!q~qcM8pevo$D<6`dQ~5SJs(E=pCFxQI31v-l^~>cBiQH zE6WC5N_b_9;B7Vp5cj;+)9U6rp+(u{-N90lnLh2c#UL`h{!S?O!QL<21@2UEl_Ul@ zl&o+6$}|7&$2l;JyF^5*YmC8FuXps!ZcaN19S`33ZmU9}*GTMWJTNePsl?Khw(ESC zseU~pVP;aIsrSw*LCN~?6V^E+JYmCY%hbWG@akA+B0<82L4tA+e@;8Iy*?ONj4GzY z4E5epx2r_Nf6Awt(6|r;Wpr>OxjGgX7rQ+!t5EuRJutqfXLDHm$!?YVBxDjhdeKe7 zqX8=Ca}E(@La)3D+>B$#mYfw71=61Di_=ni&KabUqF0h&yG=8%37G6@7TYhX~=XUkVXkj2`wQtw9fpw>mS<#q) znc7214GeV{D}$9u&kxoxa^QWw*N&l60(Fd;g)61Ia*IEd+p|C}5N$XEx-ABuEi*F~- zVEo`>jy+kt786(^uBO3Ay&v|gG#6(6T^cq{>!TO-iEw?dim@l3!DFG=(=>Ep@yxu0 zbqlyD4j#r0^(64XhFxE^{i(?(0feGrV(=~%%_S(M>xqe|>_r}&%C9~XL5iys^ z`sYk-JBo*iGHGm2y7xmLRMKo0sR+iY#KbOX*mAFbiE3=xad}S3AEc@ckR`N52 zWWj>zHE?WLIjjLRXnP)xtk}MOjUSW!n*Qn2;N~DgE{hfB$_6-z&woLXtc}>HDDi$8 zk+4txF})@ka`CK|p59Dn$2+ENv?d7>*OMgKDuT@Ijs>|M49HAW*=1B~pZOfs!Inh` zXoNcw28@Ek!i+}aG^m7KqRf=DiD_tb=Xq63;32`oKTl3h%n|r7=`>uWS(ceplJW`5 zPXPhZPNJV<7!*ql7I7TXbcCFvzkYpBV47)~P~`9Dm%w3!6Kw>g;Pp_Ke@E8L4qgW2 zn+>8Nh2O3zB`zhUXE;Y$!1I(_m5oWpTUhgbbw`IRq!51Tw&^640hLZ{2JAC`nAg|Z zpADL(tlV##8x8Rdwb|Gf#>L#7%quE6323d`UuS}hZ#nT=O@4yIy#YgH)#^$UaSx7+ zG(Aij$=4{ufdn=C8jvpmmpVONFRMnAnH0Dry#~$fJ!3=Jilzgou+_05S^)upgY}8L zo@EbD&l1gotip^sE6f=jJ;`;k$P}#V;|6yDyM-G;1k{*x{Eri2nbeYo07mzY{SzvY zKmcg5Bf-`_;!Q3XK2&EW-E?w~U5`skQxF#iMV?vhfadvMgZm20f4%X!5`?et$r)~M zw zu`$@N61#LjVL%>ZZasQGM8qgodE`AyOhR4>5`>GJ3) z43<>^=!D-q7cE0;a9M}WQb^~vyZhVU@7A3=PwZbmmWiO^$adTrO+}K4^asyBs>-@z zu{_hK#3N&U-?B@50IwFCsjT2{z|k1-D2D4M?e5s(ONQbumCzq zD0UjPH3civ|BXrGdGOXD352JoxcltXK25itM&D9rOm*&t%5@y-x*o3Xc5(_Zx z22w`zHMmy#Qsv-Y7ps#MOgq5Us6M3Se1CImvLf%ui-;J5@FMDuVacxdz*YOXE9%y* zJI^>-1OyUul(X$m56tp)RU6s5d2xlA_Feys}#Mx<6-O$J=BsiFko<6Xr=d~9q8DTr)I2N6dAPX|!%h#`OT+_;A z>zbS%)t3fkru{4Ms|&UQE!av=BG;3jVCkvuJN5Br+qIEudY-XBt|r`}U+%ogRPE@kpW_Djs~7MDCkvBBX%~M7+HCFPB%?RR2aSHiCzFb>d)2_1h-Q3(%LV{EUDk~%u z$ms|`y!TP4-o2eV6hWCuuOV1_I8b1(9G}tr3N(0U=1LsBzWc%FU~MSqdZEe577<|) zAtshf>Vfz)O`XaNI->Kn;E0MMjs?Cy{C;DGv;{$`I-UBCf>3xDf?DZi8hB8wSs>+C zTnyZaG8=>_WY+6!3(7DG*p>_q0ab_I)#;ehi|wN+8{`%Yfun!8J~HhzWyMnpaCT(* zh&4ZR=SwI)yzXEb+Pv5v$yaL(x!jM3f34n(wu$&EF#SUcFOEfT#a=`X@OQwNK`O2W zueD^ta@uX9U~|00KPn0!F;yp<*B%}Lt*G{od}Nw?MD2D>m}-G0$H&z_(C;o_8*RZ^ z1Q?lfu}hhLsbZ#-EdklJ9%m>lNsmshS*M3}U z0>^PjX+z0F1f(Y>M^Ogsz~JG>GhKg?BvM(dcU2p`IX_vUM8tMVKHTEB@rdnk9Sul+ zWD|!5zf04k3#dYAGy$cRs`(!p;LRI%ObCPub=?c_Z|MQ^rJzr-o~LQS!Q50M1Vl5J zFC;VVa-Douk7xnIiRtqN&@1=vYKgy-{xm7w-^UJp|Vs09<6|AlX@l>f8VhbSp4Cjvlt`1>I~ z0d0>j7VayZ{%Qy02SkI&8zOy>HXNhZ!t~U8b`6@>{$_EED(QgPaUJhf1DeC}ewQeM zM#Nkp&$6D;0x&ut>Z9W0aT`mF+W7%3xHvm5vh{rS?3v`}&(O#GpMZZ59Um{Fu1*eO z72J;z1~4Qd>1&{cV<;iYmy&Yf~^bp~@Zojz14A)#2bs z-NbMHW$Oui3(4?^IT-wcg@S^@#nm%o0bTsK;YIwc=Mhr;64mM*nu7Hb2o^dzh>wa*Vbi>A z!VvJgDA@HOB_$;uj;l-%zZZTQ)%IBeiiU=UIUDGuMa7=d2rAL%$-GvKD)9YvtYW(t z63(Mw8P(NSy(=eOqj`);yjERSu$eZ1!y#1nG~R2vZcwu8`%K6uL`NG~`?nhYwuWK- zxr)1tuQdMKqnSJ;iEhhi)1)J@OT)4or`B&A>KC?B_y-PYR+zVbo0E`gK=%RW3y|Ir zHWd;PfusN14_kOYTgJt`cWP;A=}&LhbfWwiJLq{x!ws8o;Xt+Tba>WajU;K2;L> z;`$-LCzka@9zoV7vzUOn`YABb-u=&(<#g4+jEZgE!u)pto!s}W#c%<0e<>>qnOhym z2!9|D3etnKS~JTlyvVPM&z95F$%u2|VN%VXqb<6?0(cQaFF$@hYjT~s_kt)gGc)Iwms|A~FJJA*R?a(Mtsdll9@8 z6j9FydGWCsVl+JQc(-pGwuMswiT{3l*8s9PSsj*{`Pd;X`~aWN`sLd2K2daAQ-+Q@ zpqj7Kd1t87L_Gz=()1(&yYA@h{I1royHcLj9an1FPqVPNs8MeMY|?xXF=b{$^q^Br z^>5zp$Pc!4JVxH0;94B;{}ll;!F37`}f47cN0%tLRbd~dOx%j?|5;e^c_ z9fqECP0K7MWzj6QM3*KN=<_@imdq^qQ(tTzj5?-9=?aVMi+=+>d=G@NW$!3~BW3gh zl4Hz zJwHKsc=SddbSVb@kAXA_p&;XlxQ6eJs^#u@6tewt(>~G8&Tb@MWs8x9#ykXU$UL~} zoYnB9I5k&_e4^} ztz86M7gR54eTIkM(aWbu{_Tu8%r#~aBEEjT|D#Qs7;rb>R&{iDKLQNn;NT;0vmmkx z3iME@-?h^P+y()G3GD`u&Hi5`D*f%8_(>&2q0t9xAx0V4C-C3B^p=J5qr z&lT2gL+R<;w1FY|SA7I`N|f&D(_gBvvLCy)euoQ( zF{>j3UgV-TPa05pkf!El3T|7XYfWYZ==5~~>zY;b*`!TX=CB8V)#1=o$994;klclj z)xZzz?l?9k$3!0=$Y_C{n&J5mBw1pSkmGtw+hCBd?0 z!W`2XQ$jF25cJ z;&AZ$3tW)8!@|X!x2awP;(vGEnZ>6T{90aK{!0E{zpOx-(h992(Ci=%iWi%yd(uRb z+iBc;ST-sqhAUKQhpQpLgu8a2R`}Aea0wEIZo`FP{mFchK)w-B@r!@>@DzkW(J*)P z;I!LR!DCuE-k@$l)pU>jmzR5y-U+DI3!aF0UALTR<8N~(Y5!N8@Bu{DpQFaQ1rFI# za5M=k+cxqjW);|*Ex0b$)`e)n|5kMTND(M;aGCp!TZQTqLLgW)AOZ!K{seB?oz(#2o?_nC5vj zaXUNYY&aY7(Q=|RAg`!ll8SXhom#|=yQIvh8u$P{erf(NRk+GFCj^Z~Pya#UtcY@u z`QXyJME$2iYe09{S+$6Giu^*;Z5WNy*0hw8(ief0=(M-y0`AA#%gb3HXSf}Fpm9G? z8k%Is2emlJDo{QQ3Ms#ebq{%jyHG=lV#MU?f4pgkh#CP3GV#byx5v`@*KmDI(K{LJ z%eLEJddX`!t*^kepnxscX4KZ5F6z^1vw%%al$$AsT%He-2fkf*32XI(!JGq7A;Z{?Xg=})_-_5tx&^bB z0Y_2Y>Fqa{C4%O|PkC)-dvekhIZS%U9XwpS)eAkM9g%52y9X9m#}$U6BE+~nd;nQ z+?7n97Gp1*B^%Z}vJ0AP$Einb%*e#zz-j71g)LL(L4-u7-x_KgN80#Q>{;ZM*H!7I z3gIeg03rCRkl~D!!twc3V72_nAI4();JA^Y?8q-;`IKi!k z&+MfDWl&1B&a3fI(tQvo=zRTyj`bk7DNJIso9jb_x1>Tr4p&}BT9Y4KJv~gs%uG`f zg9W=J{r}lQInlIt*PTE-d{(T$l7txoE|3Cx4{EXkgJl;p9sa|+`fvQIFXnmyJXY)F zN!QIWRc}2!JSvKQ6kHDn19u(D$X}e)w$Yg7A^ZW%unOXWP5QUX-3 z0_xV{uUgBCBr{p}UC83zy*_&-xel!mU&q*DBF+gL#>~O}>r3-;mMF)a!fUPt@>o-I z(?qe?i|94bX>$Cg_tpME17q*m4qOqG#Q~M!QPS0!L^%EihIad(hc7@*Hv+jA-JO2r zH)9RPGgmS@D+SFgtZY-`++Cy{*QG=cwEe6rk{WO-7i9WQ@y9i#N*ly>iC}CtYo+*T zk(MH`p*F?}jz6kANCDYaS9>37Q|J~0{(J4b>5d&WnUuNKm_wzm2b5#0ZvhP|gP@rV zaxKT}Tv0A-t?{pVlH=l}ml9+vt!LJ^&6CzO@g6^VY{;)kusqTd|&g#}g}*$-NP z!XNqv*&eJ8ypne~oztUbw_4|RaM>6w01~MFi1#Of8yL-HA%x+>(9b&%)x225`3fJ< z@9_zIAXfm<_}uRWIWuYDsX-C? z!hdzVMrYEKAOYTI;2pLT%yJ84Arx7_Imk7wH80rq zSGoMnd+m7#I+Y1Ml6n{=G!nbxv!~6$IIa@UkZtPfV;f!3kA(sPowNLoE1N~IwAM9zSAq;TKbP`0n% zb~Gseeul(xQpro)DV>IN`F;H(2;;=$H$Wa#%QZt@Cv!+ zsWLu!Qt_m1#`(%qDiDalUc&r^uB4S|guQV1`I?!Ncpc)RbBKP*M~zu zp&?FC&+JN#MYCLgV&9lYxfAEx$r-_12cJyO*z#7{p}1m$zu{zpiDPUGesTu#o;VZm4Sw5 zTa-G+KS_?}WoT7%6z;s#ao^#2&r@B*bT(`K;lc8b_&ViZiCox?BrZFBUrq0_KfV=R z=l%HxKm~kz+FF3|g9+3E9uP#PVO@8=$o-q`USA%dAAYwMqk|6G{?#W`N7fj3ECy-E z9oK%!FDlv~cz73RE9P&WJ`=JDyo-_QpXG+?AkyL0Wcaumq<9vy`ID&VNYFCqz(WEq z%&>KV;5VQ|&n*ccy4vJAwgfHnL!`CNTFmlO?mq!hQOdqgK!}uQE$GFxb%C|c&yZG) zV+uGeVDdLkHjTYd0fW^10Nr%`zL{yA&>ihKfpjwQ{g99B-$Ht~eRD$rNWRr{;Scf_ zjgdO-rMs~4D0QK6C`x;Ea0cB~T>tk&UhWw!NMEF$(Xk9YmF zl=hkeO$ z_}L*cCH=?GSxtQBJ6a9+cMluJ?P5Lm7@56knFz4#`%F<=my6iVJUt+%(vVlYPW6lAQ^G5DBmCB^4_W)-dB>Zdq-Wq3teo}@$YY@dNu(Tr(RBu6$+dZo=LhDxQdT>~>pGXuQ7CzVa`#;1c`#Jys diff --git a/doc/salome/gui/GEOM/images/extrusion2.png b/doc/salome/gui/GEOM/images/extrusion2.png index b56dc5d49f5c5ccc0f5d2c5b65f9aec1462b8b75..53dbe7d72b5970fa5624a1a93645980a4b957931 100755 GIT binary patch literal 16332 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 diff --git a/doc/salome/gui/GEOM/images/filling.png b/doc/salome/gui/GEOM/images/filling.png index 418c22431a22619f4dc692f96e22f5621d389b47..1fb29455c8d99228329e0b9270bf785770f81fb7 100755 GIT binary patch literal 17640 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 literal 17649 zcmb8X1z1#HyEiH`|wx8c9N?~I>#(+Q|*fP=*$`A<3SMUdR9}OHaa!UqZ zpFm_JUcUe6voqu3{(hzTWPdJRrpq^vIug>8=}m|^?rose74Y!BoS2w1W4Xawu>n;x zg}X0Ew(ba3q1<8VVI+B=|1M}eYY|Od6~)6(84HE$E98NO>FPC&QI`=7|3uW*<@t9z zxJT;cw4JR<0e@|TJ>zG0+%K+8K0!g!4@L_#EtVU3UVkA$X<}=4RAg*Q zD5zh&Ve68v|45Dg`18#Twx-9`}^+Rv|?fE-}Iy1u3eSMVZ6|4Lk?rt>*S zdc>Bq#LTF>sjsWUd|B_s_Be&AC61FVIi=A=UD1*%<|Mo~;Odk5UQb$8hIUO``_XnU z;g>pm$-*G%jM5L-mKAku>LL1BHfhX4WXAK*)}gj5IqaaDLp3m!z?n#XZg2X0|P{ zE1IxWXC`{gZT=}R5IuCd#JX}>uhPYubq2Mz{)p{@(c;pUXSvg_HjxY(Iz3bE%s_^U zijK1q7$i+-zKmw|VZ~be9hqtf89#q@dXivZA2iEmsY5+q)z;3A-w8nu$uF?-kBg(T z%F|e07Lb-LHYkmobu=J@Y)8p#eB@+@fvpCy=VaBDW z4{_z5&qB@Yi?98tm~jnD$&4l+M}^Q;93dBXW}=zX?oo!>8IiK|)>%tRY%-yKTtcFsm!HI5;`Z_B&JgY!*#FR92^~DkNI_EzDbf zz-dg^%HMe%Gs*Mj85ve(S58ru)<2MyjK3v;73|Gx=spI zOTMuy;|rGSQB^1og}^)l5!SlUv|#P6uV-dvJ>!sHeKKjm@4WXUCG_z?o*98a8GK>P zZbGZhh^>4l#LO(C!pa8rVYTA$QCCp!8sFNzphJ=%)IfbbJ}oB$W48$iI!^7&(Za2b zX#{mWw904I>SDq1TG+@a^Uz{YD(QOP&Qn3U!=QLiZc!wG+u}FFlF1;O@jD$R9kRA! zf^7K0Fs8_ zA~Cr&B~X28PXBZqn9q zIvp+zaAH*kr`tx zjY<57#qxSM0jL0Yid@IgP!x~Vh&&wE)%!GzIFX~AEAtfc%a++~?_WZf+eoH(46k5{6JiT@FH1@o* zNx|WIjlR}wqRLNIt?z^~u~Ymd$T@qFiwB}Q>x$+>#NRb_LYbckqj&k#soKe!Z|6X9 zLmf$V1Yztx47nl0y;O}i`RubH!t#we4dkLODQagb5x;?#E!aH~Jh zi*`IRqY>;>Br7DC_C)FybD1|&A&Gh`Q{iif7ahZ!%p|_l7*Fxj>gkxB_~T%vfF{u9xHCzhC)KZU47*X8yo)Z22W{dQ2Sr2 zRxo3=LHjXrTG@*xtct@fsYRmQeL(k$2Xjcw_i%C3T8 zaL1-tW07aFi}YWO>~5+9$CU^mO7g!*H`<6k|N$|GO&irO^*&_|E|m0kh+d; zS&T|ZY8KMt6rb_{cMYDTz==j#le@=X z(AdbyEcGkZi?!vFjTh@vYQqpMi

oKQ`PxPA|STZS<6tZ?Cm6+>WQK-dR=s?d(b6 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 z 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%0D8hVtwDJJgJBm(eaVxP> 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 Wis$!j!GB@`k&#rCD0rpk`+opkND!U? diff --git a/doc/salome/gui/GEOM/images/line.png b/doc/salome/gui/GEOM/images/line.png deleted file mode 100755 index 3c931a1e9a4f2270e5d79b3ec2f3d2762eaf8911..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10742 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 diff --git a/doc/salome/gui/GEOM/images/line1.png b/doc/salome/gui/GEOM/images/line1.png new file mode 100755 index 0000000000000000000000000000000000000000..139809a00a92d5da4044f47f97167b10fe8e2b24 GIT binary patch literal 13886 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 I{`SNF1u5nI-~a#s literal 12028 zcmb7qby!s4y6+$YA}Au=G9XGwN|#CqN+{h!2nf>M14^T$bQ&;}G|a%z-AH#29YZ%W zcd_^Rm@$eBcVC zH>(Z=dIVCGeW{@nv@`4OLvFs*u|Hs=cq{4Aouojp@hj4vfD9NlT`ug-lQ-%(M18nF z$=im1P249ZC&&9v7N}nP3vXYgbO}u^A&Y8!^;*S?P%UmdXXgqtu^k(DWaCyIhrT=> z+V1a{I^1qqO|`VhNbY!)`TI938EFh}mDjO#%jv|Tcl7t~A23#%^ChokW8*gNEBF2G zrom6T5MZN3g?+Acfc&c0)O|GvFJxaX!OFjAdh=pMSpJHMdUh0a!)>NyKM%Esy_H;Hbx`>FRXY4=?ah`xl-Qt4z zxJ`fZhn0AXOC{?jf3P%6MrelP>JmDB}HW;nrFM4jHUvAx%$cQ+6`! zkMq}rwe01>L%JzT`$xxn%wsn0CFjP5PN(%U!<_ae$jK<8Pri+(G^ZL>vvRC=Hsz*2 zl2R%Dc}f5qR*hS9a_oAXI8^KDoTl<5$I3K?jT*n|0{ zx&3$L%~CEEOOH2Pmo9pGVdm3meCFKKoRDBolJyn5G%R&mm=!g35dItU(QZ5?rKpz{ zo8AT!sOLMWg3B`#ks|#K_Y=j_M{s-2T*o=o+!@;}${jz<%WsbTX?gjJVuMEa`}k)n ziuRZl+QMizIX|fHu#dz`SANxf?)9u8M~q` zakTyFTHTXw!?gn&IKTP#6Hz&i&7Z54RvN{W)fx0E86t|qIm%XJg)}>81C6E2Rmstm zy2}%_20vd~;fhkU!u^m)N_tg&#P(`m>TrdXy3#Oesfb7i{`+;nF_QS)zcRu*HY1}y zqs}{5yV$7I92c|Af9U#`9<;%252B$?3Jx=&+-~wk*Gyq25@yrx>ARJ0hPYRs{k-?w z$}aX|OR?VQP%;%N6*OogQYEH*)@IU@%n)`te%LAK+&xrfsffs8Jnpxbi)(lEIX`z= z?M+u59uuZS`k~)5m7wD7T$nI^F~uYs&g|v$X>ZGg(yx1VYaYj3xc)*M_cL$L)(1yS z8MY!1A(ns1=HJ2JzY5wkOxV%N`8p&8Q;-w1qn6XqAa7t4e*^p~EiL_EZce4su~-rl zr(QxZn){yRWM{e~FAkRLZX}bEfi^ilg>`FGb;L!?TI@|5u@@TsrSSjl#{^n%s{S}p z!hCtMvwV~{+?H_fth}e!ow5lhda-{$)Ayr2Z3DzHnOnMbPgoM{ z$2a$HN{=MzI`QrECfg{q@;Pf%e)>+!%gT^M|mb2SHIHoMrUMHk8SHa22DJ(ocsL!Hh#fg-{#IlVpecz+D$$}ccI>W$#hI^N~ zGgr}E z?0836tc25-D|nB$+l_IwZ`42&dhZj|R>jVuO{P%9!e}T5S(bdXd6~pW z@{0+PMrCmo5#*e?*iKhuwj^M-j$Ic{bIuUHU4J$$$&0l!q93OdsKHGgt5t5moG$j$ zcV}f#33wfSq=j$1is-q-{hRA&TYtWUuBgMPelYiL@ldt6O~}BsI7q;=7DU5Dj{MU+ zeKuYgfAs?`Qh&}L;uBuPnpB&l`)RAA#JB1Qaq?X8BV(N?kDO~)x#X>}&CMS;*i+Ii(PAT8 za2lzstgMI3W6p?~8G{+!>fhPs3l7vC5{&!;-;tpAhd)#UjyScMGLQkSbFw90+)^sAKw#at-o-B8}%$qda!=q zO3UYvXNW#gEB9;cnU^%k&GK1_k(+eivYF0vO9{uF-IdU5)2S-EwkpB$>h&B&yg8)j zp~ci3>Ru@evi_&lB{OE+bb2!;$gA{|;8hXrtt3KXqmKfi)#8V}(g#7x1LhmGu+UHL!doPj zD-#*Tj3YVb`eGRosfc<>o#Gr>Ur9r?;=TEq4+9U}?x;%ZYTS z4snN%qSB^fKpzmw#KWz2a57RF#j!jtEL#1&d8P}}p?Vgzn%0$(5#<}w2Z|!R?!dOr zXH?$-A!m)OC*|_wj2g`?JcUhHvyF5w?1d|4x>?430+V-gOj-$tqW(O(PMc3$OkWu; znx4NaF<*&hO@vH+ZmA?gJYAIVoAZ8nns<#Tzw2i_{G9Kn>Gi;2Lk4z#NY$Npr7iEP zx39SD^DNCnuNgmIq72^?UB5YJ+puYl+HYIX=|IaIzqUbao!s!5SE24XiImR%r0(>w zhlGfk9?m;L1581(utH zvc?gmq=f)Pf|Ijnx~H4y#}p}JS(y_bPDo3niU07%PT)wM?Q%(njD`kl@N84P%x-zT z^LdY3wEyTlct0`ZE6GkC@ic|@+HNJhlE9f^VjVau*So1hrm`CbVT2sv1NUE<%HoGHZc#qCex<`-E@3n0dQgZqcyIn%PR=BSO$Zl*@$rV9aHY&-V3vg* zQqZ(@sXux9jP9;QB3j}z?jsoDM-%hN!D_X?@SOwwh7I1?5Z{(!eQcyjRO8VHXQOF? z&i?(g`8aIdIg`7WG2tafATrnM&&R(fe%OOV${hX^9$=|2B!ym+2b;haA45?M`hMA$ zCFnOZT9^)du8V*!bt&fSJ@^ED(WFVKi9Z!m0iUbgd5EB+E53dMl0AD&^tOh7GCZ@fcU!a{bM;G4o!GTIbCIm1KiNA zx7y45s8}!7c=@$VRUaRpQgf;fg*R{bPhU&E+YNp|y5%ThBjE-0#y_q93c$kt4t)M0 zDe22{i@vKbj=nyYFX6Vc!F_fPW-t|$SDM7>h2GqykL9}_?l)$qKHGgMg5DPu%fj*Y zG^B*yIaW@O1i!Qr^=G^G9Ogk9q&oa0+e?=_uBe(VEiIRwszrRxc)d?|AG5Iq7Zlg0 zB(2wQU4IZK(zfArSnBOq<`eaJ{w2_2ZRp~a{bb&2HBl$j9Z^wH>fo0ES*D?(p_lSW zg7}>WttWjHbKBMd3PV`eWUfD1%;(6=Zq!;G>?19mazVlx*}Mp&zdB51(GA(v-QB$7 zw(KHiHTV;cLCmFbH*}$H!2MwA^F4Y=qbr7{I`hn<#M$49W;Q}}FqQP?6{nkTb#^w| z!H3Jt-xeX3?rulk0YJIwtGjT5j++UeC|zX)2UzaYWCb?>{>o9c1-?F#!h5@~#)=H- zQv2GmC+Qy+!)>{)T?jf<6Q23!m)T^t@1EZkAr<|#XRbr4BF?~V-TF;iDBEz!v%$;uswPk9JKgNMDRMuw=gk2%EK(~R48Hkv3k-oVY1eL=Rhj25|O zM&$ZfRyIHUmWnLbR^f&<=JY)4-H43r?;*XJ=dea+0{_`lE;N4#E&<8y(l=mmJQWia zR4c&~x8LX_Vp~o&zo1!n7347C`cy@>8M4ULLxiZE%o+_Mi{aH0>8ZuBEMMsh)2q_W z18)5V+$xE`##;-&q#z|U3o764b-w>lEM5 ziX#R;tiNlSjI{&LEvQog|J28D9U39bKZoUEQbPmbuYfV{8Jl`_3;n7KRdCf5=>d4J zH>K8j@bdD~#@`>fKmZ<~6y+mn6$dgT-}lw(x_-psnKLN zg~NCV?{cN~K)t!A=VKC8?)_sL0ZVcZyA(F0-&|0~a(ar*a{IThbmEZ!49?gIlRZ&J zmGyArX2~5=0+r1F4B^o(Ar%}YeUT(&JH>lFy3w1)N9GU9^hyE5Sc%WMll6F!vYsBT zA=1@+qQt~JKQmNAm7SfPUc#kB&0Irl!H0rf1#`E(!_%@eGBR?NhYWkGasB--&t0AY z$3DUF60cEf`6$M|?s(1t4%pj7Zekk#z}7(7oCdM<#jciQ5l679^x<WY2D6S62Dy5;W`P!U zTN<9HWs`VsieSVrOvTK7f`~q`U>gD=C4}G*A;RA%C>YPyxVmgl#8iG7k4;L_L3y4Mpn|^vZr+n1 zaWY|M;ISCwvNiQBsfO=2EL*^BW`d)zG&C?G3(vsOQhXY2KM=wx#kDVaKA(!+-z?U? zWFlb@d;VaQoRnzLMGtJM3nX4C7hYPZPQp#LyahCVLbg8{X^&cCSg83w5{lg6U*AS? zF#R|zR2$g;fxe5y!WCS!&4bTVIx-5lMSDJkL2LHW-S028{=BF}&zwf``%PqnzB0M7 zGhq&8W<>3TnBE*U%<(bDS0z^bF$nsU6@5Dm9Z_mCSq6rT^O&w^m|yn$qI0p1$~(HZ z%Y4`B-MAQni>3D{iwNp!=kbXHNS1Nvn zu9p>iKG~DN1b>R^e)<8K8`MBwZ_YSO7JUG}LbPEKY<@KPKYb4gCV^Z2^5J00%T0oM zh%5uFArQp5m+kw=+;T6gdRGwI%Z}X1oP4A_x4yyeyn#O0ggoh8yT!y_662ETGDqbz z`1B68IOl1;FHwQQCFLl~Nu_NFn>W#Rm7eaS>GAQL^Ol_%=l<+#`{_&y16v-ex0mx( zFtb-2sU(k=`tx+>x4Q3aC zhv-Pk`$AD0O%@Z+S$y%xN9%($b9}Mo<;)Bz+sD%L@otK39JD#NX6x_f=2OKQju@yG zVI!g;<^x$5n7dWjKko36watR!B8}?B9FD1R_gIr%@42;eZ#!#9@j(T;QJk*CWOi;y zySKyL)U=QGIH`wY9Y@$~l^9F)YmcfKF7coa{`B>El$Fj)O?WZSx=`UXXrxx?{)bB~ z6ha@fs493YZp6sE(R5x93R2A`aDrEWA&dp@{t>12o{`9NFZ*+EU%~VFtio4bl$9J& zvw}aWpsl-zu{E3E7dxyvuiKv~r>* z%`0*t{{KzX3jc_x2-wz+VRc>4j)8NZU~h(`_`(Vwhfy~iUQJYC+TpNK7j|KvNKhw`1b9uPw*mQI-##Xg}+ZP0eZK<*Vs!V zfa7tI2lKp0h7s8aOL1rLMMW(xM@i)(787Hx)?dtsS?VpZ4)S^CR#D=o6cZ_Ey6m9kP~R-pBVm$(I6Yt|9j>t`l3I5s{YzgVOoQYlz(1TfvJ+!dQo^lLSlQV4-FFT2Dr}mXz7XgF3IoKcRcL&G z>Jmv;aYN53uc@R@o*$}!47jPhPqx`l-3~+O8l#(JbPoGyX@zV$f5?P*eA?AF=YS!^ zA{34v#`+5oe-U%tEU_G5H1b<9mye`Z{P2O5J28UKtR3`#iAfb+G#i>nC*!3jX4dfy zFY7XWcEj(ryBIKv50lUIt5BsKjLX@HMjVxlBocd|FZlPt+)|N;bm^)Q3D1(mExB?x5z2&YBw4JVsul`!56s*n&aPkVPVYV#u@DUAWLIk&A z4M1KFZuM9UWb}O#o>3^ys6*_GO#{G9byeKf(RO%sIBF%GhYXFN6S?rbi$GUP z++>X_XPx(Pj`o0&OT#bmR3TdqXUU6G^Z*iFzXh!~@1X>69!Dc;`XPC1u*y~+3sq>DN3RF0Q9F3V#tiCc`1)(0_)HUP^q+`e#L>o@OB;!Da=%#`vyJLutw z_@i2ERCl%*!qja5C1uxDDEbf@8oCfEzWd00Be{Su-}-LD(3zJb*%OrylV#>UM}x2Z z-Cw2P5mEllQKkb(p=^WSHNgD7V10pUn@v?%Q3p2xOO03x=L|Q1Hu~cnZBNF%|0N$2 z9o=|54uRMhcI&$XFY4qT-JC@V`=WQYpp5zKSG)C>c0g-oeY}_n@XuMfx$pabqZ1wi z=85$RYJoYtqkz|&P=93*Pq@)xG9mZl3+%vZqRez`ODdnCt6B%H1Ex)3qHs>Yr(7RiJam%M1SLc1o?{3#rGhu_5 zT7)=uc6O!_cjFq6y5x$I#&}e3vVr5tju;Iv?1YyyvmsLM-j;<-!hQw;#~Gd{$>4eQ zk>ykDxnK6C%e?RDAlx1T?DslE$bL?O(P!@^5DkDZTbQ)We0EUxN3YU!Z=tEJNZP!c z+^+6e3#d^|b*FPZ1WZ0J#)}L&H6f(zskGk0F;`wk>+iFK2_4!fv`f5>H^Jk=%EMR@ zEX}~rG3Y_plj|rf=CmO(PwKpfDkgk5p7`ZSpYXgfb-OP1czaS{M3bzP{&?Z@c78#T z8i_Ki!pIkZJm$yXz>w$RBgBGERDwyTfmAVn^I{}LNb_j^MV|d%oD=Uumi?l*V`!)b zLHvCY!xL8UsAe{oA{@oiK^1nhDV~R`i~Alo@lGx5M*sf(dw^>K z0NH7tXxQHVjV{9A{@mPTG_wpa99*jnt5(^LzqN9Qx2A0eYw-x~Gd}uHQ87u>j18nJ zef->g-dUKeUA6JKa#?wKvWOKJz+bceRA-%fA5lPVuswVBt!TD}-)5qOzcMKFyWyKR zZ?f%INuwDJ6yZu@9_x<)l?PKCX2VN>TaVuLAN(bMI0MO8PWe=1a-2WQ9= zIkUE^Z@1dR)9|5LoeZ(xPInF@w{Atr`fLwS?07$PK6ps>Fd4JyqNc8%%;$^`jA9wp z6<1+9obV*W08nP}^x)6*#nAB7?%iU79`FGo6k))SHhFcY(r#95y-d^TDU<5$iB1GsoJMU+^z^@~6M;sJx zxa)j8s$K59rUK+TXnms8taRFbG@l~aPhY3(10m3+VP$14 zv6~eG0S?DoQ&aGZ(w=Jy_@si85^Afs0pGX}I!2DXzFNfR{jm3-U6p#ERgp|lh1&~0 zq8f2@=)MBz`tsm1Gg@L?|PkWE$Uob?OAJ#KsFP=)B*E37S{q%0nOLx(QA zBgyOQAL&&H?0fxiVZ&V&i7-C9Z4v9y{GjO_i>aPrVA>h;-`Ulv1uTe%2h#i75)BMi zFC_LFafxX~LJ?;o{q`7PdfMgL&JENcINlSjY_r2rHW$7+MGGy?ek zXJ;NYt~>Hdv(!VwLp0)cHpaAyvbXwg+_8}R3~zuf`_y3A!9w!Hd0`=dpDJ2HLi7;< zuAHn7M=a;Q<37El7rFm{wqMiNaih@}5Ykfa|6OFhtd9MWzrM==UVJ=3g%{}B7_hs* z{E+*WYe@9LolC&U`g={r z;kIF@tY6+k0H8MbLx#YjFGWsEi!w^`f_fN|4qSBQ(A?dfMOI@jwyIZCJ|T8%wkFCg zRsF5Gz>8e#Ewb(3m|ovh7XY}SXDv)u>Nu2cwnLSLdUg3q=2C!IpK+h}C8igNu6ADI z2bwqu+=jHB))5L)Kd6VbNMDj5rYb)<4@jQ!S`D%0C?%_Hdzs%8_6Jh#;9{#7*P(;K zeeY~JO1mZltX3ONTvAMm>r28U)_YTRqCa~oXuDB<8K<_l5 zge)dsduVd#UFOF-n~K4n_I)gXFKIVhV*;P{1QLx}*pB{nB)#aT*-vpr&z!5%#oaC1 z!YM#LSNk0RGY~a)rHqNCpfde&U-*s_iQPh001$3}v9)qNlmJnl29G}*;6vo8!wwp8 zNlJ{HZk3glB}qg5%nLZcD-J+J-IA={d|+oB69IIkKeYoyi*(aEbmU`wbOHAweogF4 z*;~0{L3B?6$FG^I6mT4yvIFX0W&xlRD37?>4RUP^YIz|;O31))gGc|u%qT38ipWpi zk!y~ysN#V+&_uDQ4UdM>8HI-m2DXT30AGvo&%3XVw+aK|&i`-k3D{IIWztBND^F~| zhG`^@*mw~{; z*bJypr}Q(Rk^q?1%ySYfuL~uAoGU4Uob3lrJyc`sFE{?y;{xmlHH(Kf1rT=2+QK_# z^Q~|#mpq^Z)@NbD@HsC|TzujzU=`(xV8HP6dHQT1pHZj}Mrj9NDE&o;|M#2ApLyu< zFM?SY(o`%1GUKy>E3aM)Ol$jFR8bLJ~8rXxZhTUlI6^dvl6{!?v# zo{64s$mA?Sd=_4-rRlW}RRC$iQw>(BM*NY0YPwNQAQ7K+Uce`_1lVRgxBKbt>`h{! zP$*;gv~Gzp4q&?%xKx85&b{JSVigxpZIZ!1gh^kARZ&$+ZXF-=S_3O!#5&>9((_P4 zaFKlqnoSSv4|7QkWZoo1~XLKCnWXW0;pzgF1`rvZr&V7X!%DwLwDyTFw4MLi>iUc6LI@Q ztGWZmFT*#B4s1+8^v$y+fz1FXXr(vbyCFy>2@`S@F$+U4<{$l?^^tqUV&He$EVj^W zlJz4rFfy{~e{<&k%Sd=J?@(bcXOyjGUgUJiq$7+0nWdxQfY(OHf0M_>E2{+vNP+3?2 z{l^pYvU7ANJYsX^ODe#vlvAHS78I;hThV|EkyHZB?F=Z!Q*3r3Y}&5wo1G!D)T9L; zyJcNmM%eWNa>uq91%&bbhGk~icAdHG>(|bkBkcJ1Xm8_7oGpA|F3@(&|3uRNTzO6( z!{~c?vXY6$#sz%A53YHWuzyiFK3V52oau8x2w1^@rsOkj1Zn-z3+kgh7&J8bC4aK8 z+MC=`J|Okh#pOAOkB?8{uvefrSpe4P1>}#}URD!uW+domir;7@!RfH7^dN9ZhS6*N z$1Q<^8>KlC2t#c3BiCKbo{SYkAWKe}fLbbb+tCA2a_KYzMd-_^Nq#bX-Y@kD=IFKx zjLd)RkG=pPFeDhGpy@Xn>G-7RXnQaYi0+k3bOV7gz%JLlytTbfH>&-i7!0V)mH0bC_q%*+9G-X|BCJbD#?$=s84e8B}M z%+H2xw}7>=+lbAc@gAtF_&9mXKNE_X#7-#-&$gDGChV`3LRa@Yn0Q=8QHGyVm+Hpc z27k&O?aqqd$^7Xx1w39kMTotm5HR9J=q=r9CR{;<4j`!ZZfaQEx@hA zUpU$rR!ZUx2*4enmq|G}cz$ub)dBEt8BOJe&519UfWwN|F6$9-*aHD7!+51T{`c?S zXR0HG*X_uHb3ivc1J1<7y!MO}2+6Q1j2A(3vDbe|{tt*RzDJAG=zrjoWUEm3BE zNSVN;`^v_q5SktscpC^6f<}PCC@Lx4HU_AGQien_P{X_8RHeEWUVZ^C-|*p8pav9T z(Ox+!1vE%3vv`+-=Vgz~NyL^owclF0`@_YrkAUvdoUa#^h=Lt8KFNKLXn=E-W01!N zesb$x?|;}7EO8mue4q2}-+on9m-`Gb#R{?g`UBs;lN)($JXXn+>U+ymhk_I%R-^!s zSWAb`FII8GHLpW*+iz6xVO$2x8P*RZ=CXsBhuH}o#>{EqnnmJ&(&*5rD471ZUF*m< zX31yirOWL@03-Y#&R5{(FFeg}5)sza_+RizO#d#tl&jxG{`fs>w+6vpX!90m{obUs z0|7!p>=Pi$p{vj=H%dFRho*+B`L!8Mnx-9 z_Vwp%_O%#%_8zr22E}Yo^L$-juay#gw|4ns)0?~6#O$_*(F*H(Nx;Eeb4qiEY=@0 z*bj?}SOd5a$fy2*$fEYddM~Q!czuv%BDL`SNWJFU9Xg}Wj1Jk#-cRDmwyh?uX)EnL z2(248dZR;c$L%7)|4D0#6F@81^YG9>H3J)im>vcYrxb>~SGDWUi>7l}1Q{t|6=FgJ z`h?RH^=smrK(Q#u4lM;DCQIyVZ^naiYA@E5e+~_NgK@w`WRJi2=~PF?)R!VO=1tuH z^IecTSv_c+>CkrQZvvWt^Flfi>Osp6z^~sVVz=`z~+; z^~|6dcbO{UYD*M!!te$c*LuzC)jLhnm@-a|8J_|5sA`3`$|1Gqo(!PNsNW{k4n>B) zdP5{U&xcUA(xn$)#Ltof4p4RX;ymI+f>{=U&bW$hbKj{1 zr}%iLW!BqD+26FBst5`>p!YYb=GojQP4jMUQXObzgldSd+=DL_$qC*ZL^W)SzZfO{ zwbodmueM*SUV^{V{jrS3Z%KP)Y=LDG8}&IQibs@5yT;8{j@6;I8WmRzTY+e32vKmg z;26_;d*Ywd9;op^h5M0U`TBbn`9S*yhn&J>phpm*eebT@{2mXl(y|h^ z*S{BHQR2~MN?)K|ECh;e{Ho&73PEgKX2P}CX9ZT2UQmkAq~c!Q-!2FrcnTK$KI~`_ z{d#d`-!hixSHA@6s9#&R&a09Xu%Jq062E`faCi_Fs*tqrIt9Wo+4T8vVg0;3fm7`u NML8AOqF2VB{||w*2`K;o diff --git a/doc/salome/gui/GEOM/images/point2.png b/doc/salome/gui/GEOM/images/point2.png new file mode 100755 index 0000000000000000000000000000000000000000..df151abfacb404ddb60470ad3a2a828d9f892876 GIT binary patch literal 18460 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

69x+mx6_M^Np%-$oZp{^VB~SXbV(~Jr0fS2C%S5 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 literal 14515 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 diff --git a/doc/salome/gui/GEOM/images/point4.png b/doc/salome/gui/GEOM/images/point4.png new file mode 100755 index 0000000000000000000000000000000000000000..b29de102c06f1e0d0e86a8768c4244ed40573eff GIT binary patch literal 14530 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⪙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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/images/revolution.png b/doc/salome/gui/GEOM/images/revolution.png index c02c859b1bf80dc0eead7039ff9111d4bec9e9c4..68761025a732b4a3ad42bc323b6069fda7c39efb 100755 GIT binary patch literal 16962 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 diff --git a/doc/salome/gui/GEOM/input/creating_complex_obj.doc b/doc/salome/gui/GEOM/input/creating_complex_obj.doc index 23927a4a9..6edbfd9c5 100644 --- a/doc/salome/gui/GEOM/input/creating_complex_obj.doc +++ b/doc/salome/gui/GEOM/input/creating_complex_obj.doc @@ -5,8 +5,8 @@

  • \subpage create_extrusion_page
  • \subpage create_revolution_page
  • -
  • \subpage creaet_filling_page
  • +
  • \subpage create_filling_page
  • \subpage create_extrusion_alongpath_page
-*/ \ No newline at end of file +*/ diff --git a/doc/salome/gui/GEOM/input/creating_extrusion.doc b/doc/salome/gui/GEOM/input/creating_extrusion.doc index 4b2c0ac0c..3f3435ca6 100644 --- a/doc/salome/gui/GEOM/input/creating_extrusion.doc +++ b/doc/salome/gui/GEOM/input/creating_extrusion.doc @@ -12,7 +12,11 @@ solid or compsolid). \n Firstly, you can define the Base Shape (a basis of the extrusion), the \b Vector (a direction of the extrusion) and the \b Height of extrusion. -\b TUI Command: geompy.MakePrismVecH(Base, Vector, Height) +\n The \b Result of the operation will be a GEOM_Object (edge, face, +shell, solid or compsolid). +\n Both Directions checkbox allows extruiding the source +object both forward and backward. +\n TUI Command: geompy.MakePrismVecH(Base, Vector, Height) \n Arguments: Name + 1 shape (vertex, edge, planar wire, face or shell) serving as base object + 1 vector (for direction of the extrusion) + 1 value (dimension). @@ -22,6 +26,8 @@ extrusion) + 1 value (dimension). \n Secondly, you can define the \b Extrusion by the Base Shape and the \b Start and End Point of the \b Vector (in this way you don't need to create it in advance). +\n Both Directions checkbox allows extruiding the source +object both forward and backward. \n TUI Command: geompy.MakePrism(Base, Point1, Point2) \n Arguments: Name + 1 shape (vertex, edge, planar wire, face or shell) serving as base object + 2 vertices. diff --git a/doc/salome/gui/GEOM/input/creating_filling.doc b/doc/salome/gui/GEOM/input/creating_filling.doc index 25c99395a..82d446f2c 100644 --- a/doc/salome/gui/GEOM/input/creating_filling.doc +++ b/doc/salome/gui/GEOM/input/creating_filling.doc @@ -1,18 +1,20 @@ /*! -\page creaet_filling_page Filling Surface with Edges +\page create_filling_page Filling Surface with Edges To generate a \b Filling in the Main Menu select New Entity - > Generation - > Filling \n To create a curving face using several edges you need to define the Edges Compound, \b Minimum and Maximum Degree, \b -Tolerance for \b 2D and for \b 3D and the Number of Iterations. +Tolerance for \b 2D and for \b 3D , the Number of Iterations +and Approximation. \n The \b Result of the operation will be a GEOM_Object (face). -\n TUI Command: geompy.MakeFilling(Edges, MinDegree, MaxDegree, Tol2D, Tol3D, NbIter) -\n Arguments: Name + 1 List of edges + 5 Parameters +\n TUI Command: geompy.MakeFilling(Edges, MinDegree, +MaxDegree, Tol2D, Tol3D, NbIter, isApprox) +\n Arguments: Name + 1 List of edges + 6 Parameters (Min. degree, Max. degree, Number of iterations, 2D tolerance, 3D -tolerance, Number of iterations). +tolerance, Number of iterations, Approximation). \image html filling.png diff --git a/doc/salome/gui/GEOM/input/creating_geom_objects.doc b/doc/salome/gui/GEOM/input/creating_geom_objects.doc index bc66bed97..1c804ae71 100644 --- a/doc/salome/gui/GEOM/input/creating_geom_objects.doc +++ b/doc/salome/gui/GEOM/input/creating_geom_objects.doc @@ -28,7 +28,7 @@
  • \ref create_extrusion_page
  • \ref create_revolution_page
  • -
  • \ref creaet_filling_page
  • +
  • \ref create_filling_page
  • \ref create_extrusion_alongpath_page
  • \subpage work_with_groups_page
  • @@ -46,4 +46,4 @@ -*/ \ No newline at end of file +*/ diff --git a/doc/salome/gui/GEOM/input/creating_line.doc b/doc/salome/gui/GEOM/input/creating_line.doc index befde32ed..fafdfcea9 100644 --- a/doc/salome/gui/GEOM/input/creating_line.doc +++ b/doc/salome/gui/GEOM/input/creating_line.doc @@ -4,14 +4,24 @@ To create a \b Line in the Main Menu select New Entity - >Basic - > Line -\n To create a \b Line you should define \b Point1 and \b Point2, -which are the points through which the \b Line passes. -\n The \b Result of the operation will be a GEOM_Object (edge). +There are 2 algorithms to create a \b Line in the 3D space. +The Result of each operation will be a GEOM_Object (edge). + +\n Firstly you can define a \b Line through \b Point1 and \b Point2, +which are the points through which the \b Line passes. \n TUI Command: geompy.MakeLineTwoPnt(Point1, Point2) \n Arguments: Name + 2 vertices. -\image html line.png +\image html line1.png + +\n Secondly you can define a \b Line as intersection of \b Plane1 and +\b Plane2. +\n TUI Command: geompy.MakeLineTwoFaces(myFace1, myFace2) +\n Arguments: Name + 2 faces. + +\image html line2.png + Example: diff --git a/doc/salome/gui/GEOM/input/creating_point.doc b/doc/salome/gui/GEOM/input/creating_point.doc index 0f91a0f05..5e1703270 100644 --- a/doc/salome/gui/GEOM/input/creating_point.doc +++ b/doc/salome/gui/GEOM/input/creating_point.doc @@ -5,7 +5,7 @@ To create a \b Point in the Main Menu select New Entity - > Basic - > Point -\n There are three algorithms to create a \b Point in the 3D space. +\n There are four algorithms to create a \b Point in the 3D space. \n Each time the \b Result of the operation will be a GEOM_Object (vertex). @@ -23,9 +23,9 @@ coordinates of the old one. \n Arguments: Name + 1 reference point + 3 coordinates defining the position of this point regarding the reference one. -\image html neo-point2.png +\image html point2.png -\n Finally, we can define a point by an \b Edge and a \b Parameter +\n Thirdly, we can define a point by an \b Edge and a \b Parameter indicating its position on the Edge, ranging from 0.0 to 1.0. For example, 0.5 means that the point is located in the middle of the edge. \n TUI Command: geompy.MakeVertexOnCurve(Edge,Parameter). @@ -34,6 +34,11 @@ position of the point on the given edge. \image html point3.png +\n Finally, we can define a point by intersection of two \b Lines. +\n TUI Command: geompy.MakePointOnLinesIntersection(myLine1,myLine2). +\n Arguments: Name + 2 lines + +\image html point4.png Example: \image html points.png diff --git a/doc/salome/gui/GEOM/input/creating_revolution.doc b/doc/salome/gui/GEOM/input/creating_revolution.doc index dfe8c7ca5..b9d2d7086 100644 --- a/doc/salome/gui/GEOM/input/creating_revolution.doc +++ b/doc/salome/gui/GEOM/input/creating_revolution.doc @@ -8,6 +8,8 @@ select New Entity - > Generation - > Revolution \n To create an extruded shape by \b Revolution you need to define the source \b Object to rotate, the \b Axis of revolution and the \b Angle by which the \b Shape has to be rotated around the \b Axis (in degrees). +\n Both Directions checkbox allows extruding the source +object both forward and backward. \n The \b Result of the operation will be a GEOM_Object (edge, face, shell, solid or compsolid). diff --git a/doc/salome/gui/GEOM/input/index.doc b/doc/salome/gui/GEOM/input/index.doc index 3d2d5d102..45eb2ac65 100644 --- a/doc/salome/gui/GEOM/input/index.doc +++ b/doc/salome/gui/GEOM/input/index.doc @@ -32,7 +32,7 @@
    • \ref create_extrusion_page
    • \ref create_revolution_page
    • -
    • \ref creaet_filling_page
    • +
    • \ref create_filling_page
    • \ref create_extrusion_alongpath_page
  • \ref work_with_groups_page
  • @@ -134,4 +134,4 @@ -*/ \ No newline at end of file +*/ diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index ff1d4044a..de4600e27 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -902,7 +902,7 @@ module GEOM GEOM_Object MakeFilling (in GEOM_Object theShape, in long theMinDeg, in long theMaxDeg, in double theTol2D, in double theTol3D, - in long theNbIter); + in long theNbIter, in boolean theApprox); /*! * Create a shell or solid passing through set of sections.Sections should be wires,edges or vertices. diff --git a/idl/GEOM_Superv.idl b/idl/GEOM_Superv.idl index dcaecd95f..98d819daf 100644 --- a/idl/GEOM_Superv.idl +++ b/idl/GEOM_Superv.idl @@ -176,7 +176,7 @@ module GEOM GEOM_Object MakeFilling (in GEOM_Object theShape, in long theMinDeg, in long theMaxDeg, in double theTol2D, in double theTol3D, - in long theNbIter) ; + in long theNbIter, in boolean theApprox) ; GEOM_Object MakeThruSections(in ListOfGO theSeqSections, in boolean theModeSolid, in double thePreci, diff --git a/resources/GEOMCatalog.xml.in b/resources/GEOMCatalog.xml.in index 2a3f4aa09..2739da315 100644 --- a/resources/GEOMCatalog.xml.in +++ b/resources/GEOMCatalog.xml.in @@ -8,6 +8,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/BooleanGUI/BooleanGUI_Dialog.cxx b/src/BooleanGUI/BooleanGUI_Dialog.cxx index ad3c7195b..216809e30 100644 --- a/src/BooleanGUI/BooleanGUI_Dialog.cxx +++ b/src/BooleanGUI/BooleanGUI_Dialog.cxx @@ -147,6 +147,12 @@ void BooleanGUI_Dialog::Init() initName( mainFrame()->GroupConstructors->title() ); + setTabOrder( mainFrame()->GroupConstructors, mainFrame()->GroupBoxName ); + setTabOrder( mainFrame()->GroupBoxName, mainFrame()->GroupMedium ); + setTabOrder( mainFrame()->GroupMedium, mainFrame()->GroupButtons ); + + mainFrame()->RadioButton1->setFocus(); + globalSelection( GEOM_ALLSHAPES ); } diff --git a/src/DlgRef/DlgRef.cxx b/src/DlgRef/DlgRef.cxx index eea049df6..8acd7cc9e 100644 --- a/src/DlgRef/DlgRef.cxx +++ b/src/DlgRef/DlgRef.cxx @@ -191,6 +191,20 @@ DlgRef_1Sel4Spin::~DlgRef_1Sel4Spin() { } +////////////////////////////////////////// +// DlgRef_1Sel5Spin1Check +////////////////////////////////////////// + +DlgRef_1Sel5Spin1Check::DlgRef_1Sel5Spin1Check( QWidget* parent, Qt::WindowFlags f ) +: QWidget( parent, f ) +{ + setupUi( this ); +} + +DlgRef_1Sel5Spin1Check::~DlgRef_1Sel5Spin1Check() +{ +} + ////////////////////////////////////////// // DlgRef_1Sel5Spin ////////////////////////////////////////// diff --git a/src/DlgRef/DlgRef.h b/src/DlgRef/DlgRef.h index 91266adfe..f3f42a6cf 100644 --- a/src/DlgRef/DlgRef.h +++ b/src/DlgRef/DlgRef.h @@ -226,6 +226,22 @@ public: ~DlgRef_1Sel4Spin(); }; +////////////////////////////////////////// +// DlgRef_1Sel5Spin1Check +////////////////////////////////////////// + +#include "ui_DlgRef_1Sel5Spin1Check_QTD.h" + +class DLGREF_EXPORT DlgRef_1Sel5Spin1Check : public QWidget, + public Ui::DlgRef_1Sel5Spin1Check_QTD +{ + Q_OBJECT + +public: + DlgRef_1Sel5Spin1Check( QWidget* = 0, Qt::WindowFlags = 0 ); + ~DlgRef_1Sel5Spin1Check(); +}; + ////////////////////////////////////////// // DlgRef_1Sel5Spin ////////////////////////////////////////// diff --git a/src/DlgRef/DlgRef_1Sel1Spin_QTD.ui b/src/DlgRef/DlgRef_1Sel1Spin_QTD.ui index 09c6d0baf..7c8dc2145 100644 --- a/src/DlgRef/DlgRef_1Sel1Spin_QTD.ui +++ b/src/DlgRef/DlgRef_1Sel1Spin_QTD.ui @@ -13,10 +13,22 @@ - + 0 - + + 0 + + + 0 + + + 0 + + + 0 + + 0 @@ -25,18 +37,28 @@ - + 9 - + + 9 + + + 9 + + + 9 + + + 6 + + 6 - - 0 - 0 + 0 0 @@ -55,9 +77,7 @@ - - 0 - 0 + 0 0 @@ -70,9 +90,7 @@ - - 0 - 0 + 0 0 @@ -95,6 +113,11 @@ qPixmapFromMimeSource + + PushButton1 + LineEdit1 + SpinBox_DX + diff --git a/src/DlgRef/DlgRef_1Sel3Spin_QTD.ui b/src/DlgRef/DlgRef_1Sel3Spin_QTD.ui index b24ce527e..43a348546 100644 --- a/src/DlgRef/DlgRef_1Sel3Spin_QTD.ui +++ b/src/DlgRef/DlgRef_1Sel3Spin_QTD.ui @@ -13,10 +13,22 @@ - + 0 - + + 0 + + + 0 + + + 0 + + + 6 + + 6 @@ -25,10 +37,22 @@ - + 9 - + + 9 + + + 9 + + + 9 + + + 6 + + 6 @@ -43,9 +67,7 @@ - - 0 - 0 + 0 0 @@ -61,9 +83,7 @@ - - 0 - 0 + 0 0 @@ -79,9 +99,7 @@ - - 0 - 0 + 0 0 @@ -100,9 +118,7 @@ - - 0 - 0 + 0 0 @@ -118,9 +134,7 @@ - - 0 - 0 + 0 0 @@ -137,6 +151,13 @@ qPixmapFromMimeSource + + PushButton1 + LineEdit1 + SpinBox_DX + SpinBox_DY + SpinBox_DZ + diff --git a/src/DlgRef/DlgRef_1Sel4Spin_QTD.ui b/src/DlgRef/DlgRef_1Sel4Spin_QTD.ui index 95a35fc01..dc922e69b 100644 --- a/src/DlgRef/DlgRef_1Sel4Spin_QTD.ui +++ b/src/DlgRef/DlgRef_1Sel4Spin_QTD.ui @@ -13,10 +13,22 @@ - + 0 - + + 0 + + + 0 + + + 0 + + + 6 + + 6 @@ -25,18 +37,28 @@ - + + 9 + + + 9 + + + 9 + + 9 - + + 6 + + 6 - - 0 - 0 + 0 0 @@ -58,18 +80,25 @@ - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + - - 0 - 0 + 0 0 @@ -88,9 +117,7 @@ - - 0 - 0 + 0 0 @@ -109,9 +136,7 @@ - - 0 - 0 + 0 0 @@ -136,9 +161,7 @@ - - 0 - 0 + 0 0 @@ -151,9 +174,7 @@ - - 0 - 0 + 0 0 @@ -173,6 +194,14 @@ qPixmapFromMimeSource + + PushButton1 + LineEdit1 + SpinBox_DX + SpinBox_DY + SpinBox_DZ + SpinBox_S + diff --git a/src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.ui b/src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.ui new file mode 100644 index 000000000..f6bd86ae1 --- /dev/null +++ b/src/DlgRef/DlgRef_1Sel5Spin1Check_QTD.ui @@ -0,0 +1,189 @@ + + DlgRef_1Sel5Spin1Check_QTD + + + + 0 + 0 + 165 + 125 + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + + + + + + 0 + 0 + + + + TL1 + + + false + + + + + + + + 0 + 0 + + + + + + + + + + + + + + + + + 0 + 0 + + + + TL2 + + + false + + + + + + + + + + + 0 + 0 + + + + TL3 + + + false + + + + + + + + + + + 0 + 0 + + + + TL5 + + + false + + + + + + + + + + + 0 + 0 + + + + TL6 + + + false + + + + + + + + + + + 0 + 0 + + + + TL4 + + + false + + + + + + + + + + + + + + + + + + + + + + PushButton1 + LineEdit1 + SpinBox1 + SpinBox2 + SpinBox4 + SpinBox5 + SpinBox3 + CheckBox1 + + + + diff --git a/src/DlgRef/DlgRef_3Spin_QTD.ui b/src/DlgRef/DlgRef_3Spin_QTD.ui index 30bca472d..8eab2dbf2 100644 --- a/src/DlgRef/DlgRef_3Spin_QTD.ui +++ b/src/DlgRef/DlgRef_3Spin_QTD.ui @@ -13,10 +13,22 @@ - + 0 - + + 0 + + + 0 + + + 0 + + + 0 + + 0 @@ -25,10 +37,22 @@ - + 9 - + + 9 + + + 9 + + + 9 + + + 6 + + 6 @@ -43,9 +67,7 @@ - - 0 - 0 + 0 0 @@ -61,9 +83,7 @@ - - 0 - 0 + 0 0 @@ -79,9 +99,7 @@ - - 0 - 0 + 0 0 @@ -101,6 +119,11 @@ qPixmapFromMimeSource + + SpinBox_DX + SpinBox_DY + SpinBox_DZ + diff --git a/src/DlgRef/DlgRef_Skeleton_QTD.ui b/src/DlgRef/DlgRef_Skeleton_QTD.ui index a249ecde2..251a15235 100644 --- a/src/DlgRef/DlgRef_Skeleton_QTD.ui +++ b/src/DlgRef/DlgRef_Skeleton_QTD.ui @@ -13,18 +13,28 @@ - + 9 - + + 9 + + + 9 + + + 9 + + + 6 + + 6 - - 5 - 0 + 0 0 @@ -33,12 +43,21 @@ Result name - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + @@ -58,9 +77,7 @@ - - 5 - 0 + 0 0 @@ -69,12 +86,21 @@ - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + @@ -109,9 +135,7 @@ - - 7 - 0 + 0 0 @@ -120,12 +144,21 @@ - - 9 - 6 + + 9 + + + 9 + + + 9 + + + 9 + @@ -176,9 +209,7 @@ - - 7 - 7 + 0 0 @@ -187,6 +218,17 @@ + + RadioButton1 + RadioButton2 + RadioButton3 + RadioButton4 + ResultName + buttonOk + buttonApply + buttonCancel + buttonHelp + diff --git a/src/DlgRef/Makefile.am b/src/DlgRef/Makefile.am index a99e7bbcd..62716c8d8 100644 --- a/src/DlgRef/Makefile.am +++ b/src/DlgRef/Makefile.am @@ -50,6 +50,7 @@ UIC_FILES = \ ui_DlgRef_1Sel3Check_QTD.h \ ui_DlgRef_1Sel3Spin_QTD.h \ ui_DlgRef_1Sel4Spin_QTD.h \ + ui_DlgRef_1Sel5Spin1Check_QTD.h \ ui_DlgRef_1Sel5Spin_QTD.h \ ui_DlgRef_1Sel_QTD.h \ ui_DlgRef_1SelExt_QTD.h \ diff --git a/src/EntityGUI/EntityGUI_SubShapeDlg.cxx b/src/EntityGUI/EntityGUI_SubShapeDlg.cxx index 44927437b..d13fadff7 100644 --- a/src/EntityGUI/EntityGUI_SubShapeDlg.cxx +++ b/src/EntityGUI/EntityGUI_SubShapeDlg.cxx @@ -518,6 +518,13 @@ GEOM::GEOM_IOperations_ptr EntityGUI_SubShapeDlg::createOperation() bool EntityGUI_SubShapeDlg::isValid( QString& msg ) { bool isOk = false; + Handle(SALOME_InteractiveObject) IO = firstIObject(); + Standard_Boolean testResult; + myObject = GEOMBase::ConvertIOinGEOMObject( IO, testResult ); + if ( !testResult || myObject->_is_nil() ) { + updateButtonState(); + return isOk; + } if ( !myObject->_is_nil() ) { if ( isAllSubShapes() ) isOk = true; diff --git a/src/GEOM/GEOM_Engine.cxx b/src/GEOM/GEOM_Engine.cxx index 3ac30e5ab..ec1a8a660 100644 --- a/src/GEOM/GEOM_Engine.cxx +++ b/src/GEOM/GEOM_Engine.cxx @@ -116,6 +116,25 @@ GEOM_Engine::GEOM_Engine() _UndoLimit = 10; } +/*! + * Destructor + */ +GEOM_Engine::~GEOM_Engine() +{ + GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient It(_objects); + for(; It.More(); It.Next()) + { + RemoveObject(Handle(GEOM_Object)::DownCast(It.Value())); + } + + //Close all documents not closed + for(Interface_DataMapIteratorOfDataMapOfIntegerTransient anItr(_mapIDDocument); anItr.More(); anItr.Next()) + Close(anItr.Key()); + + _mapIDDocument.Clear(); + _objects.Clear(); +} + //============================================================================= /*! * GetDocument @@ -176,18 +195,33 @@ Handle(GEOM_Object) GEOM_Engine::GetObject(int theDocID, char* theEntry) //============================================================================= Handle(GEOM_Object) GEOM_Engine::AddObject(int theDocID, int theType) { - Handle(TDocStd_Document) aDoc = GetDocument(theDocID); - Handle(TDataStd_TreeNode) aRoot = TDataStd_TreeNode::Set(aDoc->Main()); + Handle(TDocStd_Document) aDoc = GetDocument(theDocID); + Handle(TDataStd_TreeNode) aRoot = TDataStd_TreeNode::Set(aDoc->Main()); - TDF_Label aChild = TDF_TagSource::NewChild(aDoc->Main()); - Handle(GEOM_Object) anObject = new GEOM_Object(aChild, theType); + // NPAL18604: use existing label to decrease memory usage, + // if this label has been freed (object deleted) + bool useExisting = false; + TDF_Label aChild; + if (!_lastCleared.IsNull()) { + if (_lastCleared.Root() == aDoc->Main().Root()) { + useExisting = true; + aChild = _lastCleared; + _lastCleared.Nullify(); + } + } + if (!useExisting) { + // create new label + aChild = TDF_TagSource::NewChild(aDoc->Main()); + } + + Handle(GEOM_Object) anObject = new GEOM_Object(aChild, theType); - //Put an object in the map of created objects - TCollection_AsciiString anID = BuildIDFromObject(anObject); - if(_objects.IsBound(anID)) _objects.UnBind(anID); - _objects.Bind(anID, anObject); + //Put an object in the map of created objects + TCollection_AsciiString anID = BuildIDFromObject(anObject); + if(_objects.IsBound(anID)) _objects.UnBind(anID); + _objects.Bind(anID, anObject); - return anObject; + return anObject; } //============================================================================= @@ -204,7 +238,21 @@ Handle(GEOM_Object) GEOM_Engine::AddSubShape(Handle(GEOM_Object) theMainShape, Handle(TDocStd_Document) aDoc = GetDocument(theMainShape->GetDocID()); Handle(TDataStd_TreeNode) aRoot = TDataStd_TreeNode::Set(aDoc->Main()); - TDF_Label aChild = TDF_TagSource::NewChild(aDoc->Main()); + // NPAL18604: use existing label to decrease memory usage, + // if this label has been freed (object deleted) + bool useExisting = false; + TDF_Label aChild; + if (!_lastCleared.IsNull()) { + if (_lastCleared.Root() == aDoc->Main().Root()) { + useExisting = true; + aChild = _lastCleared; + _lastCleared.Nullify(); + } + } + if (!useExisting) { + // create new label + aChild = TDF_TagSource::NewChild(aDoc->Main()); + } Handle(GEOM_Function) aMainShape = theMainShape->GetLastFunction(); Handle(GEOM_Object) anObject = new GEOM_Object(aChild, 28); //28 is SUBSHAPE type @@ -258,22 +306,23 @@ Handle(GEOM_Object) GEOM_Engine::AddSubShape(Handle(GEOM_Object) theMainShape, //============================================================================= bool GEOM_Engine::RemoveObject(Handle(GEOM_Object) theObject) { - if(!theObject) return false; + if (!theObject) return false; //Remove an object from the map of available objects TCollection_AsciiString anID = BuildIDFromObject(theObject); - if(_objects.IsBound(anID)) _objects.UnBind(anID); + if (_objects.IsBound(anID)) _objects.UnBind(anID); int nb = theObject->GetNbFunctions(); Handle(TDataStd_TreeNode) aNode; - for(int i = 1; i<=nb; i++) { + for (int i = 1; i<=nb; i++) { Handle(GEOM_Function) aFunction = theObject->GetFunction(i); - if(aFunction->GetEntry().FindAttribute(GEOM_Function::GetFunctionTreeID(), aNode)) + if (aFunction->GetEntry().FindAttribute(GEOM_Function::GetFunctionTreeID(), aNode)) aNode->Remove(); } TDF_Label aLabel = theObject->GetEntry(); aLabel.ForgetAllAttributes(Standard_True); + _lastCleared = aLabel; theObject.Nullify(); @@ -344,20 +393,22 @@ bool GEOM_Engine::Load(int theDocID, char* theFileName) //============================================================================= void GEOM_Engine::Close(int theDocID) { - if(_mapIDDocument.IsBound(theDocID)) { + if (_mapIDDocument.IsBound(theDocID)) { Handle(TDocStd_Document) aDoc = Handle(TDocStd_Document)::DownCast(_mapIDDocument(theDocID)); //Remove all GEOM Objects associated to the given document TColStd_SequenceOfAsciiString aSeq; - GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient It(_objects); - for(; It.More(); It.Next()) { - TCollection_AsciiString anObjID(It.Key()); + GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient It (_objects); + for (; It.More(); It.Next()) { + TCollection_AsciiString anObjID (It.Key()); Standard_Integer anID = ExtractDocID(anObjID); - if(theDocID == anID) aSeq.Append(It.Key()); + if (theDocID == anID) aSeq.Append(It.Key()); } - for(Standard_Integer i=1; i<=aSeq.Length(); i++) _objects.UnBind(aSeq.Value(i)); + for (Standard_Integer i=1; i<=aSeq.Length(); i++) _objects.UnBind(aSeq.Value(i)); + + _lastCleared.Nullify(); - _mapIDDocument.UnBind(theDocID); + _mapIDDocument.UnBind(theDocID); _OCAFApp->Close(aDoc); aDoc.Nullify(); } diff --git a/src/GEOM/GEOM_Engine.hxx b/src/GEOM/GEOM_Engine.hxx index 662bd242f..ab6b82821 100644 --- a/src/GEOM/GEOM_Engine.hxx +++ b/src/GEOM/GEOM_Engine.hxx @@ -30,12 +30,13 @@ #include #include #include +#include class GEOM_Engine { public: Standard_EXPORT GEOM_Engine(); - Standard_EXPORT ~GEOM_Engine() { _mapIDDocument.Clear(); _objects.Clear(); } + Standard_EXPORT virtual ~GEOM_Engine(); //Retuns the engine Standard_EXPORT static GEOM_Engine* GetEngine(); @@ -101,6 +102,8 @@ class GEOM_Engine GEOM_DataMapOfAsciiStringTransient _objects; Resource_DataMapOfAsciiStringAsciiString _studyEntry2NameMap; + + TDF_Label _lastCleared; }; #endif diff --git a/src/GEOM/GEOM_Gen_i.cc b/src/GEOM/GEOM_Gen_i.cc index 5e85a6195..f07429df9 100644 --- a/src/GEOM/GEOM_Gen_i.cc +++ b/src/GEOM/GEOM_Gen_i.cc @@ -3014,7 +3014,8 @@ GEOM::GEOM_Shape_ptr GEOM_Gen_i::MakeFilling(GEOM::GEOM_Shape_ptr myShape, CORBA::Short maxdeg, CORBA::Double tol3d, CORBA::Double tol2d, - CORBA::Short nbiter) + CORBA::Short nbiter, + CORBA::Boolean theApprox) throw (SALOME::SALOME_Exception) { Unexpect aCatch(SALOME_SalomeException); @@ -3053,7 +3054,7 @@ GEOM::GEOM_Shape_ptr GEOM_Gen_i::MakeFilling(GEOM::GEOM_Shape_ptr myShape, Handle(GeomFill_Line) Line = new GeomFill_Line(i) ; GeomFill_AppSurf App(mindeg, maxdeg, tol3d, tol2d, nbiter) ; /* user parameters */ - App.Perform(Line, Section) ; + App.Perform(Line, Section, theApprox) ; if (!App.IsDone()) { THROW_SALOME_CORBA_EXCEPTION("Filling aborted : non valid shape result", SALOME::BAD_PARAM); diff --git a/src/GEOMGUI/GEOM_msg_en.ts b/src/GEOMGUI/GEOM_msg_en.ts index e2e290bc7..4986a79c2 100644 --- a/src/GEOMGUI/GEOM_msg_en.ts +++ b/src/GEOMGUI/GEOM_msg_en.ts @@ -3430,6 +3430,10 @@ GEOM_RESULT_NAME_LBL Name + + GEOM_FILLING_APPROX + Approximation + BasicGUI_MarkerDlg diff --git a/src/GEOMImpl/GEOMImpl_BoxDriver.cxx b/src/GEOMImpl/GEOMImpl_BoxDriver.cxx index 16e26a843..f35350788 100644 --- a/src/GEOMImpl/GEOMImpl_BoxDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_BoxDriver.cxx @@ -86,6 +86,12 @@ Standard_Integer GEOMImpl_BoxDriver::Execute(TFunction_Logbook& log) const aShape2.ShapeType() == TopAbs_VERTEX) { gp_Pnt P1 = BRep_Tool::Pnt(TopoDS::Vertex(aShape1)); gp_Pnt P2 = BRep_Tool::Pnt(TopoDS::Vertex(aShape2)); + + if (P1.X() == P2.X() || P1.Y() == P2.Y() || P1.Z() == P2.Z()) { + StdFail_NotDone::Raise("Box can not be created, the points belong to the same plane"); + return 0; + } + BRepPrimAPI_MakeBox MB (P1,P2); MB.Build(); diff --git a/src/GEOMImpl/GEOMImpl_FillingDriver.cxx b/src/GEOMImpl/GEOMImpl_FillingDriver.cxx index f37a2176a..d17febfd2 100644 --- a/src/GEOMImpl/GEOMImpl_FillingDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_FillingDriver.cxx @@ -88,6 +88,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const Standard_Real tol3d = IF.GetTol2D(); Standard_Real tol2d = IF.GetTol3D(); Standard_Integer nbiter = IF.GetNbIter(); + Standard_Boolean isApprox = IF.GetApprox(); if (mindeg > maxdeg) { Standard_RangeError::Raise("Minimal degree can not be more than maximal degree"); @@ -115,7 +116,7 @@ Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const Handle(GeomFill_Line) Line = new GeomFill_Line(i); GeomFill_AppSurf App (mindeg, maxdeg, tol3d, tol2d, nbiter); /* user parameters */ - App.Perform(Line, Section); + App.Perform(Line, Section, isApprox); if (!App.IsDone()) return 0; Standard_Integer UDegree, VDegree, NbUPoles, NbVPoles, NbUKnots, NbVKnots; diff --git a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx index 6eefda984..a1c554544 100644 --- a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.cxx @@ -1110,7 +1110,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeSolidShell (Handle(GEOM_Obje //============================================================================= Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling (Handle(GEOM_Object) theShape, int theMinDeg, int theMaxDeg, - double theTol2D, double theTol3D, int theNbIter) + double theTol2D, double theTol3D, int theNbIter, bool isApprox) { SetErrorCode(KO); @@ -1138,6 +1138,7 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling aFI.SetTol2D(theTol2D); aFI.SetTol3D(theTol3D); aFI.SetNbIter(theNbIter); + aFI.SetApprox(isApprox); //Compute the Solid value try { @@ -1159,9 +1160,13 @@ Handle(GEOM_Object) GEOMImpl_I3DPrimOperations::MakeFilling } //Make a Python command - GEOM::TPythonDump(aFunction) << aFilling << " = geompy.MakeFilling(" + GEOM::TPythonDump pd (aFunction); + pd << aFilling << " = geompy.MakeFilling(" << theShape << ", " << theMinDeg << ", " << theMaxDeg << ", " - << theTol2D << ", " << theTol3D << ", " << theNbIter << ")"; + << theTol2D << ", " << theTol3D << ", " << theNbIter; + if(isApprox) + pd << ", " << isApprox; + pd << ")"; SetErrorCode(OK); return aFilling; diff --git a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx index f87ddd5d5..5f1f52f36 100644 --- a/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx +++ b/src/GEOMImpl/GEOMImpl_I3DPrimOperations.hxx @@ -83,7 +83,7 @@ class GEOMImpl_I3DPrimOperations : public GEOM_IOperations { Standard_EXPORT Handle(GEOM_Object) MakeSolidShell (Handle(GEOM_Object) theShell); - Standard_EXPORT Handle(GEOM_Object) MakeFilling (Handle(GEOM_Object) theShape, int theMinDeg, int theMaxDeg, double theTol2D, double theTol3D, int theNbIter); + Standard_EXPORT Handle(GEOM_Object) MakeFilling (Handle(GEOM_Object) theShape, int theMinDeg, int theMaxDeg, double theTol2D, double theTol3D, int theNbIter, bool isApprox); Standard_EXPORT Handle(GEOM_Object) MakeThruSections(const Handle(TColStd_HSequenceOfTransient)& theSeqSections, bool theModeSolid, diff --git a/src/GEOMImpl/GEOMImpl_IFilling.hxx b/src/GEOMImpl/GEOMImpl_IFilling.hxx index d4269bf19..f8fbae645 100644 --- a/src/GEOMImpl/GEOMImpl_IFilling.hxx +++ b/src/GEOMImpl/GEOMImpl_IFilling.hxx @@ -28,6 +28,7 @@ #define FILL_ARG_TOL3D 4 #define FILL_ARG_SHAPE 5 #define FILL_ARG_NBITER 6 +#define FILL_ARG_APPROX 7 class GEOMImpl_IFilling { @@ -47,6 +48,9 @@ class GEOMImpl_IFilling void SetNbIter(int theNbIter) { _func->SetInteger(FILL_ARG_NBITER, theNbIter); } int GetNbIter() { return _func->GetInteger(FILL_ARG_NBITER); } + void SetApprox(bool theApprox) { _func->SetInteger(FILL_ARG_APPROX, theApprox); } + bool GetApprox() { return _func->GetInteger(FILL_ARG_APPROX); } + void SetShape(Handle(GEOM_Function) theShape) { _func->SetReference(FILL_ARG_SHAPE, theShape); } Handle(GEOM_Function) GetShape() { return _func->GetReference(FILL_ARG_SHAPE); } diff --git a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx index 4f09b784d..b2b8dc364 100644 --- a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx @@ -638,7 +638,7 @@ Handle(TColStd_HSequenceOfTransient) GEOMImpl_IShapesOperations::GetGlueFaces Handle(GEOM_Function) aFunction = theShape->GetLastFunction(); GEOM::TPythonDump pd (aFunction, /*append=*/true); pd << "[" << anAsciiList.ToCString(); - pd << "] = geompy.GetGlueFaces" << theShape << ", " << theTolerance << ")"; + pd << "] = geompy.GetGlueFaces(" << theShape << ", " << theTolerance << ")"; SetErrorCode(OK); diff --git a/src/GEOMImpl/GEOMImpl_RotateDriver.cxx b/src/GEOMImpl/GEOMImpl_RotateDriver.cxx index 94f949129..c6655fa58 100644 --- a/src/GEOMImpl/GEOMImpl_RotateDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_RotateDriver.cxx @@ -1,18 +1,18 @@ // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either +// License as published by the Free Software Foundation; either // version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com @@ -49,48 +49,48 @@ //======================================================================= //function : GetID //purpose : -//======================================================================= +//======================================================================= const Standard_GUID& GEOMImpl_RotateDriver::GetID() { static Standard_GUID aRotateDriver("FF1BBB56-5D14-4df2-980B-3A668264EA16"); - return aRotateDriver; + return aRotateDriver; } //======================================================================= //function : GEOMImpl_RotateDriver -//purpose : +//purpose : //======================================================================= -GEOMImpl_RotateDriver::GEOMImpl_RotateDriver() +GEOMImpl_RotateDriver::GEOMImpl_RotateDriver() { } //======================================================================= //function : Execute //purpose : -//======================================================================= +//======================================================================= Standard_Integer GEOMImpl_RotateDriver::Execute(TFunction_Logbook& log) const { - if(Label().IsNull()) return 0; + if (Label().IsNull()) return 0; Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label()); - if(aFunction.IsNull()) return 0; + if (aFunction.IsNull()) return 0; GEOMImpl_IRotate RI(aFunction); gp_Trsf aTrsf; gp_Pnt aCP, aP1, aP2; Standard_Integer aType = aFunction->GetType(); Handle(GEOM_Function) anOriginalFunction = RI.GetOriginal(); - if(anOriginalFunction.IsNull()) return 0; + if (anOriginalFunction.IsNull()) return 0; TopoDS_Shape aShape, anOriginal = anOriginalFunction->GetValue(); - if(anOriginal.IsNull()) return 0; + if (anOriginal.IsNull()) return 0; - if(aType == ROTATE || aType == ROTATE_COPY) { + if (aType == ROTATE || aType == ROTATE_COPY) { Handle(GEOM_Function) anAxis = RI.GetAxis(); - if(anAxis.IsNull()) return 0; + if (anAxis.IsNull()) return 0; TopoDS_Shape A = anAxis->GetValue(); - if(A.IsNull() || A.ShapeType() != TopAbs_EDGE) return 0; + if (A.IsNull() || A.ShapeType() != TopAbs_EDGE) return 0; TopoDS_Edge anEdge = TopoDS::Edge(A); gp_Pnt aP1 = BRep_Tool::Pnt(TopExp::FirstVertex(anEdge)); @@ -99,11 +99,17 @@ Standard_Integer GEOMImpl_RotateDriver::Execute(TFunction_Logbook& log) const gp_Ax1 anAx1(aP1, aDir); Standard_Real anAngle = RI.GetAngle(); aTrsf.SetRotation(anAx1, anAngle); - - BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); - aShape = aTransformation.Shape(); + + //NPAL18620: performance problem: multiple locations are accumulated + // in shape and need a great time to process + //BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); + //aShape = aTransformation.Shape(); + TopLoc_Location aLocOrig = anOriginal.Location(); + gp_Trsf aTrsfOrig = aLocOrig.Transformation(); + TopLoc_Location aLocRes (aTrsf * aTrsfOrig); + aShape = anOriginal.Located(aLocRes); } - else if(aType == ROTATE_THREE_POINTS || aType == ROTATE_THREE_POINTS_COPY) { + else if (aType == ROTATE_THREE_POINTS || aType == ROTATE_THREE_POINTS_COPY) { Handle(GEOM_Function) aCentPoint = RI.GetCentPoint(); Handle(GEOM_Function) aPoint1 = RI.GetPoint1(); Handle(GEOM_Function) aPoint2 = RI.GetPoint2(); @@ -125,10 +131,16 @@ Standard_Integer GEOMImpl_RotateDriver::Execute(TFunction_Logbook& log) const gp_Ax1 anAx1(aCP, aDir); Standard_Real anAngle = aVec1.Angle(aVec2); aTrsf.SetRotation(anAx1, anAngle); - BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); - aShape = aTransformation.Shape(); + //NPAL18620: performance problem: multiple locations are accumulated + // in shape and need a great time to process + //BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); + //aShape = aTransformation.Shape(); + TopLoc_Location aLocOrig = anOriginal.Location(); + gp_Trsf aTrsfOrig = aLocOrig.Transformation(); + TopLoc_Location aLocRes (aTrsf * aTrsfOrig); + aShape = anOriginal.Located(aLocRes); } - else if(aType == ROTATE_1D) { + else if (aType == ROTATE_1D) { //Get direction Handle(GEOM_Function) anAxis = RI.GetAxis(); if(anAxis.IsNull()) return 0; @@ -138,27 +150,34 @@ Standard_Integer GEOMImpl_RotateDriver::Execute(TFunction_Logbook& log) const gp_Pnt aP1 = BRep_Tool::Pnt(TopExp::FirstVertex(anEdge)); gp_Pnt aP2 = BRep_Tool::Pnt(TopExp::LastVertex(anEdge)); - gp_Dir D(gp_Vec(aP1, aP2)) ; + gp_Dir D(gp_Vec(aP1, aP2)); - gp_Ax1 AX1(aP1, D) ; + gp_Ax1 AX1(aP1, D); Standard_Integer nbtimes = RI.GetNbIter1(); - Standard_Real angle = 360.0/nbtimes ; + Standard_Real angle = 360.0/nbtimes; TopoDS_Compound aCompound; BRep_Builder B; B.MakeCompound( aCompound ); - + + TopLoc_Location aLocOrig = anOriginal.Location(); + gp_Trsf aTrsfOrig = aLocOrig.Transformation(); + for (int i = 0; i < nbtimes; i++ ) { - aTrsf.SetRotation(AX1, i*angle*PI180) ; - BRepBuilderAPI_Transform myBRepTransformation(anOriginal, aTrsf, Standard_False) ; - B.Add( aCompound, myBRepTransformation.Shape() ); + aTrsf.SetRotation(AX1, i*angle*PI180); + //NPAL18620: performance problem: multiple locations are accumulated + // in shape and need a great time to process + //BRepBuilderAPI_Transform aBRepTransformation(anOriginal, aTrsf, Standard_False); + //B.Add(aCompound, aBRepTransformation.Shape()); + TopLoc_Location aLocRes (aTrsf * aTrsfOrig); + B.Add(aCompound, anOriginal.Located(aLocRes)); } - aShape = aCompound ; + aShape = aCompound; } - else if(aType == ROTATE_2D) { - Standard_Real DX, DY, DZ ; + else if (aType == ROTATE_2D) { + Standard_Real DX, DY, DZ; //Get direction Handle(GEOM_Function) anAxis = RI.GetAxis(); @@ -168,77 +187,81 @@ Standard_Integer GEOMImpl_RotateDriver::Execute(TFunction_Logbook& log) const TopoDS_Edge anEdge = TopoDS::Edge(A); gp_Pnt aP1 = BRep_Tool::Pnt(TopExp::FirstVertex(anEdge)); gp_Pnt aP2 = BRep_Tool::Pnt(TopExp::LastVertex(anEdge)); - gp_Dir D(gp_Vec(aP1, aP2)) ; + gp_Dir D(gp_Vec(aP1, aP2)); + + gp_Ax1 AX1(aP1, D); - gp_Ax1 AX1(aP1, D) ; + gp_Trsf aTrsf1; + gp_Trsf aTrsf2; + gp_Pnt P1; + GProp_GProps System; - gp_Trsf theTransformation1 ; - gp_Trsf theTransformation2 ; - gp_Pnt P1 ; - GProp_GProps System ; - - if ( anOriginal.ShapeType() == TopAbs_VERTEX) { + if (anOriginal.ShapeType() == TopAbs_VERTEX) { P1 = BRep_Tool::Pnt(TopoDS::Vertex( anOriginal )); - } + } else if ( anOriginal.ShapeType() == TopAbs_EDGE || anOriginal.ShapeType() == TopAbs_WIRE ) { BRepGProp::LinearProperties(anOriginal, System); - P1 = System.CentreOfMass() ; + P1 = System.CentreOfMass(); } else if ( anOriginal.ShapeType() == TopAbs_FACE || anOriginal.ShapeType() == TopAbs_SHELL ) { BRepGProp::SurfaceProperties(anOriginal, System); - P1 = System.CentreOfMass() ; + P1 = System.CentreOfMass(); } else { BRepGProp::VolumeProperties(anOriginal, System); - P1 = System.CentreOfMass() ; + P1 = System.CentreOfMass(); } - + Handle(Geom_Line) Line = new Geom_Line(AX1); - GeomAPI_ProjectPointOnCurve aPrjTool( P1, Line ) ; + GeomAPI_ProjectPointOnCurve aPrjTool( P1, Line ); gp_Pnt P2 = aPrjTool.NearestPoint(); - + if ( P1.IsEqual(P2, Precision::Confusion() ) ) return 0; - - gp_Vec Vec(P1.X()-P2.X(), P1.Y()-P2.Y(), P1.Z()-P2.Z()) ; + + gp_Vec Vec(P1.X()-P2.X(), P1.Y()-P2.Y(), P1.Z()-P2.Z()); Vec.Normalize(); - + Standard_Integer nbtimes2 = RI.GetNbIter2(); Standard_Integer nbtimes1 = RI.GetNbIter1(); Standard_Real step = RI.GetStep(); Standard_Real ang = RI.GetAngle(); - gp_Vec myVec ; + TopLoc_Location aLocOrig = anOriginal.Location(); + gp_Trsf aTrsfOrig = aLocOrig.Transformation(); + + gp_Vec aVec; TopoDS_Compound aCompound; BRep_Builder B; B.MakeCompound( aCompound ); for (int i = 0; i < nbtimes2; i++ ) { for (int j = 0; j < nbtimes1; j++ ) { - DX = i * step * Vec.X() ; - DY = i * step * Vec.Y() ; - DZ = i * step * Vec.Z() ; - myVec.SetCoord( DX, DY, DZ ) ; - theTransformation1.SetTranslation(myVec) ; - theTransformation2.SetRotation(AX1, j*ang*PI180) ; - BRepBuilderAPI_Transform myBRepTransformation1(anOriginal, theTransformation1, Standard_False) ; - BRepBuilderAPI_Transform myBRepTransformation2(myBRepTransformation1.Shape(), theTransformation2, Standard_False) ; - B.Add( aCompound, myBRepTransformation2.Shape() ); + DX = i * step * Vec.X(); + DY = i * step * Vec.Y(); + DZ = i * step * Vec.Z(); + aVec.SetCoord( DX, DY, DZ ); + aTrsf1.SetTranslation(aVec); + aTrsf2.SetRotation(AX1, j*ang*PI180); + //NPAL18620: performance problem: multiple locations are accumulated + // in shape and need a great time to process + //BRepBuilderAPI_Transform aBRepTrsf1 (anOriginal, aTrsf1, Standard_False); + //BRepBuilderAPI_Transform aBRepTrsf2 (aBRepTrsf1.Shape(), aTrsf2, Standard_False); + //B.Add(aCompound, aBRepTrsf2.Shape()); + TopLoc_Location aLocRes (aTrsf2 * aTrsf1 * aTrsfOrig); + B.Add(aCompound, anOriginal.Located(aLocRes)); } } aShape = aCompound; - } else return 0; - - if (aShape.IsNull()) return 0; aFunction->SetValue(aShape); - log.SetTouched(Label()); + log.SetTouched(Label()); return 1; } @@ -247,17 +270,15 @@ Standard_Integer GEOMImpl_RotateDriver::Execute(TFunction_Logbook& log) const //======================================================================= //function : GEOMImpl_RotateDriver_Type_ //purpose : -//======================================================================= +//======================================================================= Standard_EXPORT Handle_Standard_Type& GEOMImpl_RotateDriver_Type_() { - static Handle_Standard_Type aType1 = STANDARD_TYPE(TFunction_Driver); if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TFunction_Driver); static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared); - if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); + if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient); if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient); - static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL}; static Handle_Standard_Type _aType = new Standard_Type("GEOMImpl_RotateDriver", @@ -272,8 +293,7 @@ Standard_EXPORT Handle_Standard_Type& GEOMImpl_RotateDriver_Type_() //======================================================================= //function : DownCast //purpose : -//======================================================================= - +//======================================================================= const Handle(GEOMImpl_RotateDriver) Handle(GEOMImpl_RotateDriver)::DownCast(const Handle(Standard_Transient)& AnObject) { Handle(GEOMImpl_RotateDriver) _anOtherObject; @@ -284,7 +304,5 @@ const Handle(GEOMImpl_RotateDriver) Handle(GEOMImpl_RotateDriver)::DownCast(cons } } - return _anOtherObject ; + return _anOtherObject; } - - diff --git a/src/GEOMImpl/GEOMImpl_ShapeDriver.cxx b/src/GEOMImpl/GEOMImpl_ShapeDriver.cxx index 4343903d5..349b59f09 100644 --- a/src/GEOMImpl/GEOMImpl_ShapeDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_ShapeDriver.cxx @@ -147,7 +147,7 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const aFW->Load(aWire); aFW->FixReorder(); - if (aFW->StatusReorder(ShapeExtend_FAIL1)) { + if (aFW->StatusReorder(ShapeExtend_FAIL1)) { Standard_ConstructionError::Raise("Wire construction failed: several loops detected"); } else if (aFW->StatusReorder(ShapeExtend_FAIL)) { Standard_ConstructionError::Raise("Wire construction failed"); @@ -155,6 +155,13 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const Standard_ConstructionError::Raise("Wire construction failed: some gaps detected"); } else { } + + aFW->ClosedWireMode() = Standard_False; + aFW->FixConnected(); + if (aFW->StatusConnected(ShapeExtend_FAIL)) { + Standard_ConstructionError::Raise("Wire construction failed: cannot build connected wire"); + } + aShape = aFW->WireAPIMake(); } } diff --git a/src/GEOMImpl/GEOMImpl_TranslateDriver.cxx b/src/GEOMImpl/GEOMImpl_TranslateDriver.cxx index 8bc498a2a..ad967865b 100644 --- a/src/GEOMImpl/GEOMImpl_TranslateDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_TranslateDriver.cxx @@ -1,18 +1,18 @@ // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either +// License as published by the Free Software Foundation; either // version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com @@ -42,33 +42,33 @@ //======================================================================= //function : GetID //purpose : -//======================================================================= +//======================================================================= const Standard_GUID& GEOMImpl_TranslateDriver::GetID() { static Standard_GUID aTranslateDriver("FF1BBB03-5D14-4df2-980B-3A668264EA16"); - return aTranslateDriver; + return aTranslateDriver; } //======================================================================= //function : GEOMImpl_TranslateDriver -//purpose : +//purpose : //======================================================================= -GEOMImpl_TranslateDriver::GEOMImpl_TranslateDriver() +GEOMImpl_TranslateDriver::GEOMImpl_TranslateDriver() { } //======================================================================= //function : Execute //purpose : -//======================================================================= +//======================================================================= Standard_Integer GEOMImpl_TranslateDriver::Execute(TFunction_Logbook& log) const { - if(Label().IsNull()) return 0; + if (Label().IsNull()) return 0; Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label()); - if(aFunction.IsNull()) return 0; + if (aFunction.IsNull()) return 0; GEOMImpl_ITranslate TI(aFunction); gp_Trsf aTrsf; @@ -76,11 +76,11 @@ Standard_Integer GEOMImpl_TranslateDriver::Execute(TFunction_Logbook& log) const Standard_Integer aType = aFunction->GetType(); Handle(GEOM_Function) anOriginalFunction = TI.GetOriginal(); - if(anOriginalFunction.IsNull()) return 0; + if (anOriginalFunction.IsNull()) return 0; TopoDS_Shape aShape, anOriginal = anOriginalFunction->GetValue(); - if(anOriginal.IsNull()) return 0; + if (anOriginal.IsNull()) return 0; - if(aType == TRANSLATE_TWO_POINTS || aType == TRANSLATE_TWO_POINTS_COPY) { + if (aType == TRANSLATE_TWO_POINTS || aType == TRANSLATE_TWO_POINTS_COPY) { Handle(GEOM_Function) aPoint1 = TI.GetPoint1(); Handle(GEOM_Function) aPoint2 = TI.GetPoint2(); if(aPoint1.IsNull() || aPoint2.IsNull()) return 0; @@ -93,10 +93,16 @@ Standard_Integer GEOMImpl_TranslateDriver::Execute(TFunction_Logbook& log) const aP2 = BRep_Tool::Pnt(TopoDS::Vertex(aV2)); aTrsf.SetTranslation(aP1, aP2); - BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); - aShape = aTransformation.Shape(); - - } else if(aType == TRANSLATE_VECTOR || aType == TRANSLATE_VECTOR_COPY) { + //NPAL18620: performance problem: multiple locations are accumulated + // in shape and need a great time to process + //BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); + //aShape = aTransformation.Shape(); + TopLoc_Location aLocOrig = anOriginal.Location(); + gp_Trsf aTrsfOrig = aLocOrig.Transformation(); + TopLoc_Location aLocRes (aTrsf * aTrsfOrig); + aShape = anOriginal.Located(aLocRes); + } + else if (aType == TRANSLATE_VECTOR || aType == TRANSLATE_VECTOR_COPY) { Handle(GEOM_Function) aVector = TI.GetVector(); if(aVector.IsNull()) return 0; TopoDS_Shape aV = aVector->GetValue(); @@ -107,19 +113,31 @@ Standard_Integer GEOMImpl_TranslateDriver::Execute(TFunction_Logbook& log) const aP2 = BRep_Tool::Pnt(TopExp::LastVertex(anEdge)); aTrsf.SetTranslation(aP1, aP2); - BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); - aShape = aTransformation.Shape(); + //NPAL18620: performance problem: multiple locations are accumulated + // in shape and need a great time to process + //BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); + //aShape = aTransformation.Shape(); + TopLoc_Location aLocOrig = anOriginal.Location(); + gp_Trsf aTrsfOrig = aLocOrig.Transformation(); + TopLoc_Location aLocRes (aTrsf * aTrsfOrig); + aShape = anOriginal.Located(aLocRes); } - else if(aType == TRANSLATE_XYZ || aType == TRANSLATE_XYZ_COPY) { - gp_Vec aVec(TI.GetDX(), TI.GetDY(), TI.GetDZ()); + else if (aType == TRANSLATE_XYZ || aType == TRANSLATE_XYZ_COPY) { + gp_Vec aVec (TI.GetDX(), TI.GetDY(), TI.GetDZ()); aTrsf.SetTranslation(aVec); - BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); - aShape = aTransformation.Shape(); + //NPAL18620: performance problem: multiple locations are accumulated + // in shape and need a great time to process + //BRepBuilderAPI_Transform aTransformation (anOriginal, aTrsf, Standard_False); + //aShape = aTransformation.Shape(); + TopLoc_Location aLocOrig = anOriginal.Location(); + gp_Trsf aTrsfOrig = aLocOrig.Transformation(); + TopLoc_Location aLocRes (aTrsf * aTrsfOrig); + aShape = anOriginal.Located(aLocRes); } - else if(aType == TRANSLATE_1D) { + else if (aType == TRANSLATE_1D) { Standard_Real DX, DY, DZ, step = TI.GetStep1(); Standard_Integer nbtimes = TI.GetNbIter1(); - gp_Vec myVec ; + gp_Vec aVec; TopoDS_Compound aCompound; BRep_Builder B; B.MakeCompound( aCompound ); @@ -133,21 +151,28 @@ Standard_Integer GEOMImpl_TranslateDriver::Execute(TFunction_Logbook& log) const gp_Vec Vec(BRep_Tool::Pnt(TopExp::FirstVertex(anEdge)), BRep_Tool::Pnt(TopExp::LastVertex(anEdge))); Vec.Normalize(); - for (int i = 0; i < nbtimes; i++ ) { - DX = i * step * Vec.X() ; - DY = i * step * Vec.Y() ; - DZ = i * step * Vec.Z() ; - myVec.SetCoord( DX, DY, DZ ) ; - aTrsf.SetTranslation(myVec) ; - BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False) ; - B.Add(aCompound , aTransformation.Shape() ); + TopLoc_Location aLocOrig = anOriginal.Location(); + gp_Trsf aTrsfOrig = aLocOrig.Transformation(); + + for (int i = 0; i < nbtimes; i++) { + DX = i * step * Vec.X(); + DY = i * step * Vec.Y(); + DZ = i * step * Vec.Z(); + aVec.SetCoord( DX, DY, DZ ); + aTrsf.SetTranslation(aVec); + //NPAL18620: performance problem: multiple locations are accumulated + // in shape and need a great time to process + //BRepBuilderAPI_Transform aTransformation(anOriginal, aTrsf, Standard_False); + //B.Add(aCompound, aTransformation.Shape()); + TopLoc_Location aLocRes (aTrsf * aTrsfOrig); + B.Add(aCompound, anOriginal.Located(aLocRes)); } - aShape = aCompound; + aShape = aCompound; } - else if(aType == TRANSLATE_2D) { + else if (aType == TRANSLATE_2D) { Standard_Integer nbtimes1 = TI.GetNbIter1(), nbtimes2 = TI.GetNbIter2(); Standard_Real DX, DY, DZ, step1 = TI.GetStep1(), step2 = TI.GetStep2(); - gp_Vec myVec ; + gp_Vec aVec; Handle(GEOM_Function) aVector = TI.GetVector(); if(aVector.IsNull()) return 0; TopoDS_Shape aV = aVector->GetValue(); @@ -169,29 +194,35 @@ Standard_Integer GEOMImpl_TranslateDriver::Execute(TFunction_Logbook& log) const TopoDS_Compound aCompound; BRep_Builder B; B.MakeCompound( aCompound ); - - for (int i = 0; i < nbtimes1; i++ ) { - for (int j = 0; j < nbtimes2; j++ ) { - DX = i * step1 * Vec1.X() + j * step2 * Vec2.X() ; - DY = i * step1 * Vec1.Y() + j * step2 * Vec2.Y() ; - DZ = i * step1 * Vec1.Z() + j * step2 * Vec2.Z() ; - myVec.SetCoord( DX, DY, DZ ) ; - aTrsf.SetTranslation(myVec) ; - BRepBuilderAPI_Transform myBRepTransformation(anOriginal, aTrsf, Standard_False) ; - B.Add(aCompound , myBRepTransformation.Shape() ); + + TopLoc_Location aLocOrig = anOriginal.Location(); + gp_Trsf aTrsfOrig = aLocOrig.Transformation(); + + for (int i = 0; i < nbtimes1; i++) { + for (int j = 0; j < nbtimes2; j++) { + DX = i * step1 * Vec1.X() + j * step2 * Vec2.X(); + DY = i * step1 * Vec1.Y() + j * step2 * Vec2.Y(); + DZ = i * step1 * Vec1.Z() + j * step2 * Vec2.Z(); + aVec.SetCoord( DX, DY, DZ ); + aTrsf.SetTranslation(aVec); + //NPAL18620: performance problem: multiple locations are accumulated + // in shape and need a great time to process + //BRepBuilderAPI_Transform aBRepTransformation(anOriginal, aTrsf, Standard_False); + //B.Add(aCompound, aBRepTransformation.Shape()); + TopLoc_Location aLocRes (aTrsf * aTrsfOrig); + B.Add(aCompound, anOriginal.Located(aLocRes)); } } - aShape = aCompound; + aShape = aCompound; } else return 0; - if (aShape.IsNull()) return 0; aFunction->SetValue(aShape); - log.SetTouched(Label()); + log.SetTouched(Label()); return 1; } @@ -200,17 +231,16 @@ Standard_Integer GEOMImpl_TranslateDriver::Execute(TFunction_Logbook& log) const //======================================================================= //function : GEOMImpl_TranslateDriver_Type_ //purpose : -//======================================================================= +//======================================================================= Standard_EXPORT Handle_Standard_Type& GEOMImpl_TranslateDriver_Type_() { static Handle_Standard_Type aType1 = STANDARD_TYPE(TFunction_Driver); if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TFunction_Driver); static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared); - if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); + if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient); if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient); - static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL}; static Handle_Standard_Type _aType = new Standard_Type("GEOMImpl_TranslateDriver", @@ -225,8 +255,7 @@ Standard_EXPORT Handle_Standard_Type& GEOMImpl_TranslateDriver_Type_() //======================================================================= //function : DownCast //purpose : -//======================================================================= - +//======================================================================= const Handle(GEOMImpl_TranslateDriver) Handle(GEOMImpl_TranslateDriver)::DownCast(const Handle(Standard_Transient)& AnObject) { Handle(GEOMImpl_TranslateDriver) _anOtherObject; @@ -237,7 +266,5 @@ const Handle(GEOMImpl_TranslateDriver) Handle(GEOMImpl_TranslateDriver)::DownCas } } - return _anOtherObject ; + return _anOtherObject; } - - diff --git a/src/GEOM_I/GEOM_Gen_i.cc b/src/GEOM_I/GEOM_Gen_i.cc index 0ba246973..106ee9ef6 100644 --- a/src/GEOM_I/GEOM_Gen_i.cc +++ b/src/GEOM_I/GEOM_Gen_i.cc @@ -565,8 +565,8 @@ SALOMEDS::SObject_ptr GEOM_Gen_i::AddInStudy(SALOMEDS::Study_ptr theStudy, GEOM: //============================================================================ void GEOM_Gen_i::register_name(char * name) { - GEOM::GEOM_Gen_ptr g = GEOM::GEOM_Gen::_narrow(_this()); - name_service->Register(g, CORBA::string_dup(name)); + GEOM::GEOM_Gen_var g = _this(); + name_service->Register(g, name); } //============================================================================ @@ -599,6 +599,7 @@ GEOM::GEOM_IBasicOperations_ptr GEOM_Gen_i::GetIBasicOperations(CORBA::Long theS GEOM::GEOM_Gen_ptr engine = _this(); + //transfer reference on engine GEOM_IBasicOperations_i* aServant = new GEOM_IBasicOperations_i(_poa, engine, _impl->GetIBasicOperations(theStudyID)); @@ -928,7 +929,8 @@ GEOM_I_EXPORT const char * interfaceName) { GEOM_Gen_i * myGEOM_Gen_i = new GEOM_Gen_i(orb, poa, contId, instanceName, interfaceName); - myGEOM_Gen_i->register_name("/myGEOM_Gen"); // NRI : 11/07/2002 : Add for Supervision example + // Don't understand the reason of this register ???? +// myGEOM_Gen_i->register_name("/myGEOM_Gen"); // NRI : 11/07/2002 : Add for Supervision example return myGEOM_Gen_i->getId(); } } diff --git a/src/GEOM_I/GEOM_I3DPrimOperations_i.cc b/src/GEOM_I/GEOM_I3DPrimOperations_i.cc index 276a9d556..55160f0fb 100644 --- a/src/GEOM_I/GEOM_I3DPrimOperations_i.cc +++ b/src/GEOM_I/GEOM_I3DPrimOperations_i.cc @@ -247,8 +247,9 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeSpherePntR if (thePnt == NULL) return aGEOMObject._retn(); //Get the reference point + CORBA::String_var entry=thePnt->GetEntry(); Handle(GEOM_Object) aPnt = GetOperations()->GetEngine()->GetObject - (thePnt->GetStudyID(), thePnt->GetEntry()); + (thePnt->GetStudyID(), entry); if (aPnt.IsNull()) return aGEOMObject._retn(); @@ -566,7 +567,8 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_pt CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, - CORBA::Long theNbIter) + CORBA::Long theNbIter, + CORBA::Boolean theApprox) { GEOM::GEOM_Object_var aGEOMObject; @@ -582,7 +584,7 @@ GEOM::GEOM_Object_ptr GEOM_I3DPrimOperations_i::MakeFilling(GEOM::GEOM_Object_pt if (aShape.IsNull()) return aGEOMObject._retn(); //Create the Solid - Handle(GEOM_Object) anObject = GetOperations()->MakeFilling(aShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter); + Handle(GEOM_Object) anObject = GetOperations()->MakeFilling(aShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox); if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn(); diff --git a/src/GEOM_I/GEOM_I3DPrimOperations_i.hh b/src/GEOM_I/GEOM_I3DPrimOperations_i.hh index f0397e5e9..330f4974b 100644 --- a/src/GEOM_I/GEOM_I3DPrimOperations_i.hh +++ b/src/GEOM_I/GEOM_I3DPrimOperations_i.hh @@ -105,7 +105,7 @@ class GEOM_I_EXPORT GEOM_I3DPrimOperations_i : GEOM::GEOM_Object_ptr theAxis, CORBA::Double theAngle); - GEOM::GEOM_Object_ptr MakeFilling(GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, CORBA::Long theNbIter); + GEOM::GEOM_Object_ptr MakeFilling(GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, CORBA::Long theNbIter, CORBA::Boolean theApprox); GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections, CORBA::Boolean theModeSolid, diff --git a/src/GEOM_I/GEOM_IBooleanOperations_i.cc b/src/GEOM_I/GEOM_IBooleanOperations_i.cc index 836451282..57dabf6a6 100644 --- a/src/GEOM_I/GEOM_IBooleanOperations_i.cc +++ b/src/GEOM_I/GEOM_IBooleanOperations_i.cc @@ -72,10 +72,12 @@ GEOM::GEOM_Object_ptr GEOM_IBooleanOperations_i::MakeBoolean if (theShape1 == NULL || theShape2 == NULL) return aGEOMObject._retn(); //Get the reference shapes + CORBA::String_var entry=theShape1->GetEntry(); Handle(GEOM_Object) aSh1 = GetOperations()->GetEngine()->GetObject - (theShape1->GetStudyID(), theShape1->GetEntry()); + (theShape1->GetStudyID(), entry); + entry=theShape2->GetEntry(); Handle(GEOM_Object) aSh2 = GetOperations()->GetEngine()->GetObject - (theShape2->GetStudyID(), theShape2->GetEntry()); + (theShape2->GetStudyID(), entry); if (aSh1.IsNull() || aSh2.IsNull()) return aGEOMObject._retn(); diff --git a/src/GEOM_I/GEOM_IOperations_i.cc b/src/GEOM_I/GEOM_IOperations_i.cc index 89b7fc5f8..3d5c87c46 100644 --- a/src/GEOM_I/GEOM_IOperations_i.cc +++ b/src/GEOM_I/GEOM_IOperations_i.cc @@ -114,7 +114,7 @@ void GEOM_IOperations_i::FinishOperation() //============================================================================= /*! - * AboutOperation + * AbortOperation */ //============================================================================= void GEOM_IOperations_i::AbortOperation() @@ -132,6 +132,6 @@ GEOM::GEOM_Object_ptr GEOM_IOperations_i::GetObject(Handle(GEOM_Object) theObjec if(theObject.IsNull()) return NULL; TCollection_AsciiString anEntry; TDF_Tool::Entry(theObject->GetEntry(), anEntry); - GEOM::GEOM_Object_var GO = GEOM::GEOM_Object::_duplicate(_engine->GetObject(theObject->GetDocID(), anEntry.ToCString())); + GEOM::GEOM_Object_var GO = _engine->GetObject(theObject->GetDocID(), anEntry.ToCString()); return GO._retn(); } diff --git a/src/GEOM_I/GEOM_IOperations_i.hh b/src/GEOM_I/GEOM_IOperations_i.hh index 9ad5fca9a..c425449dc 100644 --- a/src/GEOM_I/GEOM_IOperations_i.hh +++ b/src/GEOM_I/GEOM_IOperations_i.hh @@ -59,7 +59,7 @@ class GEOM_I_EXPORT GEOM_IOperations_i : public virtual POA_GEOM::GEOM_IOperatio private: ::GEOM_IOperations* _impl; - GEOM::GEOM_Gen_ptr _engine; + GEOM::GEOM_Gen_var _engine; }; #endif diff --git a/src/GEOM_I/GEOM_Object_i.cc b/src/GEOM_I/GEOM_Object_i.cc index d8794d7b9..4a86443b6 100644 --- a/src/GEOM_I/GEOM_Object_i.cc +++ b/src/GEOM_I/GEOM_Object_i.cc @@ -61,7 +61,9 @@ GEOM_Object_i::GEOM_Object_i (PortableServer::POA_ptr thePOA, GEOM::GEOM_Gen_ptr //============================================================================= GEOM_Object_i::~GEOM_Object_i() -{} +{ + GEOM_Engine::GetEngine()->RemoveObject(_impl); +} //============================================================================= diff --git a/src/GEOM_I/GEOM_Object_i.hh b/src/GEOM_I/GEOM_Object_i.hh index 43711eacd..56631b7f0 100644 --- a/src/GEOM_I/GEOM_Object_i.hh +++ b/src/GEOM_I/GEOM_Object_i.hh @@ -85,7 +85,7 @@ class GEOM_I_EXPORT GEOM_Object_i : public virtual POA_GEOM::GEOM_Object, public private: - GEOM::GEOM_Gen_ptr _engine; + GEOM::GEOM_Gen_var _engine; Handle(GEOM_Object) _impl; TopoDS_Shape _geom; }; diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.cc b/src/GEOM_I_Superv/GEOM_Superv_i.cc index 666ec0861..520fbc2fe 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.cc +++ b/src/GEOM_I_Superv/GEOM_Superv_i.cc @@ -70,6 +70,12 @@ GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb, GEOM_Superv_i::~GEOM_Superv_i() { MESSAGE("GEOM_Superv_i::~GEOM_Superv_i"); + if (!CORBA::is_nil(myBasicOp)) + myBasicOp->Destroy(); + if (!CORBA::is_nil(myBoolOp)) + myBoolOp->Destroy(); + if (!CORBA::is_nil(my3DPrimOp)) + my3DPrimOp->Destroy(); delete name_service; } @@ -79,8 +85,8 @@ GEOM_Superv_i::~GEOM_Superv_i() //============================================================================ void GEOM_Superv_i::register_name(char * name) { - GEOM::GEOM_Superv_ptr g = GEOM::GEOM_Superv::_narrow(POA_GEOM::GEOM_Superv::_this()); - name_service->Register(g, strdup(name)); + GEOM::GEOM_Superv_var g = _this(); + name_service->Register(g, name); } //============================================================================= @@ -88,9 +94,17 @@ void GEOM_Superv_i::register_name(char * name) //============================================================================= void GEOM_Superv_i::setGeomEngine() { + if ( !CORBA::is_nil(myGeomEngine) ) + return; // get GEOM_Gen engine + /* SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service ); Engines::Component_var comp = lcc->FindOrLoad_Component( "FactoryServer", "GEOM" ); + */ + + Engines::Container_var cont=GetContainerRef(); + cont->load_component_Library("GEOM"); + Engines::Component_var comp=cont->create_component_instance("GEOM",0); myGeomEngine = GEOM::GEOM_Gen::_narrow(comp); } @@ -799,7 +813,9 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX, MESSAGE("GEOM_Superv_i::MakeSphepe"); getBasicOp(); get3DPrimOp(); - GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius); + GEOM::GEOM_Object_var o = myBasicOp->MakePointXYZ(theX, theY, theZ); + GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeSpherePntR(o, theRadius); + o->Destroy(); endService( " GEOM_Superv_i::MakeSphepe" ); return anObj; } @@ -1003,12 +1019,12 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle2Ways (GEOM::GEOM_Ob GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, - CORBA::Long theNbIter) + CORBA::Long theNbIter, CORBA::Boolean theApprox) { beginService( " GEOM_Superv_i::MakeFilling" ); MESSAGE("GEOM_Superv_i::MakeFilling"); get3DPrimOp(); - GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter); + GEOM::GEOM_Object_ptr anObj = my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, theApprox); endService( " GEOM_Superv_i::MakeFilling" ); return anObj; } @@ -2737,7 +2753,8 @@ extern "C" const char * interfaceName) { GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName); - myGEOM_Superv_i->register_name("/myGEOM_Superv"); + //Don't understand the reason why this component is registered ??? +// myGEOM_Superv_i->register_name("/myGEOM_Superv"); return myGEOM_Superv_i->getId() ; } } diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.hh b/src/GEOM_I_Superv/GEOM_Superv_i.hh index 0d3039704..3cb1ffd25 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.hh +++ b/src/GEOM_I_Superv/GEOM_Superv_i.hh @@ -237,7 +237,7 @@ public: GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape, CORBA::Long theMinDeg, CORBA::Long theMaxDeg, CORBA::Double theTol2D, CORBA::Double theTol3D, - CORBA::Long theNbIter); + CORBA::Long theNbIter, CORBA::Boolean theApprox); GEOM::GEOM_Object_ptr MakeThruSections(const GEOM::ListOfGO& theSeqSections, CORBA::Boolean theModeSolid, @@ -566,21 +566,21 @@ public: private: SALOME_NamingService * name_service; - GEOM::GEOM_Gen_ptr myGeomEngine; + GEOM::GEOM_Gen_var myGeomEngine; CORBA::Long myStudyID; CORBA::Long myLastStudyID; // mkr : PAL10770 PortableServer::POA_var myPOA; - GEOM::GEOM_IBasicOperations_ptr myBasicOp; - GEOM::GEOM_I3DPrimOperations_ptr my3DPrimOp; - GEOM::GEOM_IBooleanOperations_ptr myBoolOp; - GEOM::GEOM_IInsertOperations_ptr myInsOp; - GEOM::GEOM_ITransformOperations_ptr myTransfOp; - GEOM::GEOM_IShapesOperations_ptr myShapesOp; - GEOM::GEOM_IBlocksOperations_ptr myBlocksOp; - GEOM::GEOM_ICurvesOperations_ptr myCurvesOp; - GEOM::GEOM_ILocalOperations_ptr myLocalOp; - GEOM::GEOM_IGroupOperations_ptr myGroupOp; + GEOM::GEOM_IBasicOperations_var myBasicOp; + GEOM::GEOM_I3DPrimOperations_var my3DPrimOp; + GEOM::GEOM_IBooleanOperations_var myBoolOp; + GEOM::GEOM_IInsertOperations_var myInsOp; + GEOM::GEOM_ITransformOperations_var myTransfOp; + GEOM::GEOM_IShapesOperations_var myShapesOp; + GEOM::GEOM_IBlocksOperations_var myBlocksOp; + GEOM::GEOM_ICurvesOperations_var myCurvesOp; + GEOM::GEOM_ILocalOperations_var myLocalOp; + GEOM::GEOM_IGroupOperations_var myGroupOp; }; diff --git a/src/GEOM_SWIG/batchmode_geompy.py b/src/GEOM_SWIG/batchmode_geompy.py index 6485368cf..3ca8d022f 100644 --- a/src/GEOM_SWIG/batchmode_geompy.py +++ b/src/GEOM_SWIG/batchmode_geompy.py @@ -700,8 +700,8 @@ def MakeCopy(aShape): print "MakeCopy : ", InsertOp.GetErrorCode() return anObj -def MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter): - anObj = PrimOp.MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter) +def MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter,isApprox=0): + anObj = PrimOp.MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter,isApprox) if PrimOp.IsDone() == 0: print "MakeFilling : ", PrimOp.GetErrorCode() return anObj diff --git a/src/GEOM_SWIG/geompyDC.py b/src/GEOM_SWIG/geompyDC.py index 415ff983b..2f37c4e86 100644 --- a/src/GEOM_SWIG/geompyDC.py +++ b/src/GEOM_SWIG/geompyDC.py @@ -1379,8 +1379,8 @@ class geompyDC(GEOM._objref_GEOM_Gen): # @return New GEOM_Object, containing the created filling surface. # # Example: see GEOM_TestAll.py - def MakeFilling(self,theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter): - anObj = self.PrimOp.MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter) + def MakeFilling(self,theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, isApprox=0): + anObj = self.PrimOp.MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter, isApprox) RaiseIfFailed("MakeFilling", self.PrimOp) return anObj diff --git a/src/GenerationGUI/GenerationGUI_FillingDlg.cxx b/src/GenerationGUI/GenerationGUI_FillingDlg.cxx index 8371188a6..31882eb9e 100644 --- a/src/GenerationGUI/GenerationGUI_FillingDlg.cxx +++ b/src/GenerationGUI/GenerationGUI_FillingDlg.cxx @@ -61,7 +61,7 @@ GenerationGUI_FillingDlg::GenerationGUI_FillingDlg( GeometryGUI* theGeometryGUI, mainFrame()->RadioButton3->setAttribute( Qt::WA_DeleteOnClose ); mainFrame()->RadioButton3->close(); - GroupPoints = new DlgRef_1Sel5Spin( centralWidget() ); + GroupPoints = new DlgRef_1Sel5Spin1Check( centralWidget() ); GroupPoints->GroupBox1->setTitle( tr( "GEOM_ARGUMENTS" ) ); GroupPoints->TextLabel1->setText( tr( "GEOM_FILLING_COMPOUND" ) ); GroupPoints->TextLabel2->setText( tr( "GEOM_FILLING_MIN_DEG" ) ); @@ -69,6 +69,7 @@ GenerationGUI_FillingDlg::GenerationGUI_FillingDlg( GeometryGUI* theGeometryGUI, GroupPoints->TextLabel4->setText( tr( "GEOM_FILLING_NB_ITER" ) ); GroupPoints->TextLabel5->setText( tr( "GEOM_FILLING_MAX_DEG" ) ); GroupPoints->TextLabel6->setText( tr( "GEOM_FILLING_TOL_3D" ) ); + GroupPoints->CheckBox1->setText( tr( "GEOM_FILLING_APPROX" ) ); GroupPoints->PushButton1->setIcon( image1 ); GroupPoints->LineEdit1->setReadOnly( true ); @@ -77,7 +78,7 @@ GenerationGUI_FillingDlg::GenerationGUI_FillingDlg( GeometryGUI* theGeometryGUI, layout->addWidget( GroupPoints ); /***************************************************************/ - setHelpFileName( "creaet_filling_page.html" ); + setHelpFileName( "create_filling_page.html" ); /* Initialisations */ Init(); @@ -107,6 +108,7 @@ void GenerationGUI_FillingDlg::Init() myTol3D = 0.0001; myTol2D = 0.0001; myNbIter = 5; + myIsApprox = false; myOkCompound = false; globalSelection( GEOM_COMPOUND ); @@ -139,6 +141,8 @@ void GenerationGUI_FillingDlg::Init() connect( GroupPoints->SpinBox4, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) ); connect( GroupPoints->SpinBox5, SIGNAL( valueChanged( double ) ), this, SLOT( ValueChangedInSpinBox( double ) ) ); + connect( GroupPoints->CheckBox1, SIGNAL( stateChanged( int ) ), this, SLOT( ApproxChanged() ) ); + // VSR: TODO ->> connect( myGeomGUI, SIGNAL( SignalDefaultStepValueChanged( double ) ), GroupPoints->SpinBox1, SLOT( SetStep( double ) ) ); connect( myGeomGUI, SIGNAL( SignalDefaultStepValueChanged( double ) ), GroupPoints->SpinBox2, SLOT( SetStep( double ) ) ); @@ -300,6 +304,16 @@ void GenerationGUI_FillingDlg::ValueChangedInSpinBox( double newValue ) displayPreview(); } +//================================================================================= +// function : ApproxChanged() +// purpose : +//================================================================================= +void GenerationGUI_FillingDlg::ApproxChanged() +{ + myIsApprox = GroupPoints->CheckBox1->isChecked(); + displayPreview(); +} + //================================================================================= // function : createOperation // purpose : @@ -327,7 +341,7 @@ bool GenerationGUI_FillingDlg::execute( ObjectList& objects ) GEOM::GEOM_Object_var anObj; anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation() )->MakeFilling( - myCompound, myMinDeg, myMaxDeg, myTol2D, myTol3D, myNbIter ); + myCompound, myMinDeg, myMaxDeg, myTol2D, myTol3D, myNbIter, myIsApprox ); if ( !anObj->_is_nil() ) objects.push_back( anObj._retn() ); diff --git a/src/GenerationGUI/GenerationGUI_FillingDlg.h b/src/GenerationGUI/GenerationGUI_FillingDlg.h index 23be3e400..03d602cd9 100644 --- a/src/GenerationGUI/GenerationGUI_FillingDlg.h +++ b/src/GenerationGUI/GenerationGUI_FillingDlg.h @@ -28,7 +28,7 @@ #include -class DlgRef_1Sel5Spin; +class DlgRef_1Sel5Spin1Check; //================================================================================= // class : GenerationGUI_FillingDlg @@ -59,9 +59,10 @@ private: Standard_Real myTol3D; Standard_Real myTol2D; Standard_Integer myNbIter; + bool myIsApprox; bool myOkCompound; /* to check when curv. compound is defined */ - DlgRef_1Sel5Spin* GroupPoints; + DlgRef_1Sel5Spin1Check* GroupPoints; private slots: void ClickOnOk(); @@ -71,6 +72,7 @@ private slots: void SelectionIntoArgument(); void SetEditCurrentArgument(); void ValueChangedInSpinBox( double ); + void ApproxChanged(); }; #endif // GENERATIONGUI_FILLINGDLG_H diff --git a/src/RepairGUI/RepairGUI_GlueDlg.cxx b/src/RepairGUI/RepairGUI_GlueDlg.cxx index 5b1feaced..207a02905 100644 --- a/src/RepairGUI/RepairGUI_GlueDlg.cxx +++ b/src/RepairGUI/RepairGUI_GlueDlg.cxx @@ -279,8 +279,10 @@ bool RepairGUI_GlueDlg::ClickOnApply() //================================================================================= void RepairGUI_GlueDlg::SelectionIntoArgument() { - if ( mySubShapesChk->isChecked() && getConstructorId() == 1 ) + if ( mySubShapesChk->isChecked() && getConstructorId() == 1 ) { + updateButtonState(); return; + } erasePreview(); myEditCurrentArgument->setText( "" ); @@ -603,6 +605,8 @@ void RepairGUI_GlueDlg::onDetect() msg = tr( "THERE_ARE_NO_FACES_FOR_GLUING" ); } + connect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()) ) ; SUIT_MessageBox::information( this, tr( "GEOM_FREE_BOUNDS_TLT" ), msg, tr( "Close" ) ); updateButtonState(); activateSelection(); @@ -635,10 +639,13 @@ void RepairGUI_GlueDlg::activateSelection() globalSelection( GEOM_ALLSHAPES ); else { displayPreview( true, false, false, 2/*line width*/, 1/*display mode*/, Quantity_NOC_RED ); + disconnect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(), + SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) ) ; globalSelection( GEOM_PREVIEW ); - } + connect( ( (SalomeApp_Application*)( SUIT_Session::session()->activeApplication() ) )->selectionMgr(), + SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) ) ; + } } - updateViewer(); } @@ -656,9 +663,13 @@ void RepairGUI_GlueDlg::updateButtonState() } else { + bool wasSelected = false; + SALOME_ListIteratorOfListIO it ( selectedIO() ); + if (it.More() > 0) + wasSelected = true; bool wasDetected = myTmpObjs.size() ? true : false; - buttonOk()->setEnabled( hasMainObj && wasDetected ); - buttonApply()->setEnabled( hasMainObj && wasDetected ); + buttonOk()->setEnabled( hasMainObj && wasDetected && wasSelected ); + buttonApply()->setEnabled( hasMainObj && wasDetected && wasSelected ); mySubShapesChk->setEnabled( hasMainObj && wasDetected ); myDetectBtn->setEnabled( hasMainObj ); if ( !hasMainObj || !wasDetected ) -- 2.39.2