diff --git a/doc/salome/gui/SMESH/SMESH.log b/doc/salome/gui/SMESH/SMESH.log new file mode 100755 index 000000000..4552b0906 --- /dev/null +++ b/doc/salome/gui/SMESH/SMESH.log @@ -0,0 +1,288 @@ +|SourceProjectName:SMESH.hpr +|DestinationProjectName:smesh.html +whhost.js +whmsg.js +whmozemu.js +whproxy.js +whstub.js +whutils.js +whver.js +whform.js +whphost.js +whstart.js +whtopic.js +whframes.js +whlang.js +whskin_info.htm +whskin_blank.htm +whnjs.htm +whthost.js +whtdhtml.htm +whihost.js +whibody.htm +whiform.htm +whfhost.js +whfbody.htm +whfform.htm +whghost.js +whgbody.htm +whgdhtml.htm +whgdef.htm +whproj.js +whproj.xml +whproj.htm +whdata\whtoc.js +whdata\whtoc.xml +whdata\whtoc.htm +whdata\whtdata.js +whdata\whidx.js +whdata\whidx.xml +whdata\whidx.htm +whdata\whidata.js +whdata\whfts.js +whdata\whfts.xml +whdata\whfts.htm +whdata\whglo.js +whdata\whglo.xml +whdata\whglo.htm +whdata\whgdata.js +whdata\whftdata.js +whdata\whfwdata.js +whres.xml +webhelp.jar +webhelp.cab +whgdata\whnvp30.htm +whgdata\whnvp31.htm +whgdata\whnvp32.htm +whgdata\whnvp33.htm +whgdata\whnvt30.htm +whgdata\whnvt31.htm +whgdata\whnvt32.htm +whgdata\whnvt33.htm +whgdata\whnvf30.htm +whgdata\whnvf31.htm +whgdata\whnvf32.htm +whgdata\whnvf33.htm +whgdata\whnvl31.htm +whgdata\whnvl32.htm +whgdata\whnvl33.htm +whgdata\whexpbar.gif +cshdat_webhelp.htm +cshdat_robohelp.htm +wht_tab0.gif +wht_tab1.gif +wht_tab2.gif +wht_tab3.gif +wht_tab4.gif +wht_tab5.gif +wht_tab6.gif +wht_tab7.gif +wht_tab8.gif +wht_glo_h.gif +wht_glo_n.gif +wht_fts_h.gif +wht_fts_n.gif +wht_idx_h.gif +wht_idx_n.gif +wht_toc_h.gif +wht_toc_n.gif +wht_ws.gif +wht_ws_g.gif +wht_logo1.gif +wht_logo2.gif +wht_abgw.jpg +wht_abgi.jpg +wht_abge.jpg +wht_abtw.jpg +wht_abte.jpg +wht_abti.jpg +wht_spac.gif +wht_next.gif +wht_next_g.gif +wht_prev.gif +wht_prev_g.gif +wht_sync.gif +wht_hide.gif +wht_go.gif +whstart.ico +whestart.ico +whrstart.ico +whidhtml.htm +whfdhtml.htm +whskin_banner.htm +whtbar.js +default.skn +whskin_pdhtml.htm +whskin_papplet.htm +whskin_plist.htm +whskin_tbars.htm +whskin_mbars.htm +wht_toc4.gif +wht_toc1.gif +wht_toc2.gif +wht_toc3.gif +whskin_frmset010.htm +whst_topics.xml +whskin_frmset01.htm +smesh_hha.hhk +smesh.hhc +smesh.hhk +files\1d_meshing_algorithm.htm +files\2d_(quadrangle)_meshing_algorithm.htm +files\2d_meshing_algorithm.htm +files\3d_meshing_algorithm.htm +files\about_hypotheses.htm +files\about_meshes.htm +files\about_meshing_algorithms.htm +files\about_modification_of_meshes.htm +files\about_quality_controls.htm +files\adding_nodes_and_elements.htm +files\area_of_elements.htm +files\aspect_ratio.htm +files\changing_orientation_of_elements.htm +files\computing_meshes.htm +files\connectivity.htm +files\constructing_meshes.htm +files\constructing_submeshes.htm +files\diagonal_iversion_of_elements.htm +files\displacing_nodes.htm +files\displaying_elements_numbers.htm +files\displaying_nodes_numbers.htm +files\editing_hypotheses.htm +files\importing_and_exporting_meshes.htm +files\introduction_to_smesh.htm +files\length_of_edges.htm +files\local_length_hypothesis.htm +files\max._element_area_hypothesis.htm +files\max._element_volume_hypothsis.htm +files\minimum_angle.htm +files\number_of_segments_hypothesis.htm +files\reassigning_hypotheses_and_algorithms.htm +files\removing_nodes_and_elements.htm +files\running_smesh_module.htm +files\scalar_bar_properties.htm +files\shading.htm +files\shrink.htm +files\skew.htm +files\taper.htm +files\tetrahedron_(netgen)_meshing_algorithm.htm +files\using_smesh_module.htm +files\view_update.htm +files\viewing_mesh_info.htm +files\visualization_modes.htm +files\visualization_properties.htm +files\warp.htm +files\wireframe.htm +texture_horiz_ltbluebubbles.jpg +ehlpdhtm.js +smesh.glo +default.css +image3.jpg +image55.gif +image44.gif +image33.gif +image22.gif +image25.jpg +image4.jpg +image56.gif +image45.gif +image34.gif +image26.jpg +image2.gif +image46.gif +image35.gif +image27.jpg +image24.gif +image6.jpg +image47.gif +image36.gif +image28.jpg +image25.gif +image4.gif +image7.jpg +image48.gif +image37.gif +image29.jpg +image26.gif +image8.jpg +image49.gif +image38.gif +image27.gif +note1.gif +image6.gif +image9.jpg +image39.gif +image28.gif +image29.gif +i_blue.jpg +image50.gif +pics\new.jpg +image10.jpg +image51.gif +image40.gif +image11.jpg +image52.gif +image41.gif +image12.jpg +pics\exemple.gif +image53.gif +image42.gif +image31.gif +image43.gif +image32.gif +image24.jpg +smesh.ppf +default_ns.css +whdata\whtdata0.xml +whdata\whtdata0.htm +whdata\whftdata0.xml +whdata\whftdata0.htm +whdata\whfwdata0.xml +whdata\whfwdata0.htm +whdata\whgdata0.xml +whdata\whgdata0.htm +whgdata\whlstt0.htm +whgdata\whlstt1.htm +whgdata\whlstt2.htm +whgdata\whlstt3.htm +whgdata\whlstt4.htm +whgdata\whlstt5.htm +whgdata\whlstt6.htm +whgdata\whlstt7.htm +whgdata\whlstt8.htm +whgdata\whlstt9.htm +whgdata\whlstt10.htm +whgdata\whlstt11.htm +whgdata\whlstt12.htm +whgdata\whlsti0.htm +whgdata\whlstfl0.htm +whgdata\whlstfl1.htm +whgdata\whlstfl2.htm +whgdata\whlstfl3.htm +whgdata\whlstfl4.htm +whgdata\whlstfl5.htm +whgdata\whlstfl6.htm +whgdata\whlstfl7.htm +whgdata\whlstfl8.htm +whgdata\whlstfl9.htm +whgdata\whlstfl10.htm +whgdata\whlstfl11.htm +whgdata\whlstfl12.htm +whgdata\whlstfl13.htm +whgdata\whlstfl14.htm +whgdata\whlstfl15.htm +whgdata\whlstfl16.htm +whgdata\whlstfl17.htm +whgdata\whlstfl18.htm +whgdata\whlstfl19.htm +whgdata\whlstfl20.htm +whgdata\whlstfl21.htm +whgdata\whlstfl22.htm +whgdata\whlstf0.htm +whgdata\whlstf1.htm +whgdata\whlstf2.htm +whgdata\whlstf3.htm +whgdata\whlstg0.htm +smesh.html +smesh_csh.html +smesh_rhc.html diff --git a/doc/salome/gui/SMESH/cshdat_robohelp.htm b/doc/salome/gui/SMESH/cshdat_robohelp.htm new file mode 100755 index 000000000..3baed1880 --- /dev/null +++ b/doc/salome/gui/SMESH/cshdat_robohelp.htm @@ -0,0 +1,252 @@ + + +SMESH reference manual + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/SMESH/cshdat_webhelp.htm b/doc/salome/gui/SMESH/cshdat_webhelp.htm new file mode 100755 index 000000000..571288606 --- /dev/null +++ b/doc/salome/gui/SMESH/cshdat_webhelp.htm @@ -0,0 +1,251 @@ + + +SMESH reference manual + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/SMESH/default.css b/doc/salome/gui/SMESH/default.css new file mode 100755 index 000000000..d2d425ac0 --- /dev/null +++ b/doc/salome/gui/SMESH/default.css @@ -0,0 +1,209 @@ +/*=(===============================================================)*/ + +/*=(===============================================================)*/ +/*=(Created with RoboEditor.)=======================================*/ +/*=(===============================================================)*/ + +BODY { + background-color: #ffffff; + font-family: "Times New Roman", serif; +} + +H1 { + font-weight: bold; + font-size: 24.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H1 { + font-weight: bold; + font-size: 24.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H2 { + font-weight: bold; + font-size: 18.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H2 { + font-weight: bold; + font-size: 18.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H3 { + font-weight: bold; + font-size: 14.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H3 { + font-weight: bold; + font-size: 14.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H4 { + font-weight: bold; + font-size: 12.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H4 { + font-weight: bold; + font-size: 12.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H5 { + font-weight: bold; + font-size: 10.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H5 { + font-weight: bold; + font-size: 10.0pt; +} +/*}}end!kadov=======================================================*/ + + + +H6 { + font-weight: bold; + font-size: 8.0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-H6 { + font-weight: bold; + font-size: 8.0pt; +} +/*}}end!kadov=======================================================*/ + + + +P { + font-size: 12.0pt; + margin-top: 0pt; + margin-bottom: 0pt; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-P { + font-size: 12.0pt; +} +/*}}end!kadov=======================================================*/ + + + +A.expandspot { + color: #008000; + cursor: hand; + font-style: italic; + x-text-underline: off; + x-text-overline: off; + x-text-line-through: off; + /*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ +} + +SPAN.expandtext { + font-style: italic; + font-weight: normal; + color: #ff0000; +} + +A.dropspot { + cursor: hand; + color: #008000; + font-style: italic; + x-text-underline: off; + x-text-overline: off; + x-text-line-through: off; + /*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ +} + +A.glossterm { + color: #800000; + cursor: hand; + font-style: italic; + x-text-underline: off; + x-text-overline: off; + x-text-line-through: off; + /*begin!kadov{{*/ text-decoration: none none none; /*}}end!kadov*/ +} + +SPAN.glosstext { + font-style: italic; + font-weight: normal; + color: #0000ff; +} + +OL, +UL { + margin-top: 0px; + margin-bottom: 0px; +} + +A:active { +} + +A:hover { + x-text-underline: Off; + /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ +} + +A:link { + x-text-underline: Off; + /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ +} + +A:visited { + x-text-underline: Off; + /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ +} + +P.TODO { + font-weight: normal; + font-style: italic; + font-family: "Arial Black", sans-serif; +} + +/*=(Generated Code)=================================================*/ +/*=(WARNING: DO NOT EDIT OR DELETE THIS SECTION!)===================*/ +/*begin!kadov{{=====================================================*/ +LI.kadov-P-CTODO { + font-weight: normal; + font-style: italic; + font-family: "Arial Black", sans-serif; +} +/*}}end!kadov=======================================================*/ + + + + +/*=(===============================================================)*/ diff --git a/doc/salome/gui/SMESH/default.skn b/doc/salome/gui/SMESH/default.skn new file mode 100755 index 000000000..f162a6624 --- /dev/null +++ b/doc/salome/gui/SMESH/default.skn @@ -0,0 +1,262 @@ + + + + Default + Contents + font-family:Arial font-size:8pt font-weight:normal font-style:normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal + + + + + + + + + + + + + +]]> + + + + + + + + + + + + + + background:#99ccff + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + background:#639ace + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:White + + left + + Contents + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Index + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Search + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Glossary + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + WebSearch + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Search Input + + + + + <text></text> + + + + + Logo + + eHelp Corporation + + + + + background:#99ccff + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + background:#639ace + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:White + + + Previous + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Next + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Sync TOC + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + Hide + ::??DefaultWebSkinText??:: + + + default + + + + default + + + + + + + + + + + background:White alink:Silver hover-color:Navy + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + + + background:White alink:Silver hover-color:Navy + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + + background:White + + + <text>::??DefaultWebSkinText??::</text> + <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy</font> + + + + + + + background:White alink:Silver hover-color:Navy + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + + background:White + + + <text>::??DefaultWebSkinText??::</text> + <font>font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy</font> + + + + + + + background:White alink:Silver hover-color:Navy + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Black + + ::??DefaultWebSkinText??:: + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy + background:White + + + + ::??DefaultWebSkinText??:: + + + + + ::??DefaultWebSkinText??:: + font-family:Tahoma font-size:8pt font-weight:Normal font-style:Normal text-decoration:none font-sizeadjust:none font-stretch:normal font-variant:normal font-color:Navy + background:White + + + + ::??DefaultWebSkinText??:: + + + + + + + + none + + + diff --git a/doc/salome/gui/SMESH/default_ns.css b/doc/salome/gui/SMESH/default_ns.css new file mode 100755 index 000000000..020a67111 --- /dev/null +++ b/doc/salome/gui/SMESH/default_ns.css @@ -0,0 +1,122 @@ +BODY { + background-color:#ffffff; + font-family:"Times New Roman" , serif; } +H1 { + font-weight:bold; + font-size:24.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H1 { + font-weight:bold; + font-size:24.0pt; } +H2 { + font-weight:bold; + font-size:18.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H2 { + font-weight:bold; + font-size:18.0pt; } +H3 { + font-weight:bold; + font-size:14.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H3 { + font-weight:bold; + font-size:14.0pt; } +H4 { + font-weight:bold; + font-size:12.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H4 { + font-weight:bold; + font-size:12.0pt; } +H5 { + font-weight:bold; + font-size:10.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H5 { + font-weight:bold; + font-size:10.0pt; } +H6 { + font-weight:bold; + font-size:8.0pt; + font-family:"Times New Roman" , serif; } +LI.kadov-H6 { + font-weight:bold; + font-size:8.0pt; } +P { + font-size:12.0pt; + margin-top:1; + margin-bottom:1; + font-family:"Times New Roman" , serif; } +LI.kadov-P { + font-size:12.0pt; } +A.expandspot { + color:#008000; + cursor:hand; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +SPAN.expandtext { + font-style:italic; + font-weight:normal; + color:#ff0000; } +A.dropspot { + cursor:hand; + color:#008000; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +A.glossterm { + color:#800000; + cursor:hand; + font-style:italic; + x-text-underline:off; + x-text-overline:off; + x-text-line-through:off; + text-decoration:none none none; } +SPAN.glosstext { + font-style:italic; + font-weight:normal; + color:#0000ff; } +OL { + margin-top:0px; + margin-bottom:0px; + font-family:"Times New Roman" , serif; } +UL { + margin-top:0px; + margin-bottom:0px; + font-family:"Times New Roman" , serif; } +A:active { } +A:hover { + x-text-underline:Off; + text-decoration:none; } +A:link { + x-text-underline:Off; + text-decoration:none; } +A:visited { + x-text-underline:Off; + text-decoration:none; } +P.TODO { + font-weight:normal; + font-style:italic; + font-family:"Arial Black" , sans-serif; } +LI.kadov-P-CTODO { + font-weight:normal; + font-style:italic; + font-family:"Arial Black" , sans-serif; } +ol ol { + margin-top:1; + margin-bottom:1; } +ol ul { + margin-top:1; + margin-bottom:1; } +ul ul { + margin-top:1; + margin-bottom:1; } +ul ol { + margin-top:1; + margin-bottom:1; } diff --git a/doc/salome/gui/SMESH/ehlpdhtm.js b/doc/salome/gui/SMESH/ehlpdhtm.js new file mode 100755 index 000000000..86d26ea96 --- /dev/null +++ b/doc/salome/gui/SMESH/ehlpdhtm.js @@ -0,0 +1,4033 @@ +// eHelp® Corporation Dynamic HTML JavaScript +// Copyright© 1998-2001 eHelp® Corporation.All rights reserved. +// Version=4.57 + +// Warning:Do not modify this file.It is generated by RoboHELP® and changes will be overwritten. + +//// Segment Begin -- (JavaScript 1.0) + +/// Section Begin - General and relative topics(JavaScript 1.0) + +//{{HH_SYMBOL_SECTION +var HH_ChmFilename = ""; +var HH_WindowName = ""; +var HH_GlossaryFont = ""; +var HH_Glossary = ""; +var HH_Avenue = ""; +var HH_ActiveX = false; +//}}HH_SYMBOL_SECTION + +//Begin to support previous generic parameters +//Get the information about the browser. +var gstrBsAgent = navigator.userAgent.toLowerCase(); +var gnBsVer = parseInt(navigator.appVersion); + +var gbBsIE = (gstrBsAgent.indexOf('msie') != -1); +var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)); +var gbBsOpera = (gstrBsAgent.indexOf('opera') != -1); + +var gbBsIE3Before = ((gbBsIE) && (gnBsVer <= 2)); +var gbBsNS3Before = ((gbBsNS) && (gnBsVer <= 3)); + +var gbBsNS2 = ((gbBsNS) && (gnBsVer <= 2)); +var gbBsNS3 = ((gbBsNS) && (gnBsVer == 3)); +var gbBsIE300301 = ((gbBsIE) && (gnBsVer == 2) && ((gstrBsAgent.indexOf("3.00") != -1)||(gstrBsAgent.indexOf("3.0a") != -1)||(gstrBsAgent.indexOf("3.0b")!=-1)||(gstrBsAgent.indexOf("3.01")!=-1))); +var gbBsIE302 = ((gbBsIE) && (gnBsVer == 2) && (gstrBsAgent.indexOf("3.02") != -1)); + +var gbBsNS4 = ((gbBsNS) && (gnBsVer >= 4)); +var gbBsNS6 = ((gbBsNS) && (gnBsVer >= 5)); + +var gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4)); +var gbBsIE5 = false; +var gbBsIE55 = false; + +gbBsIE = (navigator.appName.indexOf("Microsoft") != -1); + +if (parseInt(navigator.appVersion) >= 4) { + gbBsIE4 = (navigator.appName.indexOf("Microsoft") != -1); + + if (gbBsIE4) { + var nPos = gstrBsAgent.indexOf("msie"); + var strIEversion = gstrBsAgent.substring(nPos + 5); + var nVersion = parseFloat(strIEversion); + if (nVersion >= 5) + gbBsIE5 = true; + if (nVersion >= 5.5) + gbBsIE55 = true; + } +} + +var gbBsMac = (gstrBsAgent.indexOf('mac') != -1); +var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1)); +var gbBsOp3 = (gstrBsAgent.indexOf('opera') != -1); + +// Utilities functions. +function BsscHasExtJs() +{ + if( gbBsIE3Before || gbBsNS3Before) + return false; + return true; +} + +// Register event handler +var gBsOnLoads = new Array(); // An array holds all the onload event handler. +var gBsOnClicks = new Array(); // An array holds all the onClick event handler. +var gBsOnUnLoads = new Array(); // An array holds all the OnUnLoad event handler. +var gBsOnMouseOvers = new Array(); // An array holds all the OnMouseOver event handler. +var gBsOnMouseOuts = new Array(); // An array holds all the OnMouseOut event handler. + +var gbOrignalOnMouseDown = null; + +function BsscRegisterOnLoad(funcHandler) +{ + var nLength = gBsOnLoads.length; + gBsOnLoads[nLength] = funcHandler; +} + +function BsscRegisterOnClick(funcHandler) +{ + var nLength = gBsOnClicks.length; + gBsOnClicks[nLength] = funcHandler; +} + +function BsscRegisterOnUnLoad(funcHandler) +{ + var nLength = gBsOnUnLoads.length; + gBsOnUnLoads[nLength] = funcHandler; +} + +function BsscRegisterOnMouseOver(funcHandler) +{ + var nLength = gBsOnMouseOvers.length; + gBsOnMouseOvers[nLength] = funcHandler; +} + +function BsscRegisterOnMouseOut(funcHandler) +{ + var nLength = gBsOnMouseOuts.length; + gBsOnMouseOuts[nLength] = funcHandler; +} + + +function BsGeneralOnLoad() +{ + if (!gbBsIE4 && !gbBsNS4) + return; + + // Make everything visible in navigator + if (gbBsNS4 && !gbBsNS6) { + // Make some special effects items visible + for (var iLayer = 0; iLayer < document.layers.length; iLayer++) { + document.layers[iLayer].visibility = "show"; + document.layers[iLayer].left = 0; + } + } +} + +// If resize the netscape browser, need to reload it. +function BsReDo() +{ + if (innerWidth != origWidth || innerHeight != origHeight) + location.reload(); +} +// End of the local functions. + +// The following functions are used by the html files. +function BSSCOnLoad() +{ + if( !BsscHasExtJs() ) + return; + for (var nElement = gBsOnLoads.length - 1; nElement >= 0; nElement--) + gBsOnLoads[nElement](); +} + +function BSSCOnClick() +{ + if (!BsscHasExtJs()) return; + + for (var nElement = gBsOnClicks.length - 1; nElement >= 0; nElement--) + gBsOnClicks[nElement](); +} + +function BSSCOnUnload() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnUnLoads.length - 1; nElement >= 0; nElement--) + { + gBsOnUnLoads[nElement](); + } +} + +function BSSCOnMouseOver() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnMouseOvers.length - 1; nElement >= 0; nElement--) + { + gBsOnMouseOvers[nElement](); + } +} + +function BSSCOnMouseOut() +{ + if (!BsscHasExtJs()) return; + for (var nElement = gBsOnMouseOuts.length - 1; nElement >= 0; nElement--) + { + gBsOnMouseOuts[nElement](); + } +} +// End of invocation of the event handle functions. + + +// Add the GereralOnLoad to the onload array. +if (typeof(BsscRegisterOnLoad) != "undefined") +{ + BsscRegisterOnLoad(BsGeneralOnLoad); +} +if (gbBsNS4&&!gbBsNS6) { + origWidth = innerWidth; + origHeight = innerHeight; + onresize = BsReDo; +} +//End to support previous generic parameters + +//Begin to support previous HHActiveX invoking +function BsHHActivateComponents() +{ + if( HH_ActiveX && (HH_ChmFilename != "") && ((self == top) || (self == top.frames[0]))) + { + var objBody = document.all.tags("BODY")[0]; + if( typeof(objBody) == "object" ) + { + objBody.insertAdjacentHTML("beforeEnd", ''); + if (HHComponentActivator.object) + HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue); + } + } +} + +function BsHHActivXOnLoad() +{ + if( gbBsIE4 ) + BsHHActivateComponents(); +} + +if( typeof(BsscRegisterOnLoad) != "undefined" ) +{ + BsscRegisterOnLoad(BsHHActivXOnLoad); +} +//End to support previous HHActiveX invoking + +//Begin to support previous relative topics +//If webHelp needs Related Topics DHTMLcode, it's supposed to add it here +var gbPopupMenuTimeoutExpired = false; +var gbInPopupMenu = false; +var gbPopupMenuTopicList = null; +var gOlddocumentClick = null; + +////////////////////////////////////////////////////////////////////////////////////////// +// +// Popup Menu code +// +////////////////////////////////////////////////////////////////////////////////////////// + +var g_bIsPopupMenuInit = false; +function _WritePopupMenuLayer() +{ + if (!g_bIsPopupMenuInit) + { + if (gbBsNS4) { +//Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page... + if (gbBsNS6) + document.write(""); + else + document.write("
"); + } else{ + document.write(""); + if (gbBsIE4) { + document.write(""); + } + } + g_bIsPopupMenuInit = true; + } +} + +//Define variable arguments as: strTitle, strUrl +function MTE() +{ + this.strTitle = MTE.arguments[0]; + if (MTE.arguments.length > 1) + this.strURL = MTE.arguments[1]; + else + this.strURL = this.strTitle; +} + +// If the topic list is set, it is an array of TopicEntry objects (defined in WebHelp3.js) +function PopupMenu_SetTopicList(aPopupTopicArray) +{ + gbPopupMenuTopicList = aPopupTopicArray; +} + + +//Seek for the bsscright frame +function _SeekFrameByName( cRoot, strName ) +{ + if( cRoot == null ) return null; + if( cRoot.frames == null ) return null; + if( cRoot.frames[strName] != null ) return cRoot.frames[strName]; + for (var i=0; i"); + wndPopupLinks.document.write(""); + var strParaLine = ""; + for (var i = 0; i < (argLen - 2) / 2; i++) { + strParaLine = ""; + strParaLine += ""); + wndPopupLinks.document.close(); + window.gbInPopupMenu = true; + if (!gbBsIE) { + wndPopupLinks.focus(); + } + + return false; + } + + + if (((argLen < 5) && ((isNaN(fn_arguments[2])) || (gbPopupMenuTopicList == null))) || + ((argLen < 4) && ((!isNaN(fn_arguments[2])) && (gbPopupMenuTopicList != null)))) { + // Get the place that we will be putting the topic into + var strURL = ""; + if (isNaN(fn_arguments[2]) || (gbPopupMenuTopicList == null)) { + strURL = fn_arguments[3]; + } + else { + strURL = gbPopupMenuTopicList[fn_arguments[2]].strURL; + } + + if (targetDoc != null) { + targetDoc.location.href = strURL; + } + else { + if (fn_arguments[1] != null && typeof(fn_arguments[1]) != "undefined") + window.open(strURL, fn_arguments[1]); + else + window.open(strURL); + } + window.gbInPopupMenu = true; + return false; + } + + var strMenu = ""; + if (gbBsNS4) { + strMenu = ''; + } else { + strMenu = '
'; + } else { + strMenu += '' + gbPopupMenuTopicList[fn_arguments[i]].strTitle + ''; + } + strMenu += ''; + + if (isNaN(fn_arguments[i]) || (gbPopupMenuTopicList == null)) { + i += 2; + } else { + i += 1; + } + } + strMenu += "
"; + + if (gbBsMac) { + // totally hack. because ie5 in mac need something. is one of them. mac is mad. + strMenu +="
"; + } + + var layerPopup = null; + var stylePopup = null; + var nEventX = 0; + var nEventY = 0; + var nWindowWidth = 0; + if (gbBsIE4) { + + layerPopup = document.all["PopupMenu"]; + layerPopup.innerHTML = strMenu; + stylePopup = layerPopup.style; + + _BSPSGetClientSize(); + + // Get the position of the item causing the event (relative to its parent) + nEventX = window.event.clientX; + nEventY = window.event.clientY; + + if (nEventY + layerPopup.scrollHeight + 10 < gBsClientHeight) { + nEventY += document.body.scrollTop + 10; + } else { + nEventY = (document.body.scrollTop + gBsClientHeight) - layerPopup.scrollHeight - 20; + } + stylePopup.top = nEventY; + + var nPopupWidth = layerPopup.scrollWidth; + if (gbBsMac) { + nPopupWidth = 80; // we have no idea how to get the dynamic width of the popup. + } + if (nEventX + nPopupWidth + 20 > gBsClientWidth) { + if (gBsClientWidth - nPopupWidth < 5) { + stylePopup.left = 5; + } else { + stylePopup.left = gBsClientWidth - nPopupWidth - 5; + } + } else { + stylePopup.left = nEventX + document.body.scrollLeft + 20; + } + + stylePopup.visibility = "visible"; + if (!gOlddocumentClick && document.onclick) + gOlddocumentClick = document.onclick; + document.onclick = PopupMenu_HandleClick; + + } else if (gbBsNS6) { + layerPopup = document.getElementById("PopupMenu"); + layerPopup.style.visibility = "hidden"; + + var e = fn_arguments[0]; + nEventX = e.pageX; + nEventY = e.pageY; + _BSPSGetClientSize(); + layerPopup.innerHTML = strMenu; + + if (nEventY + layerPopup.offsetHeight + 20 < window.pageYOffset + gBsClientHeight) { + nEventY += 20; + } else { + nEventY = gBsClientHeight + window.pageYOffset - layerPopup.offsetHeight - 20; + } + + if (nEventX + layerPopup.offsetWidth + 20 > gBsClientWidth + window.pageXOffset) { + if (gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth < 20) { + nEventX = 5; + } else { + nEventX = gBsClientWidth + window.pageXOffset - layerPopup.offsetWidth - 20; + } + } else { + nEventX += 20; + } + layerPopup.style.top = nEventY; + layerPopup.style.left = nEventX; + // set again to avoid the stupid frash in netscape 6. + layerPopup.innerHTML = strMenu; + layerPopup.style.visibility = "visible"; + //window.captureEvents(Event.MOUSEDOWN); + if (!gOlddocumentClick && document.onclick) + gOlddocumentClick = document.onclick; + window.onclick = PopupMenu_HandleClick; + } + else if (gbBsNS4) { + layerPopup = document.layers.PopupMenu; + layerPopup.visibility = "hide"; + stylePopup = layerPopup.document; + stylePopup.write(strMenu); + stylePopup.close(); + var e = fn_arguments[0]; + nEventX = e.pageX; + nEventY = e.pageY; + _BSPSGetClientSize(); + if (nEventY + layerPopup.clip.height + 20 < window.pageYOffset + gBsClientHeight) { + nEventY += 20; + } else { + nEventY = gBsClientHeight + window.pageYOffset- layerPopup.clip.height - 20; + } + layerPopup.top = nEventY; + + if (nEventX + layerPopup.clip.width + 20 > gBsClientWidth + window.pageXOffset) { + if (gBsClientWidth + window.pageXOffset - layerPopup.clip.width < 20) { + nEventX = 5; + } else { + nEventX = gBsClientWidth + window.pageXOffset - layerPopup.clip.width - 20; + } + } else { + nEventX += 20; + } + + layerPopup.left = nEventX; + + layerPopup.visibility = "show"; + + window.captureEvents(Event.MOUSEDOWN); + if (!gOlddocumentClick && document.onmousedown) + gOlddocumentClick = document.onmousedown; + window.onmousedown = PopupMenu_HandleClick; + } + + window.gbInPopupMenu = true; + window.gbPopupMenuTimeoutExpired = false; + setTimeout("PopupMenu_Timeout();", 100); + return false; +} + + +function PopupMenu_Timeout() +{ + window.gbPopupMenuTimeoutExpired = true; +} + +function PopupMenu_Over(e) +{ + if (gbBsIE4) { + e.srcElement.className = "PopupOver"; + } else if (gbBsNS4) { +// this.bgColor = "red"; +// e.target.document.className = "PopupOver"; + } + return; +} + +function PopupMenu_Out(e) +{ + if (gbBsIE4) { + e.srcElement.className = "PopupNotOver"; + } else if (gbBsNS4) { + this.bgColor = "#f0f0f0"; + } + return; +} + + +function PopupMenu_HandleClick(e) +{ + if (window.gbPopupMenuTimeoutExpired) { + + window.gbInPopupMenu = false; + + if (gbBsNS4 && !gbBsNS6) { + window.releaseEvents(Event.MOUSEDOWN); + } + + var layerPopup = null; + var stylePopup = null; + if (gbBsIE4) { + layerPopup = document.all["PopupMenu"]; + stylePopup = layerPopup.style; + stylePopup.visibility = "hidden"; + } else if (gbBsNS6) { + layerPopup = document.getElementById("PopupMenu"); + layerPopup.style.visibility = "hidden"; + } else if (gbBsNS4) { + layerPopup = document.layers.PopupMenu; + layerPopup.visibility = "hide"; + } + + if (gOlddocumentClick) + { + if (gbBsNS4 && !gbBsNS6) + document.onmousedown = gOlddocumentClick; + else + document.onclick = gOlddocumentClick; + } + } + return; +} + +// This function should be deleted when all old projects are cleaned up +function BSPSWritePopupFrameForIE4() +{ + return false; +} + +///////////////////////////////////////////////////////////////////// +function BSSCPopup_ClickMac() +{ + if ((!DHTMLPopupSupport()) && (gbBsIE4)) + { + var bClickOnAnchor = false; + var el; + if ((window.event != null) && + (window.event.srcElement != null)) + { + el = window.event.srcElement; + while (el != null) + { + if ((el.tagName == "A") || (el.tagName == "AREA")) { + bClickOnAnchor = true; + break; + } + if (el.tagName == "BODY") { + break; + } + el = el.parentElement; + } + } + if (BSSCPopup_IsPopup()) + { + if (!bClickOnAnchor) { + parent.window.gPopupWindow = null; + self.close(); + } + } + else + { + bClosePopupWindow = true; + if ((bClickOnAnchor) && + (el.href) && + ((el.href.indexOf("javascript:BSSCPopup") != -1) || (el.href.indexOf("javascript:null") != -1) || (el.href.indexOf("javascript:void(0)") != -1))) + { + bClosePopupWindow = false; + } + if (bClosePopupWindow) + { + if (window.gPopupWindow != null && !window.gPopupWindow.closed ) + { + window.gPopupWindow.close(); + } + } + } + } + } + +////////////////////////////////////////////////////////////////////// + +function BsPopupOnClick() +{ + if (!gbBsIE4) + return; + + BSSCPopup_ClickMac(); +} + +function _BSSCOnError(message) +{ + if(-1 != message.indexOf("denied") + || -1 != message.indexOf("Object required")) + return true; +} + +//End to support previous relative topics + + +/// Section End - General and relative topics (JavaScript 1.0) + +/// Section Begin - Popup (JavaScript 1.0) + +//Begin to support previous popup functions +////////////////////////////////////////////////////////////////////////////////////////////// +// +// Begin DHTML Popup Functions +// +////////////////////////////////////////////////////////////////////////////////////////////// +//variables used to isolate the browser type +var gBsDoc = null; +var gBsSty = null; +var gBsHtm = null; +var gBsStyVisShow = null; +var gBsStyVisHide = null; +var gBsClientWidth = 640; +var gBsClientHeight = 480; +var gBsBrowser = null; + +// here is the varible for judge popup windows size. these parameter is for IE5.0, it may need adjust for others. +var gBRateH_W = 0.618; // 1.618 Golden cut. +var gBMaxXOfParent = 0.8; +var gBMaxYOfParent = 0.8; +var gBscrollHeight = 16; +var gBscrollWidth = 16; +var gBpermitXDelta = 3; +var gBpermitYDelta = 3; + + +var arrayPopupURL = new Array(); +var arrayAbsPopupURL = new Array(); + +var arrayDirty = new Array(); + +function setAbsPopupURL(nIndex, strURL) +{ + arrayAbsPopupURL[nIndex] = strURL; +} + +function getAbsPopupURL(nIndex) +{ + if (nIndex == -1 || arrayAbsPopupURL.length <= nIndex) return null; + else + return arrayAbsPopupURL[nIndex]; +} + +function getPopupURL(nIndex) +{ + if (nIndex == -1 || arrayPopupURL.length <= nIndex) return null; + else + return arrayPopupURL[nIndex]; +} + +function getPopupID(nIndex) +{ + return gstrPopupID + nIndex; +} + +function getPopupShadowID(nIndex) +{ + return gstrPopupShadowID + nIndex; +} + +function getPopupTopicID(nIndex) +{ + return gstrPopupTopicID + nIndex; +} + +function getPopupIFrameID(nIndex) +{ + return gstrPopupIFrameID + nIndex; +} + +function getPopupIFrameName(nIndex) +{ + return gstrPopupIFrameName + nIndex; +} + + +function getPopupTopicStyle(nIndex) +{ + return eval("document.all['" + getPopupTopicID(nIndex) + "']").style; +} + +function getPopupShadowStyle(nIndex) +{ + return eval("document.all['" + getPopupShadowID(nIndex) + "']").style; +} + +function getPopupIFrame(nIndex) +{ + + return eval("document.frames['" + getPopupIFrameName(nIndex) + "']"); +} + +function getPopupDivStyle(nIndex) +{ + return eval("document.all['" + getPopupID(nIndex) + "']").style; +} + +function getPopupIFrameStyle(nIndex) +{ + return eval("document.all['" + getPopupIFrameName(nIndex) + "'].style"); +} + + +function findDiv(strURL) +{ + var i = 0; + for (i = 0; i < arrayPopupURL.length; i ++ ) { + if (arrayPopupURL[i] == strURL) { + return i; + } + } + return -1; +} + +var gnToken = -1; +function takeToken() +{ + gnToken ++; + if (gnToken > 10000) gnToken = 0; + return gnToken; +} + +function IsValidToken(nToken) +{ + return (gnToken == nToken); +} + +function addDiv(strURL) +{ + var i = 0; + for (i = 0; i < arrayPopupURL.length; i ++) { + if (arrayPopupURL[i] == null) { + arrayPopupURL[i] = strURL; + return i; + } + } + arrayPopupURL[i] = strURL; + arrayDirty[i] = true; + return i; +} + +function setDirty() +{ + var i = 0; + for (i = 0; i < arrayPopupURL.length; i ++ ) + arrayDirty[i] = true; +} + +function IsDirty(nIndex) +{ + if (nIndex == -1) + return true; + else + if (arrayDirty.length > nIndex) + return arrayDirty[nIndex]; + else + return true; +} + +function hideAll() +{ + var i = 0; + for (i = 0; i < arrayPopupURL.length; i ++ ) + getPopupDivStyle(i).visibility = gBsStyVisHide; +} + +function getCurrentPopupIFrame() +{ + var i = 0; + for (i = 0; i < arrayPopupURL.length; i ++) + if (getPopupDivStyle(i).visibility == gBsStyVisShow) + return getPopupIFrame(i); + return null; +} + +function setClear(nIndex) +{ + if (nIndex != -1) + arrayDirty[nIndex] = false; +} + +function _BSSCCreatePopupDiv(strURL) +{ + var nIndex = findDiv(strURL); + if (nIndex == -1 ) { + nIndex = addDiv(strURL); + BsPopup_CreateDiv(nIndex); + } + else { + if (IsDirty(nIndex)) { + if("object" == typeof(getPopupIFrame(nIndex).document)) + getPopupIFrame(nIndex).document.location.href = strURL; + } + } + return nIndex; + +} + +//the browser information itself +function _BSPSBrowserItself() +{ + var agent = navigator.userAgent.toLowerCase(); + this.major = parseInt(navigator.appVersion); + this.minor = parseFloat(navigator.appVersion); + this.ns = ((agent.indexOf('mozilla') != -1) && ((agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1))); + this.ns2 = ((this.ns) && (this.major == 2)); + this.ns3 = ((this.ns) && (this.major == 3)); + this.ns4 = ((this.ns) && (this.major >= 4)); + this.ns6 = ((this.ns) && (this.major >= 5)); + this.ie = (agent.indexOf("msie") != -1); + this.ie3 = ((this.ie) && (this.major == 2)); + this.ie4 = ((this.ie) && (this.major >= 4)); + this.op3 = (agent.indexOf("opera") != -1); + + if (this.ns4) + { + gBsDoc = "document"; + gBsSty = ""; + gBsHtm = ".document"; + gBsStyVisShow = "show"; + gBsStyVisHide = "hide"; + + } + else if (this.ie4) + { + gBsDoc = "document.all"; + gBsSty = ".style"; + gBsHtm = ""; + gBsStyVisShow = "visible"; + gBsStyVisHide = "hidden"; + } +} + +//Here is the browser type +function _BSPSGetBrowserInfo() +{ + gBsBrowser = new _BSPSBrowserItself(); +} + +_BSPSGetBrowserInfo(); + +//Get client size info +function _BSPSGetClientSize() +{ + if (gBsBrowser.ns4) + { + gBsClientWidth = innerWidth; + gBsClientHeight = innerHeight; + + } + else if (gBsBrowser.ie4) + { + gBsClientWidth = document.body.clientWidth; + gBsClientHeight = document.body.clientHeight; + } +} + + +var gstrPopupID = 'BSSCPopup'; +var gstrPopupShadowID = 'BSSCPopupShadow'; +var gstrPopupTopicID = 'BSSCPopupTopic'; +var gstrPopupIFrameID = 'BSSCPopupIFrame'; +var gstrPopupIFrameName = 'BSSCPopupIFrameName'; + +var gstrPopupSecondWindowName = 'BSSCPopup'; + +var gPopupWindow = null; +var gnPopupClickX = 0; +var gnPopupClickY = 0; + +var gnPopupScreenClickX = 0; +var gnPopupScreenClickY = 0; + +var gbPopupTimeoutExpired = false; + + +function DHTMLPopupSupport() +{ + if ((gbBsIE4) && (!gbBsMac)) { + return true; + } + return false; +} + + + +function BSSCPopup_IsPopup() +{ + if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) { + return true; + } else if ((gbBsNS4 || gbBsIE4) && (this.name.indexOf(gstrPopupID) != -1)) { + return true; + } else { + return false; + } +} + + +// If there is a hyperlink in a popup window, display the hyperlink in +// the original window. +if (BSSCPopup_IsPopup() && !gbBsIE4) { + document.write(""); +} + +// Local functions. +function BsPopup_CreateDiv(nIndex) +{ + if(!DHTMLPopupSupport()) + return; + // DO NOT SET Width and height for the div, otherwize it will make IE4 popup do not work when view the topic alone. + var strPopupDiv = ""; + + var objBody = document.all.tags("BODY")[0]; + if( typeof(objBody) != "object" ) + return; + + objBody.insertAdjacentHTML("beforeEnd", strPopupDiv); +} + +function BSSCPopup_Timeout(nIndex, nToken) +{ + if (!IsValidToken(nToken)) return; + + if ((getPopupIFrame(nIndex).document.readyState == "complete") && + (getPopupIFrame(nIndex).document.body != null)) { + window.getPopupDivStyle(nIndex).visibility = gBsStyVisShow; + setClear(nIndex); + window.gbPopupTimeoutExpired = true; + + BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document); + getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked; + + if (!gbOrignalOnMouseDown && document.onmousedown) + gbOrignalOnMouseDown = document.onmousedown; + + document.onmousedown = BSSCPopupParentClicked; + + } else { + setTimeout("BSSCPopup_Timeout(" + nIndex + "," + nToken + ")", 100); + } +} + + +// VH 08/10/00 +// do not change target to parent if the href is using javascript +function BSSCPopup_ChangeTargettoParent(tagsObject) +{ + var collA = tagsObject.all.tags("A"); + BSSCPopup_ChangeTargettoParent2(collA); + + var collIMG = tagsObject.all.tags("IMG"); + BSSCPopup_ChangeTargettoParent2(collIMG); +} + +function BSSCPopup_ChangeTargettoParent2(colls) +{ + var j = 0; + if (colls != null) { + for (j = 0; j < colls.length; j ++ ) + { + var strtemp = colls[j].href; + strtemp = strtemp.toLowerCase(); + if (strtemp.indexOf("javascript:") == -1) + if (colls[j].target == "") + colls[j].target = "_parent"; + } + + } +} + +function BSPSPopupTopicWinHelp(strURL) +{ + _BSSCPopup(strURL); + return; +} + +function _BSSCPopup(strURL, width, height) +{ + var cuswidth = 0; + var cusheight = 0; + if ("undefined" != typeof(width) && "undefined" != typeof(height)) { + cuswidth = width; + cusheight= height; + } + + if (DHTMLPopupSupport()) { + // If we are already in a popup, replace the contents + // if (BSSCPopup_IsPopup()) { + // parent._BSSCPopup(strURL, cuswidth, cusheight); + // } else { + var nToken = takeToken(); // take token first. + var nIndex = _BSSCCreatePopupDiv(strURL); + window.gbPopupTimeoutExpired = false; + var ntWidth = gBsClientWidth; + var ntHeight = gBsClientHeight; + _BSPSGetClientSize(); + if (ntWidth != gBsClientWidth || ntHeight != gBsClientHeight) { + setDirty(); + } + + + if (IsDirty(nIndex)) { + if (gbBsMac) { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight +")", 400); + } else { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 100); + } + } + else { + MoveDivAndShow(nIndex ,nToken, cuswidth, cusheight); + } + // } + + } else { + _BSSCPopup2(strURL, cuswidth, cusheight); + } + return; +} + +if (gbBsIE55) +{ + var ehlpdhtm_fOldBefureUnload = window.onbeforeunload; + window.onbeforeunload = window_BUnload; +} + +function window_BUnload() +{ + for (var i = 0; i < arrayPopupURL.length; i ++) + document.all(getPopupID(i)).outerHTML = ""; + arrayPopupURL.length = 0; + if (ehlpdhtm_fOldBefureUnload) + ehlpdhtm_fOldBefureUnload(); +} + +function _BSSCPopup2(strURL, width, height) +{ + if (window.name == gstrPopupSecondWindowName) { + window.location = strURL; + } else { + if (!gbBsMac || !gBsBrowser.ns4) { + BSSCHidePopupWindow(); + } + var nX = 0; + var nY = 0; + var nHeight = 300; + var nWidth = 400; + if (width > 0 && height > 0) { + nHeight = height; + nWidth = width; + } + _BSPSGetClientSize(); + + nX = window.gnPopupScreenClickX; + nY = window.gnPopupScreenClickY; + + if (nY + nHeight + 40 > screen.availHeight) { + nY = screen.availHeight - nHeight - 40; + } + if (nX + nWidth + 40 > screen.availWidth) { + nX = screen.availWidth - nWidth - 40; + } + // Launch a separate window + var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes"; + if (gBsBrowser.ns) { + if (gBsBrowser.ns6) { + strParam += ",Height=" + nHeight + ",Width=" + nWidth; + strParam += ",screenX=" + nX + ",screenY=" + nY; + } + else { + strParam += ",OuterHeight=" + nHeight + ",OuterWidth=" + nWidth; + strParam += ",screenX=" + nX + ",screenY=" + nY; + strParam += ",dependent=yes"; + } + } + else { + strParam += ",height=" + nHeight + ",width=" + nWidth; + strParam += ",left=" + nX + ",top=" + nY; + } + window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam); + + if (gBsBrowser.ns4) { + window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUE); + window.gPopupWindow.onclick = NonIEPopup_HandleClick; + window.gPopupWindow.onblur = NonIEPopup_HandleBlur; + } + else if (gBsBrowser.ie4) + { + setTimeout("setPopupFocus();", 100); + } + } + return; +} + +function setPopupFocus() +{ + window.gPopupWindow.focus(); +} + +function NonIEPopup_HandleBlur(e) +{ + window.gPopupWindow.focus(); +} + +function NonIEPopup_HandleClick(e) +{ + // Because navigator will give the event to the handler before the hyperlink, let's + // first route the event to see if we are clicking on a Popup menu in a popup. + document.routeEvent(e); + + // If a popup menu is active then don't do anything with the click + if (window.gPopupWindow.gbInPopupMenu) { + window.gPopupWindow.captureEvents(Event.CLICK); + window.gPopupWindow.onclick = NonIEPopup_HandleClick; + return false; + } + + // Close the popup window + if (e.target.href) { + if (e.target.target == "") + window.location.href = e.target.href; + else + window.open(e.target.href, e.target.target); + + if (e.target.href.indexOf("javascript:void(0)") == -1 && e.target.href.indexOf("javascript:null") == -1 && e.target.href.indexOf("BsscPopup") == -1) { + this.close(); + } + } else { + this.close(); + } + return false; + +} + +function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight) +{ + if (typeof(window.getPopupIFrame(nIndex).document) == "unknown") { + _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight); + return; + } + if (!IsValidToken(nToken)) return; + + if ((window.getPopupIFrame(nIndex).document.readyState == "complete") && + (window.getPopupIFrame(nIndex).document.body != null)) { + if (window.getPopupIFrame(nIndex).document.location.href.indexOf("about:blank") != -1) { // add this check. IE will use about:blank" as the default vaule for Iframe. + window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + } + else + { + setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. + BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); + } + } else { + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + } +} + + +function BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight) +{ + if (window.gbPopupTimeoutExpired) return; + + if (!IsValidToken(nToken)) return; + + getPopupDivStyle(nIndex).visibility = gBsStyVisHide; + + // Determine the width and height for the window + //var size = new BSSCSize(0, 0); + //BSSCGetContentSize(window.getPopupIFrame(nIndex), size); + //var nWidth = size.x; + //var nHeight = size.y; + + _BSPSGetClientSize(); + + var size = new BSSCSize(0, 0); + + if (cuswidth <= 0 || cusheight <= 0) + BSSCGetContentSize(window.getPopupIFrame(nIndex), size); + else { + size.x = cuswidth; + size.y = cusheight; + } + + // Determine the width and height for the window + var nWidth = size.x; + var nHeight = size.y; + + // for small popup size, we should allow any size. + // The popup size should be ok if bigger than 0 + if (nWidth < 0 || nHeight < 0) return; // there must be something terribly wrong. + // if (nWidth < 40 || nHeight < 40) return; // there must be something terribly wrong. + + window.getPopupDivStyle(nIndex).pixelWidth = nWidth; + window.getPopupDivStyle(nIndex).pixelHeight = nHeight; + + window.getPopupShadowStyle(nIndex).pixelWidth = nWidth; + window.getPopupShadowStyle(nIndex).pixelHeight = nHeight; + window.getPopupTopicStyle(nIndex).pixelWidth = nWidth; + window.getPopupTopicStyle(nIndex).pixelHeight = nHeight; + if (gbBsIE55) + { + window.getPopupShadowStyle(nIndex).pixelWidth = nWidth + 2; + window.getPopupShadowStyle(nIndex).pixelHeight = nHeight + 2; + window.getPopupTopicStyle(nIndex).pixelWidth = nWidth + 2; + window.getPopupTopicStyle(nIndex).pixelHeight = nHeight + 2; + } + + window.getPopupIFrameStyle(nIndex).pixelWidth = nWidth; + window.getPopupIFrameStyle(nIndex).pixelHeight = nHeight; + if (gbBsIE55) + { + window.getPopupIFrameStyle(nIndex).top = 0; + window.getPopupIFrameStyle(nIndex).left = 0; + } + + var strURL = getPopupURL(nIndex); + if (strURL.indexOf("#") != -1) + getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5. + + MoveDivAndShow(nIndex, nToken, cuswidth, cusheight); +} + +function MoveDivAndShow(nIndex, nToken, cuswidth, cusheight) +{ + if (window.getPopupIFrame(nIndex).document.location.href != getAbsPopupURL(nIndex)) { // if redirect, reload again. + window.getPopupIFrame(nIndex).document.location = getPopupURL(nIndex); + setTimeout("BSSCPopup_AfterLoad(" + nIndex + "," + nToken + "," + cuswidth + "," + cusheight + ")", 200); + return; + } + + // Determine the position of the window + var nClickX = window.gnPopupClickX; + var nClickY = window.gnPopupClickY; + var nTop = 0; + var nLeft = 0; + + var nWidth = window.getPopupDivStyle(nIndex).pixelWidth; + var nHeight = window.getPopupDivStyle(nIndex).pixelHeight; + + if (nClickY + nHeight + 20 < gBsClientHeight + document.body.scrollTop) { + nTop = nClickY + 10; + } else { + nTop = (document.body.scrollTop + gBsClientHeight) - nHeight - 20; + } + if (nClickX + nWidth < gBsClientWidth + document.body.scrollLeft) { + nLeft = nClickX; + } else { + nLeft = (document.body.scrollLeft + gBsClientWidth) - nWidth - 8; + } + + if (nTop < document.body.scrollTop ) nTop = document.body.scrollTop + 1; + if (nLeft< document.body.scrollLeft) nLeft = document.body.scrollLeft + 1; + + + window.getPopupDivStyle(nIndex).left = nLeft; + window.getPopupDivStyle(nIndex).top = nTop; + + // Set the location of the background blocks + window.getPopupShadowStyle(nIndex).left = 6; + window.getPopupShadowStyle(nIndex).top = 6; + if (gbBsIE55) + { + window.getPopupShadowStyle(nIndex).left = 4; + window.getPopupShadowStyle(nIndex).top = 4; + } + + if (gbBsMac) { + // Total hack on the iMac to get the IFrame to position properly + window.getPopupIFrameStyle(nIndex).pixelLeft = 100; + window.getPopupIFrameStyle(nIndex).pixelLeft = 0; + // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it + window.getPopupIFrame(nIndex).window.BSSCOnLoad(); + } + + BSSCPopup_Timeout(nIndex , nToken ); + + return; +} + +function BSSCSize(x, y) +{ + this.x = x; + this.y = y; +} + +function BSSCGetContentSize(thisWindow, size) +{ + if (!((gBsBrowser.ie4) || (gBsBrowser.ns4))) + return; + + if (gbBsMac) { + size.x = 300; + size.y = 300; + return; + } + + // Resize the width until it is wide enough to handle the content + // The trick is to start wide and determine when the scrollHeight changes + // because then we know a scrollbar is necessary. We can then go back + // to the next widest size (for no scrollbar) + + var ClientRate = gBsClientHeight / gBsClientWidth; + + var GoldenSize = new BSSCSize(0,0); + GoldenSize.x = gBsClientWidth * gBMaxXOfParent; + GoldenSize.y = gBsClientHeight *gBMaxYOfParent ; + + if (ClientRate > gBRateH_W) { + GoldenSize.y = GoldenSize.x * gBRateH_W; + } + else { + GoldenSize.x = GoldenSize.y / gBRateH_W; + } + + // Try to using parent specified max x. + var x = 0; + var maxgoldx = GoldenSize.x; + var maxx = gBsClientWidth * gBMaxXOfParent; + + // This double resize causes the document to re-render (and we need it to) + if (!gbBsIE5) + thisWindow.moveTo(10000,10000); // this is used to fix the flash on IE4. + thisWindow.resizeTo(1, 1); + thisWindow.resizeTo(1, 1); + thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); + thisWindow.resizeTo(maxgoldx, thisWindow.document.body.scrollHeight + gBscrollHeight); + + var miny = thisWindow.document.body.scrollHeight + gBscrollHeight; + + if (miny > GoldenSize.y) // the popup does not fix in the parent wanted golden area. so try to expand itself as large as it can + { + thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); + thisWindow.resizeTo(maxx , thisWindow.document.body.scrollHeight + gBscrollHeight); + + miny = thisWindow.document.body.scrollHeight + gBscrollHeight; + maxy = gBsClientHeight * gBMaxYOfParent; + + if (miny > maxy) { // the popup must have a scroll, OK let it be. + miny = maxy; + size.x = maxx; + size.y = maxy; + thisWindow.document.body.scroll = 'yes'; // At this time we do want to show scroll any more. so it will looks better a little. + } + else { // popup still can fit in the parent area by someway. now we choose the same h/w rate as parent. + size.y = miny; + + // downsize from maxx , now I try to using binary divide. + x = maxx; + deltax = -maxx/2; + //j = 0; + while (true) { + x = x + deltax; + thisWindow.resizeTo(x, miny); + thisWindow.resizeTo(x, miny); + diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * ClientRate; + if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter + deltax = Math.abs(deltax) /2; + else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter + deltax = -Math.abs(deltax) /2; + else + // the y is close enough to wanted. + break; + if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. + break; + } + size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; + size.y = thisWindow.document.body.scrollHeight;// + gBscrollHeight; + thisWindow.document.body.scroll = 'no'; + + // Handle absurd cases just in case IE flakes + // if (size.y < 100) { + // size.y = 100; + // } + } + } + else { + if (thisWindow.document.body.scrollWidth > maxgoldx) { + size.x = maxx; + size.y = miny; + thisWindow.document.body.scroll = 'yes'; + } + else { + // downsize from maxgoldx , now I try to using binary divide. + x = maxgoldx; + deltax = -maxgoldx/2; + //i = 0; + while (true) { + x = x + deltax; + thisWindow.resizeTo(x, miny); + thisWindow.resizeTo(x, miny); + diffy = thisWindow.document.body.scrollHeight + gBscrollHeight - x * gBRateH_W; + if (diffy > gBpermitYDelta ) // it is higher than wanted, so x need to be wide a little bitter + deltax = Math.abs(deltax) /2; + else if (diffy < -gBpermitYDelta) // it is shorter than wanted, so x need to be narrow a little bitter + deltax = -Math.abs(deltax) /2; + else + // the y is close enough to wanted. + break; + if (Math.abs(deltax) < gBpermitXDelta) // the next change is too slight and it can be ignore. + break; + //i ++; + + } + //size.x = x - gBscrollWidth; + size.x = thisWindow.document.body.scrollWidth; //+ gBscrollWidth; + size.y = thisWindow.document.body.scrollHeight ; + thisWindow.document.body.scroll = 'no'; // At this time we do not want to show scroll any more. so it will looks better a little. + thisWindow.resizeTo(size.x, size.y); + if (thisWindow.document.body.scrollWidth > size.x) + { + size.x = thisWindow.document.body.scrollWidth; + } + if (thisWindow.document.body.scrollHeight > size.y) + { + size.y = thisWindow.document.body.scrollHeight; + } + } + } + + // no reload no scrollbar. + //size.x = size.x + 16; //reserve a width for scrollbar (IE 4.0 only) + + thisWindow.resizeTo(size.x, size.y); + thisWindow.resizeTo(size.x, size.y); + return; +} + + + +function BSSCPopupParentClicked() +{ + if (!window.gbPopupTimeoutExpired) { + return false; + } + + document.onmousedown = gbOrignalOnMouseDown; + + // Simply hide the popup + hideAll(); + + window.gbPopupTimeoutExpired = false; + + return true; +} + + +function BSSCPopupClicked() +{ + if (!window.gbPopupTimeoutExpired) { + return false; + } + + + var popupIFrame = getCurrentPopupIFrame(); + if (popupIFrame == null) { + return true; + } + +/* + if ("undefined" != typeof(popupIFrame.gbInPopupMenu) && + popupIFrame.gbInPopupMenu) { + return true; + }*/ + + if (!((popupIFrame.window.event != null) && + (popupIFrame.window.event.srcElement != null) && + ((popupIFrame.window.event.srcElement.tagName == "A") || + (popupIFrame.window.event.srcElement.tagName == "IMG")))) { + document.onmousedown = gbOrignalOnMouseDown; + + // Simply hide the popup + hideAll(); + + window.gbPopupTimeoutExpired = false; + + return true; + } +} + + +//trace the mouse over's position for hotspot +function BSPSPopupOnMouseOver(event) +{ + if (gBsBrowser.ie4) { + window.gnPopupClickX = event.clientX + document.body.scrollLeft; + window.gnPopupClickY = event.clientY + document.body.scrollTop; + window.gnPopupScreenClickX = event.screenX; + window.gnPopupScreenClickY = event.screenY; + } else if (gBsBrowser.ns4) { + window.gnPopupClickX = event.pageX - window.pageXOffset; + window.gnPopupClickY = event.pageY - window.pageYOffset; + window.gnPopupScreenClickX = event.screenX - window.pageXOffset; + window.gnPopupScreenClickY = event.screenY - window.pageYOffset; + } +} + + +function BSSCHidePopupWindow() +{ + if (window.gPopupWindow != null) { + if (gBsBrowser.ns4) { + if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) { + window.gPopupWindow.close(); + window.gPopupWindow = null; + } + } + } + + return; +} + +// Add the PopupOnClick to the onclick array. +if (typeof(BsscRegisterOnClick) != "undefined") +{ + BsscRegisterOnClick(BsPopupOnClick); +} +//End to support previous popup functions + +/// Section End - Popup (JavaScript 1.0) + +/// Section Begin - Embedded Stub (JavaScript 1.0) + +var s_strAgent = navigator.userAgent.toLowerCase(); +var s_nVer = parseInt(navigator.appVersion); + +var s_bIE = (s_strAgent.indexOf('msie') != -1); +var s_bNS = (s_strAgent.indexOf('mozilla') != -1) && ((s_strAgent.indexOf('spoofer') == -1) && (s_strAgent.indexOf('compatible') == -1)); +var s_bOpera = (s_strAgent.indexOf('opera') != -1); + +var s_bIE3Before = ((s_bIE) && (s_nVer <= 2)); +var s_bNS3Before = ((s_bNS) && (s_nVer <= 3)); + +var s_bNS2 = ((s_bNS) && (s_nVer <= 2)); +var s_bNS3 = ((s_bNS) && (s_nVer == 3)); +var s_bIE300301 = ((s_bIE) && (s_nVer == 2) && ((s_strAgent.indexOf("3.00") != -1)||(s_strAgent.indexOf("3.0a") != -1)||(s_strAgent.indexOf("3.0b")!=-1)||(s_strAgent.indexOf("3.01")!=-1))); +var s_bIE302 = ((s_bIE) && (s_nVer == 2) && (s_strAgent.indexOf("3.02") != -1)); + + +function HasExtJs() +{ + if (s_bIE3Before) { return false;} + if (s_bNS3Before) { return false;} + if (typeof (BsGeneralOnLoad) == "undefined"){ return false; } + return true; +} + + +function BSSCCreatePopupDiv() +{ + return; +} + + +function WritePopupMenuLayer() +{ + if (HasExtJs()) {_WritePopupMenuLayer();} +} + +function BSSCPopup(strURL, width, height) +{ + if (HasExtJs()) { + _BSSCPopup(strURL, width, height); + }else{ + //Create a temporary window first to ensure the real popup comes up on top + var wndTemp = null; + if (!s_bNS3) { + wndTemp = window.open("", "temp", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=3,width=4"); + } + // Create the real popup window + var wndPopup = window.open(strURL, "BSSCPopup", "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400"); + // Close the temporary + if (!s_bNS3) { + wndTemp.close(); + } else { + wndPopup.focus(); + } + } +} + +var gbWndTemp = null, gbWndPopupLinks = null; +var gbstrParaTotal = ""; + +function PopupMenu_Invoke() +{ + if (HasExtJs()) { + return _PopupMenu_Invoke(PopupMenu_Invoke.arguments); + } + if (s_bNS3Before || s_bIE3Before ) { + var argLen = PopupMenu_Invoke.arguments.length; + if (argLen < 5) { + window.document.location.href = PopupMenu_Invoke.arguments[3]; + return false; + } + gbWndTemp = null; + gbWndPopupLinks = null; + gbstrParaTotal = ""; + for (var i = 0; i < (argLen - 2) / 2; i++) { + var strParaLine = ""; + if (s_bNS2 || s_bOpera){ + strParaLine += "
" + strParaLine += PopupMenu_Invoke.arguments[2 * i + 2]; + strParaLine += ""; + } else { + strParaLine += ""); + if (s_bNS2 || s_bOpera) { + gbWndPopupLinks.document.write(""); + } else { + //YJ: IE301,302 and NS3.x works fine + gbWndPopupLinks.document.write("<"); + gbWndPopupLinks.document.write("script>"); + gbWndPopupLinks.document.write("function gotoUrl(aUrl) {opener.window.location=aUrl; close();}"); + gbWndPopupLinks.document.write("<"); + gbWndPopupLinks.document.write("/script>"); + } + gbWndPopupLinks.document.write(""); + gbWndPopupLinks.document.write(gbstrParaTotal); + gbWndPopupLinks.document.write(""); + gbWndPopupLinks.document.close(); + + // Close the temporary + if (!s_bNS3 && gbWndTemp != null) { + gbWndTemp.close(); + }else { + gbWndPopupLinks.focus(); + } + + return true; + } + return false; +} + +/// Section End - Embedded Stub (JavaScript 1.0) + +//// Segment End -- (JavaScript 1.0) + +//// Segment Begin -- (JavaScript 1.2) +/// Section Begin - kadov DHTM (JavaScript 1.2) + +//Begin to support extended and dropdown text effects. +function kadovIsParagraph(el) +{ + return( el.tagName == "P" || el.tagName.indexOf("H") == 0 ) ? true : false; +} + +function kadovInitEachChild(el) +{ + for(var i=0; i "") ) + child.style.setAttribute( "x-on-pageload", "" ); + + var href = child.getAttribute("href") + if( href != null && href > "" && href.indexOf( "BSSCPopup" ) >= 0 ) + kadovFilePopupInit(child.id); // Init for Popup + else if( child.className == "dropspot" || child.className == "expandspot" || + child.className == "glossterm" ) + kadovTextPopupInit(child.id);// Init for Expanding/Glossary or DropDown text + else if( child.className == "trigger") + kadovInitTrigger(child.id);// Init for Trigger + else + { + kadovInitEffects(child.id);// Init for DHTML effects + CEngine.SetOneTargetInitialState( child.id ); + } + } + + if( (child.tagName == "IMG") && (child.getAttribute("dynsrc") > "") ) + child.start = "mouseover";// to start a AVI file. fileopen doesn't work + + kadovInitEachChild(child); + } +} + +function kadovRetrieveTextInner(el) +{ + var x = ""; + if( (!el) || (el.tagName == "!") || (el.tagName == "SCRIPT" )) + return x; + + if( kadovIsParagraph(el) ) + { + var strNewID = " "; + if( el.id != "" ) + strNewID += "id=" + el.id + "_NewSpan "; + x = "" + el.innerHTML + ""; + } + else + { + for(var i=0; i 0 ) + if( (nTagClose - nTagOpen) != nDistance ) + return strRawHTML; + + var strCleanOnce = strRawHTML.substring(0, nTagOpen) + strRawHTML.substr(nTagClose + strTagClose.length) ; + return kadovRetrieveCleanHTML( strCleanOnce, strTagOpen, strTagClose ); +} + +function kadovAdjustObjectTag(strRawHTML, nStartPos) +{// adjust object tag for related topics HTML control, because innerHTML misses out the item settings + + //Is there any DTC? + var strDTCTagOpen = ''; + var nDTCTagOpen = strRawHTML.indexOf( strDTCTagOpen, nStartPos ); + if( nDTCTagOpen < 0 ) + return strRawHTML; + var nDTCTagClose = strRawHTML.indexOf( strDTCTagClose, nDTCTagOpen ); + if( nDTCTagClose < nDTCTagOpen) + return strRawHTML; // no Design Time Controls; + + //Is the DTC HTML Help Control? + var strRTObjTagOpen = 'classid=clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11'; + var strRTObjTagClose = ''; + var nRTObjTagOpen = strRawHTML.indexOf( strRTObjTagOpen, nDTCTagOpen ); + if( nRTObjTagOpen < nDTCTagOpen ) + return strRawHTML; + var nRTObjTagClose = strRawHTML.indexOf( strRTObjTagClose, nRTObjTagOpen ); + if( nRTObjTagClose < nRTObjTagOpen ) + return strRawHTML; // is not a HTML help control + + // Is it a related Topics html help control? + var strRTObjLabel = ''; + } + + // to insert the reconstructed item params into runtime object tag + var strAdjustedHTML = strRawHTML.substring(0,nRTObjTagClose) + strRunTimeItemParam + strRawHTML.substring(nRTObjTagClose, strRawHTML.length); + return kadovAdjustObjectTag(strAdjustedHTML, nDTCTagClose + strDTCTagClose.length); +} + +function kadovTextPopupOnLoad( el ) +{ + if( !CCSSP.bIsWinOS && !CCSSP.bIsSunOS) + return 0; + + if( typeof(el) == "string" ) + el = document.all.item(el); + + var src = el.getAttribute( "x-use-popup" ); + if(!src) + return 0; + + var name = src; + if( src.substr(0,1) == "#" ) + name = src.substr(1, src.length-1); + var srcDiv = document.all.item(name); + if( !srcDiv ) + return 1; + + var type = el.getAttribute( "x-popup-type" ); + var setup = el.getAttribute( "x-tmp-setup" ); + var newId = name; + if( newId.indexOf( "_tmp") <= 0 ) + newId += "_tmp"; + + if( !setup ) + { + el.setAttribute( "x-tmp-setup", 1 ); + + if( type == "pulldown" ) + { + var strAdjust = kadovAdjustObjectTag(srcDiv.innerHTML,0); + var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, ""); + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); + + //work around the bug in HH.exe that highlight the phrases when use Search tab + //this approach is just removing the tag inserted by Microsoft in the runtime + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, "", 52); + + var strStyle = " style='display:none; position:relative;"; + var newDiv = "
" + strCleanHTML + "
"; + + srcDiv.outerHTML = ""; // empty the original DIV tag + var elParentPra = kadovFindParentParagraph(el); + if( elParentPra ) + elParentPra.insertAdjacentHTML( "AfterEnd", newDiv ); + } + else if( type == "expanding" ) + { + var inner = kadovRetrieveTextInner(srcDiv); + if( inner == "" ) + inner = srcDiv.innerHTML; + var strAdjust = kadovAdjustObjectTag(inner,0); + var strCleanHTML = kadovRetrieveCleanHTML(strAdjust, ""); + strCleanHTML = kadovRetrieveCleanHTML(strCleanHTML, ""); + var strClassName = (el.className == "glossterm") ? "glosstext" : "expandtext"; + var newSpan = ""; + srcDiv.outerHTML = ""; // empty the original DIV tag + el.insertAdjacentHTML( "AfterEnd", newSpan ); + } + } + return 0; +} + +function kadovTextPopup( el ) +{ + if( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS) || (window.event == null) ) + return; + window.event.cancelBubble = true; + + if( typeof(el) == "string" ) + el = document.all.item(el); + + var src = el.getAttribute( "x-use-popup" ); + if(!src) + return; + + var name = src; + if( src.substr(0,1) == "#" ) + name = src.substr(1, src.length-1) + "_tmp"; + var srcDiv = document.all.item(name); + if( !srcDiv ) + return; + + var type = el.getAttribute( "x-popup-type" ); + var setup = el.getAttribute( "x-tmp-setup" ); + if( srcDiv ) + { + if( srcDiv.style.display == "" ) + srcDiv.style.display = "none"; + else + { + srcDiv.style.display = ""; + if( typeof(srcDiv.bInitialized) == "undefined" ) + { + srcDiv.bInitialized = true; + kadovInitEffects(name); + kadovInitEachChild(srcDiv); + } + } + } + return; +} + +function kadovFindParentParagraph( el ) +{ + if( typeof(el) == "string" ) + el = document.all.item(el); + if( (!el) || el.tagName == "BODY" ) + return null; + if( kadovIsParagraph(el.parentElement) ) + return el.parentElement; + else + return kadovFindParentParagraph( el.parentElement ); +} + +//Begin HTML code invoked function +function kadovRegisterEventHandler( obj, strEvent, strEventHandler ) +{ + if( !gbBsIE4 ) + return; + CCSSP.RegisterEventHandler( obj, strEvent, strEventHandler ); +} + +function kadovTextPopupInit( el ) +{ + if( (!gbBsIE4) || (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS)) + return; + + if( typeof(el) == "string" ) + el = document.all.item(el); + if( el != null ) + { + CCSSP.RegisterEventHandler( el, "onclick", "kadovTextPopup(" + el.id +");" ); + CCSSP.RegisterEventHandler( window, "onload", "kadovTextPopupOnLoad(" + el.id +");" ); + } +} +//End HTML code invoked function + +//End to support extended and dropdown text effects. + +//Begin to convert iWrite format to RoboEditor Format for DHTML effects +function kadovInitTriggersInHead( ) +{ + if( Object.xDelayedInitElements ) + { + var x = Object.xDelayedInitElements; + for(i=0; i= 0 && nNext < values.length ) + { + functions[nIdx] = values.substr( nStart, nNext-nStart+1); + nStart = nNext + 1; + nIdx++; + nNext = values.indexOf( "\)", nStart); + } + + for( var i=0; i= 0 ) + { + nPageClick = arrForClickCount[j].indexOf("="); + if( nPageClick > 0 ) + { + nClickTimes = arrForClickCount[j].substring( nPageClick + 1, arrForClickCount[j].length) * 1; + break; + } + } + } + var args = srcargs; + if( j < arrForClickCount.length ) + {// to strip out the "clicks=99" from the arguments string + args = ""; + for( var k = 0; k < arrForClickCount.length; k ++ ) + { + if( k != j ) + { + args += arrForClickCount[k]; + if( k < arrForClickCount.length - 1 ) + args += ","; + } + } + } + bsscFXInit( null, id, translatedProp, fnname, args, nClickTimes ); + } +} + +function kadovTranslateProp( prop ) +{ + switch( prop ) + { + case "x-on-hover" : return "bsschover"; + case "x-on-pageclick" : return "bsscpageclick"; + case "x-on-pageload" : return "bsscpageload"; + case "x-on-trigger-1" : return "bssctrigger1"; + case "x-on-trigger-2" : return "bssctrigger2"; + } + return null; +} +//End to convert iWrite format to RoboEditor Format for DHTML effects + +//Begin the definition of one entry to DHTML effects +function bsscFXInit( trigger_ID, target_ID, event_type, + action_type, action_setting, event_addional ) +{ + if( (!CCSSP.bIsWinOS && !CCSSP.bIsSunOS ) || typeof(target_ID) != "string" )//MUST have a target_ID + return; // we don't support Navigator yet + + if( typeof(event_type) == "string" ) + event_type = event_type.toLowerCase(); + if( typeof(action_type) == "string" ) + action_type = action_type.toLowerCase(); + if( typeof(action_setting) == "string" ) + action_setting = action_setting.toLowerCase(); + + // to get the target element then add it to the target list + var eleTarget = CCSSP.GetObject( target_ID ); + if( (eleTarget != null) && (event_type != null) && (action_type != null) ) + { + CEngine.AddOneTarget( target_ID, eleTarget ); + CEngine.BuildTargetObject(target_ID, event_type, action_type, action_setting, event_addional); + } + + // to validate the trigger_ID parameter + if( typeof(trigger_ID) == "string" && trigger_ID != "" ) + CEngine.BuildTriggerObject( trigger_ID, target_ID ); +} +//End the definition of one entry to DHTML effects + + +/// Section End - kadov DHTM (JavaScript 1.2) + + +/// Section Begin - CCSSP DHTM (JavaScript 1.2) + +//Begin JavaScript libary for cross-platform positioning object. +function CCSSP(){} // constructor of CCSSP class + +CCSSP.strAgent = navigator.userAgent.toLowerCase(); +CCSSP.nAppVersion = parseInt(navigator.appVersion); + +CCSSP.bIsWinOS = ((CCSSP.strAgent.indexOf("win") >= 0) || (CCSSP.strAgent.indexOf("16bit") >= 0)); +CCSSP.bIsMacOS = (CCSSP.strAgent.indexOf("mac") >= 0); +CCSSP.bIsSunOS = (CCSSP.strAgent.indexOf("sunos") != -1); + +CCSSP.bIsIE = (navigator.appName.indexOf("Microsoft") >= 0); +CCSSP.bIsIE4 = (CCSSP.bIsIE && (CCSSP.nAppVersion >= 4)); +CCSSP.bIsIE5 = (CCSSP.bIsIE4 && (CCSSP.strAgent.indexOf("msie 5") != -1) ) + +CCSSP.bIsNav = (navigator.appName.indexOf("Netscape") >= 0); +CCSSP.bIsNav4 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 4)); +CCSSP.bIsNav6 = (CCSSP.bIsNav && (CCSSP.nAppVersion >= 5)); + +CCSSP.GetObject = function( obj ) +{//convert object name string or reference into a valid object reference + if( typeof(obj) == "object" ) + return obj; + else if( typeof(obj) == "string" && obj != "") + { + if( CCSSP.bIsNav4 ) + return eval("document." + obj); + else + return eval("document.all." + obj); + } + else + return null; +} + +CCSSP.MoveObjectTo = function(obj, x, y) +{//positioning an object at a specific pixel coordinate + if( CCSSP.bIsNav4 ) + obj.moveTo(x,y); + else + { + obj.style.pixelLeft = x; + obj.style.pixelTop = y; + } +} + +CCSSP.MoveObjectBy = function(obj, dx, dy) +{//moveing a object by x and/or y pixel + if( CCSSP.bIsNav4 ) + obj.moveBy(dx,dy); + else + { + obj.style.pixelLeft += dx; + obj.style.pixelTop += dy; + } +} + +CCSSP.SetObjectBGColor = function(obj, color) +{//set the background color of an object + if( CCSSP.bIsNav4 ) + obj.bgColor = color; + else + obj.style.backgroundColor = color; +} + +CCSSP.ShowObject = function(obj, bShow) +{// set the object to be visible or invisible + if( CCSSP.bIsNav4 ) + obj.visibility = (bShow == true) ? 'show' : 'hide'; + else + obj.style.visibility = (bShow == true) ? 'visible' : 'hidden';// when hidden, it still occupy some space. +} + +CCSSP.GetObjectLeft = function(obj) +{// retrieve the x coordinate of a posionable object + if( CCSSP.bIsNav4 ) + return obj.left; + else + return obj.style.pixelLeft; +} + +CCSSP.GetObjectTop = function(obj) +{// retrieve the y coordinate of a posionable object + if( CCSSP.bIsNav4 ) + return obj.top; + else + return obj.style.pixelTop; +} + +CCSSP.GetObjectContainLeft = function(obj) +{// retrieve the x coordinate of a posionable object relative to it's parent element + if( CCSSP.bIsNav4 ) + return obj.pageX; + else + { + if( obj == document.body ) + return obj.clientLeft; + else + return obj.offsetLeft; + } +} + +CCSSP.GetObjectWindowLeft = function(obj) +{// retrieve the x coordinate of a posionable object relative to browser window + if( CCSSP.bIsNav4 ) + return obj.pageX; + else + { + var nOffsetWindowLeft = 0; + for(var element = obj; element; element = element.offsetParent) + nOffsetWindowLeft += CCSSP.GetObjectContainLeft(element); + return nOffsetWindowLeft; + } +} + +CCSSP.GetObjectContainTop = function(obj) +{// retrieve the y coordinate of a posionable object relative to it's parent element + if( CCSSP.bIsNav4 ) + return obj.pageY; + else + { + if( obj == document.body ) + return obj.clientTop; + else + return obj.offsetTop; + } +} + +CCSSP.GetObjectWindowTop = function(obj) +{// retrieve the y coordinate of a posionable object relative to browser window + if( CCSSP.bIsNav4 ) + return obj.pageY; + else + { + var nOffsetWindowTop = 0; + for(var element = obj; element; element = element.offsetParent) + nOffsetWindowTop += CCSSP.GetObjectContainTop(element); + return nOffsetWindowTop; + } +} + +CCSSP.GetObjectHeight = function(obj) +{// retrieve the height of a posionable object + if( CCSSP.bIsNav4 ) + return obj.clip.height; + else + return obj.offsetHeight; +} + +CCSSP.GetObjectWidth = function(obj) +{// retrieve the width of a posionable object + if( CCSSP.bIsNav4 ) + return obj.clip.width; + else + return obj.offsetWidth; +} + +CCSSP.RegisterEventHandler = function( srcObj, rawEventName, funcHandler ) +{ // to add the "funcHandler" as the "rawEventName" 's handler to the "srcObj" object,the original event handler will be combined + if (CCSSP.bIsNav4 && !CCSSP.bIsNav6) + return ; + var oldHandler = ""; + if (CCSSP.bIsMacOS && CCSSP.bIsIE4) + { + if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown") + { //search for + + + + + + + + + + + + + + + + +

Wire discretization

+ +

This algorithm is used for meshing of 1D entities of + geometrical objects - edges. +

+ +

 

+ +

To apply the Wire discretization meshing algorithm:

+ +

 

+ +

From the Hypotheses + menu select Wire discretization + or click button in the toolbar.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/2d_(quadrangle)_meshing_algorithm.htm b/doc/salome/gui/SMESH/files/2d_(quadrangle)_meshing_algorithm.htm new file mode 100755 index 000000000..08f356811 --- /dev/null +++ b/doc/salome/gui/SMESH/files/2d_(quadrangle)_meshing_algorithm.htm @@ -0,0 +1,126 @@ + + + + + + + + + + +2D (Quadrangle) meshing algorithm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Quadrangle meshing algorithm

+ +

This algorithm is used for meshing of 2D entities of + geometrical objects - faces. +

+ +

 

+ +

To apply the Quadrangle meshing algorithm:

+ +

 

+ +

From the Hypotheses + menu select Quadrangle (Mapping) + or click button in the toolbar.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/2d_meshing_algorithm.htm b/doc/salome/gui/SMESH/files/2d_meshing_algorithm.htm new file mode 100755 index 000000000..0ce5d1a40 --- /dev/null +++ b/doc/salome/gui/SMESH/files/2d_meshing_algorithm.htm @@ -0,0 +1,126 @@ + + + + + + + + + + +2D meshing algorithm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Triangle (Mefisto) meshing algorithm

+ +

This algorithm is used for meshing of 2D entities of + geometrical objects - faces. +

+ +

 

+ +

To apply the Triangle meshing algorithm:

+ +

 

+ +

From the Hypotheses + menu select Triangle (Mefisto) + or click button in the toolbar.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/3d_meshing_algorithm.htm b/doc/salome/gui/SMESH/files/3d_meshing_algorithm.htm new file mode 100755 index 000000000..9139ce1f9 --- /dev/null +++ b/doc/salome/gui/SMESH/files/3d_meshing_algorithm.htm @@ -0,0 +1,127 @@ + + + + + + + + + + +3D meshing algorithm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Hexahedron meshing algorithm

+ +

This algorithm is used for meshing of 3D entities of + geometrical objects - volume objects. +

+ +

 

+ +

To apply the Hexahedron meshing algorithm:

+ +

 

+ +

From the Hypotheses + menu select Hexahedron (i,j,k) +  or + click button in the toolbar.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/about_hypotheses.htm b/doc/salome/gui/SMESH/files/about_hypotheses.htm new file mode 100755 index 000000000..bd2a4f273 --- /dev/null +++ b/doc/salome/gui/SMESH/files/about_hypotheses.htm @@ -0,0 +1,186 @@ + + + + + + + + + + +About hypotheses + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

About hypotheses

+ +

Hypotheses represent + boundary conditions which will be taken into account at calculations of + meshes or submeshes basing on geometrical objects. These hypotheses allow + you to manage the level of detail of the resulting meshes or submeshes: + when applying different hypotheses with different parameters you can preset + the quantity of meshing elements which will compose your mesh. So, it + will be possible to generate a rough or a more refined mesh or submesh. + In SMESH there are the following + basic hypotheses:

+ +

 

+ +
+ +
    + + +
+ + + +

 

+ +

 

+ +

The choice of a hypothesis depends on:

+ +

 

+ +
    + +
  • the geometrical object (shape) which will be meshed

  • + +
  • the algorithm, which will be selected for meshing + of this geometrical object (shape)

  • +
+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/about_meshes.htm b/doc/salome/gui/SMESH/files/about_meshes.htm new file mode 100755 index 000000000..a269b3a6c --- /dev/null +++ b/doc/salome/gui/SMESH/files/about_meshes.htm @@ -0,0 +1,274 @@ + + + + + + + + + + +About meshes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

About meshes

+ +

MESH represents + a discretization of a geometrical CAD model into a set of entities with + a simple topology. In SMESH there are two options of creation of meshes, + you can:

+ +

 

+ +
    + +
  • generate meshes on the basis of geometrical shapes + produced in the GEOM module,

  • + +
  • create your own meshes using the SMESH functions + destined for modification of generated meshes. More about this functionality + of SMESH see here.

  • +
+ +

 

+ +

The topology of a mesh is described by the relationships between its + entities including:

+ +

 

+ +
    + +
  • Node + – 0D element of a mesh presented by a point with coordinates (x, y, z).

  • + +
  • Edge + – 1D element of a mesh defined by two nodes.

  • + +
  • Face + – 2D element of a mesh defined by three or four edges (closed contour).

  • + +
  • Volume + – 3D element of a mesh defined by several faces.

  • +
+ +

 

+ +

These entities are considered as topological + entities and they don't imply any geometric representation. Only Nodes reference  geometric + representations of points with definite coordinates. The + node entity will contain  additional + information about its position in the space and its relations with the + meshed CAD model. Its position could be described in the following way:

+ +

 

+ +
    + +
  • 2D + position. It is a free position defined by only two coordinates + x,y.

  • + +
  • 3D + position. It is a free position defined by three coordinates x,y + and z.

  • + +
  • Surface + position. It characterizes the position of a node on a geometric + surface and is defined by the u,v position in the parametric space of + the corresponding surface.

  • + +
  • Line + position. It characterizes the position of a node on a geometric + curve and is defined by the u parameter and the corresponding curve.

  • + +
  • Vertex + position. It characterizes the position of a node on a geometric + point of the meshed CAD model and is defined by the x,y,z coordinates + of the corresponding vertex.

  • +
+ +

 

+ +

 

+ +

Connections

+ +

Each mesh entity bounds 0 or more mesh entities + of higher dimension. In the same way each mesh entity is bounded by 0 + or more mesh entities of lower dimension:

+ +

 

+ +
    + +
  • A node bounds edges, + faces and volumes

  • + +
  • An edge bounds faces, + and volumes

  • + +
  • A face bounds volumes

  • + +
  • A volume is bounded + by faces, edges and nodes

  • + +
  • A face is bounded by + edges, and nodes

  • + +
  • An edge is bounded by + nodes

  • +
+ +

 

+ +

You can notice that there are two types of + connections: inverse and direct connections.

+ +

 

+ +

Inverse connections

+ +

 

+ +

This relationship has a particularity that + the order of bounded entities has not a direct meaning. Also the number + of bounded entities is not fixed.

+ +

 

+ +

The edges surrounding a node. + The 3rd edge has no more sense that the 5th one.

+ +

 

+ +

Direct connections

+ +

 

+ +

This relationship has a particularity that + the order of bounding entities is meaningful. The number of bounding entities + is fixed and depends on the type of the entity (hexahedron, tetrahedron,…).

+ +

 

+ +

An edge is composed of two + nodes. A face is composed of 3 or 4 edges depending if we are dealing + with triangles or quadrangles.

+ +

 

+ +

The connections are not only restricted to + entities of one dimension higher or lower. For example some algorithms + may be interested to retrieve all the faces surrounding a node.

+ +

 

+ +

 

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/about_meshing_algorithms.htm b/doc/salome/gui/SMESH/files/about_meshing_algorithms.htm new file mode 100755 index 000000000..bce08e1cc --- /dev/null +++ b/doc/salome/gui/SMESH/files/about_meshing_algorithms.htm @@ -0,0 +1,181 @@ + + + + + + + + + + +About meshing algorithms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

About meshing algorithms

+ +

The SMESH module contains a set of meshing algorithms, + which are used for meshing of all kinds of entities (1D, 2D, 3D) composing + geometrical objects. They are as follows:

+ +

 

+ +
    + +
  • For meshing of 1D entities (edges):

  • +
+ +

 

+ + + +

 

+ +
    + +
  • For meshing of 2D entities (faces):

  • +
+ +

 

+ + + +

 

+ +
    + +
  • For meshing of 3D entities (volume + objects):

  • +
+ +

 

+ + + +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/about_modification_of_meshes.htm b/doc/salome/gui/SMESH/files/about_modification_of_meshes.htm new file mode 100755 index 000000000..bfbef4fc9 --- /dev/null +++ b/doc/salome/gui/SMESH/files/about_modification_of_meshes.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +About modification of meshes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

About modification of meshes

+ +

Type topic text here.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/about_quality_controls.htm b/doc/salome/gui/SMESH/files/about_quality_controls.htm new file mode 100755 index 000000000..e9f144dd2 --- /dev/null +++ b/doc/salome/gui/SMESH/files/about_quality_controls.htm @@ -0,0 +1,154 @@ + + + + + + + + + + +About quality controls + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

About quality controls

+ +

Mesh + quality control in SMESH is destined for visual control of the + generated mesh.

+ +

Application of a definite quality control + consists of usage of the corresponding algorithm, which calculates a value + of a definite geometric characteristic (Area, Length of edges, etc) for + all meshing elements, composing your mesh. Then all meshing elements are + colored according the calculated values. The reference between the coloring + of the meshing elements and these calculated values is shown with the + help of a scalar bar, which is displayed near the presentation of your + mesh.      

+ +

 

+ +

In SMESH you have at your disposal the + following mesh quality controls:

+ +

 

+ + + + + + + diff --git a/doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm b/doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm new file mode 100755 index 000000000..dc7efc3aa --- /dev/null +++ b/doc/salome/gui/SMESH/files/adding_nodes_and_elements.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +Adding nodes and elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Adding nodes and elements

+ +

Type topic text here.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/area_of_elements.htm b/doc/salome/gui/SMESH/files/area_of_elements.htm new file mode 100755 index 000000000..3fc6e5c78 --- /dev/null +++ b/doc/salome/gui/SMESH/files/area_of_elements.htm @@ -0,0 +1,143 @@ + + + + + + + + + + +Area of elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Area of elements

+ +

Area of elements mesh + quality control is based on the algorithm of area calculation of  meshing + elements . It can be applied to meshes consisting of 2D meshing elements + with 3 and 4 nodes (triangles and quadrangles).    

+ +

 

+ +

To apply the Area quality control to your mesh:

+ +

 

+ +

1. Display your mesh in the viewer.

+ +

 

+ +

2. Choose Quality + Controls > Area or click button. Your mesh will + be displayed in the viewer with its elements colored according to the + applied mesh quality control criterion:

+ +

 

+ +

 

+ +

+ +

 

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/aspect_ratio.htm b/doc/salome/gui/SMESH/files/aspect_ratio.htm new file mode 100755 index 000000000..b7e6cdb1d --- /dev/null +++ b/doc/salome/gui/SMESH/files/aspect_ratio.htm @@ -0,0 +1,185 @@ + + + + + + + + + + +Aspect Ratio + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Aspect Ratio

+ +

The Aspect Ratio + quality criterion for mesh elements is defined as follows:

+ +

 

+ +
    + +
  • For a triangle + 2D element consisting of 3 nodes a the Aspect + Ratio is calculated as the ratio of the length, h2, of the edge + of this triangle, to the height, h1. The ratio of h2 to h1 is then multiplied + by  3(1/2) /2, so that + a “perfect” element in the shape of an equilateral triangle will be equal + to 1. This procedure is repeated for the remaining two edges of the triangle, + and the largest value is retained as the Aspect + Ratio for the element.

  • +
+ +

 

+ +

+ +

 

+ +

 

+ +
    + +
  • For a quadrangle + 2D element consisting of 4 nodes  the + Aspect Ratio is the ratio of the + element's longest side to its shortest side.

  • +
+ +

+ +

 

+ +

To apply the Aspect Ratio quality criterion to your mesh:

+ +

 

+ +

1. Display your mesh in the viewer.

+ +

 

+ +

2. Choose Quality + Controls > Aspect Ratio or click button in the + toolbar. Your mesh will be displayed in the viewer with its elements colored + according to the applied mesh quality control criterion:

+ +

 

+ +

+ + + + + diff --git a/doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm b/doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm new file mode 100755 index 000000000..0df9544cc --- /dev/null +++ b/doc/salome/gui/SMESH/files/changing_orientation_of_elements.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +Changing orientation of elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Changing orientation of elements

+ +

Type topic text here.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/computing_meshes.htm b/doc/salome/gui/SMESH/files/computing_meshes.htm new file mode 100755 index 000000000..17cf3cc04 --- /dev/null +++ b/doc/salome/gui/SMESH/files/computing_meshes.htm @@ -0,0 +1,128 @@ + + + + + + + + + + +Computing meshes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Computing meshes

+ +

The final step in generation of your mesh is its computation.

+ +

 

+ +

To compute a mesh:

+ +

 

+ +

1. Select your mesh in the Object + Browser.

+ +

 

+ +

2. From the Mesh + menu select Compute or + click button of the toolbar.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/connectivity.htm b/doc/salome/gui/SMESH/files/connectivity.htm new file mode 100755 index 000000000..f845f0d81 --- /dev/null +++ b/doc/salome/gui/SMESH/files/connectivity.htm @@ -0,0 +1,106 @@ + + + + + + + + + + +Connectivity + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Connectivity

+ +

Type topic text here.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/constructing_meshes.htm b/doc/salome/gui/SMESH/files/constructing_meshes.htm new file mode 100755 index 000000000..5c46cb7e5 --- /dev/null +++ b/doc/salome/gui/SMESH/files/constructing_meshes.htm @@ -0,0 +1,159 @@ + + + + + + + + + + +Constructing meshes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Constructing meshes

+ +

Construction of a mesh consists of:

+ +

 

+ +
    + +
  • Selecting a geometrical + object for meshing

  • + +
  • Applying one or several + previously hypotheses and meshing + algorithms which will be used at computation of this mesh.

  • +
+ +

 

+ +

To construct a mesh:

+ +

 

+ +

In the Mesh + menu select Global Hyp. or + click button in the toolbar. The following dialog box will + appear:

+ +

 

+ +

+ +

 

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/constructing_submeshes.htm b/doc/salome/gui/SMESH/files/constructing_submeshes.htm new file mode 100755 index 000000000..1c9396e95 --- /dev/null +++ b/doc/salome/gui/SMESH/files/constructing_submeshes.htm @@ -0,0 +1,160 @@ + + + + + + + + + + +Constructing submeshes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Constructing submeshes

+ +

Construction of a submesh consists of:

+ +

 

+ +
    + +
  • Selecting a mesh which + will encapsulate your submesh

  • + +
  • Selecting a geometrical + object for meshing

  • + +
  • Applying one or several + previously hypotheses and meshing + algorithms which will be used at computation of this submesh.

  • +
+ +

 

+ +

To construct a submesh:

+ +

 

+ +

From the Mesh + menu select Local Hyp. or + click button in the toolbar. The following dialog box will + appear:

+ +

 

+ +

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm b/doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm new file mode 100755 index 000000000..da44a8912 --- /dev/null +++ b/doc/salome/gui/SMESH/files/diagonal_iversion_of_elements.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +Diagonal iversion of elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Diagonal inversion of elements

+ +

Type topic text here.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/displacing_nodes.htm b/doc/salome/gui/SMESH/files/displacing_nodes.htm new file mode 100755 index 000000000..8c2d3e064 --- /dev/null +++ b/doc/salome/gui/SMESH/files/displacing_nodes.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +Displacing nodes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Displacing nodes

+ +

Type topic text here.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/displaying_elements_numbers.htm b/doc/salome/gui/SMESH/files/displaying_elements_numbers.htm new file mode 100755 index 000000000..dd57c5fc0 --- /dev/null +++ b/doc/salome/gui/SMESH/files/displaying_elements_numbers.htm @@ -0,0 +1,151 @@ + + + + + + + + + + +Displaying elements numbers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Displaying elements numbers

+ +

In SMESH you can display the ID numbers of all meshing elements composing + your mesh in the viewer.

+ +

 

+ +

To display ID numbers of elements:

+ +

 

+ +

1. Display your mesh in the viewer

+ +

 

+ +

2. From the Numbering + menu select Display Elements #.

+ +

 

+ +

It will look like as follows:

+ +

 

+ +

+ +

 

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm b/doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm new file mode 100755 index 000000000..1e776eef8 --- /dev/null +++ b/doc/salome/gui/SMESH/files/displaying_nodes_numbers.htm @@ -0,0 +1,152 @@ + + + + + + + + + + +Displaying nodes numbers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Displaying nodes numbers

+ +

In SMESH you can display the ID numbers of all nodes of your mesh in + the viewer.

+ +

 

+ +

To display ID numbers of nodes:

+ +

 

+ +

1. Display your mesh in the viewer

+ +

 

+ +

2. From the Numbering + menu select  Display + Nodes #.

+ +

 

+ +

It will look like as follows:

+ +

 

+ +

+ +

 

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/editing_hypotheses.htm b/doc/salome/gui/SMESH/files/editing_hypotheses.htm new file mode 100755 index 000000000..e36d19b96 --- /dev/null +++ b/doc/salome/gui/SMESH/files/editing_hypotheses.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +Editing hypotheses + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Editing hypotheses

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm b/doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm new file mode 100755 index 000000000..e627b5af8 --- /dev/null +++ b/doc/salome/gui/SMESH/files/importing_and_exporting_meshes.htm @@ -0,0 +1,150 @@ + + + + + + + + + + +Importing and exporting meshes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Importing and exporting meshes

+ +

In SMESH there is a functionality allowing importation/exportation + of meshes from MED, UNV + format files.

+ +

 

+ +

To import a mesh:

+ +

 

+ +

1. From the File + menu choose the Import item, from + its sub-menu select the corresponding format (MED,  UNV) + of the file containing your mesh.

+ +

2. In the standard Search + File dialog box find the file for importation.

+ +

3. Click the OK + button.

+ +

 

+ +

To export a mesh:

+ +

 

+ +

1. From the File + menu choose the Export item, from + its sub-menu select the format (MED, UNV) of the file which will contain + your exported mesh..

+ +

2. In the standard Search + File select a location for the exported file and enter its + name.

+ +

3. Click the OK + button.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/introduction_to_smesh.htm b/doc/salome/gui/SMESH/files/introduction_to_smesh.htm new file mode 100755 index 000000000..cdfcac213 --- /dev/null +++ b/doc/salome/gui/SMESH/files/introduction_to_smesh.htm @@ -0,0 +1,200 @@ + + + + + + + + + + +Introduction to SMESH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Introduction to SMESH

+ +

SMESH module of + SALOME is destined for:

+ +

 

+ +
    + +
  • import and export of meshes in MED format,

  • + +
  • meshing geometrical models previously created + or imported by the GEOM component. SMESH module allows to apply 1D, 2D, + 3D meshing algorithms and a set of hypotheses:

  • + +
      + +
    • Local length

    • + +
    • Number of segments

    • + +
    • Max Element Area

    • + +
    • Max Element Volume

    • +
    + +
  • modification of locally generated meshes by

  • + +
      + +
    • Addition/deletion of nodes and elements

    • + +
    • Moving nodes and elements

    • +
    + +
  • grouping mesh elements and performing operations + on these groups

  • + +
  • quality control of meshes basing on a set of definite + criteria -

  • +
+ +

 

+ +

for edges:

+ +

 

+ +
    + +
      + +
    • Length of edges

    • + +
    • Borders at multi-connections

    • + +
    • Free borders

    • +
    +
+ +

 

+ +

for faces:

+ +

 

+ +
    + +
      + +
    • Area of elements

    • + +
    • Minimum angle

    • + +
    • Taper

    • + +
    • Aspect Ratio

    • + +
    • Warping

    • + +
    • Skew angle

    • +
    +
+ +

 

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/length_of_edges.htm b/doc/salome/gui/SMESH/files/length_of_edges.htm new file mode 100755 index 000000000..e49ef746c --- /dev/null +++ b/doc/salome/gui/SMESH/files/length_of_edges.htm @@ -0,0 +1,140 @@ + + + + + + + + + + +Length of edges + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Length of edges

+ +

This quality control criterion consists of calculation + of length of the edges combining the meshing elements (triangles and quadrangles) + of your mesh.

+ +

   

+ +

To apply the Length of edges quality criterion to your mesh:

+ +

 

+ +

1. Display your mesh in the viewer.

+ +

 

+ +

2. Choose Quality + Controls > Length or click button in the toolbar. + Your mesh will be displayed in the viewer with its elements colored according + to the applied mesh quality control criterion:

+ +

 

+ +

+ +

 

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/local_length_hypothesis.htm b/doc/salome/gui/SMESH/files/local_length_hypothesis.htm new file mode 100755 index 000000000..10316eaf2 --- /dev/null +++ b/doc/salome/gui/SMESH/files/local_length_hypothesis.htm @@ -0,0 +1,171 @@ + + + + + + + + + + +Local Length hypothesis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Local Length hypothesis

+ +

Local Length hypothesis + can be applied for meshing of edges composing your geometrical object. + Definition of this hypothesis consists of setting the length + of segments, which will split these edges. The points on the edges generated + by these segments will represent nodes of your mesh. Later these nodes + will be used for meshing of the faces abutting to these edges.

+ +

 

+ +

+ +

 

+ +

To define the Local Length hypothesis:

+ +

 

+ +

From the Hypotheses + menu select Average Length or + click button. The following dialog box will appear:

+ +

 

+ +

+ +

 

+ +

In this dialog box you can set:

+ +

 

+ +
    + +
  • Name + of your Local Length hypothesis

  • + +
  • Length + of segments which will split the edges of your geometrical object

  • +
+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm b/doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm new file mode 100755 index 000000000..826189fa5 --- /dev/null +++ b/doc/salome/gui/SMESH/files/max._element_area_hypothesis.htm @@ -0,0 +1,166 @@ + + + + + + + + + + +Max. Element Area hypothesis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Max Element Area hypothesis

+ +

Max Element Area hypothesis + can be applied for meshing of 2D faces composing your geometrical object. + Definition of this hypothesis consists of setting the maximum + area of meshing elements (depending on the chosen meshing algorithm + it can be triangles or quadrangles), + which will compose the mesh of these 2D faces.

+ +

 

+ +

To define the Max Element Area hypothesis:

+ +

 

+ +

From the Hypotheses + menu select Max Element Area or + click button. The following dialog box will appear:

+ +

 

+ +

+ +

 

+ +

In this dialog box you can set:

+ +

 

+ +
    + +
  • Name + of your Max Element Area hypothesis

  • + +
  • Max. + Area: the maximum area of meshing elements

  • +
+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm b/doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm new file mode 100755 index 000000000..40a848283 --- /dev/null +++ b/doc/salome/gui/SMESH/files/max._element_volume_hypothsis.htm @@ -0,0 +1,167 @@ + + + + + + + + + + +Max. Element volume hypothsis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Max Element Volume hypothesis

+ +

Max Element Area hypothesis + can be applied for meshing of 3D objects composing your geometrical object. + Definition of this hypothesis consists of setting the maximum + volume of 3D meshing elements (depending on the chosen meshing + algorithm it can be hexahedrons or + tetrahedrons), which will compose + the mesh of these 3D objects.

+ +

 

+ +

To define the Max Element Volume hypothesis:

+ +

 

+ +

From the Hypotheses + menu select Max Element Volume + or click button. The following dialog box will appear:

+ +

 

+ +

+ +

 

+ +

In this dialog box you can set:

+ +

 

+ +
    + +
  • Name + of your Max Element Volume hypothesis

  • + +
  • Max. + Volume: the maximum volume + of 3D meshing elements

  • +
+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/minimum_angle.htm b/doc/salome/gui/SMESH/files/minimum_angle.htm new file mode 100755 index 000000000..7cfc2299e --- /dev/null +++ b/doc/salome/gui/SMESH/files/minimum_angle.htm @@ -0,0 +1,139 @@ + + + + + + + + + + +Minimum angle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Minimum angle

+ +

Minimum angle + mesh quality criterion consists of calculation of the minimum value of + angle between two adjacent sides of a 2D meshing element (triangle or + quadrangle).

+ +

 

+ +

To apply the Minimum angle quality criterion to your mesh:

+ +

 

+ +

1. Display your mesh in the viewer.

+ +

 

+ +

2. Choose Quality + Controls > Minimum angle or click button. Your + mesh will be displayed in the viewer with its elements colored according + to the applied mesh quality control criterion:

+ +

 

+ +

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/number_of_segments_hypothesis.htm b/doc/salome/gui/SMESH/files/number_of_segments_hypothesis.htm new file mode 100755 index 000000000..ec3ce9c4e --- /dev/null +++ b/doc/salome/gui/SMESH/files/number_of_segments_hypothesis.htm @@ -0,0 +1,171 @@ + + + + + + + + + + +Number of segments hypothesis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Number of segments hypothesis

+ +

Number of segments hypothesis + can be applied for meshing of edges composing your geometrical object. + Definition of this hypothesis consists of setting the number + of segments, which will split these edges. In other words your edges will + be split into a definite number of segments with approximately the same + length. The points on the edges generated by these segments will represent + nodes of your mesh. Later these nodes will be used for meshing of the + faces abutting to these edges.

+ +

 

+ +

+ +

To define the Number of segments hypothesis:

+ +

 

+ +

From the Hypotheses + menu select Nb. Segments or + click button. The following dialog box will appear:

+ +

 

+ +

+ +

 

+ +

In this dialog box you can set:

+ +

 

+ +
    + +
  • Name + of your Local Length hypothesis

  • + +
  • Segments: the number + of segments which will split the edges of your geometrical object

  • +
+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm b/doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm new file mode 100755 index 000000000..245bf84e0 --- /dev/null +++ b/doc/salome/gui/SMESH/files/reassigning_hypotheses_and_algorithms.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +Reassigning hypotheses and algorithms + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Reassigning hypotheses and algorithms

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm b/doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm new file mode 100755 index 000000000..7029acdfd --- /dev/null +++ b/doc/salome/gui/SMESH/files/removing_nodes_and_elements.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +Removing nodes and elements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Removing nodes and elements

+ +

Type topic text here.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/running_smesh_module.htm b/doc/salome/gui/SMESH/files/running_smesh_module.htm new file mode 100755 index 000000000..d42bc5018 --- /dev/null +++ b/doc/salome/gui/SMESH/files/running_smesh_module.htm @@ -0,0 +1,172 @@ + + + + + + + + + + +Running SMESH module + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Running SMESH module

+ +

To start SMESH module in SALOME:

+ +

 

+ +
    + +
  1. Run + SALOME

  2. + +
  3. Create + a new study by clicking icon in the main toolbar. The + following SALOME standard window will appear:  

  4. +
+ +

 

+ +

                        

+ +

 

+ +

Before launching the SMESH module, you should set the VTK + viewer as default viewer for creation of a new study window. In SMESH + you can generate and work with meshes only in VTK viewer.

+ +

      

+ +

    3. + In the bottom toolbar click icon or  from + the bottom Choose box

+ +

                       

+ +

            select + SMESH.

+ +

 

+ +

 

+ +

The initial desktop of + the SALOME platform will be updated with some additional toolbars and + menus related to the SMESH component + . It will look like as follows:

+ +

 

+ +

 

+ +

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/scalar_bar_properties.htm b/doc/salome/gui/SMESH/files/scalar_bar_properties.htm new file mode 100755 index 000000000..793178598 --- /dev/null +++ b/doc/salome/gui/SMESH/files/scalar_bar_properties.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +Scalar Bar properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Scalar Bar properties

+ +

Type topic text here.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/shading.htm b/doc/salome/gui/SMESH/files/shading.htm new file mode 100755 index 000000000..28db384ad --- /dev/null +++ b/doc/salome/gui/SMESH/files/shading.htm @@ -0,0 +1,109 @@ + + + + + + + + + + +Shading + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + diff --git a/doc/salome/gui/SMESH/files/shrink.htm b/doc/salome/gui/SMESH/files/shrink.htm new file mode 100755 index 000000000..e7bc1038e --- /dev/null +++ b/doc/salome/gui/SMESH/files/shrink.htm @@ -0,0 +1,109 @@ + + + + + + + + + + +Shrink + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + diff --git a/doc/salome/gui/SMESH/files/skew.htm b/doc/salome/gui/SMESH/files/skew.htm new file mode 100755 index 000000000..39f2f82db --- /dev/null +++ b/doc/salome/gui/SMESH/files/skew.htm @@ -0,0 +1,158 @@ + + + + + + + + + + +Skew + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Skew angle

+ +

Skew angle mesh + quality criterion reflects the angle between the lines that join opposite + sides of the element. SKEW  is + a maximum value of all skew angles.

+ +

This mesh quality criterion + can be applied to elements composed of 4 and 3 nodes (quadrangles and + triangles)

+ +

 

+ +

+ +

 

+ +

To apply the Skew angle quality criterion to your mesh:

+ +

 

+ +

1. Display your mesh in the viewer.

+ +

 

+ +

2. Choose Quality + Controls > Skew or click button of the toolbar. + Your mesh will be displayed in the viewer with its elements colored according + to the applied mesh quality control criterion:

+ +

 

+ +

+ + + + + diff --git a/doc/salome/gui/SMESH/files/taper.htm b/doc/salome/gui/SMESH/files/taper.htm new file mode 100755 index 000000000..958fd05f9 --- /dev/null +++ b/doc/salome/gui/SMESH/files/taper.htm @@ -0,0 +1,142 @@ + + + + + + + + + + +Taper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Taper

+ +

Taper mesh quality + criterion represents the ratio of the areas of two triangles separated + by a diagonal. So it can be calculated only for elements consisting of + 4 nodes.

+ +

+ +

 

+ +

 

+ +

To apply the Taper quality criterion to your mesh:

+ +

 

+ +

1. Display your mesh in the viewer.

+ +

 

+ +

2. Choose Quality + Controls > Taper or click button in the toolbar. + Your mesh will be displayed in the viewer with its elements colored according + to the applied mesh quality control criterion:

+ +

 

+ +

+ + + + + diff --git a/doc/salome/gui/SMESH/files/tetrahedron_(netgen)_meshing_algorithm.htm b/doc/salome/gui/SMESH/files/tetrahedron_(netgen)_meshing_algorithm.htm new file mode 100755 index 000000000..c9f35898c --- /dev/null +++ b/doc/salome/gui/SMESH/files/tetrahedron_(netgen)_meshing_algorithm.htm @@ -0,0 +1,126 @@ + + + + + + + + + + +Tetrahedron (Netgen) meshing algorithm + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Tetrahedron (Netgen) meshing algorithm

+ +

This algorithm is used for meshing of 3D entities of + geometrical objects - volume objects. +

+ +

 

+ +

To apply the Tetrahedron meshing algorithm:

+ +

 

+ +

From the Hypotheses + menu select Tetrahedron (Netgen) + or click button in the toolbar.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/using_smesh_module.htm b/doc/salome/gui/SMESH/files/using_smesh_module.htm new file mode 100755 index 000000000..6a3250b03 --- /dev/null +++ b/doc/salome/gui/SMESH/files/using_smesh_module.htm @@ -0,0 +1,106 @@ + + + + + + + + + + +Using SMESH module + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Using SMESH

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/view_update.htm b/doc/salome/gui/SMESH/files/view_update.htm new file mode 100755 index 000000000..d9a84057f --- /dev/null +++ b/doc/salome/gui/SMESH/files/view_update.htm @@ -0,0 +1,112 @@ + + + + + + + + + + +View update + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

View update

+ +

+ + + + + diff --git a/doc/salome/gui/SMESH/files/viewing_mesh_info.htm b/doc/salome/gui/SMESH/files/viewing_mesh_info.htm new file mode 100755 index 000000000..956791a89 --- /dev/null +++ b/doc/salome/gui/SMESH/files/viewing_mesh_info.htm @@ -0,0 +1,152 @@ + + + + + + + + + + +Viewing mesh info + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Viewing mesh info

+ +

To view the information on meshes:

+ +

 

+ +

1. Select your mesh in the Object + Browser.

+ +

 

+ +

2. From the Mesh + menu select Mesh + infos or click button of the toolbar.

+ +

 

+ +

The following information will be displayed:

+ +

 

+ +

 

+ +

+ +

 

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/visualization_modes.htm b/doc/salome/gui/SMESH/files/visualization_modes.htm new file mode 100755 index 000000000..648d5bc7c --- /dev/null +++ b/doc/salome/gui/SMESH/files/visualization_modes.htm @@ -0,0 +1,153 @@ + + + + + + + + + + +Visualization modes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Visualization modes

+ +

In SMESH there are three visualization modes for displaying + meshes in the viewer:

+ +

 

+ +
    + +
  • Wireframe +

  • + +
  • Shading +

  • + +
  • Shrink

  • +
+ + + + + diff --git a/doc/salome/gui/SMESH/files/visualization_properties.htm b/doc/salome/gui/SMESH/files/visualization_properties.htm new file mode 100755 index 000000000..b08f35770 --- /dev/null +++ b/doc/salome/gui/SMESH/files/visualization_properties.htm @@ -0,0 +1,107 @@ + + + + + + + + + + +Visualization properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Visualization properties

+ +

Type topic text here.

+ + + + + diff --git a/doc/salome/gui/SMESH/files/warp.htm b/doc/salome/gui/SMESH/files/warp.htm new file mode 100755 index 000000000..c336fd125 --- /dev/null +++ b/doc/salome/gui/SMESH/files/warp.htm @@ -0,0 +1,171 @@ + + + + + + + + + + +Warp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Warping

+ +

Warping indicates + that a face is not planar and is applied only to 2D elements with 4 nodes. + This quality control criterion is based on a projection plane created + by:

+ +

1. bisecting the four element edges,

+ +

2. creating a point on the plane at the vector + average of the corners, where the x-axis extends from the point to the + bisector on edge 2.

+ +

The plane normal is in the direction of the + cross product of the x-axis and the vector from the origin to the bisector + of edge 3. Every corner of the quad will then be a distance “h” from the + plane. The length of each half edge is measured and the shortest length + is assigned “l”. The warp angle is the arcsine of the ratio of the projection + height “h” to the half edge length “l”.

+ +

 

+ +

+ +

 

+ +

 

+ +

To apply the Warping quality criterion to your mesh:

+ +

 

+ +

1. Display your mesh in the viewer.

+ +

 

+ +

2. Choose Quality + Controls > Warp or click button of the toolbar. + Your mesh will be displayed in the viewer with its elements colored according + to the applied mesh quality control criterion:

+ +

 

+ +

+ +

 

+ + + + + diff --git a/doc/salome/gui/SMESH/files/wireframe.htm b/doc/salome/gui/SMESH/files/wireframe.htm new file mode 100755 index 000000000..0167066cc --- /dev/null +++ b/doc/salome/gui/SMESH/files/wireframe.htm @@ -0,0 +1,109 @@ + + + + + + + + + + +Wireframe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + diff --git a/doc/salome/gui/SMESH/i_blue.jpg b/doc/salome/gui/SMESH/i_blue.jpg new file mode 100755 index 000000000..ed3acfac2 Binary files /dev/null and b/doc/salome/gui/SMESH/i_blue.jpg differ diff --git a/doc/salome/gui/SMESH/image10.jpg b/doc/salome/gui/SMESH/image10.jpg new file mode 100755 index 000000000..8c20c4ced Binary files /dev/null and b/doc/salome/gui/SMESH/image10.jpg differ diff --git a/doc/salome/gui/SMESH/image11.jpg b/doc/salome/gui/SMESH/image11.jpg new file mode 100755 index 000000000..f08bfe0f1 Binary files /dev/null and b/doc/salome/gui/SMESH/image11.jpg differ diff --git a/doc/salome/gui/SMESH/image12.jpg b/doc/salome/gui/SMESH/image12.jpg new file mode 100755 index 000000000..aa3ee34e8 Binary files /dev/null and b/doc/salome/gui/SMESH/image12.jpg differ diff --git a/doc/salome/gui/SMESH/image2.gif b/doc/salome/gui/SMESH/image2.gif new file mode 100755 index 000000000..7ac734ec8 Binary files /dev/null and b/doc/salome/gui/SMESH/image2.gif differ diff --git a/doc/salome/gui/SMESH/image22.gif b/doc/salome/gui/SMESH/image22.gif new file mode 100755 index 000000000..18b53bf4d Binary files /dev/null and b/doc/salome/gui/SMESH/image22.gif differ diff --git a/doc/salome/gui/SMESH/image24.gif b/doc/salome/gui/SMESH/image24.gif new file mode 100755 index 000000000..3d8032bf0 Binary files /dev/null and b/doc/salome/gui/SMESH/image24.gif differ diff --git a/doc/salome/gui/SMESH/image24.jpg b/doc/salome/gui/SMESH/image24.jpg new file mode 100755 index 000000000..59570ba96 Binary files /dev/null and b/doc/salome/gui/SMESH/image24.jpg differ diff --git a/doc/salome/gui/SMESH/image25.gif b/doc/salome/gui/SMESH/image25.gif new file mode 100755 index 000000000..cd7c967bc Binary files /dev/null and b/doc/salome/gui/SMESH/image25.gif differ diff --git a/doc/salome/gui/SMESH/image25.jpg b/doc/salome/gui/SMESH/image25.jpg new file mode 100755 index 000000000..4b2d4dfe4 Binary files /dev/null and b/doc/salome/gui/SMESH/image25.jpg differ diff --git a/doc/salome/gui/SMESH/image26.gif b/doc/salome/gui/SMESH/image26.gif new file mode 100755 index 000000000..62eef533d Binary files /dev/null and b/doc/salome/gui/SMESH/image26.gif differ diff --git a/doc/salome/gui/SMESH/image26.jpg b/doc/salome/gui/SMESH/image26.jpg new file mode 100755 index 000000000..3a02cb997 Binary files /dev/null and b/doc/salome/gui/SMESH/image26.jpg differ diff --git a/doc/salome/gui/SMESH/image27.gif b/doc/salome/gui/SMESH/image27.gif new file mode 100755 index 000000000..d21b890b9 Binary files /dev/null and b/doc/salome/gui/SMESH/image27.gif differ diff --git a/doc/salome/gui/SMESH/image27.jpg b/doc/salome/gui/SMESH/image27.jpg new file mode 100755 index 000000000..d2f32b184 Binary files /dev/null and b/doc/salome/gui/SMESH/image27.jpg differ diff --git a/doc/salome/gui/SMESH/image28.gif b/doc/salome/gui/SMESH/image28.gif new file mode 100755 index 000000000..21f54bf45 Binary files /dev/null and b/doc/salome/gui/SMESH/image28.gif differ diff --git a/doc/salome/gui/SMESH/image28.jpg b/doc/salome/gui/SMESH/image28.jpg new file mode 100755 index 000000000..8ec5266cf Binary files /dev/null and b/doc/salome/gui/SMESH/image28.jpg differ diff --git a/doc/salome/gui/SMESH/image29.gif b/doc/salome/gui/SMESH/image29.gif new file mode 100755 index 000000000..e748b6f42 Binary files /dev/null and b/doc/salome/gui/SMESH/image29.gif differ diff --git a/doc/salome/gui/SMESH/image29.jpg b/doc/salome/gui/SMESH/image29.jpg new file mode 100755 index 000000000..c40512460 Binary files /dev/null and b/doc/salome/gui/SMESH/image29.jpg differ diff --git a/doc/salome/gui/SMESH/image3.jpg b/doc/salome/gui/SMESH/image3.jpg new file mode 100755 index 000000000..172c020b8 Binary files /dev/null and b/doc/salome/gui/SMESH/image3.jpg differ diff --git a/doc/salome/gui/SMESH/image31.gif b/doc/salome/gui/SMESH/image31.gif new file mode 100755 index 000000000..c2a9a775f Binary files /dev/null and b/doc/salome/gui/SMESH/image31.gif differ diff --git a/doc/salome/gui/SMESH/image32.gif b/doc/salome/gui/SMESH/image32.gif new file mode 100755 index 000000000..a1ee2ee02 Binary files /dev/null and b/doc/salome/gui/SMESH/image32.gif differ diff --git a/doc/salome/gui/SMESH/image33.gif b/doc/salome/gui/SMESH/image33.gif new file mode 100755 index 000000000..ecdd47b0b Binary files /dev/null and b/doc/salome/gui/SMESH/image33.gif differ diff --git a/doc/salome/gui/SMESH/image34.gif b/doc/salome/gui/SMESH/image34.gif new file mode 100755 index 000000000..963095fe8 Binary files /dev/null and b/doc/salome/gui/SMESH/image34.gif differ diff --git a/doc/salome/gui/SMESH/image35.gif b/doc/salome/gui/SMESH/image35.gif new file mode 100755 index 000000000..0e3b30fd0 Binary files /dev/null and b/doc/salome/gui/SMESH/image35.gif differ diff --git a/doc/salome/gui/SMESH/image36.gif b/doc/salome/gui/SMESH/image36.gif new file mode 100755 index 000000000..7236ef8b9 Binary files /dev/null and b/doc/salome/gui/SMESH/image36.gif differ diff --git a/doc/salome/gui/SMESH/image37.gif b/doc/salome/gui/SMESH/image37.gif new file mode 100755 index 000000000..edd5263d8 Binary files /dev/null and b/doc/salome/gui/SMESH/image37.gif differ diff --git a/doc/salome/gui/SMESH/image38.gif b/doc/salome/gui/SMESH/image38.gif new file mode 100755 index 000000000..087f6e2be Binary files /dev/null and b/doc/salome/gui/SMESH/image38.gif differ diff --git a/doc/salome/gui/SMESH/image39.gif b/doc/salome/gui/SMESH/image39.gif new file mode 100755 index 000000000..b206af116 Binary files /dev/null and b/doc/salome/gui/SMESH/image39.gif differ diff --git a/doc/salome/gui/SMESH/image4.gif b/doc/salome/gui/SMESH/image4.gif new file mode 100755 index 000000000..d23b2a33a Binary files /dev/null and b/doc/salome/gui/SMESH/image4.gif differ diff --git a/doc/salome/gui/SMESH/image4.jpg b/doc/salome/gui/SMESH/image4.jpg new file mode 100755 index 000000000..c90ba78d9 Binary files /dev/null and b/doc/salome/gui/SMESH/image4.jpg differ diff --git a/doc/salome/gui/SMESH/image40.gif b/doc/salome/gui/SMESH/image40.gif new file mode 100755 index 000000000..becc12a47 Binary files /dev/null and b/doc/salome/gui/SMESH/image40.gif differ diff --git a/doc/salome/gui/SMESH/image41.gif b/doc/salome/gui/SMESH/image41.gif new file mode 100755 index 000000000..2e132c239 Binary files /dev/null and b/doc/salome/gui/SMESH/image41.gif differ diff --git a/doc/salome/gui/SMESH/image42.gif b/doc/salome/gui/SMESH/image42.gif new file mode 100755 index 000000000..fdfb1b164 Binary files /dev/null and b/doc/salome/gui/SMESH/image42.gif differ diff --git a/doc/salome/gui/SMESH/image43.gif b/doc/salome/gui/SMESH/image43.gif new file mode 100755 index 000000000..e1e7b1737 Binary files /dev/null and b/doc/salome/gui/SMESH/image43.gif differ diff --git a/doc/salome/gui/SMESH/image44.gif b/doc/salome/gui/SMESH/image44.gif new file mode 100755 index 000000000..4c9cc1a0e Binary files /dev/null and b/doc/salome/gui/SMESH/image44.gif differ diff --git a/doc/salome/gui/SMESH/image45.gif b/doc/salome/gui/SMESH/image45.gif new file mode 100755 index 000000000..aaf1d2065 Binary files /dev/null and b/doc/salome/gui/SMESH/image45.gif differ diff --git a/doc/salome/gui/SMESH/image46.gif b/doc/salome/gui/SMESH/image46.gif new file mode 100755 index 000000000..0f00ea7cf Binary files /dev/null and b/doc/salome/gui/SMESH/image46.gif differ diff --git a/doc/salome/gui/SMESH/image47.gif b/doc/salome/gui/SMESH/image47.gif new file mode 100755 index 000000000..8d63f4dcf Binary files /dev/null and b/doc/salome/gui/SMESH/image47.gif differ diff --git a/doc/salome/gui/SMESH/image48.gif b/doc/salome/gui/SMESH/image48.gif new file mode 100755 index 000000000..1d5704bf2 Binary files /dev/null and b/doc/salome/gui/SMESH/image48.gif differ diff --git a/doc/salome/gui/SMESH/image49.gif b/doc/salome/gui/SMESH/image49.gif new file mode 100755 index 000000000..92f715cd0 Binary files /dev/null and b/doc/salome/gui/SMESH/image49.gif differ diff --git a/doc/salome/gui/SMESH/image50.gif b/doc/salome/gui/SMESH/image50.gif new file mode 100755 index 000000000..f2d52bed5 Binary files /dev/null and b/doc/salome/gui/SMESH/image50.gif differ diff --git a/doc/salome/gui/SMESH/image51.gif b/doc/salome/gui/SMESH/image51.gif new file mode 100755 index 000000000..a1502c456 Binary files /dev/null and b/doc/salome/gui/SMESH/image51.gif differ diff --git a/doc/salome/gui/SMESH/image52.gif b/doc/salome/gui/SMESH/image52.gif new file mode 100755 index 000000000..2049e090c Binary files /dev/null and b/doc/salome/gui/SMESH/image52.gif differ diff --git a/doc/salome/gui/SMESH/image53.gif b/doc/salome/gui/SMESH/image53.gif new file mode 100755 index 000000000..2049e090c Binary files /dev/null and b/doc/salome/gui/SMESH/image53.gif differ diff --git a/doc/salome/gui/SMESH/image55.gif b/doc/salome/gui/SMESH/image55.gif new file mode 100755 index 000000000..7858e6ee6 Binary files /dev/null and b/doc/salome/gui/SMESH/image55.gif differ diff --git a/doc/salome/gui/SMESH/image56.gif b/doc/salome/gui/SMESH/image56.gif new file mode 100755 index 000000000..e19be5b24 Binary files /dev/null and b/doc/salome/gui/SMESH/image56.gif differ diff --git a/doc/salome/gui/SMESH/image6.gif b/doc/salome/gui/SMESH/image6.gif new file mode 100755 index 000000000..2bfa82975 Binary files /dev/null and b/doc/salome/gui/SMESH/image6.gif differ diff --git a/doc/salome/gui/SMESH/image6.jpg b/doc/salome/gui/SMESH/image6.jpg new file mode 100755 index 000000000..7dda1f9bf Binary files /dev/null and b/doc/salome/gui/SMESH/image6.jpg differ diff --git a/doc/salome/gui/SMESH/image7.jpg b/doc/salome/gui/SMESH/image7.jpg new file mode 100755 index 000000000..d6728e29c Binary files /dev/null and b/doc/salome/gui/SMESH/image7.jpg differ diff --git a/doc/salome/gui/SMESH/image8.jpg b/doc/salome/gui/SMESH/image8.jpg new file mode 100755 index 000000000..c542c460e Binary files /dev/null and b/doc/salome/gui/SMESH/image8.jpg differ diff --git a/doc/salome/gui/SMESH/image9.jpg b/doc/salome/gui/SMESH/image9.jpg new file mode 100755 index 000000000..9bca05ad8 Binary files /dev/null and b/doc/salome/gui/SMESH/image9.jpg differ diff --git a/doc/salome/gui/SMESH/note1.gif b/doc/salome/gui/SMESH/note1.gif new file mode 100755 index 000000000..b53e21d0a Binary files /dev/null and b/doc/salome/gui/SMESH/note1.gif differ diff --git a/doc/salome/gui/SMESH/pics/exemple.gif b/doc/salome/gui/SMESH/pics/exemple.gif new file mode 100755 index 000000000..6350d1737 Binary files /dev/null and b/doc/salome/gui/SMESH/pics/exemple.gif differ diff --git a/doc/salome/gui/SMESH/pics/new.jpg b/doc/salome/gui/SMESH/pics/new.jpg new file mode 100755 index 000000000..4fec7adc5 Binary files /dev/null and b/doc/salome/gui/SMESH/pics/new.jpg differ diff --git a/doc/salome/gui/SMESH/smesh.html b/doc/salome/gui/SMESH/smesh.html new file mode 100755 index 000000000..c5c12b4e7 --- /dev/null +++ b/doc/salome/gui/SMESH/smesh.html @@ -0,0 +1,150 @@ + + + + SMESH reference manual + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/SMESH/smesh_csh.html b/doc/salome/gui/SMESH/smesh_csh.html new file mode 100755 index 000000000..187fb111f --- /dev/null +++ b/doc/salome/gui/SMESH/smesh_csh.html @@ -0,0 +1,100 @@ + + +SMESH reference manual + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/SMESH/smesh_rhc.html b/doc/salome/gui/SMESH/smesh_rhc.html new file mode 100755 index 000000000..9acb37e4c --- /dev/null +++ b/doc/salome/gui/SMESH/smesh_rhc.html @@ -0,0 +1,100 @@ + + +SMESH reference manual + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/SMESH/texture_horiz_ltbluebubbles.jpg b/doc/salome/gui/SMESH/texture_horiz_ltbluebubbles.jpg new file mode 100755 index 000000000..a10d494a5 Binary files /dev/null and b/doc/salome/gui/SMESH/texture_horiz_ltbluebubbles.jpg differ diff --git a/doc/salome/gui/SMESH/webhelp.cab b/doc/salome/gui/SMESH/webhelp.cab new file mode 100755 index 000000000..145860899 Binary files /dev/null and b/doc/salome/gui/SMESH/webhelp.cab differ diff --git a/doc/salome/gui/SMESH/webhelp.jar b/doc/salome/gui/SMESH/webhelp.jar new file mode 100755 index 000000000..d985cac1c Binary files /dev/null and b/doc/salome/gui/SMESH/webhelp.jar differ diff --git a/doc/salome/gui/SMESH/whdata/whftdata.js b/doc/salome/gui/SMESH/whdata/whftdata.js new file mode 100755 index 000000000..9e3b6abd0 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whftdata.js @@ -0,0 +1,24 @@ +var gTEA = new Array(); +function aTE(sTopicTitle, sTopicURL) +{ + var len = gTEA.length; + gTEA[len] = new topicEntry(sTopicTitle, sTopicURL); +} + +function topicEntry(sTopicTitle, sTopicURL) +{ + this.sTopicTitle = sTopicTitle; + this.sTopicURL = sTopicURL; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putFtsTData) + { + parent.putFtsTData(gTEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whftdata0.htm b/doc/salome/gui/SMESH/whdata/whftdata0.htm new file mode 100755 index 000000000..fe18c10da --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whftdata0.htm @@ -0,0 +1,59 @@ + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whdata/whftdata0.xml b/doc/salome/gui/SMESH/whdata/whftdata0.xml new file mode 100755 index 000000000..3a6d528f3 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whftdata0.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whdata/whfts.htm b/doc/salome/gui/SMESH/whdata/whfts.htm new file mode 100755 index 000000000..977cbfa97 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whfts.htm @@ -0,0 +1,16 @@ + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whfts.js b/doc/salome/gui/SMESH/whdata/whfts.js new file mode 100755 index 000000000..2041512fe --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whfts.js @@ -0,0 +1,39 @@ +var gaFileMapping = new Array(); +var gaFileTopicMapping = new Array(); + +function fileMapping(sStartKey, sEndKey, sFileName) +{ + this.sStartKey = sStartKey; + this.sEndKey = sEndKey; + this.sFileName = sFileName; + this.aFtsKeys = null; +} + +function fileTopicMapping(nIdBegin, nIdEnd, sFileName) +{ + this.nBegin = nIdBegin; + this.nEnd = nIdEnd; + this.sFileName = sFileName; + this.aTopics = null; +} + + +function iWM(sStartKey, sEndKey, sFileName) +{ + gaFileMapping[gaFileMapping.length] = new fileMapping(sStartKey, sEndKey, sFileName); +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.ftsReady) + { + parent.ftsReady(gaFileMapping, gaFileTopicMapping); + } +} + +function iTM(nIdBegin, nIdEnd, sFileName) +{ + gaFileTopicMapping[gaFileTopicMapping.length] = new fileTopicMapping(nIdBegin, nIdEnd, sFileName); +} + +window.onload = window_OnLoad; diff --git a/doc/salome/gui/SMESH/whdata/whfts.xml b/doc/salome/gui/SMESH/whdata/whfts.xml new file mode 100755 index 000000000..8322231b5 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whfts.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/doc/salome/gui/SMESH/whdata/whfwdata.js b/doc/salome/gui/SMESH/whdata/whfwdata.js new file mode 100755 index 000000000..463bfb00d --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whfwdata.js @@ -0,0 +1,36 @@ +var gWEA = new Array(); +function aWE() +{ + var len = gWEA.length; + gWEA[len] = new ftsEntry(aWE.arguments); +} + +function ftsEntry(fn_arguments) +{ + if (fn_arguments.length && fn_arguments.length >= 1) + { + this.sItemName = fn_arguments[0]; + this.aTopics = null; + var nLen = fn_arguments.length; + if (nLen > 1) + { + this.aTopics = new Array(); + for (var i = 0; i < nLen - 1; i ++ ) + { + this.aTopics[i] = fn_arguments[i + 1]; + } + } + } +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putFtsWData) + { + parent.putFtsWData(gWEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whfwdata0.htm b/doc/salome/gui/SMESH/whdata/whfwdata0.htm new file mode 100755 index 000000000..8b0a6b8e3 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whfwdata0.htm @@ -0,0 +1,356 @@ + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whdata/whfwdata0.xml b/doc/salome/gui/SMESH/whdata/whfwdata0.xml new file mode 100755 index 000000000..66eddc02d --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whfwdata0.xml @@ -0,0 +1,344 @@ + + + 5, + 5, + 10,11,13,19,20,22,24,28,34,35,39,42, + 0,5,6,23, + 10,11,13,19,20,22,24,28,34,35,39,42, + 1,2,5,6,10,11,23,26,28,42, + 5,10,11,22,32,34,42, + 3,5,6,23,27,36, + 5, + 5,10,11,34,35,42, + 5, + 25,29, + 8,10,11,24,28,34,35,42, + 4, + 9, + 23, + 5,32, + 28, + 0,1,2,3,4,5,6,8,10,15,16,23,26,27,30,36, + 4,22,23, + 8,23,28,34,42, + 5, + 0,1,2,3,10,11,23,24,28,34,35,36,42, + 15,16,25,26,27,29,32, + 10,11,24,25,26,27,28,29,34,35,42, + 8, + 4,15,16, + 29, + 42, + 4,8,10,23,26,27,35, + 8,11,23, + 42, + 25,42, + 42, + 8,33, + 4,10,23,42, + 5, + 4, + 32, + 42, + 42, + 23, + 32, + 5, + 4, + 15,16,22,25,26,27,29,32, + 13,39, + 0,1,2,3,10,11,13,15,16,22,24,25,26,27,28,29,34,35,36,39,42, + 5, + 8,11,35, + 4,10,24,28, + 12, + 8, + 5, + 4, + 10,11,22,24,28,32,34,35,42, + 26,27, + 0,1,2,3,10,11,13,15,16,22,24,25,26,27,28,29,32,34,35,36,39,42, + 5, + 8,10,11,24,28,34,35,42, + 24, + 23,32, + 4,5,6,8,19,25,26,27,29,34, + 13, + 13,15,16, + 4, + 5,23, + 14, + 5, + 8,10,11,15,16,24,25,26,27,28,29,35, + 15,16, + 15,16, + 5,6,22, + 5, + 8,10,11,23,24,28,34,35,42, + 5, + 42, + 42, + 5,8,22, + 5, + 5,23,32,42, + 5,32, + 23, + 10,11,24,28,34,35,42, + 42, + 5, + 5, + 32, + 5,11,25,26,27,29, + 5,8,23,29, + 25,26,27,29, + 23, + 4,5,26,27, + 5, + 32, + 5,8,23, + 4, + 17,35, + 15,16,22,25,26,27,29, + 4, + 5, + 5, + 42, + 0,5,6, + 18, + 8,10,11,19,20,24,28,34,35,39,40,42, + 8, + 42, + 5, + 0,4,5,6,8,11,23,24,25,29,42, + 21, + 4,5,8,9,10,11,12,17,19,23,24,26,27,28,31,34,35,42, + 16, + 22, + 0,1,2,3,5,6,36, + 5, + 11, + 11, + 8, + 42, + 5, + 22,23, + 22, + 42, + 1,2,4,5,6,23,25,26,29,42, + 22, + 13, + 22, + 5, + 4,5,6,8,11,15,16,19,20,25,26,27,29,32,39, + 22,23, + 5,42, + 5,23, + 5, + 5,22, + 4,5,8,23,25,29,32, + 13, + 5,23, + 5,8, + 0,1,2,3,4,5,6,15,16,23,25,26,27,29,36, + 15, + 23, + 42, + 11, + 11, + 42, + 11,42, + 8, + 5,7,9,12,14,17,18,31,33,41, + 3,5,6,27, + 5, + 15,16, + 0,1,2,3,4,15,16,21,23,25,26,27,29,30,36, + 4,25,26,27,29, + 3, + 32, + 19,20, + 5, + 5, + 22,23, + 22, + 5, + 42, + 39, + 5,39, + 32, + 5, + 23, + 5, + 17, + 22, + 3, + 34, + 3, + 6, + 42, + 11, + 32, + 4,8,11,23,24,25,29,42, + 4, + 19,20,32, + 5,34, + 4,16,23,25,29, + 22, + 11, + 19,20,32, + 5, + 32, + 4, + 1, + 4,23,26,27, + 26,27,34, + 5, + 5, + 42, + 2, + 0,1,2,3,13,15,16,19,20,22,25,26,27,29,32,36,39, + 0,1,2,3,4,5,6,7,8,10,11,13,15,16,19,20,22,23,24,25,26,27,28,29,32,34,35,36,39,40,42, + 8,23,28, + 40, + 5,23, + 5,7,23, + 5,6,23,32, + 23, + 23, + 11, + 22,25,26,27,29, + 29, + 36, + 32, + 5,9,10,11,18,20,23,25,29,31,34,35,42, + 42, + 5, + 4,5,23,29, + 19,20, + 0,1,2,3,4,6,13,15,16,25,26,27,29,36,39, + 22, + 5,15,16, + 23, + 34, + 5, + 5, + 12, + 42, + 5, + 5, + 4, + 5, + 5, + 11, + 23, + 42, + 42, + 32, + 5,25,29,42, + 5, + 4, + 5, + 8, + 4, + 15,16,23, + 11, + 5, + 42, + 42, + 33,41, + 42, + 1,5,6,10,11,24,26,28,34, + 8,10,11,23,24,28,34,35,42, + 4, + 8,11,23,35,42, + 30, + 5,8, + 4, + 34, + 32, + 5, + 5, + 11, + 31, + 11, + 4,5,25,29,35, + 5, + 5, + 4, + 11, + 5, + 4, + 32, + 11, + 23,32, + 5,29, + 8,33, + 5, + 22, + 4,23,25,29, + 0,1,2,3,4,13,15,16,19,20,22,25,26,27,29,32,36,39, + 5, + 35, + 5,6,23,25,26,27,29,32, + 40, + 4,5,11, + 11,42, + 32, + 8, + 40, + 11,28,34, + 5, + 8,23,34, + 4,5,6,8,19,20,22,23,32,37,40, + 4,11,35, + 5, + 25,29, + 22,32, + 32, + 13, + 32, + 22, + 4,16, + 5, + 5, + 5, + 4, + 8,23,35, + 5,6,27,36, + 7,9,12,14,17,18,31,33,41, + 5,40, + 0,1,2,3,11,13,15,16,24,32,34,35,36,39,42, + 7,9,12,14,17,18,31,33,41, + 5, + 5, + 2,5,6,10,11,24,26,28,34,35, + 5,11,28,35, + 5,7,9,12,14,17,18,31,33,41, + 5, + 22, + 32,38, + 0,1,2,3,5,6,15,16,25,29,36,37, + 8, + 5, + 8,11,28,34, + 42, + 5, + 10,11,19,20,24,28,32,34,35,38,39,40,42, + 8, + 40,41, + 3,4,5,6,23,27,36, + 32, + 8,23,42, + 5, + 4,5,10,11,15,16,19,20,22,24,25,26,27,28,29,32,34,35,39,42, + 32, + 0,6, + 40, + 29, + 32, + 5,42, + 5, + 4,5,8,10,11,13,16,19,20,22,24,25,26,27,28,29,34,35,39,42, + 5, + + diff --git a/doc/salome/gui/SMESH/whdata/whgdata.js b/doc/salome/gui/SMESH/whdata/whgdata.js new file mode 100755 index 000000000..729327323 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whgdata.js @@ -0,0 +1,25 @@ +var gIEA = new Array(); +function aGE(sName, sDef) +{ + var len = gIEA.length; + gIEA[len] = new gloEntry(sName, sDef); +} + +function gloEntry(sName, sDef) +{ + this.sName = sName; + this.sDef = sDef; + this.nNKOff = 0; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putData) + { + parent.putData(gIEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whgdata0.htm b/doc/salome/gui/SMESH/whdata/whgdata0.htm new file mode 100755 index 000000000..9fbefcb8f --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whgdata0.htm @@ -0,0 +1,31 @@ + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whdata/whgdata0.xml b/doc/salome/gui/SMESH/whdata/whgdata0.xml new file mode 100755 index 000000000..de6359242 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whgdata0.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whdata/whglo.htm b/doc/salome/gui/SMESH/whdata/whglo.htm new file mode 100755 index 000000000..d00c26063 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whglo.htm @@ -0,0 +1,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whglo.js b/doc/salome/gui/SMESH/whdata/whglo.js new file mode 100755 index 000000000..ded3d5791 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whglo.js @@ -0,0 +1,33 @@ +var gaFileMapping = new Array(); +function fileMapping(sBK, sEK, sFileName, nNum) +{ + this.sBK = sBK; + this.sEK = sEK; + this.sFileName = sFileName; + this.aKs = null; + this.nNum = nNum; + this.oUsedItems = null; +} + + +function iFM(sBK, sEK, sFileName, nNum) +{ + var i = gaFileMapping.length; + gaFileMapping[i] = new fileMapping(sBK, sEK, sFileName, nNum); + if (i == 0) { + gaFileMapping[i].nTotal = nNum; + } + else { + gaFileMapping[i].nTotal = nNum + gaFileMapping[i - 1].nTotal; + } +} + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) + { + parent.projReady(gaFileMapping); + } +} + +window.onload = window_OnLoad; diff --git a/doc/salome/gui/SMESH/whdata/whglo.xml b/doc/salome/gui/SMESH/whdata/whglo.xml new file mode 100755 index 000000000..dcdf6cf11 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whglo.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whidata.js b/doc/salome/gui/SMESH/whdata/whidata.js new file mode 100755 index 000000000..c8c2a05fd --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whidata.js @@ -0,0 +1,88 @@ +// const strings +var gIEA = new Array(); +function aIE() +{ + var len = gIEA.length; + gIEA[len] = new indexEntry(aIE.arguments); +} + +function topic(sName, sURL) +{ + this.sName = sName; + this.sURL = sURL; +} + +function indexEntry(fn_arguments) +{ + if (fn_arguments.length && fn_arguments.length >= 3) + { + this.nType = fn_arguments[0]; + this.nPKOff = 0; + this.nNKOff = fn_arguments[1]; + this.sName = fn_arguments[2]; + this.aTopics = null; + var nLen = fn_arguments.length; + if (Math.floor(nLen / 2) * 2 == nLen) + { + this.sTarget = fn_arguments[3]; + if (nLen > 5) + { + this.aTopics = new Array(); + for (var i = 0; i < (nLen - 5)/2; i++) + { + this.aTopics[i] = new topic(fn_arguments[i * 2 + 4], fn_arguments[i * 2 + 5]); + } + } + + } + else + { + if (nLen > 4) + { + this.aTopics = new Array(); + for (var i = 0; i < (nLen - 4)/2; i++) + { + this.aTopics[i] = new topic(fn_arguments[i * 2 + 3], fn_arguments[i * 2 + 4]); + } + } + } + } +} + +function getIndexTopicMappingList(nItemIndex) +{ + var sTopics = ""; + if (gIEA.length > nItemIndex) + { + if (gIEA[nItemIndex].aTopics) + { + var i = 0; + var nLen = gIEA[nItemIndex].aTopics.length; + for (i = 0; i < nLen; i ++) + { + sTopics += "," + gIEA[nItemIndex].aTopics[i]; + } + } + } + return sTopics; +} + +function window_OnLoad() +{ + if (parent && parent != this) { + if (parent.putData) + { + for (var i = 0; i < gIEA.length; i ++ ) + { + if (gIEA[i].nNKOff != 0 && i + gIEA[i].nNKOff + 1 < gIEA.length) + { + + gIEA[i + gIEA[i].nNKOff + 1].nPKOff = gIEA[i].nNKOff; + } + } + parent.putData(gIEA); + } + } +} + +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whidx.htm b/doc/salome/gui/SMESH/whdata/whidx.htm new file mode 100755 index 000000000..c0aa1758e --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whidx.htm @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whdata/whtdata.js b/doc/salome/gui/SMESH/whdata/whtdata.js new file mode 100755 index 000000000..64bcff920 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whtdata.js @@ -0,0 +1,58 @@ +var gTEA = new Array(); +function aTE() +{ + gTEA[gTEA.length] = new tocEntry(aTE.arguments); +} + +function tocEntry(fn_arguments) +{ + if (fn_arguments.length < 3) + { + alert ("data format wrong!!!"); + return; + } + + this.nType = fn_arguments[0]; + this.nContents = fn_arguments[1]; + this.sItemName = fn_arguments[2]; + + if (this.nType == 1 || this.nType == 2 || this.nType == 16) + { + if (fn_arguments.length > 3) + { + this.sItemURL = fn_arguments[3]; + if (fn_arguments.length > 4) + { + this.sTarget = fn_arguments[4]; + if (fn_arguments.length > 5) + this.sIconRef = fn_arguments[5]; + } + } + } + if (this.nType == 4 || this.nType == 8) + { + if (fn_arguments.length > 3) + { + this.sRefURL = fn_arguments[3]; + if (fn_arguments.length > 4) + { + this.sItemURL = fn_arguments[4]; + if (fn_arguments.length > 5) + { + this.sTarget = fn_arguments[5]; + if (fn_arguments.length > 6) + this.sIconRef = fn_arguments[6]; + } + } + } + } +} + + +function window_OnLoad() +{ + if (parent && parent != this && parent.putData) { + parent.putData(gTEA); + } +} +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whtdata0.htm b/doc/salome/gui/SMESH/whdata/whtdata0.htm new file mode 100755 index 000000000..429476ba8 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whtdata0.htm @@ -0,0 +1,66 @@ + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whdata/whtdata0.xml b/doc/salome/gui/SMESH/whdata/whtdata0.xml new file mode 100755 index 000000000..175e7627d --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whtdata0.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whdata/whtoc.htm b/doc/salome/gui/SMESH/whdata/whtoc.htm new file mode 100755 index 000000000..5f8c14e00 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whtoc.htm @@ -0,0 +1,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whtoc.js b/doc/salome/gui/SMESH/whdata/whtoc.js new file mode 100755 index 000000000..145605087 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whtoc.js @@ -0,0 +1,28 @@ +// const strings +var gaProj = new Array(); +var gsRoot = ""; + +function setRoot(sRoot) +{ + gsRoot = sRoot +} + +function aPE(sProjPath, sRootPath) +{ + gaProj[gaProj.length] = new tocProjEntry(sProjPath, sRootPath); +} + +function tocProjEntry(sProjPath, sRootPath) +{ + this.sPPath = sProjPath; + this.sRPath = sRootPath; +} + + +function window_OnLoad() +{ + if (parent && parent != this && parent.projReady) { + parent.projReady(gsRoot, gaProj); + } +} +window.onload = window_OnLoad; \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whdata/whtoc.xml b/doc/salome/gui/SMESH/whdata/whtoc.xml new file mode 100755 index 000000000..bffb89aa7 --- /dev/null +++ b/doc/salome/gui/SMESH/whdata/whtoc.xml @@ -0,0 +1,4 @@ + + + + diff --git a/doc/salome/gui/SMESH/whestart.ico b/doc/salome/gui/SMESH/whestart.ico new file mode 100755 index 000000000..110f18356 Binary files /dev/null and b/doc/salome/gui/SMESH/whestart.ico differ diff --git a/doc/salome/gui/SMESH/whfbody.htm b/doc/salome/gui/SMESH/whfbody.htm new file mode 100755 index 000000000..300d23be8 --- /dev/null +++ b/doc/salome/gui/SMESH/whfbody.htm @@ -0,0 +1,37 @@ + + +Search Result + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whfdhtml.htm b/doc/salome/gui/SMESH/whfdhtml.htm new file mode 100755 index 000000000..ec6c521f9 --- /dev/null +++ b/doc/salome/gui/SMESH/whfdhtml.htm @@ -0,0 +1,30 @@ + + +Search Frame + + + + + + + + + diff --git a/doc/salome/gui/SMESH/whfform.htm b/doc/salome/gui/SMESH/whfform.htm new file mode 100755 index 000000000..e40b10b1f --- /dev/null +++ b/doc/salome/gui/SMESH/whfform.htm @@ -0,0 +1,136 @@ + + +Search Form + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/SMESH/whfhost.js b/doc/salome/gui/SMESH/whfhost.js new file mode 100755 index 000000000..a30564d41 --- /dev/null +++ b/doc/salome/gui/SMESH/whfhost.js @@ -0,0 +1,916 @@ +var gsSK2=null; +var gsSK=null; +var gsFtsBreakChars="\t\r\n\"\\ .,!@#$%^&*()~'`:;<>?/{}[]|+-=\x85\x92\x93\x94\x95\x96\x97\x99\xA9\xAE\xB7"; +var gnCLF=0; +var gsHelpCannotSearch="Cannot search for that phrase."; +var gsNoTopics="No Topics Found."; +var gsLoadingDivID="LoadingDiv"; +var gsLoadingMsg="Loading data, please wait..."; +var gsSearchMsg="Searching..."; +var gsResultDivID="ResultDiv"; +var gaaFCD=new Array(); +var gaaFTCD=new Array(); +var goCF=null; +var goCTF=null; +var gaTI=null; +var gnCurrentOp=0; +var gbNot=false; +var gbReady=false; +var gnLoadFts=1; +var gnCacheLimits=5; +var gaCCD=new Array(); +var gbXML=false; +var gaData=new Array(); +var gsBgColor="#ffffff"; +var gsBgImage=""; +var gsMargin="0pt"; +var gsIndent="0pt"; +var gsCheckKey=null; +var gnIndexNum=0; +var gaFtsContentsCon=null; +var gaTopicCheckInfo=null; +var gnTopicCheck=0; +var goFont=null; +var goErrFont=null; +var goHoverFont=null; +var gsABgColor="#cccccc"; +var gbWhFHost=false; + +function setBackground(sBgImage) +{ + gsBgImage=sBgImage; +} + +function setBackgroundcolor(sBgColor) +{ + gsBgColor=sBgColor; +} + +function setFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration) +{ + var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration); + if(sType=="Normal") + goFont=vFont; + else if(sType=="Error") + goErrFont=vFont; + else if(sType=="Hover") + goHoverFont=vFont; +} + +function setActiveBgColor(sBgColor) +{ + gsABgColor=sBgColor; +} + +function setMargin(sMargin) +{ + gsMargin=sMargin; +} + +function setIndent(sIndent) +{ + gsIndent=sIndent; +} + +function updateCache(oCF) +{ + var len=gaCCD.length; + if(len0&&sURL) + { + var topic=new Object(); + topic.sTopicTitle=name; + topic.sTopicURL=sURL; + aTopics[aTopics.length]=topic; + } + } + oChild=oChild.nextSibling; + } + putFtsTData(aTopics); + } + } + else if(gnLoadFts==2) + { + var node=xmlDoc.lastChild; + if(node) + { + var oChild=node.firstChild; + var aFtsContents=new Array(); + while(oChild) + { + if(oChild.nodeName=="key") + { + var name=oChild.getAttribute("name"); + if(name&&name.length>0) + { + var item=new Object(); + item.sItemName=name; + aFtsContents[aFtsContents.length]=item; + var oChildChild=oChild.firstChild; + while(oChildChild) + { + if(oChildChild.nodeName=="#text") + { + var sIDs=oChildChild.nodeValue; + if(sIDs) + { + var nBPos=0; + do + { + var nPos=sIDs.indexOf(",",nBPos); + var sID=null; + if(nPos!=-1) + sID=sIDs.substring(nBPos,nPos); + else + sID=sIDs.substring(nBPos); + + if(sID) + { + var id=parseInt(sID); + if(!isNaN(id)) + { + if(!item.aTopics) + item.aTopics=new Array(); + item.aTopics[item.aTopics.length]=id; + } + } + nBPos=nPos+1; + }while(nBPos!=0&&nBPos0) + { + document.body.background=gsBgImage; + } + if(gsBgColor&&gsBgColor.length>0) + { + document.body.bgColor=gsBgColor; + } + writeResultDiv(); + loadFts(); + var oMsg=new whMessage(WH_MSG_SHOWFTS,this,1,null) + SendMessage(oMsg); +} + +function writeResultDiv() +{ + var sHTML="
"; + document.body.insertAdjacentHTML("beforeEnd",sHTML); +} + +function loadFts() +{ + if(!gbReady) + { + var oResMsg=new whMessage(WH_MSG_GETPROJINFO,this,1,null); + if(SendMessage(oResMsg)&&oResMsg.oParam) + { + gbReady=true; + var oProj=oResMsg.oParam; + var aProj=oProj.aProj; + gbXML=oProj.bXML; + if(aProj.length>0) + { + var sLangId=aProj[0].sLangId; + for(var i=0;i=0)&&(gsFtsBreakChars.charAt(nSep)=="|"))){ + gnCurrentOp=0; + gbNot=false; + }else if((sCW=="and")||((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="&"))){ + gnCurrentOp=1; + gbNot=false; + }else if((sCW=="not")|| + ((nSep>=0)&&(gsFtsBreakChars.charAt(nSep)=="~"))){ + gbNot=!gbNot; + }else if(sCW!=""&&!IsStopWord(sCW,gaFtsStop)){ + var sCurrentStem=GetStem(sCW); + gsCW=sCurrentStem; + ftsFindKeyword(); + return; + } + findOneKey(); + return; + } + else{ + displayTopics(); + checkAgain(); + } +} + +function checkAgain() +{ + gsSK=gsSK2; + gsSK2=null; + if(gsSK!=null) + setTimeout("findFTSKey();",1); +} + +function displayTopics() +{ + var sHTML=""; + var sLine=""; + for(var i=0;i"+_textToHtml(gaTI[i].sTopicTitle)+""; + if(i>>4<<4==i) + { + sHTML+=sLine; + sLine=""; + } + } + if(sLine.length>0) + sHTML+=sLine; + + if(sHTML.length==0) + sHTML="

"+gsNoTopics+"

" + else + sHTML="
"+sHTML+"
"; + + var resultDiv=getElement(gsResultDivID); + if(resultDiv) + resultDiv.innerHTML=sHTML; +} + +function displayMsg(sErrorMsg) +{ + var sHTML="

"+sErrorMsg+"

"; + + var resultDiv=getElement(gsResultDivID); + if(resultDiv) + resultDiv.innerHTML=sHTML; +} + +function ftsFindKeyword() +{ + var sKey=gsCW; + var bNeedLoad=false; + var aFtsContentsCon=null; + var s=0; + if(sKey==null) return; + if(!gsCheckKey||sKey!=gsCheckKey||gnIndexNum==0) + { + aFtsContentsCon=new Array(); + gnCheck=0; + gsCheckKey=sKey; + gnTopicCheck=0; + gaTopicCheckInfo=null; + } + else{ + s=gnIndexNum; + aFtsContentsCon=gaFtsContentsCon; + } + for(var i=gnCheck;i=aTI.length) + { + aLS=gaTI; + aSS=aTI; + } + else + { + aLS=aTI; + aSS=gaTI; + } + var s=0; + for(var i=0;i=0) + { + var nM; + var bFound=false; + do{ + nM=(nB+nE)>>1; + if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)>0) + nE=nM-1; + else if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) + nB=nM+1; + else + { + bFound=true; + break; + } + }while(nB<=nE); + if(bFound) + insertItemIntoArray(aTI,nM,oTI); + else + { + if(compare(aTI[nM].sTopicTitle,oTI.sTopicTitle)<0) + insertItemIntoArray(aTI,nM+1,oTI); + else + insertItemIntoArray(aTI,nM,oTI); + } + } + else + aTI[0]=oTI; +} + +function mergeTopics(aTI1,aTI2) +{ + var i1=0; + var i2=0; + var len1=aTI1.length; + var len2=aTI2.length; + var aTopicNew=new Array(); + var i=0; + while(i1>1; + if(compare(keys[nM].sItemName,sKey)>0) + nE=nM-1; + else if(compare(keys[nM].sItemName,sKey)<0) + nB=nM+1; + else{ + bFound=true; + break; + } + }while(nB<=nE); + if(bFound) + { + if(keys[nM].aTopics) + { + for(var i=0;i>1; + if(aFTCD[nM].nBegin>nTopicId) + nE=nM-1; + else if(aFTCD[nM].nEnd