From 8d5811af40c2745b9d9836f2313bdefa0671a7c1 Mon Sep 17 00:00:00 2001 From: prascle Date: Mon, 7 Nov 2011 09:52:51 +0000 Subject: [PATCH] PR: Patch G. Nicolas 20111102 --- clean_configure | 8 +- doc/gui_create_case.rst | 17 +-- doc/gui_create_hypothese.rst | 15 +++ doc/images/create_case_1.png | Bin 22922 -> 21124 bytes doc/images/create_case_6.png | Bin 6571 -> 7240 bytes doc/images/create_case_7.png | Bin 7240 -> 0 bytes doc/images/create_hypothese_1.png | Bin 23108 -> 24490 bytes doc/images/create_hypothese_av_1.png | Bin 0 -> 6571 bytes doc/tui_create_case.rst | 22 ---- doc/tui_create_hypothese.rst | 28 +++++ idl/HOMARD_Cas.idl | 6 - idl/HOMARD_Hypothesis.idl | 6 + src/HOMARD/HOMARD_Cas.cxx | 37 +----- src/HOMARD/HOMARD_Cas.hxx | 8 -- src/HOMARD/HOMARD_DriverTools.cxx | 23 ++-- src/HOMARD/HOMARD_Hypothesis.cxx | 36 +++++- src/HOMARD/HOMARD_Hypothesis.hxx | 6 + src/HOMARDGUI/CreateCase.h | 166 ++++++++----------------- src/HOMARDGUI/CreateCase.ui | 91 +------------- src/HOMARDGUI/CreateHypothesis.h | 85 +++++++++++-- src/HOMARDGUI/CreateHypothesis.ui | 169 +++++++++++++++++++------- src/HOMARDGUI/MonCreateCase.cxx | 29 +---- src/HOMARDGUI/MonCreateCase.h | 5 - src/HOMARDGUI/MonCreateHypothesis.cxx | 33 ++++- src/HOMARDGUI/MonCreateHypothesis.h | 6 + src/HOMARDGUI/MonEditCase.cxx | 13 -- src/HOMARDGUI/MonEditHypothesis.cxx | 72 ++++++----- src/HOMARD_I/HOMARD_Cas_i.cxx | 26 +--- src/HOMARD_I/HOMARD_Cas_i.hxx | 6 - src/HOMARD_I/HOMARD_Gen_i.cxx | 13 +- src/HOMARD_I/HOMARD_Hypothesis_i.cxx | 24 ++++ src/HOMARD_I/HOMARD_Hypothesis_i.hxx | 5 + 32 files changed, 480 insertions(+), 475 deletions(-) delete mode 100644 doc/images/create_case_7.png create mode 100644 doc/images/create_hypothese_av_1.png diff --git a/clean_configure b/clean_configure index 9d129daf..7c49c98e 100755 --- a/clean_configure +++ b/clean_configure @@ -25,11 +25,5 @@ find . -name "*.pyc" -print -exec rm {} \; # Files created by libtoolize and automake ( cd adm_local/unix/config_files && rm -f config.* depcomp install-sh l*.m4 ltmain.sh missing py-compile install-sh missing depcomp py-compile ) -find bin -name Makefile.in | xargs rm -f -find doc -name Makefile.in | xargs rm -f -find idl -name Makefile.in | xargs rm -f -find resources -name Makefile.in | xargs rm -f -find tests -name Makefile.in | xargs rm -f -find src -name Makefile.in | xargs rm -f -rm -f Makefile.in +find . -name Makefile.in | xargs rm -f rm -f COPYING INSTALL diff --git a/doc/gui_create_case.rst b/doc/gui_create_case.rst index 5e0f0195..0e5fe972 100644 --- a/doc/gui_create_case.rst +++ b/doc/gui_create_case.rst @@ -79,26 +79,11 @@ On cochera le ou les boutons voulus : La définition des frontières est décrite dans :ref:`gui_create_boundary`. -Les options avancées -"""""""""""""""""""" -Si la case "Options avancées" n'est pas cochée, aucune contrainte supplémentaire n'est définie. - -Si la case est cochée, on définira les options avancées qui portent sur la finesse maximale de maillage que l'on ne veut pas dépasser. Deux directives sont possibles, séparément ou ensemble. - -On peut imposer une taille de maille minimale : une maille dont le diamètre est inférieur à cette limite ne sera plus découpée. Par défaut, on propose un diamètre minimal nul, ce qui revient à ne rien imposer. - -On peut imposer un niveau de raffinement maximal. Par défaut, le maximum est à 99, ce qui équivaut en général à ne rien imposer. - -.. image:: images/create_case_6.png - :align: center - -.. index:: single: arbre d'étude - L'arbre d'étude """"""""""""""" A l'issue de cette création de cas, l'arbre d'études a été enrichi de ce nouveau cas. On y trouve l'itération initiale, identifiée par le nom du maillage qui a été lu dans le fichier fourni. -.. image:: images/create_case_7.png +.. image:: images/create_case_6.png :align: center diff --git a/doc/gui_create_hypothese.rst b/doc/gui_create_hypothese.rst index b4d2eeca..5b4dd604 100644 --- a/doc/gui_create_hypothese.rst +++ b/doc/gui_create_hypothese.rst @@ -106,6 +106,21 @@ Si on veut choisir les champs :align: center +Les options avancées +"""""""""""""""""""" +Si la case "Options avancées" n'est pas cochée, aucune contrainte supplémentaire n'est définie. + +Si la case est cochée, on définira les options avancées qui portent sur la finesse maximale de maillage que l'on ne veut pas dépasser. Deux directives sont possibles, séparément ou ensemble. + +On peut imposer une taille de maille minimale : une maille dont le diamètre est inférieur à cette limite ne sera plus découpée. Par défaut, on propose un diamètre minimal nul, ce qui revient à ne rien imposer. + +On peut imposer un niveau de raffinement maximal. Par défaut, le maximum est à 99, ce qui équivaut en général à ne rien imposer. + +.. image:: images/create_hypothese_av_1.png + :align: center + +.. index:: single: arbre d'étude + L'arbre d'étude """"""""""""""" .. index:: single: arbre d'étude diff --git a/doc/images/create_case_1.png b/doc/images/create_case_1.png index e326f1fc352121c4e0be10b219b2762e932e266e..34796a779cb247078b9c0b2ecfae6f095c15654d 100644 GIT binary patch literal 21124 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 GsDA?uv>mPh literal 22922 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 UxwP}bGnNqsdKYv_+E>E<35wm69{>OV diff --git a/doc/images/create_case_6.png b/doc/images/create_case_6.png index 1c48bd45cacd559f748bd2b200bb4abca060ccca..c5987297bba46cc6cd487e94455bd6303b14b9d1 100644 GIT binary patch literal 7240 zcma)hbyO7L|L!2Dw1@~wgDcV~4NER1h)9Q$Qqs~LQYs}OohyQL2!g~CB8_y{ib%6k zF0sVk*YEwF-@WJlb?404GdsKUzB8Zqc|Onc`OI5Q4HXJfdQu32C{!ORYC{l#DL76b zz63srLR8Wqi1C`LqP(t87G}ZMSjV6R+BIX1Hm~9gB{??CiPEFurDe*?9~Z3SjJhA{ z(Ei+{D2g-YjkXw7!k%Y`-OVp4#fG0~HRZIPjX%kCc($b+I2IM7XGHC#$_n%L4W2*D zu(`qh=u+#>>nF`8EA#F{cjt50a(?IZO9U@Tv4#(`xSj+AxzrP|S-E|cVy>*83!xH} zNTa7hNP6&#`1tvxoa;_9VTKKal(e=cD;Umytxr!+|0!Z&`#8p;t+30`4pYjJ_MdDc zU6|@Ow`a!4;MUB7Y{E7+HkO;a$_=YSV_(p$JDw9G<9sB^eGgV2C$e7-kT)_)fA{WP z%gsiY>BMrQz#Gr%oiQb%KSOvBOh>g-n(<~-w{Q0@?~(44aXilWPV^d1fo}A4@baot zWIw?!RYFy={=wjzF@LUz!{lI0_P}1DRt&6nU|=BMj4`=?#ie;qc@-^GUS2LDTBge_ z26N)%=B6f%=uZ(K{DPlIznq;+?oCe#IafGCyI=Po)Y#d)a=L$@Yj)0L$AIVwm8VkF z($Z2?RQ#UxCh6W2YNGb<1V2~HGi_UCPS^MDtZsa9m{J=`Ha-25q07C1@~E05-5?I01PQoS6TDHch=&;_Fg$1DA* zCJV*{c^^JJA2eG#^I2BGJiifmFDU5vU?g9KP|nH8Y1l!&-WfgGqbehC@_TKqMh`{3 zOFBlK(xS%L8Mk>CD?MQltTG!(^-B=Xc)D+>Xhl@Rc>A{RcE6>%Jp>(w*q)^x1V11f z931rY^mH^v89sje7>o(YjR`AhF;c4dcYOKsWmC_NZvEliE9<3riBhGa+@F`^OiUI| z4%S*Pa9hVBd#y?h^Ru&0{r&whH<_gazMmPK?Jg-~UxwP++mS_IAM(;NOjm`4h56}q z>3tK{Lu!)Wx(`A03=FwO!B_tcSd+)eEg&Gk%e(EmVtHsgm?d#?azdj-02N$;76Xq= zigme@)pWGAzkTbN{_0mPh7J&7V?%!UfGF0zIK^L_Yiz^cr&Lu{d7}gC>*`X9)$*?p zCX>?(uP>tf9jmJ?yDyem@bUdCdU|?W__~~OmH&-_H>KLeEoW1yne~qP#k!8)(wId3 z=O&$^=>)DoSaIkWhiehVewmz{ye(w&y|c5rvV`tgUBGQ69rrtHYA|YV?<2iZeLLMt zkgLNlZP5bt3~{@kZLj)M_?li`geu<-Oy)JI6BZZ$s<(*Cy^1FY`J26=x|Jkz{FCsi z|LdF8JQ_Jty)ShjFYbXO-{=sIHdz6fi$N85M^)hK}uA>!fH!94jeza|P| zwxo`cV?RLzF#&WBgy0{Q5yWinZN2^dTNqK+aP`pKR+grL%g`Zv|JnoVzW3k1f9EeI zWg9;zR8LP##nqZ%+PS}Z?w|DODe)y0qUW%JL>h1lV)e4g)dwcsqGw~;5e;dDS2?_~`InVdd z6eUlZHU<=bEfNoUd^X?UE@0YdXsnynD2@G_K8C7eD2iTxNO7?C16^Z#?WK7LR!+}h zA*tlEg}_Ve*lTmd{Hlr3i^lI!0;jlZQ{An?rcILS6sys&UO=OSgajlKi9k{X1&c+K zM!UWHJv%#lscrQ~CLQ0?_wV0-FZ=AaqV`JezWd|=1%qf+f2OF@H`y?m5Hbk1_cvC` zYdb9|DXF}iPc{B(oQc1&zWVqA?BUbmqU8F%^hC7+K|Ve{Sy?lG`diqNcwaUWx1M-5 z3kwT>*_kFU%+urZg|f;@ZyLB@zlMee7K`0(;-w)~4Xv%M(lz5yrN)!vpdY3RK0e1N z|0C!5uS+W{1=?JfzgetIu^3Uf?UIr+@BEQVvn30j#1)+CTDGF2cCa`?qHG6 zv{_tADga={@%!N5pQVo1159nqQa<-R)-?}J^n;tQe0PKjmc!W}Ja`}`X2706&hWja z`tW4udb;P6hh$`NNuFbckNtPht+|<*r8}tZR+59xW^XBGmyOW^mcYN)8AvE82YY&^ zTLR&a$AB=kx3{O!;|Lcz;ty7ToUUfNe5H^*3pkZEw^K^$v+$ZcF-u&QlCF20dHyr@ zKZCV+gG*H67%lGXG#_XvD|h|f7$Y#Bt+lJJuKqWY27p;jbX?Pjm;U_b*Z*PFFa7Q% zr5R$R?f=Eq|8VI45bG5g^sL?yQ?l7u#T~Bc^1<#YFSU1Xz6A*hNhFzvp3v@fmc5a$ zDxQqh59jaJqdaKfGEbzLOtL!&pgcR91{0+DD&??NWczzXV(I9v2QNnS>N^5$q~E@M z+f_NZ^a6I-#^}CzNL-?%fg75^d^!y&z0P5{m-@=!#dZkK^i|-@h5Of_0Q&WLmZSC z=g^A4-!FxavSW==ej-v*Qet9LXf%Gb;88R!A2%mwny?+UPS@1bQC~7oN=nMW)5;dy zW&|1CbO|6{-HQ?SS8`Rs_#jzX+1QNC%*>k4pZE9o0qoklxS~pmi$T7d`)u7mWfm-L z@r}qbNQl^z53_W2dA&>pJ)G}#cCD0f7-|&j=t>u)m(3=4x-#?d#f$Y%xj}th*O;Zm z{SO`M)Dehp0Ep?I?rCHhHn4Bv#E-wB@hL(VaK_@O6QkmS!8VVyLBf!h-S+elP zs4lkohK}MI$sGEeQQx91b)qXlFTze%>bbFnkw}HtKovwyb#yFUT!vDLi;8ZEIWsD0 z(I}l9AD`{_3v5S`MtlSCZx6egoSf|Ckr>A>lJl);hU0u02 zIU%UpP|ALs^RVE<2X>&RbaZsk?%p03FK^77H^b8@`T5HQk5WCHrxq7mKnP!EUf<+E z?UGzxdp9jEMBOeWV`74DLs|qIezHt{@ljP&#%K2@4(E4h7Z`Z{vpsCW!1#;(L>v>m z&S{R8g{6{tsJHiRT$~LUHy$QO&gu>1^zUEYYaoP&l$7NBsn2wD@~g|u zg3tAMY3pliU(~bl@bK{R4!o=Zw=F)|re7>3V%+GV3Zu@3dsm=P=O7!iC#>(U^y4O< zhwY$_Og%hm{iHZJR#8WbW2QVH|Dam}9kXD)Aj)NByl{9EOYqr<9Eie$!YPM5fBX&7 zj6yOpGHEF(AF0K(2bLOH;uhw7qU#t;;Ki9Q_87pk8HM^XB^ikO8%}a#9sR_DmyfUW zxvQ1c@A7B$l3&P(J=tOvzT$%_f!7W(GEqS0&_TjFgzGp_7^28>;DnwOt6;KbQF+~J z@|y!E)h4u%tLf3Ll&ze#CUu%%SB1-85<~?i^T_@|L$W9&^`z`NAY*qi$|){z=po z_je=J)K8U_Du!7amy18M{ggR|oOg^`i5j44;beKkYG;iEP%j!bZ`?MBb7 zG#_2v@yYUM&z?SQIX|4+X~pM|6n^@I-|e_2dvTnv$bOxeNL5vJp(dCZ8=eD4u2(-{ zNiP4ZZ_1OG;nac;FSQ2_eYisL)P~dj#?Mq5ac@D;BXB$6% z)@Dx-hr?@hlz_bL{_aicczx|^NK6d5i_4C*|DgwVkZoK+9W^za(7-Gl->099sIYhN z9WAkU))VQ~JDKZ<+eyn85P(9;%bgSy!o1ElCrW{96Uo;+r>b4hTEph=_=?Bt6yO%-641yRGzfzhlv%nV6p+5N(^9st10$uFeZk2BbxG zOb4n{%Ze#WcUlc242PS~RMfANPIsdBF5T#%x?%ToMu|+cPz4 z1^XB0r!FWg?F|3d)r3=}nv8pBlOTf?15B$Q}@m_Zvlh81t#)nKZ z*rstx^Op1!p%84u@-#v-cl>H4a=7J)98pw*`)L@ax^g)#WzqRMf+-Z=&K~Zu9)`Md zV}>7LL*Y-6amMkO2=Xmugl2DIpxp!1zNzyKg!G_CW%G72M#HyrXC*Bdg5=|&;gXM# z`SCi*yWp0^Kt9DDqI6t6o4;F=j_Kam(dh0-q_gAD(#vTcu3LBS-le}2_h0cfd}Jwq zdUxD*SQr&_jsu!;?Y1CHLLwbgz7>5W$>?w#i_YcnMJ=(Etr6qyV)6+LAO`E)8S&3zGgID@)E+1Y>Z`$782E`62lIqLK zw!cM?UA@LE%(&w@?J%t9dW=z`>m{`RE%b& z!}3T-NZ8rgJ+Gb~8F2-H%?&(EU-GFGT5wS~-1X}Ak3ERN-GX@eJFfjzofr*I;0|NuacYhO>tjZ;c`nd}BWbQ;(&YSWj z4-;WrkNR!#Df9F5#>U2^q@<7>FYP;ek*Gi*&piNdot>AVfPer}GO|1D?2-*PdbWG5 z1d*COymQmjRR-r9(MOFJf|GeW3E1DN2T7tUNumV^)jFPDubW8S>)~pu*D;v#A7CGv zA1=`=_1d1UcABd@KK8+iyNkB-s;H2gu+Dv*C`K+{uy>64!~^ zX;VX^5sM=^ z3;)H{QS(BZCc>8h%QEdCN4#M^ii(^l1-gZ5gwtCxO0B7!zg9h>w-THIl@wQ$HYbh$ z(I1ftYRcD1+1V(M4Q)|vZEe9ooW~t6#@3H-aMx~NMD8DbOzE`(p%s4IN{hO~&210z zRhQH3t`#XUn-d2Pbp?pQD#u^;gr1R+>h+{A@{hb)TedsmSKomN?^p7@0( zZ{QJwj~2YMaS^OmqA?8&rmt@YqWkI>{kF_f?OVSZ!a+A?b8|B>ky=2Y@+gWMEl_cm z`=QUIo5e-;uxD~IrGG`HhGIY_GCchE%D?SL+Ji8PQDMxlU)uWmUA$A{y{-dX#M4e6MC>8#X_a|9Iu&*H zF*#sVO|p35cyOB`ho~C3OZgTcG9m7buNlD_Gcs ztUuhNK_IJ;NO^t-JC~&5*=GcK&COCk>m4!jzV78^)yk7Flpj0K-MdO0NeivP=(ghU z!SCO%@bU5{f__9&k_hR)9_M1SZ)E9c>OR#bp}Mfh8%6evLhHxW5oH_EwGto_1MO%| z-{HfLrWYS8w&w)UL8qAgeK%keso#=c6J`yUES=K{bEPvD?DpMCiVQAL5%gUGFu$KyQwKOxA<%If~X!Llk5Lb}aErvntk2mAYA$gRp&Q2x2E4%|*xkIcRt?iaa{qe&cr zaB*=dbZCP`T)(4iZcBj7v1mkH3D*=59O*BmLZJGkv=veZl(Vz4nr(h$%+%O6H8e;E zI}u}@3gMG^6_5Tnjg5{b-c407SqLd9S*xT#wv<<5=@AMF9pAp$3}zLdYbz)aK7?r+ z6}$LEbS&Mkk*HQvQxoP0yCq~3)6~?|^^~4$RsbmzR=9!PngSlo2ef{AdwaLhi7j7G z1Q$%hlqEHT?elK9{`&qFMvlTZ9P4G^^#xJJAqa!XwdvC*L7k^ zY${Efl&QkySiichMCIn1*&Y#N31((y=mbog{g3z`j|HD^nSr^E59eGM-egwil~^yKzsW%(y}O+<=CGAu}VR z(P63rw8Bd(3##+ZsW*kr&d$^xJxX609UTn`fjV3dtQ&)yHo4@^ZwbZIhlYk;oUO?U z^;1$(x(f=tE;P%k#z-X**$(Akc6MB>tvi?ZJSr$5;DAB*!}5>C+Vb*2zd&nMramVP zNK)X2i^|GsYie{jY3Q9g#)nxzAGxTZA>GK?-u^j$d4x{Ptk54}5x%-=gRVc4gu`V6 zjy2g6sy^X_9}~(M8cr)QU-OY_Q7fptA|@tAN0%BJdI_S6?#x$?eQpM{6eMytS62dv zg(dgfw{LIWy!o@hV&!Kgc>6RK4jwlph4$YQZFak{{L|s&MoTFB30dW zIQa@0_bgoeM@4qKM6RdSKO7bPpQ_=EiY-8wOE5j=11FZmra*gRW9$=H!h!Lc7b72l zR6K+w^3Of7;s7n2pyQ>hHYdQBZDZp8cK%2${uHT^(7%HD94Q13YRbL)x??Z;rfXH@sNgl+Us`TL1qTLA%s+wG!!ck=Ar)! D7wt*P literal 6571 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 D7wt*P diff --git a/doc/images/create_hypothese_1.png b/doc/images/create_hypothese_1.png index eb040157ec213fcce24401d05e8cd04b4a8fc7ba..7c6eb1976856278e3dd28ef7c2e246885808f288 100644 GIT binary patch literal 24490 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 AE&u=k literal 23108 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 U7L%gKpuGUh!p6M8)bsm)0xA-wGynhq diff --git a/doc/images/create_hypothese_av_1.png b/doc/images/create_hypothese_av_1.png new file mode 100644 index 0000000000000000000000000000000000000000..1c48bd45cacd559f748bd2b200bb4abca060ccca GIT binary patch literal 6571 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 0 ) - { - aScript << "\t" <<_NomCas << ".SetNivMax("; - aScript << _NivMax << ")\n"; - aScript << "\t" <<_NomCas << ".SetDiamMin("; - aScript << _DiamMin << ")\n"; - } + return aScript.str(); } //============================================================================= @@ -153,7 +147,7 @@ const int HOMARD_Cas::GetConfType() const return _ConfType; } //============================================================================= -int HOMARD_Cas::GetNumber() +int HOMARD_Cas::GetNumber() //============================================================================= { @@ -230,28 +224,3 @@ void HOMARD_Cas::SupprBoundaryGroup() { _ListBoundaryGroup.clear(); } -//============================================================================= -void HOMARD_Cas::SetNivMax( int NivMax ) -//============================================================================= -{ - _NivMax = NivMax; -} -//============================================================================= -const int HOMARD_Cas::GetNivMax() const -//============================================================================= -{ - return _NivMax; -} -//============================================================================= -void HOMARD_Cas::SetDiamMin( double DiamMin ) -//============================================================================= -{ - _DiamMin = DiamMin; -} -//============================================================================= -const double HOMARD_Cas::GetDiamMin() const -//============================================================================= -{ - return _DiamMin; -} - diff --git a/src/HOMARD/HOMARD_Cas.hxx b/src/HOMARD/HOMARD_Cas.hxx index b9f580ea..0c393040 100644 --- a/src/HOMARD/HOMARD_Cas.hxx +++ b/src/HOMARD/HOMARD_Cas.hxx @@ -45,12 +45,6 @@ public: const int GetConfType() const; int GetNumber(); - void SetNivMax( int NivMax ); - const int GetNivMax() const; - - void SetDiamMin( double DiamMin ); - const double GetDiamMin() const; - void AddIteration( const char* NomIteration ); const std::list& GetIterations() const; void SupprIterations(); @@ -77,8 +71,6 @@ private: std::string _NomCas; std::string _NomDir; int _ConfType; - int _NivMax; - double _DiamMin; std::vector _Boite; // cf HomardQTCommun pour structure du vecteur std::list _ListGroup; diff --git a/src/HOMARD/HOMARD_DriverTools.cxx b/src/HOMARD/HOMARD_DriverTools.cxx index 897069ae..6f7e8bf3 100644 --- a/src/HOMARD/HOMARD_DriverTools.cxx +++ b/src/HOMARD/HOMARD_DriverTools.cxx @@ -130,9 +130,6 @@ namespace HOMARD for ( it = ListString.begin(); it != ListString.end(); ++it ) os << separator() << *it; - os << separator() << cas.GetNivMax(); - os << separator() << cas.GetDiamMin(); - // MESSAGE( ". Fin avec "< 0 ) + { + aScript << "\t" <<_NomHypo << ".SetNivMax("; + aScript << _NivMax << ")\n"; + aScript << "\t" <<_NomHypo << ".SetDiamMin("; + aScript << _DiamMin << ")\n"; + } return aScript.str(); } @@ -390,4 +397,31 @@ const std::list& HOMARD_Hypothesis::GetListFieldInterp() const { return _ListFieldInterp; } - +//============================================================================= +void HOMARD_Hypothesis::SetNivMax( int NivMax ) +//============================================================================= +{ + _NivMax = NivMax; +} +//============================================================================= +const int HOMARD_Hypothesis::GetNivMax() const +//============================================================================= +{ + return _NivMax; +} +//============================================================================= +void HOMARD_Hypothesis::SetDiamMin( double DiamMin ) +//============================================================================= +{ + _DiamMin = DiamMin; + if ( _NivMax < 0 ) + { + _NivMax = 99 ; + } +} +//============================================================================= +const double HOMARD_Hypothesis::GetDiamMin() const +//============================================================================= +{ + return _DiamMin; +} diff --git a/src/HOMARD/HOMARD_Hypothesis.hxx b/src/HOMARD/HOMARD_Hypothesis.hxx index 6b6faebb..ca3d785d 100644 --- a/src/HOMARD/HOMARD_Hypothesis.hxx +++ b/src/HOMARD/HOMARD_Hypothesis.hxx @@ -83,7 +83,11 @@ public: void SupprFieldInterp(); const std::list& GetListFieldInterp() const; + void SetNivMax( int NivMax ); + const int GetNivMax() const; + void SetDiamMin( double DiamMin ); + const double GetDiamMin() const; private: @@ -107,6 +111,8 @@ private: int _TypeFieldInterp; // 0 pour aucune interpolation, // 1 pour interpolation de tous les champs, // 2 pour une liste + int _NivMax; + double _DiamMin; std::list _ListIter; std::list _ListZone; diff --git a/src/HOMARDGUI/CreateCase.h b/src/HOMARDGUI/CreateCase.h index e976bca2..37603d39 100644 --- a/src/HOMARDGUI/CreateCase.h +++ b/src/HOMARDGUI/CreateCase.h @@ -1,7 +1,7 @@ /******************************************************************************** ** Form generated from reading ui file 'CreateCase.ui' ** -** Created: Mon Sep 12 15:31:56 2011 +** Created: Fri Oct 28 11:27:32 2011 ** by: Qt User Interface Compiler version 4.2.1 ** ** WARNING! All changes made in this file will be lost when recompiling ui file! @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -26,7 +25,6 @@ #include #include #include -#include #include #include @@ -34,30 +32,22 @@ class Ui_CreateCase { public: QGridLayout *gridLayout; - QGroupBox *GBAdvancedOptions; - QGridLayout *gridLayout1; - QSpacerItem *spacerItem; - QLabel *TLMinimalDiameter; - QSpinBox *spinBoxNivMax; - QDoubleSpinBox *doubleSpinBoxDiamMin; - QLabel *TLMaximalLevel; QGroupBox *GBBoundaryA; QTableWidget *TWBoundary; QWidget *layoutWidget; - QGridLayout *gridLayout2; + QGridLayout *gridLayout1; QPushButton *PBBoundaryAnEdit; QPushButton *PBBoundaryAnNew; QPushButton *PBBoundaryAnHelp; - QCheckBox *CBAdvanced; QGroupBox *GBBoundaryD; - QGridLayout *gridLayout3; + QGridLayout *gridLayout2; QPushButton *PBBoundaryDiEdit; QPushButton *PBBoundaryDiNew; QComboBox *CBBoundaryDi; - QSpacerItem *spacerItem1; + QSpacerItem *spacerItem; QPushButton *PBBoundaryDiHelp; QGroupBox *GroupButtons; - QGridLayout *gridLayout4; + QGridLayout *gridLayout3; QPushButton *buttonHelp; QPushButton *buttonCancel; QPushButton *buttonApply; @@ -76,20 +66,20 @@ public: QLabel *Mesh_2; QPushButton *PushFichier; QLineEdit *LEFileName; - QSpacerItem *spacerItem2; + QSpacerItem *spacerItem1; QGroupBox *GBTypeConf; QHBoxLayout *hboxLayout4; QRadioButton *RBConforme; QRadioButton *RBNonConforme; - QSpacerItem *spacerItem3; + QSpacerItem *spacerItem2; QGroupBox *GBTypeNoConf; QHBoxLayout *hboxLayout5; QRadioButton *RB1NpM; QRadioButton *RB1NpA; QRadioButton *RBQuelconque; + QSpacerItem *spacerItem3; QSpacerItem *spacerItem4; QSpacerItem *spacerItem5; - QSpacerItem *spacerItem6; void setupUi(QDialog *CreateCase) { @@ -104,53 +94,6 @@ public: gridLayout->setSpacing(6); gridLayout->setMargin(9); gridLayout->setObjectName(QString::fromUtf8("gridLayout")); - GBAdvancedOptions = new QGroupBox(CreateCase); - GBAdvancedOptions->setObjectName(QString::fromUtf8("GBAdvancedOptions")); - gridLayout1 = new QGridLayout(GBAdvancedOptions); - gridLayout1->setSpacing(6); - gridLayout1->setMargin(9); - gridLayout1->setObjectName(QString::fromUtf8("gridLayout1")); - spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); - - gridLayout1->addItem(spacerItem, 0, 2, 1, 1); - - TLMinimalDiameter = new QLabel(GBAdvancedOptions); - TLMinimalDiameter->setObjectName(QString::fromUtf8("TLMinimalDiameter")); - QSizePolicy sizePolicy1(static_cast(0), static_cast(0)); - sizePolicy1.setHorizontalStretch(0); - sizePolicy1.setVerticalStretch(0); - sizePolicy1.setHeightForWidth(TLMinimalDiameter->sizePolicy().hasHeightForWidth()); - TLMinimalDiameter->setSizePolicy(sizePolicy1); - TLMinimalDiameter->setWordWrap(false); - - gridLayout1->addWidget(TLMinimalDiameter, 0, 0, 1, 1); - - spinBoxNivMax = new QSpinBox(GBAdvancedOptions); - spinBoxNivMax->setObjectName(QString::fromUtf8("spinBoxNivMax")); - spinBoxNivMax->setValue(99); - - gridLayout1->addWidget(spinBoxNivMax, 0, 4, 1, 1); - - doubleSpinBoxDiamMin = new QDoubleSpinBox(GBAdvancedOptions); - doubleSpinBoxDiamMin->setObjectName(QString::fromUtf8("doubleSpinBoxDiamMin")); - doubleSpinBoxDiamMin->setDecimals(5); - - gridLayout1->addWidget(doubleSpinBoxDiamMin, 0, 1, 1, 1); - - TLMaximalLevel = new QLabel(GBAdvancedOptions); - TLMaximalLevel->setObjectName(QString::fromUtf8("TLMaximalLevel")); - QSizePolicy sizePolicy2(static_cast(0), static_cast(0)); - sizePolicy2.setHorizontalStretch(0); - sizePolicy2.setVerticalStretch(0); - sizePolicy2.setHeightForWidth(TLMaximalLevel->sizePolicy().hasHeightForWidth()); - TLMaximalLevel->setSizePolicy(sizePolicy2); - TLMaximalLevel->setWordWrap(false); - - gridLayout1->addWidget(TLMaximalLevel, 0, 3, 1, 1); - - - gridLayout->addWidget(GBAdvancedOptions, 14, 0, 1, 1); - GBBoundaryA = new QGroupBox(CreateCase); GBBoundaryA->setObjectName(QString::fromUtf8("GBBoundaryA")); GBBoundaryA->setMinimumSize(QSize(548, 200)); @@ -164,110 +107,105 @@ public: layoutWidget = new QWidget(GBBoundaryA); layoutWidget->setObjectName(QString::fromUtf8("layoutWidget")); layoutWidget->setGeometry(QRect(430, 40, 77, 95)); - gridLayout2 = new QGridLayout(layoutWidget); - gridLayout2->setSpacing(6); - gridLayout2->setMargin(0); - gridLayout2->setObjectName(QString::fromUtf8("gridLayout2")); + gridLayout1 = new QGridLayout(layoutWidget); + gridLayout1->setSpacing(6); + gridLayout1->setMargin(0); + gridLayout1->setObjectName(QString::fromUtf8("gridLayout1")); PBBoundaryAnEdit = new QPushButton(layoutWidget); PBBoundaryAnEdit->setObjectName(QString::fromUtf8("PBBoundaryAnEdit")); PBBoundaryAnEdit->setAutoDefault(false); - gridLayout2->addWidget(PBBoundaryAnEdit, 1, 0, 1, 1); + gridLayout1->addWidget(PBBoundaryAnEdit, 1, 0, 1, 1); PBBoundaryAnNew = new QPushButton(layoutWidget); PBBoundaryAnNew->setObjectName(QString::fromUtf8("PBBoundaryAnNew")); PBBoundaryAnNew->setAutoDefault(false); - gridLayout2->addWidget(PBBoundaryAnNew, 0, 0, 1, 1); + gridLayout1->addWidget(PBBoundaryAnNew, 0, 0, 1, 1); PBBoundaryAnHelp = new QPushButton(layoutWidget); PBBoundaryAnHelp->setObjectName(QString::fromUtf8("PBBoundaryAnHelp")); PBBoundaryAnHelp->setAutoDefault(false); - gridLayout2->addWidget(PBBoundaryAnHelp, 2, 0, 1, 1); + gridLayout1->addWidget(PBBoundaryAnHelp, 2, 0, 1, 1); gridLayout->addWidget(GBBoundaryA, 12, 0, 1, 2); - CBAdvanced = new QCheckBox(CreateCase); - CBAdvanced->setObjectName(QString::fromUtf8("CBAdvanced")); - - gridLayout->addWidget(CBAdvanced, 13, 0, 1, 1); - GBBoundaryD = new QGroupBox(CreateCase); GBBoundaryD->setObjectName(QString::fromUtf8("GBBoundaryD")); - QSizePolicy sizePolicy3(static_cast(0), static_cast(0)); - sizePolicy3.setHorizontalStretch(0); - sizePolicy3.setVerticalStretch(0); - sizePolicy3.setHeightForWidth(GBBoundaryD->sizePolicy().hasHeightForWidth()); - GBBoundaryD->setSizePolicy(sizePolicy3); - gridLayout3 = new QGridLayout(GBBoundaryD); - gridLayout3->setSpacing(6); - gridLayout3->setMargin(9); - gridLayout3->setObjectName(QString::fromUtf8("gridLayout3")); + QSizePolicy sizePolicy1(static_cast(0), static_cast(0)); + sizePolicy1.setHorizontalStretch(0); + sizePolicy1.setVerticalStretch(0); + sizePolicy1.setHeightForWidth(GBBoundaryD->sizePolicy().hasHeightForWidth()); + GBBoundaryD->setSizePolicy(sizePolicy1); + gridLayout2 = new QGridLayout(GBBoundaryD); + gridLayout2->setSpacing(6); + gridLayout2->setMargin(9); + gridLayout2->setObjectName(QString::fromUtf8("gridLayout2")); PBBoundaryDiEdit = new QPushButton(GBBoundaryD); PBBoundaryDiEdit->setObjectName(QString::fromUtf8("PBBoundaryDiEdit")); PBBoundaryDiEdit->setAutoDefault(false); - gridLayout3->addWidget(PBBoundaryDiEdit, 0, 3, 1, 1); + gridLayout2->addWidget(PBBoundaryDiEdit, 0, 3, 1, 1); PBBoundaryDiNew = new QPushButton(GBBoundaryD); PBBoundaryDiNew->setObjectName(QString::fromUtf8("PBBoundaryDiNew")); PBBoundaryDiNew->setAutoDefault(false); - gridLayout3->addWidget(PBBoundaryDiNew, 0, 2, 1, 1); + gridLayout2->addWidget(PBBoundaryDiNew, 0, 2, 1, 1); CBBoundaryDi = new QComboBox(GBBoundaryD); CBBoundaryDi->setObjectName(QString::fromUtf8("CBBoundaryDi")); CBBoundaryDi->setSizeAdjustPolicy(QComboBox::AdjustToContents); - gridLayout3->addWidget(CBBoundaryDi, 0, 0, 1, 1); + gridLayout2->addWidget(CBBoundaryDi, 0, 0, 1, 1); - spacerItem1 = new QSpacerItem(40, 13, QSizePolicy::Fixed, QSizePolicy::Minimum); + spacerItem = new QSpacerItem(40, 13, QSizePolicy::Fixed, QSizePolicy::Minimum); - gridLayout3->addItem(spacerItem1, 0, 1, 1, 1); + gridLayout2->addItem(spacerItem, 0, 1, 1, 1); PBBoundaryDiHelp = new QPushButton(GBBoundaryD); PBBoundaryDiHelp->setObjectName(QString::fromUtf8("PBBoundaryDiHelp")); PBBoundaryDiHelp->setAutoDefault(false); - gridLayout3->addWidget(PBBoundaryDiHelp, 0, 4, 1, 1); + gridLayout2->addWidget(PBBoundaryDiHelp, 0, 4, 1, 1); gridLayout->addWidget(GBBoundaryD, 11, 0, 1, 1); GroupButtons = new QGroupBox(CreateCase); GroupButtons->setObjectName(QString::fromUtf8("GroupButtons")); - gridLayout4 = new QGridLayout(GroupButtons); - gridLayout4->setSpacing(6); - gridLayout4->setMargin(9); - gridLayout4->setObjectName(QString::fromUtf8("gridLayout4")); + gridLayout3 = new QGridLayout(GroupButtons); + gridLayout3->setSpacing(6); + gridLayout3->setMargin(9); + gridLayout3->setObjectName(QString::fromUtf8("gridLayout3")); buttonHelp = new QPushButton(GroupButtons); buttonHelp->setObjectName(QString::fromUtf8("buttonHelp")); buttonHelp->setAutoDefault(false); - gridLayout4->addWidget(buttonHelp, 0, 3, 1, 1); + gridLayout3->addWidget(buttonHelp, 0, 3, 1, 1); buttonCancel = new QPushButton(GroupButtons); buttonCancel->setObjectName(QString::fromUtf8("buttonCancel")); buttonCancel->setAutoDefault(false); - gridLayout4->addWidget(buttonCancel, 0, 2, 1, 1); + gridLayout3->addWidget(buttonCancel, 0, 2, 1, 1); buttonApply = new QPushButton(GroupButtons); buttonApply->setObjectName(QString::fromUtf8("buttonApply")); buttonApply->setAutoDefault(false); - gridLayout4->addWidget(buttonApply, 0, 1, 1, 1); + gridLayout3->addWidget(buttonApply, 0, 1, 1, 1); buttonOk = new QPushButton(GroupButtons); buttonOk->setObjectName(QString::fromUtf8("buttonOk")); buttonOk->setAutoDefault(false); - gridLayout4->addWidget(buttonOk, 0, 0, 1, 1); + gridLayout3->addWidget(buttonOk, 0, 0, 1, 1); - gridLayout->addWidget(GroupButtons, 15, 0, 1, 1); + gridLayout->addWidget(GroupButtons, 13, 0, 1, 1); hboxLayout = new QHBoxLayout(); hboxLayout->setSpacing(6); @@ -352,9 +290,9 @@ public: gridLayout->addLayout(hboxLayout3, 3, 0, 1, 2); - spacerItem2 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); + spacerItem1 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); - gridLayout->addItem(spacerItem2, 4, 0, 1, 1); + gridLayout->addItem(spacerItem1, 4, 0, 1, 1); GBTypeConf = new QGroupBox(CreateCase); GBTypeConf->setObjectName(QString::fromUtf8("GBTypeConf")); @@ -376,9 +314,9 @@ public: gridLayout->addWidget(GBTypeConf, 5, 0, 1, 2); - spacerItem3 = new QSpacerItem(20, 1, QSizePolicy::Minimum, QSizePolicy::Expanding); + spacerItem2 = new QSpacerItem(20, 1, QSizePolicy::Minimum, QSizePolicy::Expanding); - gridLayout->addItem(spacerItem3, 6, 0, 1, 1); + gridLayout->addItem(spacerItem2, 6, 0, 1, 1); GBTypeNoConf = new QGroupBox(CreateCase); GBTypeNoConf->setObjectName(QString::fromUtf8("GBTypeNoConf")); @@ -404,22 +342,22 @@ public: gridLayout->addWidget(GBTypeNoConf, 7, 0, 1, 2); - spacerItem4 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); + spacerItem3 = new QSpacerItem(20, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); - gridLayout->addItem(spacerItem4, 8, 0, 1, 1); + gridLayout->addItem(spacerItem3, 8, 0, 1, 1); - spacerItem5 = new QSpacerItem(20, 2, QSizePolicy::Minimum, QSizePolicy::Expanding); + spacerItem4 = new QSpacerItem(20, 2, QSizePolicy::Minimum, QSizePolicy::Expanding); - gridLayout->addItem(spacerItem5, 10, 0, 1, 1); + gridLayout->addItem(spacerItem4, 10, 0, 1, 1); - spacerItem6 = new QSpacerItem(20, 18, QSizePolicy::Minimum, QSizePolicy::Expanding); + spacerItem5 = new QSpacerItem(20, 18, QSizePolicy::Minimum, QSizePolicy::Expanding); - gridLayout->addItem(spacerItem6, 2, 1, 1, 1); + gridLayout->addItem(spacerItem5, 2, 1, 1, 1); retranslateUi(CreateCase); - QSize size(599, 925); + QSize size(601, 843); size = size.expandedTo(CreateCase->minimumSizeHint()); CreateCase->resize(size); @@ -433,9 +371,6 @@ public: void retranslateUi(QDialog *CreateCase) { CreateCase->setWindowTitle(QApplication::translate("CreateCase", "Create a case", 0, QApplication::UnicodeUTF8)); - GBAdvancedOptions->setTitle(QApplication::translate("CreateCase", "Advanced options", 0, QApplication::UnicodeUTF8)); - TLMinimalDiameter->setText(QApplication::translate("CreateCase", "Minimal diameter", 0, QApplication::UnicodeUTF8)); - TLMaximalLevel->setText(QApplication::translate("CreateCase", "Maximal level", 0, QApplication::UnicodeUTF8)); GBBoundaryA->setTitle(QApplication::translate("CreateCase", "Analytical boundary", 0, QApplication::UnicodeUTF8)); if (TWBoundary->columnCount() < 1) TWBoundary->setColumnCount(1); @@ -446,7 +381,6 @@ public: PBBoundaryAnEdit->setText(QApplication::translate("CreateCase", "Edit", 0, QApplication::UnicodeUTF8)); PBBoundaryAnNew->setText(QApplication::translate("CreateCase", "New", 0, QApplication::UnicodeUTF8)); PBBoundaryAnHelp->setText(QApplication::translate("CreateCase", "Help", 0, QApplication::UnicodeUTF8)); - CBAdvanced->setText(QApplication::translate("CreateCase", "Advanced options", 0, QApplication::UnicodeUTF8)); GBBoundaryD->setTitle(QApplication::translate("CreateCase", "Discrete boundary", 0, QApplication::UnicodeUTF8)); PBBoundaryDiEdit->setText(QApplication::translate("CreateCase", "Edit", 0, QApplication::UnicodeUTF8)); PBBoundaryDiNew->setText(QApplication::translate("CreateCase", "New", 0, QApplication::UnicodeUTF8)); diff --git a/src/HOMARDGUI/CreateCase.ui b/src/HOMARDGUI/CreateCase.ui index 9deb2cde..3bdc0ef5 100644 --- a/src/HOMARDGUI/CreateCase.ui +++ b/src/HOMARDGUI/CreateCase.ui @@ -5,8 +5,8 @@ 0 0 - 599 - 925 + 601 + 843 @@ -30,84 +30,6 @@ 6 - - - - Advanced options - - - - 9 - - - 6 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 0 - 0 - 0 - 0 - - - - Minimal diameter - - - false - - - - - - - 99 - - - - - - - 5 - - - - - - - - 0 - 0 - 0 - 0 - - - - Maximal level - - - false - - - - - - @@ -196,13 +118,6 @@ - - - - Advanced options - - - @@ -282,7 +197,7 @@ - + diff --git a/src/HOMARDGUI/CreateHypothesis.h b/src/HOMARDGUI/CreateHypothesis.h index ba882100..1496518a 100644 --- a/src/HOMARDGUI/CreateHypothesis.h +++ b/src/HOMARDGUI/CreateHypothesis.h @@ -1,7 +1,7 @@ /******************************************************************************** ** Form generated from reading ui file 'CreateHypothesis.ui' ** -** Created: Thu Sep 15 09:15:39 2011 +** Created: Fri Oct 28 11:27:29 2011 ** by: Qt User Interface Compiler version 4.2.1 ** ** WARNING! All changes made in this file will be lost when recompiling ui file! @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -98,8 +99,16 @@ public: QRadioButton *RBFieldChosen; QTableWidget *TWField; QCheckBox *CBGroupe; - QGroupBox *GBButtons; + QCheckBox *CBAdvanced; + QGroupBox *GBAdvancedOptions; QGridLayout *gridLayout9; + QSpacerItem *spacerItem3; + QLabel *TLMinimalDiameter; + QSpinBox *spinBoxNivMax; + QDoubleSpinBox *doubleSpinBoxDiamMin; + QLabel *TLMaximalLevel; + QGroupBox *GBButtons; + QGridLayout *gridLayout10; QPushButton *buttonOk; QPushButton *buttonApply; QPushButton *buttonCancel; @@ -520,34 +529,86 @@ public: gridLayout->addWidget(CBGroupe, 7, 0, 1, 2); - GBButtons = new QGroupBox(CreateHypothesis); - GBButtons->setObjectName(QString::fromUtf8("GBButtons")); - gridLayout9 = new QGridLayout(GBButtons); + CBAdvanced = new QCheckBox(CreateHypothesis); + CBAdvanced->setObjectName(QString::fromUtf8("CBAdvanced")); + + gridLayout->addWidget(CBAdvanced, 8, 0, 1, 1); + + GBAdvancedOptions = new QGroupBox(CreateHypothesis); + GBAdvancedOptions->setObjectName(QString::fromUtf8("GBAdvancedOptions")); + gridLayout9 = new QGridLayout(GBAdvancedOptions); gridLayout9->setSpacing(6); gridLayout9->setMargin(9); gridLayout9->setObjectName(QString::fromUtf8("gridLayout9")); + spacerItem3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + + gridLayout9->addItem(spacerItem3, 0, 2, 1, 1); + + TLMinimalDiameter = new QLabel(GBAdvancedOptions); + TLMinimalDiameter->setObjectName(QString::fromUtf8("TLMinimalDiameter")); + QSizePolicy sizePolicy5(static_cast(0), static_cast(0)); + sizePolicy5.setHorizontalStretch(0); + sizePolicy5.setVerticalStretch(0); + sizePolicy5.setHeightForWidth(TLMinimalDiameter->sizePolicy().hasHeightForWidth()); + TLMinimalDiameter->setSizePolicy(sizePolicy5); + TLMinimalDiameter->setWordWrap(false); + + gridLayout9->addWidget(TLMinimalDiameter, 0, 0, 1, 1); + + spinBoxNivMax = new QSpinBox(GBAdvancedOptions); + spinBoxNivMax->setObjectName(QString::fromUtf8("spinBoxNivMax")); + spinBoxNivMax->setValue(99); + + gridLayout9->addWidget(spinBoxNivMax, 0, 4, 1, 1); + + doubleSpinBoxDiamMin = new QDoubleSpinBox(GBAdvancedOptions); + doubleSpinBoxDiamMin->setObjectName(QString::fromUtf8("doubleSpinBoxDiamMin")); + doubleSpinBoxDiamMin->setDecimals(5); + + gridLayout9->addWidget(doubleSpinBoxDiamMin, 0, 1, 1, 1); + + TLMaximalLevel = new QLabel(GBAdvancedOptions); + TLMaximalLevel->setObjectName(QString::fromUtf8("TLMaximalLevel")); + QSizePolicy sizePolicy6(static_cast(0), static_cast(0)); + sizePolicy6.setHorizontalStretch(0); + sizePolicy6.setVerticalStretch(0); + sizePolicy6.setHeightForWidth(TLMaximalLevel->sizePolicy().hasHeightForWidth()); + TLMaximalLevel->setSizePolicy(sizePolicy6); + TLMaximalLevel->setWordWrap(false); + + gridLayout9->addWidget(TLMaximalLevel, 0, 3, 1, 1); + + + gridLayout->addWidget(GBAdvancedOptions, 9, 0, 1, 1); + + GBButtons = new QGroupBox(CreateHypothesis); + GBButtons->setObjectName(QString::fromUtf8("GBButtons")); + gridLayout10 = new QGridLayout(GBButtons); + gridLayout10->setSpacing(6); + gridLayout10->setMargin(9); + gridLayout10->setObjectName(QString::fromUtf8("gridLayout10")); buttonOk = new QPushButton(GBButtons); buttonOk->setObjectName(QString::fromUtf8("buttonOk")); - gridLayout9->addWidget(buttonOk, 0, 0, 1, 1); + gridLayout10->addWidget(buttonOk, 0, 0, 1, 1); buttonApply = new QPushButton(GBButtons); buttonApply->setObjectName(QString::fromUtf8("buttonApply")); - gridLayout9->addWidget(buttonApply, 0, 1, 1, 1); + gridLayout10->addWidget(buttonApply, 0, 1, 1, 1); buttonCancel = new QPushButton(GBButtons); buttonCancel->setObjectName(QString::fromUtf8("buttonCancel")); - gridLayout9->addWidget(buttonCancel, 0, 2, 1, 1); + gridLayout10->addWidget(buttonCancel, 0, 2, 1, 1); buttonHelp = new QPushButton(GBButtons); buttonHelp->setObjectName(QString::fromUtf8("buttonHelp")); - gridLayout9->addWidget(buttonHelp, 0, 3, 1, 1); + gridLayout10->addWidget(buttonHelp, 0, 3, 1, 1); - gridLayout->addWidget(GBButtons, 8, 0, 1, 2); + gridLayout->addWidget(GBButtons, 10, 0, 1, 2); retranslateUi(CreateHypothesis); @@ -631,6 +692,10 @@ public: __colItem5->setText(QApplication::translate("CreateHypothesis", "Field Name", 0, QApplication::UnicodeUTF8)); TWField->setHorizontalHeaderItem(1, __colItem5); CBGroupe->setText(QApplication::translate("CreateHypothesis", "Filtering with groups", 0, QApplication::UnicodeUTF8)); + CBAdvanced->setText(QApplication::translate("CreateHypothesis", "Advanced options", 0, QApplication::UnicodeUTF8)); + GBAdvancedOptions->setTitle(QApplication::translate("CreateHypothesis", "Advanced options", 0, QApplication::UnicodeUTF8)); + TLMinimalDiameter->setText(QApplication::translate("CreateHypothesis", "Minimal diameter", 0, QApplication::UnicodeUTF8)); + TLMaximalLevel->setText(QApplication::translate("CreateHypothesis", "Maximal level", 0, QApplication::UnicodeUTF8)); GBButtons->setTitle(QString()); buttonOk->setText(QApplication::translate("CreateHypothesis", "OK", 0, QApplication::UnicodeUTF8)); buttonApply->setText(QApplication::translate("CreateHypothesis", "Apply", 0, QApplication::UnicodeUTF8)); diff --git a/src/HOMARDGUI/CreateHypothesis.ui b/src/HOMARDGUI/CreateHypothesis.ui index 5d130fdc..a3937ca4 100644 --- a/src/HOMARDGUI/CreateHypothesis.ui +++ b/src/HOMARDGUI/CreateHypothesis.ui @@ -735,48 +735,133 @@ - - - - - - - - 9 - - - 6 - - - - - OK - - - - - - - Apply - - - - - - - Cancel - - - - - - - Help - - - - - + + + + Advanced options + + + + + + + Advanced options + + + + 9 + + + 6 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 0 + 0 + 0 + 0 + + + + Minimal diameter + + + false + + + + + + + 99 + + + + + + + 5 + + + + + + + + 0 + 0 + 0 + 0 + + + + Maximal level + + + false + + + + + + + + + + + + + + 9 + + + 6 + + + + + OK + + + + + + + Apply + + + + + + + Cancel + + + + + + + Help + + + + + diff --git a/src/HOMARDGUI/MonCreateCase.cxx b/src/HOMARDGUI/MonCreateCase.cxx index 714ef467..477525d1 100644 --- a/src/HOMARDGUI/MonCreateCase.cxx +++ b/src/HOMARDGUI/MonCreateCase.cxx @@ -43,9 +43,7 @@ MonCreateCase::MonCreateCase(QWidget* parent, bool modal, HOMARD::HOMARD_Gen_var */ : Ui_CreateCase(), - _aCaseName(""),_aDirName(""), _ConfType(1), - _NivMax(-1), - _DiamMin(-1.) + _aCaseName(""),_aDirName(""), _ConfType(1) { _myHomardGen=HOMARD::HOMARD_Gen::_duplicate(myHomardGen); setupUi(this); @@ -56,7 +54,6 @@ MonCreateCase::MonCreateCase(QWidget* parent, bool modal, HOMARD::HOMARD_Gen_var GBBoundaryA->setVisible(0); GBBoundaryD->setVisible(0); GBTypeNoConf->setVisible(0); - GBAdvancedOptions->setVisible(0); adjustSize(); } @@ -88,8 +85,6 @@ void MonCreateCase::InitConnect() connect( PBBoundaryAnEdit, SIGNAL(pressed()), this, SLOT(PushBoundaryAnEdit()) ); connect( PBBoundaryAnHelp, SIGNAL(pressed()), this, SLOT(PushBoundaryAnHelp()) ); - connect( CBAdvanced, SIGNAL(stateChanged(int)), this, SLOT(SetAdvanced())); - connect( buttonOk, SIGNAL(pressed()), this, SLOT(PushOnOK())); connect( buttonApply, SIGNAL(pressed()), this, SLOT(PushOnApply())); connect( buttonCancel, SIGNAL(pressed()), this, SLOT(close())); @@ -278,16 +273,6 @@ bool MonCreateCase::PushOnApply() } } } -// Options avancees - if (CBAdvanced->isChecked()) - { -// Enregistrement du niveau maximal - _NivMax = spinBoxNivMax->value() ; - aCase->SetNivMax(_NivMax); -// Enregistrement du diametre minimal - _DiamMin = doubleSpinBoxDiamMin->value() ; - aCase->SetDiamMin(_DiamMin); - } HOMARD_UTILS::updateObjBrowser(); return true; @@ -514,15 +499,3 @@ void MonCreateCase::CaseNameChanged() PushFichier->show(); } } -// ------------------------------------------------------------------------ -void MonCreateCase::SetAdvanced() -// ------------------------------------------------------------------------ -{ - MESSAGE("Debut de SetAdvanced "); - if (CBAdvanced->isChecked()) { GBAdvancedOptions->setVisible(1); } - else - { GBAdvancedOptions->setVisible(0); - _NivMax = -1 ; - _DiamMin = -1. ; } - adjustSize(); -} diff --git a/src/HOMARDGUI/MonCreateCase.h b/src/HOMARDGUI/MonCreateCase.h index b1459141..cb4c62d4 100644 --- a/src/HOMARDGUI/MonCreateCase.h +++ b/src/HOMARDGUI/MonCreateCase.h @@ -46,9 +46,6 @@ protected : QString _aDirName; int _ConfType; - int _NivMax; - double _DiamMin; - HOMARD::HOMARD_Cas_var aCase ; HOMARD::HOMARD_Gen_var _myHomardGen; @@ -76,8 +73,6 @@ public slots: virtual void PushBoundaryAnEdit(); virtual void PushBoundaryAnHelp(); - virtual void SetAdvanced(); - virtual void PushOnOK(); virtual bool PushOnApply(); virtual void PushOnHelp(); diff --git a/src/HOMARDGUI/MonCreateHypothesis.cxx b/src/HOMARDGUI/MonCreateHypothesis.cxx index bf5e275b..e425e4a6 100644 --- a/src/HOMARDGUI/MonCreateHypothesis.cxx +++ b/src/HOMARDGUI/MonCreateHypothesis.cxx @@ -48,7 +48,9 @@ MonCreateHypothesis::MonCreateHypothesis(MonCreateIteration* parent, bool modal, _aTypeAdap(-2), _aTypeRaff(1), _aTypeDera(0), _TypeThR(3), _ThreshR(0), _TypeThC(0), _ThreshC(0), - _UsField(0), _UsCmpI(0), _TypeFieldInterp(0) + _UsField(0), _UsCmpI(0), _TypeFieldInterp(0), + _NivMax(-1), + _DiamMin(-1.) { MESSAGE("Constructeur") ; _myHomardGen=HOMARD::HOMARD_Gen::_duplicate(myHomardGen); @@ -66,6 +68,7 @@ MonCreateHypothesis::MonCreateHypothesis(MonCreateIteration* parent, bool modal, SetUniforme(); } SetFieldNo(); + GBAdvancedOptions->setVisible(0); } // ------------------------------------------------------------------------ @@ -83,6 +86,7 @@ void MonCreateHypothesis::InitConnect() connect( RBZone, SIGNAL(clicked()), this, SLOT(SetZone())); connect( RBUniRaff, SIGNAL(clicked()), this, SLOT(SetUniRaff())); connect( RBUniDera, SIGNAL(clicked()), this, SLOT(SetUniDera())); + connect( CBFieldName, SIGNAL(activated(int)), this, SLOT( SetFieldName())); connect( RBRPE, SIGNAL(clicked()), this, SLOT(SetRPE())); connect( RBRRel, SIGNAL(clicked()), this, SLOT(SetRRel())); @@ -99,9 +103,13 @@ void MonCreateHypothesis::InitConnect() connect( PBZoneEdit, SIGNAL(pressed()), this, SLOT(PushZoneEdit()) ); connect( PBZoneDelete, SIGNAL(pressed()), this, SLOT(PushZoneDelete()) ); connect( CBGroupe, SIGNAL(stateChanged(int)), this, SLOT(SetFiltrage())); + connect( RBFieldNo, SIGNAL(clicked()), this, SLOT(SetFieldNo())); connect( RBFieldAll, SIGNAL(clicked()), this, SLOT(SetFieldAll())); connect( RBFieldChosen,SIGNAL(clicked()), this, SLOT(SetFieldChosen())); + + connect( CBAdvanced, SIGNAL(stateChanged(int)), this, SLOT(SetAdvanced())); + connect( buttonOk, SIGNAL(pressed()), this, SLOT( PushOnOK())); connect( buttonApply, SIGNAL(pressed()), this, SLOT( PushOnApply())); connect( buttonCancel, SIGNAL(pressed()), this, SLOT(close())); @@ -153,6 +161,17 @@ bool MonCreateHypothesis::PushOnApply() AssocieLesGroupes(); AssocieFieldInterp(); +// Options avancees + if (CBAdvanced->isChecked()) + { +// Enregistrement du niveau maximal + _NivMax = spinBoxNivMax->value() ; + _aHypothesis->SetNivMax(_NivMax); +// Enregistrement du diametre minimal + _DiamMin = doubleSpinBoxDiamMin->value() ; + _aHypothesis->SetDiamMin(_DiamMin); + } + HOMARD_UTILS::updateObjBrowser(); return true; } @@ -739,3 +758,15 @@ void MonCreateHypothesis::SetFieldChosen() _TypeFieldInterp = 2 ; adjustSize(); } +// ------------------------------------------------------------------------ +void MonCreateHypothesis::SetAdvanced() +// ------------------------------------------------------------------------ +{ + MESSAGE("Debut de SetAdvanced "); + if (CBAdvanced->isChecked()) { GBAdvancedOptions->setVisible(1); } + else + { GBAdvancedOptions->setVisible(0); + _NivMax = -1 ; + _DiamMin = -1. ; } + adjustSize(); +} diff --git a/src/HOMARDGUI/MonCreateHypothesis.h b/src/HOMARDGUI/MonCreateHypothesis.h index d554f427..a0599265 100644 --- a/src/HOMARDGUI/MonCreateHypothesis.h +++ b/src/HOMARDGUI/MonCreateHypothesis.h @@ -68,6 +68,9 @@ protected : int _UsCmpI; int _TypeFieldInterp; + int _NivMax; + double _DiamMin; + HOMARD::HOMARD_Gen_var _myHomardGen; HOMARD::HOMARD_Hypothesis_var _aHypothesis; @@ -116,6 +119,9 @@ public slots: virtual void SetFieldNo(); virtual void SetFieldAll(); virtual void SetFieldChosen(); + + virtual void SetAdvanced(); + virtual void PushOnOK(); virtual bool PushOnApply(); virtual void PushOnHelp(); diff --git a/src/HOMARDGUI/MonEditCase.cxx b/src/HOMARDGUI/MonEditCase.cxx index 5f1ecaff..7a1b3963 100644 --- a/src/HOMARDGUI/MonEditCase.cxx +++ b/src/HOMARDGUI/MonEditCase.cxx @@ -179,19 +179,6 @@ void MonEditCase::InitValEdit() PBBoundaryDiNew->setVisible(0); PBBoundaryDiHelp->setVisible(0); } } -// Les options avancees (non modifiables) - CBAdvanced->setVisible(0) ; - int NivMax = aCase->GetNivMax(); - double DiamMin = aCase->GetDiamMin(); - if ( NivMax > 0 ) - { GBAdvancedOptions->setVisible(1); - spinBoxNivMax->setValue(NivMax); - spinBoxNivMax->setDisabled(true); - doubleSpinBoxDiamMin->setValue(DiamMin); - doubleSpinBoxDiamMin->setDisabled(true); - } - else - { GBAdvancedOptions->setVisible(0); } // adjustSize(); } diff --git a/src/HOMARDGUI/MonEditHypothesis.cxx b/src/HOMARDGUI/MonEditHypothesis.cxx index bc2f9651..b01ddbe1 100644 --- a/src/HOMARDGUI/MonEditHypothesis.cxx +++ b/src/HOMARDGUI/MonEditHypothesis.cxx @@ -66,39 +66,53 @@ void MonEditHypothesis::InitGroupes() void MonEditHypothesis::InitValEdit() // ------------------------------ { - MESSAGE("Debut de InitValEdit"); - LEHypothesisName->setText(_aHypothesisName); - LEHypothesisName->setReadOnly(true); - HOMARD::listeTypes_var ListTypes (_aHypothesis->GetAdapRefinUnRef()); - ASSERT( ListTypes->length()==3) ; - _aTypeAdap = ListTypes[0]; - _aTypeRaff = ListTypes[1]; - _aTypeDera = ListTypes[2]; + MESSAGE("Debut de InitValEdit"); + LEHypothesisName->setText(_aHypothesisName); + LEHypothesisName->setReadOnly(true); + HOMARD::listeTypes_var ListTypes (_aHypothesis->GetAdapRefinUnRef()); + ASSERT( ListTypes->length()==3) ; + _aTypeAdap = ListTypes[0]; + _aTypeRaff = ListTypes[1]; + _aTypeDera = ListTypes[2]; - if (_aTypeAdap == -1) InitAdaptUniforme(); - if (_aTypeAdap == 0) InitAdaptZone(); - if (_aTypeAdap == 1) InitAdaptChamps(); + if (_aTypeAdap == -1) InitAdaptUniforme(); + if (_aTypeAdap == 0) InitAdaptZone(); + if (_aTypeAdap == 1) InitAdaptChamps(); - RBUniDera->setDisabled(true); - RBUniRaff->setDisabled(true); + RBUniDera->setDisabled(true); + RBUniRaff->setDisabled(true); - InitFieldInterp(); + InitFieldInterp(); - if (_aTypeAdap == 1 or _TypeFieldInterp >= 1 ) - { - if (_aFieldFile == QString("")) { GBFieldFile->setVisible(0); } - else - { - GBFieldFile->setVisible(1); - LEFieldFile->setText(_aFieldFile); - LEFieldFile->setReadOnly(1); - } - } - else - { - GBFieldFile->setVisible(0); - } - adjustSize(); + if (_aTypeAdap == 1 or _TypeFieldInterp >= 1 ) + { + if (_aFieldFile == QString("")) { GBFieldFile->setVisible(0); } + else + { + GBFieldFile->setVisible(1); + LEFieldFile->setText(_aFieldFile); + LEFieldFile->setReadOnly(1); + } + } + else + { + GBFieldFile->setVisible(0); + } +// Les options avancees (non modifiables) + CBAdvanced->setVisible(0) ; + int NivMax = _aHypothesis->GetNivMax(); + double DiamMin = _aHypothesis->GetDiamMin(); + if ( NivMax > 0 ) + { GBAdvancedOptions->setVisible(1); + spinBoxNivMax->setValue(NivMax); + spinBoxNivMax->setDisabled(true); + doubleSpinBoxDiamMin->setValue(DiamMin); + doubleSpinBoxDiamMin->setDisabled(true); + } + else + { GBAdvancedOptions->setVisible(0); } +// + adjustSize(); } // ---------------------------------------- void MonEditHypothesis::InitAdaptUniforme() diff --git a/src/HOMARD_I/HOMARD_Cas_i.cxx b/src/HOMARD_I/HOMARD_Cas_i.cxx index 281318e9..a5077680 100755 --- a/src/HOMARD_I/HOMARD_Cas_i.cxx +++ b/src/HOMARD_I/HOMARD_Cas_i.cxx @@ -165,7 +165,7 @@ void HOMARD_Cas_i::SetBoundingBox( const HOMARD::extrema& LesExtrema ) { VExtrema[i] = LesExtrema[i]; } - + myHomardCas->SetBoundingBox( VExtrema ); } //============================================================================= @@ -225,30 +225,6 @@ HOMARD::ListBoundaryGroupType* HOMARD_Cas_i::GetBoundaryGroup() } return aResult._retn(); } -//============================================================================= -void HOMARD_Cas_i::SetNivMax( CORBA::Long NivMax ) -{ - ASSERT( myHomardCas ); - myHomardCas->SetNivMax( NivMax ); -} -//============================================================================= -CORBA::Long HOMARD_Cas_i::GetNivMax() -{ - ASSERT( myHomardCas ); - return myHomardCas->GetNivMax(); -} -//============================================================================= -void HOMARD_Cas_i::SetDiamMin( CORBA::Double DiamMin ) -{ - ASSERT( myHomardCas ); - myHomardCas->SetDiamMin( DiamMin ); -} -//============================================================================= -CORBA::Double HOMARD_Cas_i::GetDiamMin() -{ - ASSERT( myHomardCas ); - return myHomardCas->GetDiamMin(); -} //============================================================================= std::string HOMARD_Cas_i::Dump() const diff --git a/src/HOMARD_I/HOMARD_Cas_i.hxx b/src/HOMARD_I/HOMARD_Cas_i.hxx index 93a59b2f..cf63e55d 100644 --- a/src/HOMARD_I/HOMARD_Cas_i.hxx +++ b/src/HOMARD_I/HOMARD_Cas_i.hxx @@ -52,12 +52,6 @@ public: void SetConfType( CORBA::Long ConfType ); CORBA::Long GetConfType(); - void SetNivMax( CORBA::Long NivMax ); - CORBA::Long GetNivMax(); - - void SetDiamMin( CORBA::Double DiamMin ); - CORBA::Double GetDiamMin(); - void AddIteration( const char* NomIteration ); char* GetIter0Name(); diff --git a/src/HOMARD_I/HOMARD_Gen_i.cxx b/src/HOMARD_I/HOMARD_Gen_i.cxx index 7fc1bff9..bf9fb00f 100755 --- a/src/HOMARD_I/HOMARD_Gen_i.cxx +++ b/src/HOMARD_I/HOMARD_Gen_i.cxx @@ -557,10 +557,6 @@ HOMARD::HOMARD_Cas_ptr HOMARD_Gen_i::CreateCase(const char* nomCas, const char* aSeqGroupe[i++]=(*it).c_str(); myCase->SetGroups(aSeqGroupe); -// Valeurs par defaut des filtrages - myCase->SetNivMax(-1); - myCase->SetDiamMin(-1.0); - // Recherche d'un nom pour l'iteration 0. Par defaut, on prend le nom // du maillage du cas. Si ce nom existe deja, on incremente avec 0, 1, 2, etc. int monNum=0; @@ -667,6 +663,10 @@ HOMARD::HOMARD_Hypothesis_ptr HOMARD_Gen_i::CreateHypothesis(const char* nomHypo SALOMEDS::SObject_var aSO; PublishInStudy(myCurrentStudy, aSO, myHypothesis, nomHypothesis); +// Valeurs par defaut des filtrages + myHypothesis->SetNivMax(-1); + myHypothesis->SetDiamMin(-1.0); + return HOMARD::HOMARD_Hypothesis::_duplicate(myHypothesis); } @@ -1056,7 +1056,6 @@ CORBA::Boolean HOMARD_Gen_i::Compute(const char* nomIteration, CORBA::Long etatM std::string siterp1 = saux1.str() ; if (NumeIter < 10) { siterp1 = "0" + siterp1 ; } - // A.3. Hypothese associee // B. Les repertoires // B.1. Le repertoire du cas const char* nomDir = myCase->GetDirName(); @@ -1428,11 +1427,11 @@ CORBA::Boolean HOMARD_Gen_i::Compute(const char* nomIteration, CORBA::Long etatM } } // E.7. Ajout des options avancees - int NivMax = myCase->GetNivMax(); + int NivMax = myHypo->GetNivMax(); MESSAGE ( ". NivMax = " << NivMax ); if ( NivMax > 0 ) { - double DiamMin = myCase->GetDiamMin(); + double DiamMin = myHypo->GetDiamMin(); MESSAGE ( ". DiamMin = " << DiamMin ); myDriver->TexteAdvanced(NivMax, DiamMin); } diff --git a/src/HOMARD_I/HOMARD_Hypothesis_i.cxx b/src/HOMARD_I/HOMARD_Hypothesis_i.cxx index 0b743de6..ca3dc2c2 100644 --- a/src/HOMARD_I/HOMARD_Hypothesis_i.cxx +++ b/src/HOMARD_I/HOMARD_Hypothesis_i.cxx @@ -359,6 +359,30 @@ HOMARD::listFieldInterpHypo* HOMARD_Hypothesis_i::GetListFieldInterp() } return aResult._retn(); } +//============================================================================= +void HOMARD_Hypothesis_i::SetNivMax( CORBA::Long NivMax ) +{ + ASSERT( myHomardHypothesis ); + myHomardHypothesis->SetNivMax( NivMax ); +} +//============================================================================= +CORBA::Long HOMARD_Hypothesis_i::GetNivMax() +{ + ASSERT( myHomardHypothesis ); + return myHomardHypothesis->GetNivMax(); +} +//============================================================================= +void HOMARD_Hypothesis_i::SetDiamMin( CORBA::Double DiamMin ) +{ + ASSERT( myHomardHypothesis ); + myHomardHypothesis->SetDiamMin( DiamMin ); +} +//============================================================================= +CORBA::Double HOMARD_Hypothesis_i::GetDiamMin() +{ + ASSERT( myHomardHypothesis ); + return myHomardHypothesis->GetDiamMin(); +} //============================================================================= std::string HOMARD_Hypothesis_i::Dump() const diff --git a/src/HOMARD_I/HOMARD_Hypothesis_i.hxx b/src/HOMARD_I/HOMARD_Hypothesis_i.hxx index 57a6ecac..69d45844 100644 --- a/src/HOMARD_I/HOMARD_Hypothesis_i.hxx +++ b/src/HOMARD_I/HOMARD_Hypothesis_i.hxx @@ -85,6 +85,11 @@ public: void SupprFieldInterp(); HOMARD::listFieldInterpHypo* GetListFieldInterp(); + void SetNivMax( CORBA::Long NivMax ); + CORBA::Long GetNivMax(); + + void SetDiamMin( CORBA::Double DiamMin ); + CORBA::Double GetDiamMin(); std::string Dump() const; bool Restore( const std::string& stream ); -- 2.39.2