From 099c76886d50d2b50be4f31582f08dfa9fc3e42a Mon Sep 17 00:00:00 2001 From: apo Date: Thu, 26 Apr 2007 14:27:32 +0000 Subject: [PATCH] The first working version --- AUTHORS | 1 + COPYING | 504 + ChangeLog | 1 + Makefile.am | 48 + Makefile.in | 133 - NEWS | 1 + README | 106 + adm_local/Makefile.am | 22 + adm_local/unix/Makefile.am | 22 + adm_local/unix/config_files/Makefile.am | 22 + adm_local/unix/make_commence.in | 290 - adm_local/unix/make_common_starter.am | 59 + adm_local/unix/make_omniorb.in | 59 - bin/Makefile.am | 22 + build_configure | 274 +- clean_configure | 15 + configure.in.base => configure.ac | 130 +- doc/Makefile.am | 22 + doc/Makefile.in | 70 - doc/salome/{Makefile.in => Makefile.am} | 48 +- doc/salome/gui/{Makefile.in => Makefile.am} | 21 +- .../gui/VISU/animation_in_gauss_viewer.htm | 401 +- doc/salome/gui/VISU/clipping.htm | 336 +- doc/salome/gui/VISU/creating_tables.htm | 290 +- doc/salome/gui/VISU/cshdat_robohelp.htm | 516 +- doc/salome/gui/VISU/cshdat_webhelp.htm | 502 +- doc/salome/gui/VISU/default.css | 202 +- doc/salome/gui/VISU/default_ns.css | 236 +- doc/salome/gui/VISU/ehelp.xml | 18 +- doc/salome/gui/VISU/ehlpdhtm.js | 8476 ++++++++--------- .../files/about_structure_of_med_object.htm | 510 +- doc/salome/gui/VISU/files/about_tables.htm | 306 +- .../VISU/files/animating_presentations.htm | 719 +- ...zation_parameters_of_the_presenetation.htm | 662 +- doc/salome/gui/VISU/files/creating_curves.htm | 462 +- .../files/creating_field_presentations.htm | 342 +- .../gui/VISU/files/creating_presentations.htm | 276 +- .../gui/VISU/files/creating_xy_plot.htm | 414 +- .../gui/VISU/files/cut_lines_presentation.htm | 548 +- .../gui/VISU/files/cut_lines_resentation.htm | 408 +- .../files/deformed_shape_presentation.htm | 386 +- .../files/displaying_hiding_presentations.htm | 502 +- .../gui/VISU/files/displaying_tables.htm | 268 +- .../files/getting_elements_attributes.htm | 443 +- doc/salome/gui/VISU/files/getting_started.htm | 300 +- .../gui/VISU/files/importing_med_objects.htm | 404 +- .../gui/VISU/files/importing_tables.htm | 308 +- doc/salome/gui/VISU/files/insideframe.htm | 172 +- doc/salome/gui/VISU/files/introduction.htm | 312 +- .../VISU/files/iso_surfaces_presentation.htm | 430 +- doc/salome/gui/VISU/files/points.htm | 172 +- doc/salome/gui/VISU/files/running_visu.htm | 260 +- .../VISU/files/scalar_map_presentation.htm | 773 +- .../gui/VISU/files/scaling_presentations.htm | 300 +- .../files/setting_properties_of_xy_plots.htm | 352 +- doc/salome/gui/VISU/files/shrink.htm | 172 +- .../VISU/files/stream_lines_presentation.htm | 506 +- doc/salome/gui/VISU/files/surface.htm | 172 +- doc/salome/gui/VISU/files/surfaceframe.htm | 172 +- doc/salome/gui/VISU/files/sweeping.htm | 324 +- .../gui/VISU/files/vectors_presentation.htm | 432 +- doc/salome/gui/VISU/files/wireframe.htm | 172 +- .../gui/VISU/gauss_points_presentation.htm | 274 +- doc/salome/gui/VISU/gauss_viewer.htm | 398 +- doc/salome/gui/VISU/index.htm | 360 +- doc/salome/gui/VISU/index_csh.htm | 210 +- doc/salome/gui/VISU/index_rhc.htm | 210 +- ...avigation_with_keyboard_and_spacemouse.htm | 914 +- doc/salome/gui/VISU/picking.htm | 416 +- doc/salome/gui/VISU/pics/animation.png | Bin 18432 -> 23385 bytes doc/salome/gui/VISU/pics/cutlines.png | Bin 25243 -> 26586 bytes doc/salome/gui/VISU/pics/dataonelements1.png | Bin 16088 -> 17235 bytes doc/salome/gui/VISU/pics/dataonelements2.png | Bin 19996 -> 23462 bytes doc/salome/gui/VISU/pics/image157.gif | Bin 0 -> 2858 bytes .../gui/VISU/pics/scalarbarproperties.png | Bin 22868 -> 30988 bytes .../VISU/pics/set_rotation_point_dialog1.png | Bin 0 -> 11693 bytes .../VISU/pics/set_rotation_point_dialog2.png | Bin 0 -> 11232 bytes .../gui/VISU/pics/view_rotation_point.png | Bin 0 -> 293 bytes doc/salome/gui/VISU/plot2d_viewer.htm | 496 +- doc/salome/gui/VISU/plot_3d_presentation.htm | 406 +- doc/salome/gui/VISU/primitive_types.htm | 450 +- doc/salome/gui/VISU/robohhre.lng | 202 +- doc/salome/gui/VISU/scalar_bar.htm | 470 +- ...lar_map_on_deformed_shape_presentation.htm | 382 +- doc/salome/gui/VISU/segmentation.htm | 440 +- .../types_of_gauss_points_presentations.htm | 442 +- doc/salome/gui/VISU/visu.log | 795 +- .../visugenidl_doc/VISU__Gen_8idl-source.html | 1603 ++-- .../VISU/visugenidl_doc/VISU__Gen_8idl.html | 101 +- .../interfaceVISU_1_1Animation.html | 270 +- .../visugenidl_doc/interfaceVISU_1_1Base.html | 43 +- .../interfaceVISU_1_1ColoredPrs3d.html | 40 +- .../interfaceVISU_1_1Container.html | 20 +- .../interfaceVISU_1_1Curve.html | 28 +- .../interfaceVISU_1_1CutLines.html | 173 +- .../interfaceVISU_1_1CutPlanes.html | 40 +- .../interfaceVISU_1_1DeformedShape.html | 42 +- .../interfaceVISU_1_1GaussPoints.html | 31 +- .../interfaceVISU_1_1IsoSurfaces.html | 40 +- .../visugenidl_doc/interfaceVISU_1_1Mesh.html | 30 +- .../interfaceVISU_1_1Plot3D.html | 42 +- .../interfaceVISU_1_1Prs3d.html | 33 +- .../interfaceVISU_1_1PrsObject.html | 35 +- .../interfaceVISU_1_1RemovableObject.html | 36 +- .../interfaceVISU_1_1Result.html | 20 +- .../interfaceVISU_1_1ScalarMap.html | 47 +- ...rfaceVISU_1_1ScalarMapOnDeformedShape.html | 48 +- .../interfaceVISU_1_1StreamLines.html | 41 +- .../interfaceVISU_1_1Table.html | 28 +- .../interfaceVISU_1_1TableView.html | 35 +- .../interfaceVISU_1_1VISU__Gen.html | 229 +- .../interfaceVISU_1_1Vectors.html | 41 +- .../visugenidl_doc/interfaceVISU_1_1View.html | 37 +- .../interfaceVISU_1_1View3D.html | 59 +- .../interfaceVISU_1_1ViewManager.html | 18 +- .../interfaceVISU_1_1XYPlot.html | 75 +- doc/salome/gui/VISU/vtk_3d_viewer.htm | 240 - doc/salome/gui/VISU/webhelp.jar | Bin 134517 -> 134515 bytes doc/salome/gui/VISU/whcsh_home.htm | 1200 +-- doc/salome/gui/VISU/whcshdata.htm | 174 +- doc/salome/gui/VISU/whd_dpns.htm | 84 +- doc/salome/gui/VISU/whd_nvp10.htm | 30 +- doc/salome/gui/VISU/whd_nvp20.htm | 668 +- doc/salome/gui/VISU/whd_tabs.htm | 1064 +-- doc/salome/gui/VISU/whd_topic.xml | 170 +- doc/salome/gui/VISU/whdata/whftdata.js | 48 +- doc/salome/gui/VISU/whdata/whftdata0.htm | 118 +- doc/salome/gui/VISU/whdata/whfts.htm | 36 +- doc/salome/gui/VISU/whdata/whfts.js | 80 +- doc/salome/gui/VISU/whdata/whfwdata.js | 72 +- doc/salome/gui/VISU/whdata/whfwdata0.htm | 1764 ++-- doc/salome/gui/VISU/whdata/whgdata.js | 50 +- doc/salome/gui/VISU/whdata/whgdata0.htm | 66 +- doc/salome/gui/VISU/whdata/whglo.htm | 30 +- doc/salome/gui/VISU/whdata/whglo.js | 68 +- doc/salome/gui/VISU/whdata/whidata.js | 176 +- doc/salome/gui/VISU/whdata/whidx.htm | 28 +- doc/salome/gui/VISU/whdata/whidx.js | 68 +- doc/salome/gui/VISU/whdata/whtdata.js | 126 +- doc/salome/gui/VISU/whdata/whtdata0.htm | 121 +- doc/salome/gui/VISU/whdata/whtoc.htm | 30 +- doc/salome/gui/VISU/whdata/whtoc.js | 60 +- doc/salome/gui/VISU/whfbody.htm | 74 +- doc/salome/gui/VISU/whfdhtml.htm | 60 +- doc/salome/gui/VISU/whfform.htm | 272 +- doc/salome/gui/VISU/whfhost.js | 1888 ++-- doc/salome/gui/VISU/whform.js | 430 +- doc/salome/gui/VISU/whframes.js | 156 +- doc/salome/gui/VISU/whgbody.htm | 70 +- doc/salome/gui/VISU/whgdata/whlstf0.htm | 92 +- doc/salome/gui/VISU/whgdata/whlstf1.htm | 86 +- doc/salome/gui/VISU/whgdata/whlstf2.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstf3.htm | 98 +- doc/salome/gui/VISU/whgdata/whlstf4.htm | 98 +- doc/salome/gui/VISU/whgdata/whlstf5.htm | 94 +- doc/salome/gui/VISU/whgdata/whlstf6.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstf7.htm | 86 +- doc/salome/gui/VISU/whgdata/whlstf8.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstf9.htm | 100 +- doc/salome/gui/VISU/whgdata/whlstfl0.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl1.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl10.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl11.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl12.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl13.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl14.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl15.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl16.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl17.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl18.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl19.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl2.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl20.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl21.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl22.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl23.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl24.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl3.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl4.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl5.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl6.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl7.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl8.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstfl9.htm | 90 +- doc/salome/gui/VISU/whgdata/whlstg0.htm | 150 +- doc/salome/gui/VISU/whgdata/whlsti0.htm | 78 +- doc/salome/gui/VISU/whgdata/whlstt0.htm | 102 +- doc/salome/gui/VISU/whgdata/whlstt1.htm | 116 +- doc/salome/gui/VISU/whgdata/whlstt2.htm | 122 +- doc/salome/gui/VISU/whgdata/whlstt3.htm | 146 +- doc/salome/gui/VISU/whgdata/whlstt4.htm | 164 +- doc/salome/gui/VISU/whgdata/whlstt5.htm | 134 +- doc/salome/gui/VISU/whgdata/whlstt6.htm | 124 +- doc/salome/gui/VISU/whgdata/whlstt7.htm | 126 +- doc/salome/gui/VISU/whgdata/whnvf30.htm | 26 +- doc/salome/gui/VISU/whgdata/whnvf31.htm | 30 +- doc/salome/gui/VISU/whgdata/whnvf32.htm | 30 +- doc/salome/gui/VISU/whgdata/whnvf33.htm | 30 +- doc/salome/gui/VISU/whgdata/whnvl31.htm | 86 +- doc/salome/gui/VISU/whgdata/whnvl32.htm | 144 +- doc/salome/gui/VISU/whgdata/whnvl33.htm | 144 +- doc/salome/gui/VISU/whgdata/whnvp30.htm | 30 +- doc/salome/gui/VISU/whgdata/whnvp31.htm | 30 +- doc/salome/gui/VISU/whgdata/whnvp32.htm | 30 +- doc/salome/gui/VISU/whgdata/whnvp33.htm | 30 +- doc/salome/gui/VISU/whgdata/whnvt30.htm | 94 +- doc/salome/gui/VISU/whgdata/whnvt31.htm | 90 +- doc/salome/gui/VISU/whgdata/whnvt32.htm | 90 +- doc/salome/gui/VISU/whgdata/whnvt33.htm | 90 +- doc/salome/gui/VISU/whgdef.htm | 196 +- doc/salome/gui/VISU/whgdhtml.htm | 300 +- doc/salome/gui/VISU/whghost.js | 494 +- doc/salome/gui/VISU/whhost.js | 2608 ++--- doc/salome/gui/VISU/whibody.htm | 568 +- doc/salome/gui/VISU/whidhtml.htm | 60 +- doc/salome/gui/VISU/whiform.htm | 182 +- doc/salome/gui/VISU/whihost.js | 848 +- doc/salome/gui/VISU/whlang.js | 904 +- doc/salome/gui/VISU/whmozemu.js | 132 +- doc/salome/gui/VISU/whmsg.js | 136 +- doc/salome/gui/VISU/whnjs.htm | 50 +- doc/salome/gui/VISU/whphost.js | 1162 +-- doc/salome/gui/VISU/whproj.htm | 46 +- doc/salome/gui/VISU/whproj.js | 168 +- doc/salome/gui/VISU/whproj.xml | 6 +- doc/salome/gui/VISU/whproxy.js | 148 +- doc/salome/gui/VISU/whres.xml | 512 +- doc/salome/gui/VISU/whskin_blank.htm | 20 +- doc/salome/gui/VISU/whskin_homepage.htm | 360 +- doc/salome/gui/VISU/whskin_info.htm | 40 +- doc/salome/gui/VISU/whskin_pickup.htm | 458 +- doc/salome/gui/VISU/whskin_tw.htm | 124 +- doc/salome/gui/VISU/whstart.js | 864 +- doc/salome/gui/VISU/whstub.js | 316 +- doc/salome/gui/VISU/whtdhtml.htm | 98 +- doc/salome/gui/VISU/whthost.js | 3006 +++--- doc/salome/gui/VISU/whtopic.js | 1450 +-- doc/salome/gui/VISU/whutils.js | 1052 +- doc/salome/gui/VISU/whver.js | 204 +- doc/salome/gui/VISU/whxdata/whftdata0.xml | 90 +- doc/salome/gui/VISU/whxdata/whfts.xml | 14 +- doc/salome/gui/VISU/whxdata/whfwdata0.xml | 1736 ++-- doc/salome/gui/VISU/whxdata/whgdata0.xml | 44 +- doc/salome/gui/VISU/whxdata/whglo.xml | 8 +- doc/salome/gui/VISU/whxdata/whidx.xml | 8 +- doc/salome/gui/VISU/whxdata/whtdata0.xml | 116 +- doc/salome/gui/VISU/whxdata/whtoc.xml | 8 +- doc/salome/tui/{Makefile.in => Makefile.am} | 38 +- .../VISU/sources/static/examples_VISU.html | 2538 ++--- .../VISU/sources/static/overview_VISU.html | 504 +- idl/Makefile.am | 95 + idl/Makefile.in | 89 - idl/VISU_Gen.idl | 94 +- resources/Makefile.am | 113 + resources/SalomeApp.xml | 14 +- resources/Visu_add.png | Bin 0 -> 389 bytes resources/Visu_cutplanes.png | Bin 0 -> 389 bytes resources/Visu_remove.png | Bin 0 -> 383 bytes resources/Visu_tree_container.png | Bin 0 -> 425 bytes resources/Visu_tree_curve.png | Bin 0 -> 363 bytes resources/Visu_tree_cutlines.png | Bin 0 -> 773 bytes resources/Visu_tree_cutlines_gr.png | Bin 0 -> 868 bytes resources/Visu_tree_cutplanes.png | Bin 0 -> 1168 bytes resources/Visu_tree_cutplanes_gr.png | Bin 0 -> 960 bytes resources/Visu_tree_deformed.png | Bin 0 -> 1057 bytes resources/Visu_tree_deformed_gr.png | Bin 0 -> 924 bytes resources/Visu_tree_gauss_points.png | Bin 0 -> 460 bytes resources/Visu_tree_isosurfaces.png | Bin 0 -> 1033 bytes resources/Visu_tree_isosurfaces_gr.png | Bin 0 -> 864 bytes resources/Visu_tree_mesh.png | Bin 0 -> 413 bytes resources/Visu_tree_plot3d.png | Bin 0 -> 1205 bytes resources/Visu_tree_plot3d_gr.png | Bin 0 -> 918 bytes resources/Visu_tree_result.png | Bin 0 -> 421 bytes .../Visu_tree_scalarmapondeformedshape.png | Bin 0 -> 1140 bytes .../Visu_tree_scalarmapondeformedshape_gr.png | Bin 0 -> 965 bytes resources/Visu_tree_scalars.png | Bin 0 -> 1118 bytes resources/Visu_tree_scalars_gr.png | Bin 0 -> 928 bytes resources/Visu_tree_streamlines.png | Bin 0 -> 908 bytes resources/Visu_tree_streamlines_gr.png | Bin 0 -> 898 bytes resources/Visu_tree_table.png | Bin 0 -> 306 bytes resources/Visu_tree_vectors.png | Bin 0 -> 1199 bytes resources/Visu_tree_vectors_gr.png | Bin 0 -> 952 bytes src/CONVERTOR/VISU_AppendFilterUtilities.cxx | 32 +- src/CONVERTOR/VISU_ConvertorUtils.cxx | 25 + src/CONVERTOR/VISU_ConvertorUtils.hxx | 10 + src/CONVERTOR/VISU_MergeFilter.cxx | 174 +- src/CONVERTOR/VISU_MergeFilter.hxx | 24 +- src/CONVERTOR/VISU_MergeFilterUtilities.cxx | 377 +- src/{Makefile.in => ENGINE/Makefile.am} | 21 +- src/ENGINE/Makefile.in | 65 - src/ENGINE/VISU_Engine_i.cc | 37 +- src/ENGINE/VISU_Engine_i.hh | 4 +- src/GUITOOLS/{Makefile.in => Makefile.am} | 42 +- src/GUITOOLS/VisuGUITools.h | 47 + src/GUITOOLS/VisuGUI_TableDlg.cxx | 8 +- src/GUITOOLS/VisuGUI_TableDlg.h | 4 +- adm_local/Makefile.in => src/Makefile.am | 44 +- src/OBJECT/{Makefile.in => Makefile.am} | 41 +- src/OBJECT/VISU_Actor.cxx | 2 +- src/OBJECT/VISU_Actor.h | 11 +- src/OBJECT/VISU_GaussPtsAct.cxx | 8 +- src/OBJECT/VISU_GaussPtsDeviceActor.cxx | 4 +- src/OBJECT/VISU_GaussPtsDeviceActor.h | 4 +- src/OBJECT/VISU_GaussPtsSettings.h | 9 +- src/OBJECT/VISU_MeshAct.cxx | 1 - src/OBJECT/VISU_MeshAct.h | 7 - src/OBJECT/VISU_ScalarMapAct.cxx | 186 +- src/OBJECT/VISU_ScalarMapAct.h | 56 + src/OBJECT/VISU_VectorsAct.cxx | 3 +- src/PIPELINE/VISUPipeLine.cxx | 2 +- src/PIPELINE/VISU_ColoredPL.cxx | 4 +- src/PIPELINE/VISU_Extractor.cxx | 18 +- src/PIPELINE/VISU_Extractor.hxx | 11 +- src/PIPELINE/VISU_PrsMergerPL.cxx | 357 - src/PIPELINE/VISU_PrsMergerPL.hxx | 194 - src/PIPELINE/VISU_ScalarMapPL.cxx | 13 +- src/VISUGUI/Makefile.am | 122 + src/VISUGUI/Makefile.in | 1452 ++- src/VISUGUI/VISU_images.po | 82 +- src/VISUGUI/VISU_msg_en.po | 60 +- src/VISUGUI/VisuGUI.cxx | 253 +- src/VISUGUI/VisuGUI.h | 26 +- src/VISUGUI/VisuGUI_ActionsDef.h | 3 +- src/VISUGUI/VisuGUI_BuildProgressDlg.cxx | 8 +- src/VISUGUI/VisuGUI_ClippingDlg.cxx | 91 +- src/VISUGUI/VisuGUI_ClippingDlg.h | 3 + src/VISUGUI/VisuGUI_CursorDlg.cxx | 9 +- src/VISUGUI/VisuGUI_CutLinesDlg.cxx | 25 +- src/VISUGUI/VisuGUI_CutLinesDlg.h | 7 +- src/VISUGUI/VisuGUI_CutPlanesDlg.cxx | 8 +- src/VISUGUI/VisuGUI_DeformedShapeDlg.cxx | 10 +- src/VISUGUI/VisuGUI_EditContainerDlg.cxx | 8 +- src/VISUGUI/VisuGUI_Factory.cxx | 11 + src/VISUGUI/VisuGUI_FieldFilter.cxx | 4 +- src/VISUGUI/VisuGUI_GaussPointsDlg.cxx | 8 +- src/VISUGUI/VisuGUI_InputPane.cxx | 6 +- src/VISUGUI/VisuGUI_IsoSurfacesDlg.cxx | 8 +- src/VISUGUI/VisuGUI_Module.cxx | 20 +- src/VISUGUI/VisuGUI_NameDlg.cxx | 8 +- src/VISUGUI/VisuGUI_OffsetDlg.cxx | 8 +- src/VISUGUI/VisuGUI_Plot3DDlg.cxx | 11 +- src/VISUGUI/VisuGUI_Prs3dTools.h | 9 + src/VISUGUI/VisuGUI_ScalarBarDlg.h | 1 + .../VisuGUI_ScalarMapOnDeformedShapeDlg.cxx | 120 +- .../VisuGUI_ScalarMapOnDeformedShapeDlg.h | 14 +- src/VISUGUI/VisuGUI_Selection.cxx | 84 +- src/VISUGUI/VisuGUI_Selection.h | 5 + src/VISUGUI/VisuGUI_SetupPlot2dDlg.cxx | 8 +- src/VISUGUI/VisuGUI_StreamLinesDlg.cxx | 20 +- src/VISUGUI/VisuGUI_TimeAnimation.cxx | 335 +- src/VISUGUI/VisuGUI_TimeAnimation.h | 23 +- src/VISUGUI/VisuGUI_Tools.cxx | 49 +- src/VISUGUI/VisuGUI_TransparencyDlg.cxx | 8 +- src/VISUGUI/VisuGUI_VectorsDlg.cxx | 8 +- src/VISU_I/VISUConfig.cc | 90 +- src/VISU_I/VISUConfig.hh | 6 +- src/VISU_I/VISU_ColoredPrs3dCache_i.cc | 2 +- src/VISU_I/VISU_ColoredPrs3dHolder_i.cc | 11 +- src/VISU_I/VISU_ColoredPrs3dHolder_i.hh | 1 + src/VISU_I/VISU_ColoredPrs3d_i.cc | 5 +- src/VISU_I/VISU_ColoredPrs3d_i.hh | 9 +- src/VISU_I/VISU_CutLines_i.cc | 10 + src/VISU_I/VISU_DeformedShape_i.cc | 9 + src/VISU_I/VISU_DumpPython.cc | 1 - src/VISU_I/VISU_GaussPoints_i.cc | 9 + src/VISU_I/VISU_GaussPoints_i.hh | 2 +- src/VISU_I/VISU_Gen_i.cc | 2 +- src/VISU_I/VISU_PrsMerger_i.cc | 580 -- src/VISU_I/VISU_PrsMerger_i.hh | 221 - src/VISU_I/VISU_ScalarMapOnDeformedShape_i.cc | 10 + src/VISU_I/VISU_ScalarMap_i.hh | 6 - src/VISU_I/VISU_Table_i.cc | 9 +- src/VISU_I/VISU_TimeAnimation.cxx | 6 +- src/VISU_I/VISU_View_i.cc | 1 - src/VISU_SWIG/Makefile.am | 68 + src/VISU_SWIG/Makefile.in | 795 +- src/VISU_SWIG/VISU_Example_02.py | 13 +- src/VISU_SWIG/VISU_shared_modules.py | 4 +- src/VISU_SWIG/visu.py | 120 +- src/VISU_SWIG/visu_apply_properties.py | 119 + .../visu_apply_properties_successive.py | 135 + src/VISU_SWIG/visu_succcessive_animation.py | 95 + src/VVTK/{Makefile.in => Makefile.am} | 50 +- src/VVTK/VVTK.h | 2 +- src/VVTK/VVTK_MainWindow.cxx | 35 +- src/VVTK/VVTK_PickingDlg.cxx | 8 +- src/VVTK/VVTK_PrimitiveBox.cxx | 2 +- src/VVTK/VVTK_PrimitiveBox.h | 4 +- src/VVTK/VVTK_Recorder.cxx | 5 +- src/VVTK/VVTK_RecorderDlg.cxx | 8 +- src/VVTK/VVTK_Renderer.cxx | 4 +- src/VVTK/VVTK_Renderer.h | 3 +- src/VVTK/VVTK_SegmentationCursorDlg.cxx | 19 +- src/VVTK/VVTK_SegmentationCursorDlg.h | 4 +- src/VVTK/VVTK_SizeBox.h | 4 +- 395 files changed, 41321 insertions(+), 37874 deletions(-) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 Makefile.am delete mode 100644 Makefile.in create mode 100644 NEWS create mode 100644 README create mode 100644 adm_local/Makefile.am create mode 100644 adm_local/unix/Makefile.am create mode 100644 adm_local/unix/config_files/Makefile.am delete mode 100644 adm_local/unix/make_commence.in create mode 100644 adm_local/unix/make_common_starter.am delete mode 100644 adm_local/unix/make_omniorb.in create mode 100644 bin/Makefile.am create mode 100755 clean_configure rename configure.in.base => configure.ac (74%) create mode 100644 doc/Makefile.am delete mode 100644 doc/Makefile.in rename doc/salome/{Makefile.in => Makefile.am} (50%) rename doc/salome/gui/{Makefile.in => Makefile.am} (79%) create mode 100644 doc/salome/gui/VISU/pics/image157.gif create mode 100644 doc/salome/gui/VISU/pics/set_rotation_point_dialog1.png create mode 100644 doc/salome/gui/VISU/pics/set_rotation_point_dialog2.png create mode 100644 doc/salome/gui/VISU/pics/view_rotation_point.png delete mode 100755 doc/salome/gui/VISU/vtk_3d_viewer.htm rename doc/salome/tui/{Makefile.in => Makefile.am} (72%) create mode 100644 idl/Makefile.am delete mode 100644 idl/Makefile.in create mode 100644 resources/Makefile.am create mode 100644 resources/Visu_add.png create mode 100644 resources/Visu_cutplanes.png create mode 100644 resources/Visu_remove.png create mode 100644 resources/Visu_tree_container.png create mode 100644 resources/Visu_tree_curve.png create mode 100755 resources/Visu_tree_cutlines.png create mode 100644 resources/Visu_tree_cutlines_gr.png create mode 100755 resources/Visu_tree_cutplanes.png create mode 100644 resources/Visu_tree_cutplanes_gr.png create mode 100755 resources/Visu_tree_deformed.png create mode 100644 resources/Visu_tree_deformed_gr.png create mode 100644 resources/Visu_tree_gauss_points.png create mode 100755 resources/Visu_tree_isosurfaces.png create mode 100644 resources/Visu_tree_isosurfaces_gr.png create mode 100644 resources/Visu_tree_mesh.png create mode 100755 resources/Visu_tree_plot3d.png create mode 100644 resources/Visu_tree_plot3d_gr.png create mode 100644 resources/Visu_tree_result.png create mode 100755 resources/Visu_tree_scalarmapondeformedshape.png create mode 100644 resources/Visu_tree_scalarmapondeformedshape_gr.png create mode 100755 resources/Visu_tree_scalars.png create mode 100644 resources/Visu_tree_scalars_gr.png create mode 100755 resources/Visu_tree_streamlines.png create mode 100644 resources/Visu_tree_streamlines_gr.png create mode 100644 resources/Visu_tree_table.png create mode 100755 resources/Visu_tree_vectors.png create mode 100644 resources/Visu_tree_vectors_gr.png rename src/{Makefile.in => ENGINE/Makefile.am} (67%) delete mode 100644 src/ENGINE/Makefile.in rename src/GUITOOLS/{Makefile.in => Makefile.am} (62%) create mode 100755 src/GUITOOLS/VisuGUITools.h rename adm_local/Makefile.in => src/Makefile.am (65%) mode change 100644 => 100755 rename src/OBJECT/{Makefile.in => Makefile.am} (78%) delete mode 100644 src/PIPELINE/VISU_PrsMergerPL.cxx delete mode 100644 src/PIPELINE/VISU_PrsMergerPL.hxx create mode 100644 src/VISUGUI/Makefile.am delete mode 100644 src/VISU_I/VISU_PrsMerger_i.cc delete mode 100644 src/VISU_I/VISU_PrsMerger_i.hh create mode 100644 src/VISU_SWIG/Makefile.am create mode 100644 src/VISU_SWIG/visu_apply_properties.py create mode 100644 src/VISU_SWIG/visu_apply_properties_successive.py create mode 100644 src/VISU_SWIG/visu_succcessive_animation.py rename src/VVTK/{Makefile.in => Makefile.am} (73%) diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/AUTHORS @@ -0,0 +1 @@ + diff --git a/COPYING b/COPYING new file mode 100644 index 00000000..b1e3f5a2 --- /dev/null +++ b/COPYING @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/ChangeLog @@ -0,0 +1 @@ + diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 00000000..d0f22977 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,48 @@ +# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# -* Makefile *- +# +# Author : Patrick GOLDBRONN (CEA) +# Date : 28/06/2001 +# $Header$ +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +SUBDIRS = adm_local idl resources src doc bin + +DISTCLEANFILES = a.out aclocal.m4 configure + +salomeinclude_DATA=VISU_version.h + +EXTRA_DIST+= \ + build_configure \ + clean_configure \ + LICENCE + +dist-hook: + rm -rf `find $(distdir) -name CVS` + +usr_docs: + (cd doc && $(MAKE) $(AM_MAKEFLAGS) usr_docs) + +docs:usr_docs + +dev_docs: + (cd doc && $(MAKE) $(AM_MAKEFLAGS) dev_docs) diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index ac80cb95..00000000 --- a/Makefile.in +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 28/06/2001 -# $Header$ -# - -# source path -top_srcdir=@top_srcdir@ -top_builddir=. -srcdir=@srcdir@ -VPATH=.:@srcdir@:@top_srcdir@/bin:./bin/salome:./resources:@top_srcdir@/resources:./bin:@top_srcdir@/idl - - -@COMMENCE@ - -SUBDIRS = idl src doc adm_local - -BIN_SCRIPT= \ -VERSION - -# copy header files in common directory - -include_list = include/salome/SALOMEconfig.h \ - include/salome/VISU_version.h - -ifneq ($(HAVE_SSTREAM),yes) - include_list += include/salome/sstream -endif - -inc: idl $(include_list) - -bin: bin/salome/VERSION - -bin/salome/VERSION : bin/VERSION - -$(RM) $@ - $(LN_S) ../../$< $@ - -include/salome/SALOMEconfig.h: salome_adm/unix/SALOMEconfig.ref - -$(RM) $@ - $(LN_S) ../../$< $@ - -# test if SALOMEconfig.h has changed (contents) -salome_adm/unix/SALOMEconfig.ref: salome_adm/unix/SALOMEconfig.h - @if ! [ -a $@ ]; then \ - cp -p -f $< $@; \ - fi; \ - if ! cmp $< $@; then \ - cp -p -f $< $@; \ - fi; \ - -include/salome/sstream: salome_adm/unix/sstream - -$(RM) $@ - $(LN_S) ../../$< $@ - -include/salome/VISU_version.h: VISU_version.h - -$(RM) $@ - $(LN_S) ../../$< $@ - -depend: depend_idl - -depend_idl: - (cd idl ; $(MAKE) $@) || exit 1 - -resources: share/salome/resources/visu/VISUCatalog.xml - -share/salome/resources/visu/VISUCatalog.xml: VISUCatalog.xml - cp $< $@ - -# doc is already build : if you want to had documents, go manually to doc and run 'make doc' -#doc: -# (cd doc && $(MAKE) $@) || exit 1 - -install-end: -# finish libtool install -# @$(LT) --mode=finish $(libdir) - -install-include: $(include_list) - $(INSTALL) -d $(includedir) - @for f in X $(include_list); do \ - if test $$f != X; then \ - ($(INSTALL_DATA) -p $$f $(includedir)/. || exit 1); \ - fi; \ - done - -# install script in $(bindir) : -install-bin: $(BIN_SCRIPT) - $(INSTALL) -d $(bindir) - if test $(BIN_SCRIPT)X != X; then \ - $(INSTALL_PROGRAM) $^ $(bindir); \ - fi - -uninstall: uninstall-idl - -uninstall-idl: - $(RM) $(idldir)/*.idl - -distclean: distclean-other - -distclean-other: - -$(RM) salome_adm/unix/*~ salome_adm/unix/*% salome_adm/unix/*.bak salome_adm/unix/*.new salome_adm/unix/*.old - -$(RM) salome_adm/unix/make_* - -$(RM) salome_adm/unix/depend salome_adm/unix/SALOMEconfig.h - -$(RM) config.cache config.log config.status - -@MODULE@ - -install: install-bin install-include install-end - -install-resources: install-catalog - -install-catalog: share/salome/resources/visu/VISUCatalog.xml - $(INSTALL) -d $(datadir)/resources/visu - $(INSTALL_DATA) $< $(datadir)/resources/visu/. diff --git a/NEWS b/NEWS new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/NEWS @@ -0,0 +1 @@ + diff --git a/README b/README new file mode 100644 index 00000000..975c6639 --- /dev/null +++ b/README @@ -0,0 +1,106 @@ +This is the Med Memory package V3.2.0 + +I : Major evolution of the Med Memory package between V2.2.x and V3.2.x : +========================================================================= + +The Med Memory may be used as a stand alone package with only the C++ and the +python layers (adding --without-kernel at the configure step). In this case +there are no links with the SALOME KERNEL. + +In this version, + +- mesh defined with polygones/polyhedra mixed with usual types of cells; + +- the Med File drivers of the Med Memory support the V2.1 as well as the + V2.2 versions of the Med File layer. The requirement of the Salome platform + is only Med File V2.2, the V2.1 version is emberked in the Med Memory. + +- Using the Med file (V2.1 and V2.2) and GIBI drivers; fields laying on a + partial support; + +- Fields defined on cells mesh with multiple gauss points, + +may be mounted in memory and treated. + +With all those new functionalities, most of the Med Memory client codes +based on previous releases of the Med Memory should work; but minor changes +should be done for the get/set field classes methods: + +- the getValue() and the setValue(T *) methods take no MED_EN::medModeSwitch + parameter; +- the getValueI (resp. setValueI) should be replaced by getRow(int ) + (resp. setRow(int ,T*) if the field is in full interlacing mode (using the + method getInterlacingType() of the classe FIELD_). If the field is stored in + no interlacing mode getValueIJ (resp. setValueIJ) should be replaced by + getColumn(int ) (resp. setColumn(int ,T*)). + +Intensive debugging was carried throughout the entire Med Memory C++ Layer: + + - especially on the major user's C++ classes (such as MED, MESH, + SUPPORT and FIELD); + + - the C++ drivers classes on those major classes. Especially the + Med File and the GIBI drivers are read/write ones. The VTK drivers + are only for the writing; and finally the PORFLOW drivers may only + be used for the MESH class in the reading mode. + +The Med Client layer of the Med Memory has been tested in a full +Server/Client configuration. + +II : MedMemory building and installation : +========================================= + +It's very simple : + +./configure --prefix=path_to_your_installation_directory +make +make install + +eventually if the user or the installer needs to build an installation of Med +Memory as a stand alone package, he may use the configure option +--without-kernel. By default the full debug options are set: + - compilation using -g option + - Med Memory debugging information history using -D_DEBUG_ option. + +The user may get all configure option with : + ./configure --help + +The user may set optimization option : + ./configure --enable-production --disable-debug (use compiler flags -O) + +In order to avoid most of the problem the user or the installer should first +check the HDF5HOME and the MED2HOME environment variables. This version of +Med Memory with Med File V2.2.2, V2.2.3, as well as V2.3.0 but with the +version of HDF5 V1.6.3. In the installation of Med File you should take care +of the $HDF5HOME environement variable. This warning is especially intended +to the user of The Med Memory in stand alone (without the SALOME KERNEL +component). + +III : MedMemory testing : +========================= + +After installation of the Med Memory; the user may find a large set of test +files in Med File V2.1, V2.2, GIBI format. + +To check the Med Memory installation, in the directory +path_to_your_installation_directory/bin/salome you may find a set of python +scripts and test executable. To ckeck the deep layers (C++, Python) of the Med +Memory, the installer may run: + +- testMedMemGeneral.py, +- medMeshing_test.py +- test_profil_MedFieldDriver.py +- testGaussLocalization.py +- med_field_anal.py +- test_MEDMEM_MeshingFlica +- test_MEDMEM_Meshing_poly +- test_MEDMEM_MeshingPoly + +To check the upper layer (CORBA, Client), the installer may run in the SALOME +Python consol: + + - Med_Gen_test.py + - medClient_test.py + - testMedAlliances1.py + - testMedAlliances.py + - testMeshAlliances.py diff --git a/adm_local/Makefile.am b/adm_local/Makefile.am new file mode 100644 index 00000000..76fe0fa5 --- /dev/null +++ b/adm_local/Makefile.am @@ -0,0 +1,22 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +SUBDIRS= unix \ No newline at end of file diff --git a/adm_local/unix/Makefile.am b/adm_local/unix/Makefile.am new file mode 100644 index 00000000..facd4e6f --- /dev/null +++ b/adm_local/unix/Makefile.am @@ -0,0 +1,22 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +SUBDIRS = config_files diff --git a/adm_local/unix/config_files/Makefile.am b/adm_local/unix/config_files/Makefile.am new file mode 100644 index 00000000..f4266455 --- /dev/null +++ b/adm_local/unix/config_files/Makefile.am @@ -0,0 +1,22 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +dist_admlocalm4_DATA= \ + check_VISU.m4 diff --git a/adm_local/unix/make_commence.in b/adm_local/unix/make_commence.in deleted file mode 100644 index bba7766f..00000000 --- a/adm_local/unix/make_commence.in +++ /dev/null @@ -1,290 +0,0 @@ -# common directories to put headerfiles -inc_builddir=$(top_builddir)/include/salome - -MODULE_NAME=@MODULE_NAME@ - -@SET_MAKE@ -SHELL=/bin/sh - -LIB_LOCATION_SUFFIX=@LIB_LOCATION_SUFFIX@ -# header missing - -HAVE_SSTREAM=@HAVE_SSTREAM@ - - -LIBS=@LIBS@ -LDFLAGS=@LDFLAGS@ -L$(top_builddir)/lib@LIB_LOCATION_SUFFIX@/salome -Xlinker -rpath-link -Xlinker -# add libstdc++ to link c++ library with libtool ! -LDFLAGS+= -lstdc++ - -CP=@CP@ - -# CPP - -CPP=@CPP@ -CXXCPP=@CXXCPP@ -CPPFLAGS=@CPPFLAGS@ -I$(inc_builddir) -I$(srcdir) -I. - -# C - -CC = @CC@ -CFLAGS = @CFLAGS@ -C_DEPEND_FLAG = @C_DEPEND_FLAG@ - -# C++ - -CXX = @CXX@ -CXXFLAGS = @CXXFLAGS@ -CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@ - -# BOOST Library - -BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ -BOOST_LIBSUFFIX = @BOOST_LIBSUFFIX@ -BOOST_LIBS = @BOOST_LIBS@ - -# JAVA - -JAVA_INCLUDES = @JAVA_INCLUDES@ -JAVA_LIBS = @JAVA_LIBS@ -JAVA_LDPATH = @JAVA_LDPATH@ - -# PYTHON - -PYTHON = @PYTHON@ -PYTHONHOME = @PYTHONHOME@ -PYTHON_INCLUDES = @PYTHON_INCLUDES@ -PYTHON_LIBS = @PYTHON_LIBS@ -PYTHON_VERSION = @PYTHON_VERSION@ -PYTHON_SITE = $(prefix)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages -PYTHON_SITE_INSTALL = $(prefix)/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/salome -# QT - -QT_ROOT = @QT_ROOT@ -QT_INCLUDES = @QT_INCLUDES@ -QT_MT_INCLUDES = @QT_INCLUDES@ -DQT_THREAD_SUPPORT -QT_LIBS = @QT_LIBS@ -QT_MT_LIBS = @QT_MT_LIBS@ - -MOC = @MOC@ -UIC = @UIC@ - -# msg2qm -MSG2QM = @MSG2QM@ - - -#QWT - -QWT_INCLUDES=@QWT_INCLUDES@ -QWT_LIBS=@QWT_LIBS@ - -# SIP -SIP = @SIP@ -SIP_INCLUDES = @SIP_INCLUDES@ -SIP_LIBS = @SIP_LIBS@ - -# PYQT -PYQT_SIPS = @PYQT_SIPS@ -PYQT_LIBS = @PYQT_LIBS@ - -# openGL -OGL_INCLUDES=@OGL_INCLUDES@ -OGL_LIBS=@OGL_LIBS@ - -# VTK -VTK_INCLUDES=@VTK_INCLUDES@ -VTK_LIBS=@VTK_LIBS@ - -# HDF5 - -HDF5_INCLUDES=@HDF5_INCLUDES@ -HDF5_LIBS=@HDF5_LIBS@ -HDF5_MT_LIBS=@HDF5_MT_LIBS@ - -# OpenCasCade - -OCC_INCLUDES=@CAS_CPPFLAGS@ -OCC_CXXFLAGS=@CAS_CXXFLAGS@ - -CAS_KERNEL=@CAS_KERNEL@ -CAS_OCAF=@CAS_OCAF@ -CAS_VIEWER=@CAS_VIEWER@ -CAS_MODELER=@CAS_MODELER@ -CAS_DATAEXCHANGE=@CAS_DATAEXCHANGE@ -CAS_LDPATH=@CAS_LDPATH@ -# MPICH - -MPICH_INCLUDES=@MPICH_INCLUDES@ -MPICH_LIBS=@MPICH_LIBS@ - -# Swig C++ Python - -SWIG = @SWIG@ -SWIG_FLAGS = @SWIG_FLAGS@ -I$(inc_builddir) -I$(srcdir) -I. - -# OMNIORB - -OMNIORB_ROOT = @OMNIORB_ROOT@ -OMNIORB_INCLUDES = @OMNIORB_INCLUDES@ -OMNIORB_LIBS = @OMNIORB_LIBS@ -OMNIORB_CXXFLAGS = @OMNIORB_CXXFLAGS@ - -OMNIORB_IDL = @OMNIORB_IDL@ -OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ -OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/salome/idl \ - -I$(KERNEL_ROOT_DIR)/idl/salome -I$(MED_ROOT_DIR)/idl/salome - -OMNIORB_IDL_CLN_H = @OMNIORB_IDL_CLN_H@ -OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@ -OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@ - -OMNIORB_IDL_SRV_H = @OMNIORB_IDL_SRV_H@ -OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@ -OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@ - -# Default ORB - -CORBA_ROOT = @CORBA_ROOT@ -CORBA_INCLUDES = @CORBA_INCLUDES@ -CORBA_LIBS = @CORBA_LIBS@ -CORBA_CXXFLAGS = @CORBA_CXXFLAGS@ - -IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_srcdir)/idl -I$(top_builddir)/idl/salome \ - -I$(KERNEL_ROOT_DIR)/idl/salome -I$(MED_ROOT_DIR)/idl/salome -IDLPYFLAGS = @IDLPYFLAGS@ - -IDL = @IDL@ - -IDL_CLN_H = @IDL_CLN_H@ -IDL_CLN_CXX = @IDL_CLN_CXX@ -IDL_CLN_OBJ = @IDL_CLN_OBJ@ - -IDL_SRV_H = @IDL_SRV_H@ -IDL_SRV_CXX = @IDL_SRV_CXX@ -IDL_SRV_OBJ = @IDL_SRV_OBJ@ - -CPPFLAGS+= $(CORBA_INCLUDES) -CXXFLAGS+= $(CORBA_CXXFLAGS) - -# add corba libs when link salome application ! -#LDFLAGS+= $(CORBA_LIBS) -LIBS+=$(CORBA_LIBS) - -DOXYGEN = @DOXYGEN@ -DOXYGEN_WITH_PYTHON = @DOXYGEN_WITH_PYTHON@ -DOXYGEN_WITH_STL = @DOXYGEN_WITH_STL@ - -## Shared libraries -LT_STATIC_EXEC=@LT_STATIC_EXEC@ -DYNAMIC_DIRS=@DYNAMIC_DIRS@ -LT_LIB=libtool -LT=$(top_builddir)/libtool -LT_COMPILE=$(LT) --mode=compile $(CC) -LT_LINK_LIB=$(LT_LIB) --mode=link $(CC) -rpath $(libdir) -LT_LINK_EXE=$(LT) --mode=link $(CC) $(LT_STATIC_EXEC) -dlopen self -rpath $(bindir) $(DYNAMIC_DIRS) -LT_RUN=$(LT) --mode=execute -LT_INSTALL_PROG=$(LT) --mode=install $(INSTALL_PROGRAM) -LT_INSTALL_LIB=$(LT) --mode=install $(INSTALL_DATA) -LT_UNINSTALL=$(LT) --mode=uninstall $(RM) - -INSTALL=@INSTALL@ -INSTALL_PROGRAM=@INSTALL_PROGRAM@ -INSTALL_DATA=@INSTALL_DATA@ - -# create a symbolic link (or a copie ?) -LN_S=@LN_S@ - -KERNEL_ROOT_DIR=@KERNEL_ROOT_DIR@ -KERNEL_SITE_DIR=@KERNEL_SITE_DIR@ - -KERNEL_LDFLAGS=@KERNEL_LDFLAGS@ -KERNEL_CXXFLAGS=@KERNEL_CXXFLAGS@ - -GUI_ROOT_DIR=@GUI_ROOT_DIR@ -GUI_LDFLAGS=@GUI_LDFLAGS@ -GUI_CXXFLAGS=@GUI_CXXFLAGS@ - -MED_ROOT_DIR=@MED_ROOT_DIR@ -MED_LDFLAGS=@MED_LDFLAGS@ -MED_CXXFLAGS=@MED_CXXFLAGS@ - -## Installation points -prefix=@prefix@ -exec_prefix=@exec_prefix@ -bindir=@exec_prefix@/bin/salome -libdir=@exec_prefix@/lib@LIB_LOCATION_SUFFIX@/salome -# warning : if user give this path in configure we could have salome/salome :-( -includedir=@includedir@/salome -datadir=@datadir@/salome -idldir=${prefix}/idl/salome -sharedpydir=@exec_prefix@/lib@LIB_LOCATION_SUFFIX@/python$(PYTHON_VERSION)/site-packages/salome/shared_modules -incmakedir=${prefix}/salome_adm/unix - -docdir=${prefix}/doc/salome - -# -# begin of package rules -# - -.PHONY: all lib bin inc resources data docs tests install uninstall dep depend depend_idl cleandep mostlyclean clean distclean - -.SUFFIXES: .cxx .cc .c .f .o .lo .idl .py .i .ui .po .qm - -all: - $(MAKE) inc - $(MAKE) depend_idl - $(MAKE) depend - $(MAKE) lib - $(MAKE) bin - $(MAKE) resources - $(MAKE) data - -# -# add target to build administrative files -# - -Makefile: $(top_builddir)/config.status $(srcdir)/Makefile.in - cd $(top_builddir) ; ./config.status - -LOCAL_MAKE = make_commence make_omniorb - -KERNEL_MAKE = make_module make_conclude depend SALOMEconfig.h F77config.h sstream envScript - -$(top_builddir)/config.status: $(top_srcdir)/configure \ - $(LOCAL_MAKE:%=$(top_srcdir)/adm_local/unix/%.in) \ - $(KERNEL_MAKE:%=$(KERNEL_ROOT_DIR)/salome_adm/unix/%.in) - cd $(top_builddir) ; ./config.status --recheck - -# VPATH contain $(srcdir), so make configure is good in top_srcdir and we must add target configure otherwise :-) -ifneq ($(top_srcdir),$(srcdir)) -configure: $(top_srcdir)/configure -endif - -$(top_srcdir)/configure: $(top_srcdir)/configure.in $(top_srcdir)/aclocal.m4 - cd $(top_srcdir) ; autoconf - -$(top_srcdir)/configure.in: $(top_srcdir)/configure.in.base - cd $(top_srcdir) && ./build_configure - - -ACLOCAL_KERNEL = \ -ac_cxx_bool.m4 check_corba.m4 \ -ac_cxx_depend_flag.m4 check_hdf5.m4 enable_pthreads.m4 \ -ac_cxx_mutable.m4 check_mico.m4 libtool.m4 \ -ac_cxx_namespaces.m4 check_omniorb.m4 pyembed.m4 \ -ac_cxx_partial_specialization.m4 python.m4 \ -ac_cxx_typename.m4 check_pthreads.m4 check_cas.m4 \ -ac_cc_warnings.m4 check_swig.m4 - -ACLOCAL_GUI = \ -check_vtk.m4 check_opengl.m4 check_qt.m4 \ -check_GUI.m4 check_corba_in_GUI.m4 - -ACLOCAL_MED = check_Med.m4 - -$(top_srcdir)/aclocal.m4: $(ACLOCAL_KERNEL:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%) \ - $(ACLOCAL_GUI:%=@GUI_ROOT_DIR@/adm_local/unix/config_files/%) \ - $(ACLOCAL_MED:%=@MED_ROOT_DIR@/adm_local/unix/config_files/%) - cd $(top_srcdir) ; aclocal -I adm_local/unix/config_files -I @KERNEL_ROOT_DIR@/salome_adm/unix/config_files \ - -I @GUI_ROOT_DIR@/adm_local/unix/config_files \ - -I @MED_ROOT_DIR@/adm_local/unix/config_files diff --git a/adm_local/unix/make_common_starter.am b/adm_local/unix/make_common_starter.am new file mode 100644 index 00000000..6a4c36d2 --- /dev/null +++ b/adm_local/unix/make_common_starter.am @@ -0,0 +1,59 @@ +# +# ============================================================ +# This file defines the common definitions used in several +# Makefile. This file must be included, if needed, by the file +# Makefile.am. +# ============================================================ +# + +# Standard directory for installation +salomeincludedir = $(includedir)/@PACKAGE@ +libdir = $(prefix)/lib@LIB_LOCATION_SUFFIX@/@PACKAGE@ +bindir = $(prefix)/bin/@PACKAGE@ +purebindir = $(prefix)/bin +salomescriptdir = $(bindir) + +# Tests environment folders +testsenvirondir = $(prefix)/Tests/environ +testsenvironcshdir = $(prefix)/Tests/environ/csh + +# Directory for installing idl files +salomeidldir = $(prefix)/idl/@PACKAGE@ + +# Directory for installing resource files +salomeresdir = $(prefix)/share/@PACKAGE@/resources/@MODULE_NAME@ + +# Directories for installing admin files +admlocaldir = $(prefix)/adm_local +admlocalunixdir = $(admlocaldir)/unix +admlocalm4dir = $(admlocaldir)/unix/config_files + +# Shared modules installation directory +sharedpkgpythondir =$(pkgpythondir)/shared_modules + +# Documentation directory +docdir = $(datadir)/doc/@PACKAGE@ + +# common rules + +# moc-files generation +%_moc.cxx: %.h + $(MOC) $< -o $@ + +# qm-files generation +%.qm: %.po + $(MSG2QM) $< $@ + +EXTRA_DIST=$(MOC_FILES:%_moc.cxx=%.h) $(nodist_salomeres_DATA:%.qm=%.po) + +mostlyclean-local: + rm -f @builddir@/*_moc.cxx + rm -f @builddir@/*.qm + +# tests +tests: unittest + +unittest: $(UNIT_TEST_PROG) + @if test "x$(UNIT_TEST_PROG)" != "x"; then \ + $(UNIT_TEST_PROG); \ + fi; diff --git a/adm_local/unix/make_omniorb.in b/adm_local/unix/make_omniorb.in deleted file mode 100644 index 7caf4b7c..00000000 --- a/adm_local/unix/make_omniorb.in +++ /dev/null @@ -1,59 +0,0 @@ -#======================================================================= -# Begin specific part to omniorb -# (include from file adm/unix/make_omniorb generated by -# adm/unix/make_omniorb.in) -#======================================================================= -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 29/06/2001 -# $Header$ -# - -# Client and server object are the same with omniorb -# There are one header file and one source file generate - -#IDLOBJ=$(IDLSRC:%.idl=%$(IDL_CLN_OBJ)) - -# dependancies between idl and it's generated files -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${KERNEL_ROOT_DIR}/idl/salome/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${GUI_ROOT_DIR}/idl/salome/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${MED_ROOT_DIR}/idl/salome/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -%$(OMNIORB_IDL_CLN_CXX) %$(OMNIORB_IDL_CLN_H): ${top_srcdir}/idl/%.idl - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -# dependncies between idl files -depend_idl: .depidl - -# we use cpp to generate dependencies between idl files. -# we change cpp output to keep only idl file and transform it to get a suitable rule -.depidl: $(IDL_FILES) - @touch $@ - @for dep in $? dummy; do \ - if [ $$dep != "dummy" ]; then \ - echo Building dependencies for $$dep; \ - basedep=`basename $$dep .idl`; \ - header="$$basedep"$(IDL_CLN_H); \ - sed '\%^'"$$header"':%,\%[^\\]$$%d' <$@ >$@- && mv $@- $@; \ - $(CPP) $(C_DEPEND_FLAG) -I$(srcdir) $$dep 2>/dev/null | \ - sed `echo "s%$$basedep\\.idl%$$header:%g"` | \ - sed 's% $(srcdir)/% %g' | \ - sed 's% $(top_srcdir)/% %g' | \ - sed 's% $(top_builddir)/% %g' | \ - sed 's%^.*:\.o: *%%' | sed 's%^ *\\ *%%'| sed 's%^ *\(.*\):%\1:%' | \ - sed 's/\.idl/$(IDL_CLN_H)/' >>$@; \ - echo '' >>$@; \ - fi; \ - done ; - --include .depidl - -#======================================================================= -# End specific part to omniorb -#======================================================================= diff --git a/bin/Makefile.am b/bin/Makefile.am new file mode 100644 index 00000000..e81b2089 --- /dev/null +++ b/bin/Makefile.am @@ -0,0 +1,22 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +nodist_salomescript_DATA= VERSION +EXTRA_DIST+= VERSION.in diff --git a/build_configure b/build_configure index 212e7d8b..acc12c6c 100755 --- a/build_configure +++ b/build_configure @@ -1,235 +1,103 @@ #!/bin/bash # -# Tool for updating list of .in file for the SALOME project +# Tool for updating list of .in file for the SALOME project # and regenerating configure script # # Author : Marc Tajchman - CEA # Date : 10/10/2002 # $Header$ # +# 29/03/2007: Mikhail PONIKAROV - OCN +# Reorganization for uage of autotools ORIG_DIR=`pwd` CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"` -######################################################################## +# ____________________________________________________________________ # Test if the KERNEL_ROOT_DIR is set correctly - if test ! -d "${KERNEL_ROOT_DIR}"; then echo "failed : KERNEL_ROOT_DIR variable is not correct !" exit fi - -# Test if the KERNEL_SRC is set correctly - -#if test ! -d "${KERNEL_SRC}"; then -# echo "failed : KERNEL_SRC variable is not correct !" -# exit -#fi -######################################################################## # Test if the GUI_ROOT_DIR is set correctly - if test ! -d "${GUI_ROOT_DIR}"; then echo "failed : GUI_ROOT_DIR variable is not correct !" exit fi - -######################################################################## # Test if the MED_ROOT_DIR is set correctly - if test ! -d "${MED_ROOT_DIR}"; then echo "failed : MED_ROOT_DIR variable is not correct !" exit fi -######################################################################## -# find_in - utility function -# -# usage : -# find_in directory filename -# -# Finds files following the *.in pattern, recursively in the -# directory (first argument). -# Results are appended into the file (second argument) -# -# Difference from the standard unix find is that files are tested -# before directories -# - -find_in() -{ - local i - local f=$2 - -# if the first argument is not a directory, returns - - if [ ! -d "$1" ] ; then - return - fi - -# dont look in the CVS directories - - case $1 in - */CVS) return ;; - */adm_local/*) return ;; - *) ;; - esac - -# for each regular file contained in the directory -# test if it's a .in file - - for i in "$1"/* - do - if [ -f "$i" ] ; then - case $i in - *.in) echo " "$i" \\" >> $f;; - *) ;; - esac - fi - done - -# for each subdirectory of the first argument, proceeds recursively - - for i in "$1"/* - do - if [ -d "$i" ] ; then - find_in "$i" "$f" - fi - done -} - - -####################################################################### -# Generate list of .in files (Makefile.in, config.h.in, etc) -# appending it in file configure.in - cd ${CONF_DIR} ABS_CONF_DIR=`pwd` -# -# Common part of the configure.in file -# -chmod u+w configure.in.base -if ! \cp -f configure.in.base configure.in_tmp1 -then - echo - echo "error : can't create files in" ${CONF_DIR} - echo "aborting ..." - chmod u-w configure.in.base - exit -fi -chmod u-w configure.in.base - -if [ -e "${CONF_DIR}/salome_adm" ] ; then - \rm -f ${CONF_DIR}/salome_adm -fi - - -# make a link allowing AC_OUTPUT to find the salome_adm/.../*.in files -echo "" >> configure.in_tmp1 -echo 'ln -fs ${KERNEL_ROOT_DIR}/salome_adm ${ROOT_SRCDIR}/.' >> configure.in_tmp1 - -echo "" >> configure.in_tmp1 -echo "AC_OUTPUT([ \\" >> configure.in_tmp1 - -# -# List of .in files in the adm/unix directory -# These files MUST be on top of AC_OUTPUT list so we -# put them "manually" -# - -echo " ./salome_adm/unix/SALOMEconfig.h \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/F77config.h \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/sstream \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/depend \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_omniorb:${ABS_CONF_DIR}/adm_local/unix/make_omniorb.in \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/envScript \\" >> configure.in_tmp1 -echo " ./adm_local/unix/make_commence:${ABS_CONF_DIR}/adm_local/unix/make_commence.in \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/make_conclude \\" >> configure.in_tmp1 -echo " ./salome_adm/unix/make_module \\" >> configure.in_tmp1 - -\rm -f configure.in_tmp2 configure.in_tmp3 -touch configure.in_tmp2 -find_in . configure.in_tmp2 -sed -e '/^...salome_adm/d' configure.in_tmp2 > configure.in_tmp3 -sed -e '/^...adm_local.unix.make_omniorb/d' configure.in_tmp3 > configure.in_tmp2 -sed -e '/^...adm_local.unix.make_commence/d' configure.in_tmp2 > configure.in_tmp3 -sed -e '/configure.in/d' configure.in_tmp3 > configure.in_tmp2 -sed -e 's/.in / /' configure.in_tmp2 >> configure.in_tmp1 -#sed '/^.*salome_adm/d' configure.in_tmp2 > configure.in_tmp3 -#sed '/configure.in/d' configure.in_tmp3 > configure.in_tmp2 -#sed 's/.in / /' configure.in_tmp2 >> configure.in_tmp1 - -echo "])" >> configure.in_tmp1 - -# delete the link created for AC_OUTPUT -#echo "" >> configure.in_tmp1 -#echo 'rm -f ${ROOT_SRCDIR}/salome_adm' >> configure.in_tmp1 -\mv configure.in_tmp1 configure.in_new -\rm -f configure.in_tmp2 configure.in_tmp3 - - -######################################################################## -# Create new (or replace old) configure.in file -# Print a message if the file is write protected -# - -echo -if test ! -f configure.in -then - echo -n "Creating new file 'configure.in' ... " - if \mv configure.in_new configure.in >& /dev/null - then - echo "done" - else - echo "error, check your file permissions" - fi -else - echo -n "Updating 'configure.in' file ... " - if ! \cp configure.in configure.in_old >& /dev/null - then - echo - echo - echo "Can't backup previous configure.in" - echo -n "Continue (you will not be able to revert) - (Y/N) ? " - read R - case "x$R" in - xn*) exit;; - xN*) exit;; - esac - echo - echo -n " " - fi - if \cp configure.in_new configure.in >& /dev/null - then - echo "done" - else - echo - echo "error, can't update previous configure.in" - fi -fi - -######################################################################## -# Use autoconf to rebuild the configure script -# - -if test -f configure -then - echo -n "Updating 'configure' script ... " -else - echo -n "Creating 'configure' script ... " -fi - -aclocal -I adm_local/unix/config_files -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ - -I ${GUI_ROOT_DIR}/adm_local/unix/config_files \ - -I ${MED_ROOT_DIR}/adm_local/unix/config_files -if autoconf -then - echo "done" -else - echo "failed (check file permissions and/or user quotas ...)" -fi - -cd ${ORIG_DIR} - -echo +mkdir -p salome_adm/unix/config_files +cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files/* salome_adm/unix/config_files +cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/pythonbe.py salome_adm/unix + +# remove KERNEL deprecated configure files +for deprecated in ac_cc_warnings.m4 ac_cxx_partial_specialization.m4 \ + check_mico.m4 config.guess ltmain.sh ac_cxx_bool.m4 ltconfig \ + ac_cxx_typename.m4 check_pthreads.m4 config.sub libtool.m4 ac_cxx_mutable.m4 +do + rm salome_adm/unix/config_files/${deprecated} +done + +cp -f ${KERNEL_ROOT_DIR}/salome_adm/unix/SALOMEconfig.h.in salome_adm/unix + +# ____________________________________________________________________ +# aclocal creates the aclocal.m4 file from the standard macro and the +# custom macro embedded in the directory salome_adm/unix/config_files +# and KERNEL config_files directory. +# output: +# aclocal.m4 +# autom4te.cache (directory) +echo "====================================================== aclocal" + +aclocal -I adm_local/unix/config_files -I salome_adm/unix/config_files -I ${GUI_ROOT_DIR}/adm_local/unix/config_files -I ${MED_ROOT_DIR}/adm_local/unix/config_files || exit 1 + +# ____________________________________________________________________ +# libtoolize creates some configuration files (ltmain.sh, +# config.guess and config.sub). It only depends on the libtool +# version. The files are created in the directory specified with the +# AC_CONFIG_AUX_DIR() tag (see configure.ac). +# output: +# salome_adm/unix/config_files/config.guess +# salome_adm/unix/config_files/config.sub +# salome_adm/unix/config_files/ltmain.sh +#echo "====================================================== libtoolize" + +libtoolize --force --copy --automake || exit 1 + +# ____________________________________________________________________ +# make link to KERNEL configuration files to +#ln -sf ${KERNEL_ROOT_DIR}/salome_adm . + +# ____________________________________________________________________ +# autoconf creates the configure script from the file configure.ac (or +# configure.in if configure.ac doesn't exist) +# output: +# configure +echo "====================================================== autoconf" + +autoconf + +# ____________________________________________________________________ +# automake creates some scripts used in building process +# (install-sh, missing, ...). It only depends on the automake +# version. The files are created in the directory specified with the +# AC_CONFIG_AUX_DIR() tag (see configure.ac). This step also +# creates the Makefile.in files from the Makefile.am files. +# output: +# salome_adm/unix/config_files/compile +# salome_adm/unix/config_files/depcomp +# salome_adm/unix/config_files/install-sh +# salome_adm/unix/config_files/missing +# salome_adm/unix/config_files/py-compile +# Makefile.in (from Makefile.am) +echo "====================================================== automake" + +automake --copy --gnu --add-missing diff --git a/clean_configure b/clean_configure new file mode 100755 index 00000000..be0b5427 --- /dev/null +++ b/clean_configure @@ -0,0 +1,15 @@ +#!/bin/sh + +rm -rf autom4te.cache aclocal.m4 configure make_config +find . -name "*~" -print -exec rm {} \; +find . -name "*.pyc" -print -exec rm {} \; +#exit +# ==================== ON SORT AVANT + +find bin -name Makefile.in | xargs rm -f +find doc -name Makefile.in | xargs rm -f +find idl -name Makefile.in | xargs rm -f +find resources -name Makefile.in | xargs rm -f +find salome_adm -name Makefile.in | xargs rm -f +find src -name Makefile.in | xargs rm -f +rm -f Makefile.in diff --git a/configure.in.base b/configure.ac similarity index 74% rename from configure.in.base rename to configure.ac index b96d47bb..971d0d61 100644 --- a/configure.in.base +++ b/configure.ac @@ -1,29 +1,22 @@ -# -# PLEASE DO NOT MODIFY configure.in FILE -# -# ALL CHANGES WILL BE DISCARDED BY THE NEXT -# build_configure COMMAND -# -# CHANGES MUST BE MADE IN configure.in.base FILE -# -# # Author : Marc Tajchman (CEA) # Date : 28/06/2001 # Modified by : Patrick GOLDBRONN (CEA) # Modified by : Marc Tajchman (CEA) -# -# Created from configure.in.base +# Modified by : Mikhail Ponikarov (OCN) # -AC_INIT(src) -AC_CONFIG_AUX_DIR(${KERNEL_ROOT_DIR}/salome_adm/unix/config_files) + +AC_INIT([Salome2 Project VISU module], [4.0.0], [gboulant@CS], [salome]) +AC_CONFIG_AUX_DIR(salome_adm/unix/config_files) AC_CANONICAL_HOST +AC_CANONICAL_TARGET +AM_INIT_AUTOMAKE PACKAGE=salome AC_SUBST(PACKAGE) -VERSION=3.2.2 -XVERSION=0x030202 +VERSION=4.0.0 +XVERSION=0x040000 AC_SUBST(VERSION) AC_SUBST(XVERSION) @@ -163,6 +156,7 @@ echo testing swig echo --------------------------------------------- echo +AM_PATH_PYTHON(2.3) CHECK_SWIG echo @@ -329,15 +323,6 @@ echo echo "Default ORB : $DEFAULT_ORB" echo -dnl generals files which could be included in every makefile - -AC_SUBST_FILE(COMMENCE) COMMENCE=adm_local/unix/make_commence -AC_SUBST_FILE(CONCLUDE) CONCLUDE=salome_adm/unix/make_conclude -AC_SUBST_FILE(MODULE) MODULE=salome_adm/unix/make_module - -dnl les dependences -AC_SUBST_FILE(DEPEND) DEPEND=salome_adm/unix/depend - dnl We don t need to say when we re entering directories if we re using dnl GNU make becuase make does it for us. if test "X$GMAKE" = "Xyes"; then @@ -346,67 +331,6 @@ else AC_SUBST(SETX) SETX="set -x" fi -# make other build directories -for rep in salome_adm adm_local doc bin/salome include/salome lib${LIB_LOCATION_SUFFIX}/salome share/salome/resources/${MODULE_NAME} idl -do -# if test ! -d $rep ; then -# eval mkdir $rep -# fi - $INSTALL -d $rep -done - -echo -echo --------------------------------------------- -echo copying resource files, shell scripts, and -echo xml files -echo --------------------------------------------- -echo - - -dnl copy resources directories - -#for i in `find $ROOT_SRCDIR -name 'resources' -print` -#do -# local_res=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` -# local_res_dir=`echo $local_res | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` -# mkdir -p $local_res_dir -# cd $local_res_dir -# ln -fs $i -# echo $local_res -# cd $ROOT_BUILDDIR -#done - -dnl copy shells and utilities contained in the bin directory -dnl excluding .in files (treated in AC-OUTPUT below) and CVS -dnl directory - -mkdir -p bin/salome -cd bin/salome -for i in $ROOT_SRCDIR/bin/* -do - local_bin=`echo $i | sed -e "s,$ROOT_SRCDIR,.,"` - case "$local_bin" in - *.in | *~) ;; - ./bin/CVS | ./bin/salome) ;; - *) /usr/bin/install $i .; echo $local_bin ;; - esac -done -cd $ROOT_BUILDDIR - -AC_SUBST_FILE(ENVSCRIPT) ENVSCRIPT=salome_adm/unix/envScript - -dnl copy xml files to the build tree (lib directory) -dnl pourquoi ???? - -#cd lib -#for i in `find $ROOT_SRCDIR -name "*.xml" -print` -#do -# ln -fs $i -# echo `echo $i | sed -e "s,$ROOT_SRCDIR,.,"` -#done -#cd $ROOT_BUILDDIR - - echo echo --------------------------------------------- echo generating Makefiles and configure files @@ -414,7 +338,39 @@ echo --------------------------------------------- echo AC_OUTPUT_COMMANDS([ \ - chmod +x ./bin/* \ + chmod +x ./bin/*; \ ]) -## do not delete this line +# This list is initiated using autoscan and must be updated manually +# when adding a new file .in to manage. When you execute +# autoscan, the Makefile list is generated in the output file configure.scan. +# This could be helpfull to update de configuration. +AC_OUTPUT([ \ + ./salome_adm/unix/SALOMEconfig.h \ + Makefile \ + ./VISU_version.h \ + ./adm_local/Makefile \ + ./adm_local/unix/Makefile \ + ./adm_local/unix/config_files/Makefile \ + ./bin/Makefile \ + ./bin/VERSION \ + ./doc/Makefile \ + ./doc/salome/Makefile \ + ./doc/salome/gui/Makefile \ + ./doc/salome/tui/Makefile \ + ./doc/salome/tui/VISU/doxyfile \ + ./doc/salome/tui/VISU/sources/static/tree.js \ + ./idl/Makefile \ + ./resources/VISUCatalog.xml \ + ./resources/Makefile \ + ./src/Makefile \ + ./src/CONVERTOR/Makefile \ + ./src/PIPELINE/Makefile \ + ./src/OBJECT/Makefile \ + ./src/VVTK/Makefile \ + ./src/GUITOOLS/Makefile \ + ./src/VISU_I/Makefile \ + ./src/VISUGUI/Makefile \ + ./src/VISU_SWIG/Makefile \ + ./src/ENGINE/Makefile +]) diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 00000000..68f247f8 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,22 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +SUBDIRS= salome + +EXTRA_DIST= html \ No newline at end of file diff --git a/doc/Makefile.in b/doc/Makefile.in deleted file mode 100644 index 2d5fa1d9..00000000 --- a/doc/Makefile.in +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 30/11/2001 -# $Header$ -# -# source path -top_srcdir=@top_srcdir@ -top_builddir=.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ - -SUBDIRS= salome - -@COMMENCE@ - -docs: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -usr_docs: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -dev_docs: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -clean: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -distclean: clean - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -install: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done - -uninstall: - @@SETX@; for d in $(SUBDIRS); do \ - (cd $$d && $(MAKE) $@) || exit 1; \ - done diff --git a/doc/salome/Makefile.in b/doc/salome/Makefile.am similarity index 50% rename from doc/salome/Makefile.in rename to doc/salome/Makefile.am index d1f8eafa..35fbf228 100644 --- a/doc/salome/Makefile.in +++ b/doc/salome/Makefile.am @@ -1,5 +1,4 @@ -# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,61 +16,20 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# -* Makefile *- -# -# Author : Patrick GOLDBRONN (CEA) -# Date : 30/11/2001 # $Header$ -# -# source path -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ SUBDIRS= tui gui SUBDIRSTUI= tui SUBDIRSGUI= gui -@COMMENCE@ - usr_docs: @@SETX@; for d in $(SUBDIRSGUI); do \ (cd $$d && $(MAKE) $@) || exit 1; \ - done; \ + done; docs: usr_docs dev_docs: @@SETX@; for d in $(SUBDIRSTUI); do \ (cd $$d && $(MAKE) $@) || exit 1; \ - done; \ - -clean: - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/VISU; then \ - (cd $$d && $(MAKE) $@) || exit 1; \ - fi; \ - done - -distclean: clean - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/VISU; then \ - (cd $$d && $(MAKE) $@) || exit 1; \ - fi; \ - done - -install: - $(MAKE) docs - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/VISU; then \ - (cd $$d && $(MAKE) $@); \ - fi; \ - done - -uninstall: - @@SETX@; for d in $(SUBDIRS); do \ - if test -d $$d/VISU; then \ - (cd $$d && $(MAKE) $@) || exit 1; \ - fi; \ - done; \ + done; diff --git a/doc/salome/gui/Makefile.in b/doc/salome/gui/Makefile.am similarity index 79% rename from doc/salome/gui/Makefile.in rename to doc/salome/gui/Makefile.am index b40c0333..a3bc3e40 100644 --- a/doc/salome/gui/Makefile.in +++ b/doc/salome/gui/Makefile.am @@ -1,5 +1,4 @@ -# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,17 +16,13 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# File : Makefile.in +# File : Makefile.am # Author : Vasily Rusyaev (Open Cascade NN) # Module : doc -# $Header: -top_srcdir=@top_srcdir@ -top_builddir=../../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ +include $(top_srcdir)/adm_local/unix/make_common_starter.am -@COMMENCE@ +EXTRA_DIST+=VISU usr_docs: cp -fr $(srcdir)/VISU ./ @@ -35,16 +30,14 @@ usr_docs: docs: usr_docs -clean: +clean-local: rm -fr `ls | grep -v "Makefile"` - -distclean: clean rm -fr VISU -install: +install-data-local: usr_docs mkdir -p $(docdir)/gui cp -rf VISU $(docdir)/gui -find $(PWD) -name CVS -prune -exec rm -rf {} \; -uninstall: +uninstall-local: rm -rf $(docdir)/gui/VISU diff --git a/doc/salome/gui/VISU/animation_in_gauss_viewer.htm b/doc/salome/gui/VISU/animation_in_gauss_viewer.htm index ee412bbf..ce0201dd 100755 --- a/doc/salome/gui/VISU/animation_in_gauss_viewer.htm +++ b/doc/salome/gui/VISU/animation_in_gauss_viewer.htm @@ -1,183 +1,218 @@ - - - - - -Animation in Gauss Viewer - - - - - - - - - - - - -

Recording in Gauss Viewer

- -

In the addition - to the Animation at Time stamps available - for all Post-Pro presentations, Gauss - Viewer gives the possibility to record AVI clips of user actions. - This functionality is available at any time for all contents of the 3D - Viewer, including Animation or Segmentation.

- -

 

- -

To start the video recording session click Start -  button. - After it you will see a standard dialog box allowing input the file name - for AVI clip and browse for the location.

- -

 

- -

- -

 

- -

Then you'll be asked to define Recording - Properties:

- -

 

- -

- -

 

- -
    - -
  • Settings

  • -
- -
    - -
  • Save to file - you can change the name of the file you've - chosen for saving.

  • - -
  • Mode - allows - to choose from two recording - regimes:

  • - -
  • Recording all displayed - frames - records exactly at the FPS - rate specified by the user.  

  • - -
  • Recording at a given - FPS - records only when the contents - of the viewer change (some activity is performed).  In - the AVI file non-recorded images are substituted with the copies of the - latest recorded image, which produces files with lower quality but requires - less system resources.  

  • - -
  • FPS - allows - to define the FPS (frames per second) rate for the clip. Set greater value - for better quality.  

  • - -
  • Quality - allows - to set the quality of the clip in the interval between 0 and 100. -

  • - -
  • Progressive - allows to record a progressive API file. -

  • -
- -

 

- -

After you click OK, the recording will start and all your actions in - the viewer will be recorded.

- -

Note that if you change the size of the 3D viewer window, the avi file - would be corrupt.

- -

 

- -

Press Stop button - to finish video recording or Pause - button to suspend it. If the recording is just paused, - you can always continue it by clicking Play - button.

- -

 

- - - - + + + + + +Animation in Gauss Viewer + + + + + + + + + + + + + +

Recording in Gauss Viewer

+ +

In the addition + to the Animation at Time stamps available + for all Post-Pro presentations, Gauss + Viewer gives the possibility to record AVI clips of user actions. + This functionality is available at any time for all contents of the 3D + Viewer, including Animation or Segmentation.

+ +

 

+ +

To start the video recording session click Start +  button. + After it you will see a standard dialog box allowing input the file name + for AVI clip and browse for the location.

+ +

 

+ +

+ +

 

+ +

Then you'll be asked to define Recording + Properties:

+ +

 

+ +

+ +

 

+ +
    + +
  • Settings

  • +
+ +
    + +
  • Save to file - you can change the name of the file you've + chosen for saving.

  • + +
  • Mode - allows + to choose from two recording + regimes:

  • + +
  • Recording all displayed + frames - records exactly at the FPS + rate specified by the user.  

  • + +
  • Recording at a given + FPS - records only when the contents + of the viewer change (some activity is performed).  In + the AVI file non-recorded images are substituted with the copies of the + latest recorded image, which produces files with lower quality but requires + less system resources.  

  • + +
  • FPS - allows + to define the FPS (frames per second) rate for the clip. Set greater value + for better quality.  

  • + +
  • Quality - allows + to set the quality of the clip in the interval between 0 and 100. +

  • + +
  • Progressive - allows to record a progressive API file. +

  • +
+ +

 

+ +

After you click OK, the recording + will start and all your actions in the viewer will be recorded.

+ +

Note that if you change the size of the 3D viewer window, the avi file + would be corrupt.

+ +

 

+ +

Press Stop button + to finish video recording or Pause + button to suspend it. If the recording is just paused, + you can always continue it by clicking Play + button.

+ +

 

+ +

This functionality  works + only if there is jpeg2yuv utility + installed on your computer. If this third-party product is missing, the + Recording buttons will be disabled. + This utility is a part of  mjpegtool + package, which can be downloaded from http://mjpeg.sourceforge.net/. +  Run "which jpeg2yuv" + to check whether this tool has been installed and the path to it was properly + added to your PATH variable. If not, you need to activate mjpegtools + indicating its location in the variable PATH. The syntax of the + command should be as follows:  

+ +

export PATH=${INSTALL_ROOT}/mjpegtools-1.8.0/bin:${PATH}.

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/clipping.htm b/doc/salome/gui/VISU/clipping.htm index c2e3a4d0..dd1375ce 100755 --- a/doc/salome/gui/VISU/clipping.htm +++ b/doc/salome/gui/VISU/clipping.htm @@ -1,168 +1,168 @@ - - - - - -Clipping - - - - - - - - - - - - -

Clipping

- -

Using this menu you can create cross-section views (clipping planes) - of your presentation.

- -

 

- -

To start, click on the New button. - A new clipping plane will be immediately displayed in 3D Viewer. You can - create as many clipping planes as you need. To delete an unwanted plane, - select in the list of planes and click Delete - button.   

- -

 

- -

- -

 

- -

Now you can define the parameters of your cross-section. You can define - them either in Non Structured - or in IJK (Structured) way.  

- -

 

- -

Non Structured mode allows to - select the clipping plane by adjusting the following parameters:

- -

 

- -
    - -
  • Orientation - - allows to choose horizontal (X-Y) or vertical (Y-Z and Z-X) orientation - of the clipping plane;

  • - -
  • Distance is - defined between the opposite extremities - of the object (if it is set to 0.5 the object is split in two halves); -

  • - -
  • Rotation - (in angle degrees) allows to rotate the clipping plane about the axes - defining the orientation plane.

  • - -
  • Show preview - - displays the clipping plane in the 3D Viewer. -

  • - -
  • Auto Apply - - automatically hides from view - the part of object truncated by the plane.

  • -
- -

 

- -

- -

 

- -

In the IJK (Structured) mode - the clipping plane will be oriented completely perpendicular to one of - the selectable Axes.

- -
    - -
  • Index - gives the choice of several possible positions of the plane.

  • - -
  • Reverse normal - - allows to select which part of the object should be truncated.  

  • - -
  • Show preview - - displays the clipping plane in the 3D Viewer. -

  • - -
  • Auto Apply - - automatically hides from view - the part of object truncated by the plane.

  • -
- - - - + + + + + +Clipping + + + + + + + + + + + + +

Clipping

+ +

Using this menu you can create cross-section views (clipping planes) + of your presentation.

+ +

 

+ +

To start, click on the New button. + A new clipping plane will be immediately displayed in 3D Viewer. You can + create as many clipping planes as you need. To delete an unwanted plane, + select in the list of planes and click Delete + button.   

+ +

 

+ +

+ +

 

+ +

Now you can define the parameters of your cross-section. You can define + them either in Non Structured + or in IJK (Structured) way.  

+ +

 

+ +

Non Structured mode allows to + select the clipping plane by adjusting the following parameters:

+ +

 

+ +
    + +
  • Orientation + - allows to choose horizontal (X-Y) or vertical (Y-Z and Z-X) orientation + of the clipping plane;

  • + +
  • Distance is + defined between the opposite extremities + of the object (if it is set to 0.5 the object is split in two halves); +

  • + +
  • Rotation + (in angle degrees) allows to rotate the clipping plane about the axes + defining the orientation plane.

  • + +
  • Show preview + - displays the clipping plane in the 3D Viewer. +

  • + +
  • Auto Apply - + automatically hides from view + the part of object truncated by the plane.

  • +
+ +

 

+ +

+ +

 

+ +

In the IJK (Structured) mode + the clipping plane will be oriented completely perpendicular to one of + the selectable Axes.

+ +
    + +
  • Index + gives the choice of several possible positions of the plane.

  • + +
  • Reverse normal + - allows to select which part of the object should be truncated.  

  • + +
  • Show preview + - displays the clipping plane in the 3D Viewer. +

  • + +
  • Auto Apply - + automatically hides from view + the part of object truncated by the plane.

  • +
+ + + + diff --git a/doc/salome/gui/VISU/creating_tables.htm b/doc/salome/gui/VISU/creating_tables.htm index 108dc20c..1d240226 100755 --- a/doc/salome/gui/VISU/creating_tables.htm +++ b/doc/salome/gui/VISU/creating_tables.htm @@ -1,145 +1,145 @@ - - - - - -Creating tables - - - - - - - - - - - - - -

Creating - tables from Cut Lines presentations

- -

In Post Pro you can create a table, which - will be composed of the scalar values applied to the cells forming a Cut Lines presentation.

- -

 

- -

To create a table from Cut Lines presentation:

- -

 

- -

1.  Create - a Cut Lines presentation.

- -

 

- -

2.  In - the Object Browser or in the viewer right-click on your presentation and - from the pop-up menu select Create Table

- -

 

- -

Your new table will be created and displayed - in the Object Browser.

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +Creating tables + + + + + + + + + + + + + +

Creating + tables from Cut Lines presentations

+ +

In Post Pro you can create a table, which + will be composed of the scalar values applied to the cells forming a Cut Lines presentation.

+ +

 

+ +

To create a table from Cut Lines presentation:

+ +

 

+ +

1.  Create + a Cut Lines presentation.

+ +

 

+ +

2.  In + the Object Browser or in the viewer right-click on your presentation and + from the pop-up menu select Create Table

+ +

 

+ +

Your new table will be created and displayed + in the Object Browser.

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/cshdat_robohelp.htm b/doc/salome/gui/VISU/cshdat_robohelp.htm index 86188b19..ad0cf486 100755 --- a/doc/salome/gui/VISU/cshdat_robohelp.htm +++ b/doc/salome/gui/VISU/cshdat_robohelp.htm @@ -1,258 +1,258 @@ - - -Post-Pro Module Reference Manual - - - - - - - - - - - - - - - - - + + +Post-Pro Module Reference Manual + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/cshdat_webhelp.htm b/doc/salome/gui/VISU/cshdat_webhelp.htm index 28ae1d23..78a4777a 100755 --- a/doc/salome/gui/VISU/cshdat_webhelp.htm +++ b/doc/salome/gui/VISU/cshdat_webhelp.htm @@ -1,251 +1,251 @@ - - -Post-Pro Module Reference Manual - - - - - - - - - - - - - - - - - + + +Post-Pro Module Reference Manual + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/default.css b/doc/salome/gui/VISU/default.css index de2e5d95..1f8d6d77 100755 --- a/doc/salome/gui/VISU/default.css +++ b/doc/salome/gui/VISU/default.css @@ -1,101 +1,101 @@ -BODY { - background-color:#ffffff; - font-family:"Times New Roman" , serif; } -H1 { - font-weight:bold; - font-size:24.0pt; } -LI.kadov-H1 { - font-weight:bold; - font-size:24.0pt; } -H2 { - font-weight:bold; - font-size:18.0pt; } -LI.kadov-H2 { - font-weight:bold; - font-size:18.0pt; } -H3 { - font-weight:bold; - font-size:14.0pt; } -LI.kadov-H3 { - font-weight:bold; - font-size:14.0pt; } -H4 { - font-weight:bold; - font-size:12.0pt; } -LI.kadov-H4 { - font-weight:bold; - font-size:12.0pt; } -H5 { - font-weight:bold; - font-size:10.0pt; } -LI.kadov-H5 { - font-weight:bold; - font-size:10.0pt; } -H6 { - font-weight:bold; - font-size:8.0pt; } -LI.kadov-H6 { - font-weight:bold; - font-size:8.0pt; } -P { - font-size:12.0pt; - margin-top:0pt; - margin-bottom:0pt; } -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; } -UL { - margin-top:0px; - margin-bottom:0px; } -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; } +BODY { + background-color:#ffffff; + font-family:"Times New Roman" , serif; } +H1 { + font-weight:bold; + font-size:24.0pt; } +LI.kadov-H1 { + font-weight:bold; + font-size:24.0pt; } +H2 { + font-weight:bold; + font-size:18.0pt; } +LI.kadov-H2 { + font-weight:bold; + font-size:18.0pt; } +H3 { + font-weight:bold; + font-size:14.0pt; } +LI.kadov-H3 { + font-weight:bold; + font-size:14.0pt; } +H4 { + font-weight:bold; + font-size:12.0pt; } +LI.kadov-H4 { + font-weight:bold; + font-size:12.0pt; } +H5 { + font-weight:bold; + font-size:10.0pt; } +LI.kadov-H5 { + font-weight:bold; + font-size:10.0pt; } +H6 { + font-weight:bold; + font-size:8.0pt; } +LI.kadov-H6 { + font-weight:bold; + font-size:8.0pt; } +P { + font-size:12.0pt; + margin-top:0pt; + margin-bottom:0pt; } +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; } +UL { + margin-top:0px; + margin-bottom:0px; } +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; } diff --git a/doc/salome/gui/VISU/default_ns.css b/doc/salome/gui/VISU/default_ns.css index 3eeb3c49..46e8b001 100755 --- a/doc/salome/gui/VISU/default_ns.css +++ b/doc/salome/gui/VISU/default_ns.css @@ -1,118 +1,118 @@ -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:1pt; - margin-bottom:1pt; - 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:1px; } -ol ul { - margin-top:1px; } -ul ul { - margin-top:1px; } -ul ol { - margin-top:1px; } +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:1pt; + margin-bottom:1pt; + 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:1px; } +ol ul { + margin-top:1px; } +ul ul { + margin-top:1px; } +ul ol { + margin-top:1px; } diff --git a/doc/salome/gui/VISU/ehelp.xml b/doc/salome/gui/VISU/ehelp.xml index dbe4e806..73f4ecda 100755 --- a/doc/salome/gui/VISU/ehelp.xml +++ b/doc/salome/gui/VISU/ehelp.xml @@ -1,10 +1,10 @@ - - - - - - - - WebSearch - + + + + + + + + WebSearch + \ No newline at end of file diff --git a/doc/salome/gui/VISU/ehlpdhtm.js b/doc/salome/gui/VISU/ehlpdhtm.js index 6cfd2e46..7bcb2499 100755 --- a/doc/salome/gui/VISU/ehlpdhtm.js +++ b/doc/salome/gui/VISU/ehlpdhtm.js @@ -1,4239 +1,4239 @@ -// eHelp® Corporation Dynamic HTML JavaScript -// Copyright© 1998-2003 eHelp® Corporation.All rights reserved. -// Version=4.82 - -// 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 gbBsOpera = (gstrBsAgent.indexOf('opera') != -1); -var gbBsKonqueror = (gstrBsAgent.indexOf('konqueror') != -1); -var gbBsSafari = (gstrBsAgent.indexOf('safari') != -1); -var gbBsIE = (gstrBsAgent.indexOf('msie') != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; -var gbBsNS = (gstrBsAgent.indexOf('mozilla') != -1) && ((gstrBsAgent.indexOf('spoofer') == -1) && (gstrBsAgent.indexOf('compatible') == -1)) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari; - -var gbBsMac = (gstrBsAgent.indexOf('mac') != -1); -var gbBsWindows = ((gstrBsAgent.indexOf('win') != -1) || (gstrBsAgent.indexOf('16bit') != -1)); -var gbBsSunOS = (gstrBsAgent.indexOf("sunos") != -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 gbBsNS7 = false; - -var gbBsIE4 = ((gbBsIE) && (gnBsVer >= 4)); -var gbBsIE5 = false; -var gbBsIE55 = false; - -var gbBsOpera6 = false; -var gbBsOpera7 = false; - -var gbBsKonqueror3 = false; - - - -gbBsIE = (navigator.appName.indexOf("Microsoft") != -1) && !gbBsOpera && !gbBsKonqueror && !gbBsSafari;; -if (gbBsIE) -{ - if (parseInt(navigator.appVersion) >= 4) { - gbBsIE4 = true; - 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; - } - } -} -if (gbBsNS6) -{ - var nPos=gstrBsAgent.indexOf("gecko"); - if(nPos!=-1) - { - var nPos2=gstrBsAgent.indexOf("/", nPos); - if(nPos2!=-1) - { - var nVersion=parseFloat(gstrBsAgent.substring(nPos2+1)); - if (nVersion>=20020823) - gbBsNS7=true; - } - } -} -if (gbBsOpera) -{ - var nPos = gstrBsAgent.indexOf("opera"); - if(nPos!=-1) - { - var nVersion = parseFloat(gstrBsAgent.substring(nPos+6)); - if (nVersion >= 6) - { - gbBsOpera6=true; - if (nVersion >=7) - gbBsOpera7=true; - } - } -} -if (gbBsKonqueror) -{ - var nPos = gstrBsAgent.indexOf("konqueror"); - if(nPos!=-1) - { - var nVersion = parseFloat(gstrBsAgent.substring(nPos+10)); - if (nVersion >= 3) - { - gbBsKonqueror3=true; - } - } -} - -function insertAdjacentHTML(obj, where, htmlStr) -{ - if (gbBsIE || gbBsOpera7) - { - obj.insertAdjacentHTML(where, htmlStr); - } - else if (gbBsNS6 || gbBsSafari) - { - var r = obj.ownerDocument.createRange(); - r.setStartBefore(obj); - var parsedHTML = r.createContextualFragment(htmlStr); - - switch (where){ - case 'beforeBegin': - obj.parentNode.insertBefore(parsedHTML,obj); - break; - case 'afterBegin': - obj.insertBefore(parsedHTML,obj.firstChild); - break; - case 'beforeEnd': - obj.appendChild(parsedHTML); - break; - case 'afterEnd': - if (obj.nextSibling){ - obj.parentNode.insertBefore(parsedHTML,obj.nextSibling); - } else { - obj.parentNode.appendChild(parsedHTML); - } - break; - } - } -} - -// 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 = getElementsByTag(document,"BODY")[0]; - if( typeof(objBody) == "object" ) - { - insertAdjacentHTML(objBody, "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&&!gbBsNS6) { -//Do not try to write ininle styles for NS! NS can not handle it and will not stop downloading the html page... - document.write("
"); - } else{ - document.write(""); - if (!(gbBsNS4&&!gbBsNS6)) { - document.write(""); - } - } - g_bIsPopupMenuInit = true; - } -} - -//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'; - } 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 || gbBsOpera7) { - - layerPopup = getElement("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 || gbBsKonqueror3||gbBsSafari) { - layerPopup = getElement("PopupMenu"); - layerPopup.style.visibility = "hidden"; - - if (gbBsNS6) - { - var e = fn_arguments[0]; - nEventX = e.pageX; - nEventY = e.pageY; - } - else - { - nEventX = window.event.clientX; - nEventY = window.event.clientY; - } - _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||gbBsOpera7) - e.srcElement.className = "PopupOver"; - else if (gbBsNS6) - e.target.parentNode.className = "PopupOver"; - return; -} - -function PopupMenu_Out(e) -{ - if (gbBsIE4||gbBsOpera7) - e.srcElement.className = "PopupNotOver"; - else if (gbBsNS6) - e.target.parentNode.className = "PopupNotOver"; - return; -} - -function PopupMenu_HandleClick(e) -{ - if (window.gbPopupMenuTimeoutExpired) { - window.gbInPopupMenu = false; - if (gbBsNS4 && !gbBsNS6) { - window.releaseEvents(Event.MOUSEDOWN); - } - - var layerPopup = null; - if (gbBsNS4&&!gbBsNS6) { - layerPopup = document.layers.PopupMenu; - layerPopup.visibility = "hide"; - } else { - layerPopup = getElement("PopupMenu"); - layerPopup.style.visibility = "hidden"; - } - - if (gOlddocumentClick) - { - if (gbBsNS4 && !gbBsNS6) - document.onmousedown = gOlddocumentClick; - else - document.onclick = gOlddocumentClick; - } - } - return; -} - -function BSSCPopup_ClickMac() -{ - if ((!DHTMLPopupSupport()) && (gbBsIE4 || gbBsOpera7)) - { - 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 = getParentNode(el); - } - } - 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 && !gbBsOpera7) - 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 - -//variables used to isolate the browser type -var gBsStyVisShow = null; -var gBsStyVisHide = null; -var gBsClientWidth = 640; -var gBsClientHeight = 480; - -// 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 getElement(getPopupTopicID(nIndex)).style; -} - -function getPopupShadowStyle(nIndex) -{ - return getElement(getPopupShadowID(nIndex)).style; -} - -function getPopupIFrame(nIndex) -{ - if (gbBsNS6) - return eval("window.frames['" + getPopupIFrameName(nIndex) + "']"); - else - return eval("document.frames['" + getPopupIFrameName(nIndex) + "']"); -} - -function getPopupDivStyle(nIndex) -{ - return getElement(getPopupID(nIndex)).style; -} - -function getPopupIFrameStyle(nIndex) -{ - return getElement(getPopupIFrameID(nIndex)).style; -} - - -function findDiv(strURL) -{ - for (var 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) -{ - for (var 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() -{ - for (var 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() -{ - for (var i = 0; i < arrayPopupURL.length; i ++ ) - { - getPopupDivStyle(i).visibility = gBsStyVisHide; - getPopupIFrameStyle(i).visibility = gBsStyVisHide; - } -} - -function getCurrentPopupIFrame() -{ - for (var 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; -} - -//Here is the browser type -function _BSPSGetBrowserInfo() -{ - if (gbBsNS4&&!gbBsNS6) - { - gBsStyVisShow = "show"; - gBsStyVisHide = "hide"; - } - else - { - gBsStyVisShow = "visible"; - gBsStyVisHide = "hidden"; - } -} - -_BSPSGetBrowserInfo(); - -//Get client size info -function _BSPSGetClientSize() -{ - if (gbBsNS4||gbBsKonqueror3||gbBsSafari) - { - gBsClientWidth = innerWidth; - gBsClientHeight = innerHeight; - } - else if (gbBsIE4 || gbBsOpera7) - { - 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))||gbBsOpera7|| gbBsNS7) { - return true; - } - return false; -} - -function BSSCPopup_IsPopup() -{ - if (DHTMLPopupSupport() && (this.name.indexOf(gstrPopupIFrameName) != -1)) { - return true; - } else if ((gbBsNS4 || gbBsIE4 || gbBsOpera7) && (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. (bsscright) -if (BSSCPopup_IsPopup() && !gbBsIE4 && !gbBsOpera7) { - 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 = getElementsByTag(document, "BODY")[0]; - if( typeof(objBody) != "object" ) - return; - - insertAdjacentHTML(objBody, "beforeEnd", strPopupDiv); -} - -function handleLoadNS() -{ - if (this.id) - { - var nIndex = parseInt(this.id.substring(gstrPopupIFrameID.length)); - BSSCPopup_PostWork(nIndex); - } -} - -function BSSCPopup_PostWork(nIndex) -{ - getPopupDivStyle(nIndex).visibility = gBsStyVisShow; - getPopupIFrameStyle(nIndex).visibility =gBsStyVisShow; - - setClear(nIndex); - window.gbPopupTimeoutExpired = true; - - BSSCPopup_ChangeTargettoParent(getPopupIFrame(nIndex).document); - if (gbBsNS6) - getPopupIFrame(nIndex).document.body.addEventListener("click",BSSCPopupClicked,false); - else - getPopupIFrame(nIndex).document.body.onclick = BSSCPopupClicked; - - if (!gbOrignalOnMouseDown && document.onmousedown) - gbOrignalOnMouseDown = document.onmousedown; - - if (gbBsNS6) - document.addEventListener("mousedown", BSSCPopupParentClicked,false); - else - document.onmousedown = BSSCPopupParentClicked; -} - -function BSSCPopup_Timeout(nIndex, nToken) -{ - if (!IsValidToken(nToken)) return; - - if (gbBsNS6||((getPopupIFrame(nIndex).document.readyState == "complete") && - (getPopupIFrame(nIndex).document.body != null))) { - BSSCPopup_PostWork(nIndex); - } 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 = getElementsByTag(tagsObject, "A"); - BSSCPopup_ChangeTargettoParent2(collA); - - var collIMG = getElementsByTag(tagsObject,"IMG"); - BSSCPopup_ChangeTargettoParent2(collIMG); -} - -function BSSCPopup_ChangeTargettoParent2(colls) -{ - if (colls != null) { - for (var j = 0; j < colls.length; j ++ ) - { - var strtemp = colls[j].href; - if (strtemp) - { - 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()) { - 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; - var gnBsUnload=0; - window.onbeforeunload = window_BUnload; -} - -function window_BUnload() -{ - gnBsUnload++; - if (gnBsUnload>1) - return; - for (var i = 0; i < arrayPopupURL.length; i ++) - removeThis(document.all(getPopupID(i))); - arrayPopupURL.length = 0; - if (ehlpdhtm_fOldBefureUnload) - ehlpdhtm_fOldBefureUnload(); -} - -function _BSSCPopup2(strURL, width, height) -{ - if (gbBsOpera6&&gbBsMac) - { - var wmTemp = window.open(document.location.href, gstrPopupSecondWindowName); - wmTemp.close(); - setTimeout("_BSSCPopup3(\""+strURL+"\","+width+","+height+");",100); - } - else - _BSSCPopup3(strURL, width, height); -} - -function _BSSCPopup3(strURL, width, height) -{ - if (window.name == gstrPopupSecondWindowName) { - window.location = strURL; - } else { - if (!gbBsMac || !gbBsNS4) { - 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 (gbBsNS) { - if (gbBsNS6) { - strParam += ",Height=" + nHeight + ",Width=" + nWidth; - strParam += ",screenX=" + nX + ",screenY=" + nY; - strParam += ",dependent=yes"; - } - 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; - } - if (gbBsSafari) - { - if (window.gPopupWindow) - window.gPopupWindow.close(); - window.gPopupWindow = window.open(strURL, "", strParam); - window.gPopupWindow.name = gstrPopupSecondWindowName; - window.gPopupWindow.moveTo(nX, nY); - widnow.gPopupWindow.document.location.reload(); - } - else - { - var wmTemp=null; - if (gbBsKonqueror3) - { - if (window.gPopupWindow) - window.gPopupWindow.close(); - } - if (gbBsOpera&&gbBsMac) - { - wmTemp= window.open(document.location.href, "Temp", strParam); - } - window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam); - if (!gbBsIE) - window.gPopupWindow.focus(); - - if (wmTemp) - wmTemp.close(); - } - - if (gbBsNS4) - setEventHandle(); - else if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) - setTimeout("setPopupFocus();", 100); - } - return; -} - -function setEventHandle() -{ - window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUR); - window.gPopupWindow.onclick = NonIEPopup_HandleClick; - window.gPopupWindow.onblur = NonIEPopup_HandleBlur; -} - -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.href.indexOf("javascript:")==-1) - { - if (e.target.target=="") - window.location.href = e.target.href; - else - window.open(e.target.href, e.target.target); - this.close(); - } - } - else - this.close(); - return false; -} - -function BSSCPopup_AfterLoad(nIndex, nToken, cuswidth, cusheight) -{ - if (!window.getPopupIFrame(nIndex).document) { - _BSSCPopup2(getPopupURL(nIndex), cuswidth, cusheight); - return; - } - - if (!IsValidToken(nToken)) return; - - if (gbBsNS6) - { - setAbsPopupURL(nIndex, window.getPopupIFrame(nIndex).document.location.href); // change URL to abs url. - BSSCPopup_ResizeAfterLoad(nIndex, nToken, cuswidth, cusheight); - 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; - getPopupIFrameStyle(nIndex).visibility = gBsStyVisHide; - - // Determine the width and height for the window - _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. - - getPopupDivStyle(nIndex).width = nWidth; - getPopupDivStyle(nIndex).height = nHeight; - - getPopupShadowStyle(nIndex).width = nWidth; - getPopupShadowStyle(nIndex).height = nHeight; - getPopupTopicStyle(nIndex).width = nWidth; - getPopupTopicStyle(nIndex).height = nHeight; - if (gbBsIE55) - { - getPopupShadowStyle(nIndex).width = nWidth + 2; - getPopupShadowStyle(nIndex).height = nHeight + 2; - getPopupTopicStyle(nIndex).width = nWidth + 2; - getPopupTopicStyle(nIndex).height = nHeight + 2; - } - - getPopupIFrameStyle(nIndex).width = nWidth; - getPopupIFrameStyle(nIndex).height = nHeight; - if (gbBsIE55 || gbBsNS6) - { - getPopupIFrameStyle(nIndex).top = 0; - getPopupIFrameStyle(nIndex).left = 0; - } - - var strURL = getPopupURL(nIndex); - if (strURL.indexOf("#") != -1&&gbBsNS6) - getPopupIFrame(nIndex).location.reload(); - else if (strURL.indexOf("#") != -1||gbBsNS6) - getPopupIFrame(nIndex).location.href = strURL; // reload again, this will fix the bookmark misunderstand in IE5. - - MoveDivAndShow(nIndex, nToken, cuswidth, cusheight); -} - -function getScrollLeft() -{ - if (document.body.scrollLeft) - return document.body.scrollLeft; - else if (window.pageXOffset) - return window.pageXOffset; - else - return 0; -} - -function getScrollTop() -{ - if (document.body.scrollTop) - return document.body.scrollTop; - else if (window.pageYOffset) - return window.pageYOffset; - else - return 0; -} - - -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 = parseInt(getPopupDivStyle(nIndex).width); - var nHeight = parseInt(getPopupDivStyle(nIndex).height); - - if (nClickY + nHeight + 20 < gBsClientHeight + getScrollTop()) { - nTop = nClickY + 10; - } else { - nTop = (getScrollTop() + gBsClientHeight) - nHeight - 20; - } - if (nClickX + nWidth < gBsClientWidth + getScrollLeft()) { - nLeft = nClickX; - } else { - nLeft = (getScrollLeft() + gBsClientWidth) - nWidth - 8; - } - - if (nTop < getScrollTop()) nTop = getScrollTop() + 1; - if (nLeft< getScrollLeft()) nLeft = getScrollLeft() + 1; - - getPopupDivStyle(nIndex).left = nLeft; - getPopupDivStyle(nIndex).top = nTop; - - // Set the location of the background blocks - getPopupShadowStyle(nIndex).left = 6; - getPopupShadowStyle(nIndex).top = 6; - if (gbBsIE55) - { - getPopupShadowStyle(nIndex).left = 4; - getPopupShadowStyle(nIndex).top = 4; - } - - if (gbBsMac&&gbBsIE4) { - // Total hack on the iMac to get the IFrame to position properly - getPopupIFrameStyle(nIndex).pixelLeft = 100; - getPopupIFrameStyle(nIndex).pixelLeft = 0; - // Explicitly call BSSCOnLoad because the Mac doesn't seem to do it - getPopupIFrame(nIndex).window.BSSCOnLoad(); - } - - if (gbBsNS6&&IsDirty(nIndex)) - getElement(getPopupIFrameID(nIndex)).addEventListener("load", handleLoadNS, false); - else - BSSCPopup_Timeout(nIndex , nToken ); - return; -} - -function BSSCSize(x, y) -{ - this.x = x; - this.y = y; -} - -function BSSCGetContentSize(thisWindow, size) -{ - if (!gbBsIE4 && !gbBsOpera7 && !gbBsNS4) - return; - - if ((gbBsMac&&gbBsIE4)||gbBsNS4||gbBsOpera7) { - size.x = 320; - size.y = 180; - 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'; - } - } - 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; - 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; - } - 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; - } - } - } - 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 isInsideHyperLink(obj) -{ - if (obj&&obj!=getParentNode(obj)) - { - if (obj.tagName=="A"||obj.tagName=="IMG") - return true; - else - return isInsideHyperLink(getParentNode(obj)); - } - else - return false; -} - -function BSSCPopupClicked(e) -{ - if (!window.gbPopupTimeoutExpired) { - return false; - } - - var popupIFrame = getCurrentPopupIFrame(); - if (popupIFrame == null) { - return true; - } - - if (gbBsIE4 && (!((popupIFrame.window.event != null) && - (popupIFrame.window.event.srcElement != null) && - isInsideHyperLink(popupIFrame.window.event.srcElement)))) { - document.onmousedown = gbOrignalOnMouseDown; - - // Simply hide the popup - hideAll(); - window.gbPopupTimeoutExpired = false; - return true; - } - else if (gbBsNS6 && (!((e != null) && - (e.target!= null) && isInsideHyperLink(e.target)))) - { - document.addEventListener("mousedown", gbOrignalOnMouseDown,false); - // Simply hide the popup - hideAll(); - window.gbPopupTimeoutExpired = false; - return true; - } -} - -//trace the mouse over's position for hotspot -function BSPSPopupOnMouseOver(event) -{ - if (gbBsIE4 || gbBsOpera7||gbBsKonqueror3) { - window.gnPopupClickX = event.clientX + getScrollLeft(); - window.gnPopupClickY = event.clientY + getScrollTop(); - window.gnPopupScreenClickX = event.screenX; - window.gnPopupScreenClickY = event.screenY; - } else if (gbBsSafari) { - window.gnPopupClickX = event.clientX + getScrollLeft(); - window.gnPopupClickY = event.clientY + getScrollTop(); - window.gnPopupScreenClickX = event.screenX + window.screenX; - window.gnPopupScreenClickY = event.screenY + window.screenY; - } else if (gbBsNS4) { - 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 (gbBsNS4) { - 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) - -function BSSCCreatePopupDiv() -{ - return; -} - -function WritePopupMenuLayer() -{ - if (BsscHasExtJs()) {_WritePopupMenuLayer();} -} - -function BSSCPopup(strURL, width, height) -{ - var re = new RegExp("'", 'g'); - strURL = strURL.replace(re, "%27"); - - if (BsscHasExtJs()) { - _BSSCPopup(strURL, width, height); - }else{ - //Create a temporary window first to ensure the real popup comes up on top - var wndTemp = null; - if (!gbBsNS3) { - 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 (!gbBsNS3) { - wndTemp.close(); - } else { - wndPopup.focus(); - } - } -} - -var gbWndTemp = null, gbWndPopupLinks = null; -var gbstrParaTotal = ""; - -function PopupMenu_Invoke() -{ - if (typeof(wfRelatedTopic) == 'function' && typeof(IsFlashSupported) == 'function') - { - if (Number(gsSkinVersion) > 2 && IsFlashSupported()) - { - return wfRelatedTopic(PopupMenu_Invoke.arguments); - } - } - if (BsscHasExtJs()) { - return _PopupMenu_Invoke(PopupMenu_Invoke.arguments); - } - if (gbBsNS3Before || gbBsIE3Before ) { - 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 (gbBsNS2){ - strParaLine += "" - strParaLine += PopupMenu_Invoke.arguments[2 * i + 2]; - strParaLine += ""; - } else { - strParaLine += ""); - if (gbBsNS2) { - 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 (!gbBsNS3 && 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( typeof(el) == "string" ) - el = getElement(el); - - var src = el.getAttribute( "x-use-popup" ); - var bNeedMove=true; - if(!src&&el.id) - { - for (var i=0;i"); - 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 + "
"; - - removeThis(srcDiv); // empty the original DIV tag - var elParentPra = kadovFindParentParagraph(el); - if( elParentPra ) - insertAdjacentHTML(elParentPra, "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 = ""; - removeThis(srcDiv); // empty the original DIV tag - insertAdjacentHTML(el, "afterEnd", newSpan ); - } - } - } - else - { - srcDiv.style.display = "none"; - } - return 0; -} - -function getElementsByTag(obj,sTagName) -{ - if(obj.getElementsByTagName) - return obj.getElementsByTagName(sTagName); - else if(obj.all) - return obj.all.tags(sTagName); - return null; -} - -function getElement(sID) -{ - if(document.getElementById) - return document.getElementById(sID); - else if(document.all) - return document.all(sID); - return null; -} - -function getParentNode(obj) -{ - if(obj.parentNode) - return obj.parentNode; - else if(obj.parentElement) - return obj.parentElement; - return null; -} - -function getChildNodes(obj) -{ - if(obj.childNodes) - { - var children = new Array(); - for (var i = 0; i < obj.childNodes.length; i++) - { - if (obj.childNodes[i].nodeType == 1) - children[children.length] = obj.childNodes[i]; - } - return children; - } - else if(obj.children) - return obj.children; - return null; -} - -function removeThis(obj) -{ - if(obj.parentNode) - obj.parentNode.removeChild(obj); - else - obj.outerHTML=""; -} - -function kadovTextPopup( el ) -{ - if (!gbBsIE4 && !gbBsOpera7 && !gbBsSafari && !gbBsNS6 && !gbBsKonqueror3 ) - return; - - var bNeedMove=true; - - if (window.event) - window.event.cancelBubble = true; - - if( typeof(el) == "string" ) - el = getElement(el); - - if (!el||el==window) - return; - - var src = el.getAttribute( "x-use-popup" ); - if(!src&&el.id) - { - for (var 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( (!gbBsWindows && !gbBsSunOS && !(gbBsMac&&gbBsIE5)) || 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.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( gbBsNS4 ) - 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( gbBsNS4 ) - 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( gbBsNS4 ) - 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( gbBsNS4 ) - obj.bgColor = color; - else - obj.style.backgroundColor = color; -} - -CCSSP.ShowObject = function(obj, bShow) -{// set the object to be visible or invisible - if( gbBsNS4 ) - 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( gbBsNS4 ) - return obj.left; - else - return obj.style.pixelLeft; -} - -CCSSP.GetObjectTop = function(obj) -{// retrieve the y coordinate of a posionable object - if( gbBsNS4 ) - 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( gbBsNS4 ) - 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( gbBsNS4 ) - 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( gbBsNS4 ) - 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( gbBsNS4 ) - 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( gbBsNS4 ) - return obj.clip.height; - else - return obj.offsetHeight; -} - -CCSSP.GetObjectWidth = function(obj) -{// retrieve the width of a posionable object - if( gbBsNS4 ) - 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 (gbBsNS4 && !gbBsNS6) - return ; - - var oldHandler = ""; - - if (gbBsMac &&gbBsIE4&&!gbBsIE5) - { - if (typeof(srcObj[rawEventName.toLowerCase()])=="unknown") - { //search for - - - - - - - - - -

Structure of MED objects

- -

 In Post-Pro module - 3d representations are constructed on the base of  submeshes - representing parts of a mesh, which is stored in form of MED objects in - *.med files. Each MED object has its own user-defined structure.

- -

 

- -

In general, the mesh - represents an object including the following types of data:

- -

 

- -

 - - Geometrical information: list - of nodes, edges, faces and cells of the mesh;

- -

 - - Information on the interpolation in - accordance with resulting elements: the mesh should be compatible - with chosen interpolation;

- -

 - - Physical information: initial - and boundary conditions. (Scalar or vector values applied to the cells - of the mesh)

- -

 

- -
- -

 

- -

            

- -

Families

- -

From - general point of view, the whole mesh is divided into families, - submeshes created by the user. Every - family is composed of cells of a definite type  - - it can be Nodes, Edges, Faces or Cells. The presentation created - on the basis of a particular family will - be composed of geometrical elements, corresponding to the type of cells - of this family.  

- -

 

- -
- - --- - - - - - - - - - - - - - - - - - - - - -
-

Type of cells (entities) of the family

-

Geometrical element

-

Nodes

-

Points

-

Edges

-

Segments

-

Faces

-

Triangles, quadrangles

-

Cells

-

Any

-
-

Table of correspondence

- -

 

- -

 In - the folder Families all families - of the mesh are put into the following subfolders, defining the type of - cells of the mesh: onNodes, onEdges, - onFaces, onCells.

- -

These - subfolders also represent submeshes of the mesh, which are composed of - all cells of the mesh of this type.

- -

Groups

- -

Groups - combine different families independently of the type of cells, - they are composed of.

- -

 

- -

Fields

- -

Fields represent the results of calculations - (scalar or vector values), grouped together under one physical concept. -

- -

These - values are applied to the cells of a definite submesh, which is indicated - in the Object Browser in the subfolder of the field. -

- -

Most - often the calculations are performed during some period of time. That's - why fields include Time - Stamps, representing the results of calculations in one definite - moment. In Post-Pro field presentations - are constructed basing on these Time - Stamps. (See: Creating - field presentations)  

- -

 

- -

-Related Topics - - -

- -

 

- -

 

- -

 

- -

 

- - - - + + + + + +About structure of MED object + + + + + + + + + + + + +

Structure of MED objects

+ +

 In Post-Pro module + 3d representations are constructed on the base of  submeshes + representing parts of a mesh, which is stored in form of MED objects in + *.med files. Each MED object has its own user-defined structure.

+ +

 

+ +

In general, the mesh + represents an object including the following types of data:

+ +

 

+ +

 - + Geometrical information: list + of nodes, edges, faces and cells of the mesh;

+ +

 - + Information on the interpolation in + accordance with resulting elements: the mesh should be compatible + with chosen interpolation;

+ +

 - + Physical information: initial + and boundary conditions. (Scalar or vector values applied to the cells + of the mesh)

+ +

 

+ +

The structure of MED + object has a tree-like form. It contains three main folders: Families, Groups, Fields.

+ +

 

+ +

            

+ +

Families

+ +

From + general point of view, the whole mesh is divided into families, + submeshes created by the user. Every + family is composed of cells of a definite type  - + it can be Nodes, Edges, Faces or Cells. The presentation created + on the basis of a particular family will + be composed of geometrical elements, corresponding to the type of cells + of this family.  

+ +

 

+ +
+ + +++ + + + + + + + + + + + + + + + + + + + + +
+

Type of cells (entities) of the family

+

Geometrical element

+

Nodes

+

Points

+

Edges

+

Segments

+

Faces

+

Triangles, quadrangles

+

Cells

+

Any

+
+

Table of correspondence

+ +

 

+ +

 In + the folder Families all families + of the mesh are put into the following subfolders, defining the type of + cells of the mesh: onNodes, onEdges, + onFaces, onCells.

+ +

These + subfolders also represent submeshes of the mesh, which are composed of + all cells of the mesh of this type.

+ +

Groups

+ +

Groups + combine different families independently of the type of cells, + they are composed of.

+ +

 

+ +

Fields

+ +

Fields represent the results of calculations + (scalar or vector values), grouped together under one physical concept. +

+ +

These + values are applied to the cells of a definite submesh, which is indicated + in the Object Browser in the subfolder of the field. +

+ +

Most + often the calculations are performed during some period of time. That's + why fields include Time + Stamps, representing the results of calculations in one definite + moment. In Post-Pro field presentations + are constructed basing on these Time + Stamps. (See: Creating + field presentations)  

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/about_tables.htm b/doc/salome/gui/VISU/files/about_tables.htm index c0051dd2..ab5213d8 100755 --- a/doc/salome/gui/VISU/files/about_tables.htm +++ b/doc/salome/gui/VISU/files/about_tables.htm @@ -1,153 +1,153 @@ - - - - - -About tables - - - - - - - - - - - - - -

About tables

- -

Functionality of Post-Pro component allows to import - data tables and display them in a special table viewer. Tables - represent column-ranged data with units - and column and row - titles (see also).

- -

 

- -

Tables can be rarefied - - some of the cells may be empty, without any values.

- -

 

- -

In Post-Pro - there are  three - methods to import tables:

- -

 

- -

1. -  Importing - tables from *.xls, *.txt or *.tab files, which have been previously created.

- -

 

- -

2. -  Creating - tables on the basis of Cut Lines presentations

- -

 

- -

3. -   Importing - tables with the help of a special Python script (not described in this - reference manual)

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +About tables + + + + + + + + + + + + + +

About tables

+ +

Functionality of Post-Pro component allows to import + data tables and display them in a special table viewer. Tables + represent column-ranged data with units + and column and row + titles (see also).

+ +

 

+ +

Tables can be rarefied + - some of the cells may be empty, without any values.

+ +

 

+ +

In Post-Pro + there are  three + methods to import tables:

+ +

 

+ +

1. +  Importing + tables from *.xls, *.txt or *.tab files, which have been previously created.

+ +

 

+ +

2. +  Creating + tables on the basis of Cut Lines presentations

+ +

 

+ +

3. +   Importing + tables with the help of a special Python script (not described in this + reference manual)

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/animating_presentations.htm b/doc/salome/gui/VISU/files/animating_presentations.htm index f807eb49..df79eedc 100755 --- a/doc/salome/gui/VISU/files/animating_presentations.htm +++ b/doc/salome/gui/VISU/files/animating_presentations.htm @@ -1,334 +1,385 @@ - - - - - -Animating presentations - - - - - - - - - - - - - -

Animating presentations

- -

In Post-Pro - module you can generate real-time animation of fields. In comparison - with sweeping, animations are created on the - base of frames, displaying field presentations generated on EVERY - Time Stamp of your field. So, the frame displaying the field presentation - created on the base of the first time stamp will begin your animation - and the frame displaying the field presentation created on the base of - the last time stamp will end it. In sweeping ONLY - ONE Time Stamp is used for its generation.

- -

 

- -

To generate an animation:

- -

 

- -

1. -  Right-click - on the field in the Object Browser.

- -

 

- -

2. -  From the - pop-up menu select Animation.

- -

 

- -

The following dialog - box will appear:

- -

                       

- -

 

- -

 

- -

Animation - dialog box is destined for management of your animation.

- -

 

- -

In Post-Pro you can - generate simultaneous animation - of several fields: you can open - this dialog for several fields one after another and after generating - frames you can launch simultaneous animation of several fields.

- -

 

- -

3. - Click Setup Animation button. - The following dialog box allowing to set the parameters of your animation - will appear.

- -

 

- -

           

- -

 

- -

- - Use range of time stamps check - box allows to select the range of time stamps, which will be used for - generating your animation.

- -

 

- -

- - Fields: list of fields for animation.

- -

 

- -

- Properties: Here you can adjust properties - of each field selected from the list:

- -

 

- -
    - -
  •  Select - the type of field presentations, - which will be used as frames in animation.

  • - -
  •  Set - properties of the Scalar Bar (see also)

  • - -
  •  Adjust - additional properties of the selected - type of field presentation.

  • -
- -

 

- -

4. -  Click OK to validate your parameters. You - will return back to Animation dialog - box

- -

 

- -

5. -  Click Generate frames button to generate the - frames for your animation based on the parameters adjusted in Setup - Animation dialog box.

- -

 

- -

Running animations:

- -

 

- -

In - the main Animation dialog box - there are several button intended for management and running your animation:

- -

 

- -

       Running - your animation.

- -

 

- -

        Previous / Next - frame (time step)

- -

 

- -

        To the beginning - / end of the animation.

- -

 

- -

Additional options of the animation:

- -

 

- -

You - can increase/decrease the speed - of your animation by moving the Speed - wheel Up/Down:

- -

 

- -

       

- -

 

- -

Cycled - animation check box: This option allows to start a cycled animation - of your presentation.

- -

 

- -

Use proportional timing check - box: This option allows render your animation with proportional periods - of time between every frame (not depending on the time stamps).

- -

 

- -

Save - pictures to directory check box: This option allows to save all - the frames composing the animation into a definite directory, which can - be specified in Path field.

- -

 

- -

Publish - to Study - saves your animation in the study and presents it in - the Object Browser

- -

Save - Animation - saves changes made in the published animation. If you - have already published a study and press Publish - to study again you get another animation in the Object Browser. -

- -

 

- -

The - following picture shows an animation of deformation of an object:

- -

 

- -

- -

 

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +Animating presentations + + + + + + + + + + + + + +

Animating presentations

+ +

In Post-Pro + module you can generate real-time animation of fields. In comparison + with sweeping, animations are created on the + base of frames, displaying field presentations generated on EVERY + Time Stamp of your field. So, the frame displaying the field presentation + created on the base of the first time stamp will begin your animation + and the frame displaying the field presentation created on the base of + the last time stamp will end it. In sweeping ONLY + ONE Time Stamp is used for its generation.

+ +

 

+ +

In the case of animation of several fields + Parallel Animation will display + the animations simultaneously, while Successive Animation will display them + one after another.

+ +

In the case of + Parallel Animation you can set different kinds of presentations + for each of the selected fields. This animation type also requires that + the number of time stamps > 1 and is the same for all animated fields. +

+ +

For Successive + Aimation the kind of presentation + should be the same for all selected fields, which means that it is not + possible to select a field from the list.  It + is also necessary that the number of time stamps > 0 and the number + of components is the same for all animated fields.

+ +

 

+ +

To generate an animation:

+ +

 

+ +

1. +  Right-click + on the field in the Object Browser.

+ +

2. +  From the + pop-up menu select Parallel or Successive Animation.

+ +

 

+ +

The following dialog + box will appear:

+ +

                       

+ +

 

+ +

 

+ +

Animation + dialog box is destined for management of your animation.

+ +

 

+ +

3. + Click Setup Animation button. + The following dialog box allowing to set the parameters of your animation + will appear.

+ +

 

+ +

           

+ +

 

+ +

- + Use range of time stamps check + box allows to select the range of time stamps, which will be used for + generating your animation.

+ +

 

+ +

- + Fields: list of fields for animation.

+ +

 

+ +

- Properties: Here you can adjust properties + of each field selected from the list:

+ +

 

+ +
    + +
  •  Select + the type of field presentations, + which will be used as frames in animation.

  • + +
  •  Set + properties of the Scalar Bar (see also)

  • + +
  •  Adjust + additional properties of the selected + type of field presentation.

  • +
+ +

 

+ +

4. +  Click OK to validate your parameters. You + will return back to Animation dialog + box

+ +

 

+ +

5. +  Click Generate frames button to generate the + frames for your animation based on the parameters adjusted in Setup + Animation dialog box.

+ +

 

+ +

Running animations:

+ +

 

+ +

In + the main Animation dialog box + there are several button intended for management and running your animation:

+ +

 

+ +

       Running + your animation.

+ +

 

+ +

        Previous / Next + frame (time step)

+ +

 

+ +

        To the beginning + / end of the animation.

+ +

 

+ +

Additional options of the animation:

+ +

 

+ +

You + can increase/decrease the speed + of your animation by moving the Speed + wheel Up/Down:

+ +

 

+ +

       

+ +

 

+ +

Cycled + animation check box: This option allows to start a cycled animation + of your presentation.

+ +

 

+ +

Use proportional timing check + box: This option allows to render your animation with proportional periods + of time between every frame (not depending on the time stamps).

+ +

 

+ +

Clean memory at each frame - this + option allows to optimize the performance of the operation.

+ +

 

+ +

Saving Animations:

+ +

 

+ +

Save + pictures to directory check box: This option allows to save all + the frames composing the animation into a definite directory, which can + be specified in Path field.

+ +

 

+ +

Save + Animation to AVI file check box This option allows to save the + animation into a definite .avi file, which can be specified in Path + field.

+ +

 

+ +

Save animation to AVI file + works only if there is jpeg2yuv + utility installed on your computer. If this third-party product is missing, + the check-box will not be selectable. This utility is a part of  mjpegtool + package, which can be downloaded from http://mjpeg.sourceforge.net/. +  Run "which jpeg2yuv" + to check whether this tool has been installed and the path to it was properly + added to your PATH variable. If not, you need to activate mjpegtools + indicating its location in the variable PATH. The syntax of the + command should be as follows:  

+ +

export PATH=${INSTALL_ROOT}/mjpegtools-1.8.0/bin:${PATH}.

+ +

 

+ +

Save + Animation - saves changes made in the published animation. If you + have already published a study and press Publish + to study again you get another animation in the Object Browser. +

+ +

 

+ +

Publish + to Study - saves your animation in the study and presents it in + the Object Browser

+ +

 

+ +

The + following picture shows an animation of deformation of an object:

+ +

 

+ +

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/changing_visualization_parameters_of_the_presenetation.htm b/doc/salome/gui/VISU/files/changing_visualization_parameters_of_the_presenetation.htm index 4bb665b6..5df43c6b 100755 --- a/doc/salome/gui/VISU/files/changing_visualization_parameters_of_the_presenetation.htm +++ b/doc/salome/gui/VISU/files/changing_visualization_parameters_of_the_presenetation.htm @@ -1,329 +1,333 @@ - - - - - -Setting presentation view parameters - - - - - - - - - - - - - -

Viewing 3D presentations. -

- -

Each  newly - created presentation is displayed in VTK viewer. To display an existing - presentation, right-click on it in the Object Browser and select Display.  

- -

 

- -

Right mouse-click on the Presentation gives access to the following - options:

- -

 

- -

- -

 

- -

All parameters are context-sensitive: - NOT all types of visualization and NOT all properties can be set for a - certain 3D presentation.                            

- -

 

- -
    - -
  • Erase all - allows - to hide all objects from the viewer.  

  • - -
  • Edit - allows - to return to the menu where the presentation has been created and change - its parameters.

  • - -
  • Rename - - allows to rename the presentation.

  • - -
  • Copy - - allows to create a copy of the presentation in the same subfolder (time - stamp) in the Object Browser.

  • - -
  • Erase - - allows to hide the selected presentation from the viewer.

  • - -
  • Display Only - - allows to display only the selected presentation, hiding all other from - the viewer.

  • - -
  • Representation - allows to switch among the available representation - types.

  • -
- -

 

- - ---- - - - - - - - - - - - - - - - - - - - -
-

Points

-

Surface

-

Wireframe

-

-

-

-

Insideframe (displays the wires - lying within the object)

-

Shrink

-

Shading on

-

-

-

- -

 

- -
    - -
  • Properties

  • - -
  • Opacity - - allows to set the value of opacity - of the presentation between 0 (transparent) and 100 (opaque).

  • -
- -

 

- -

- -

 

- -
    - -
  • Line - Width - allows to set the width of - lines representing edges of the presentation between 1 (thin) and 100 - (thick).

  • -
- -
    - -
  • Translate - Presentation - allows to translate - the presentation along coordinate axes.

  • - -
  • Clipping - Planes - allows to create cross-section - views of presentations.

  • - -
  • Sweep - - allows to display pseudo-animation - of the presentation.

  • - -
  • Selection - Info - provides information about - the attributes of elements displayed in the viewer.

  • - -
  • Dump view - exports - an object from the viewer in bmp, png, jpg or jpeg image format.

  • - -
  • Change - Background - allows to change the properties of the background.

  • -
- -

 

- -

When you create several presentations of the same - object, you may wish to see them simultaneously,  which - might be impossible, because they all are located at the same place. To - solve this problem, right-click in the viewer and select Arrange - Actors in the pop-up menu.    

- -

 

- -

- -

 

- -

In Auto - mode you specify along which Axis - and at which Relative Distance - the presentations should be lined up.

- -

 

- -

- -

 

- -

In Manual - mode you set the coordinates for each presentation separately.

- -

 

- -

 

- -

Displaying several presentations at the same time - may cause superposition of their scalar bars. To avoid this, check Arrange Scalar Bars radio button  in - the Preferences - > Post-Pro - > - Scalar Bar. A separate scalar bar will be displayed for each presentation. -

- -

Alternatively you may wish to merge the - scalar bars to have a common scalar bar for all presentations. To do this, - select several presentations or fields in the object browser, right-click - and from the pop-up menu select  Merge Scalar Range. -

- -

To restore separate bars and scales for - each module select Use Field Range - from the same menu.

- -

 

- -

 

- - - - + + + + + +Setting presentation view parameters + + + + + + + + + + + + + +

Viewing 3D presentations. +

+ +

Each  newly + created presentation is displayed in the VTK + 3D Viewer. VTK 3D Viewer + is detailly described in the documentation on + GUI module.

+ +

To display an existing presentation, right-click on it in the Object + Browser and select Display.  

+ +

 

+ +

Right mouse-click on the Presentation gives access to the following + options:

+ +

 

+ +

+ +

 

+ +

All parameters are context-sensitive: + NOT all types of visualization and NOT all properties can be set for a + certain 3D presentation.                            

+ +

 

+ +
    + +
  • Erase all - allows + to hide all objects from the viewer.  

  • + +
  • Edit - allows + to return to the menu where the presentation has been created and change + its parameters.

  • + +
  • Rename + - allows to rename the presentation.

  • + +
  • Copy - + allows to create a copy of the presentation in the same subfolder (time + stamp) in the Object Browser.

  • + +
  • Erase + - allows to hide the selected presentation from the viewer.

  • + +
  • Display Only + - allows to display only the selected presentation, hiding all other from + the viewer.

  • + +
  • Representation - allows to switch among the available representation + types.

  • +
+ +

 

+ + ++++ + + + + + + + + + + + + + + + + + + + +
+

Points

+

Surface

+

Wireframe

+

+

+

+

Insideframe (displays the wires + lying within the object)

+

Shrink

+

Shading on

+

+

+

+ +

 

+ +
    + +
  • Properties

  • + +
  • Opacity + - allows to set the value of opacity + of the presentation between 0 (transparent) and 100 (opaque).

  • +
+ +

 

+ +

+ +

 

+ +
    + +
  • Line + Width - allows to set the width of + lines representing edges of the presentation between 1 (thin) and 100 + (thick).

  • +
+ +
    + +
  • Translate + Presentation - allows to translate + the presentation along coordinate axes.

  • + +
  • Clipping + Planes - allows to create cross-section + views of presentations.

  • + +
  • Sweep + - allows to display pseudo-animation + of the presentation.

  • + +
  • Selection + Info - provides information about + the attributes of elements displayed in the viewer.

  • + +
  • Dump view - exports + an object from the viewer in bmp, png, jpg or jpeg image format.

  • + +
  • Change + Background - allows to change the properties of the background.

  • +
+ +

 

+ +

When you create several presentations of the same + object, you may wish to see them simultaneously,  which + might be impossible, because they all are located at the same place. To + solve this problem, right-click in the viewer and select Arrange + Actors in the pop-up menu.    

+ +

 

+ +

+ +

 

+ +

In Auto + mode you specify along which Axis + and at which Relative Distance + the presentations should be lined up.

+ +

 

+ +

+ +

 

+ +

In Manual + mode you set the coordinates for each presentation separately.

+ +

 

+ +

 

+ +

Displaying several presentations at the same time + may cause superposition of their scalar bars. To avoid this, check Arrange Scalar Bars radio button  in + the Preferences - > Post-Pro - > + Scalar Bar. A separate scalar bar will be displayed for each presentation. +

+ +

Alternatively you may wish to merge the + scalar bars to have a common scalar bar for all presentations. To do this, + select several presentations or fields in the object browser, right-click + and from the pop-up menu select  Merge Scalar Range. +

+ +

To restore separate bars and scales for + each module select Use Field Range + from the same menu.

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/creating_curves.htm b/doc/salome/gui/VISU/files/creating_curves.htm index 44674d83..b75af456 100755 --- a/doc/salome/gui/VISU/files/creating_curves.htm +++ b/doc/salome/gui/VISU/files/creating_curves.htm @@ -1,231 +1,231 @@ - - - - - -Creating curves - - - - - - - - - - - - - -

Creating curves

- -

Post-Pro functionality allows to create  Curve - lines  on - the basis of the data taken from tables, and to display these curves in - form of 2D plot using Plot2d viewer.

- -

 

- -

To create curves:

- -

 

- -

1. -  Right-click - on the required table in the Object Browser

- -

 

- -

2.  From - the pop-up menu choose Create Curves - option.

- -

 

- -

3.  The - following dialog box will appear:

- -

 

- -

- -

 

- -

This dialog box has the form of a table; - each row of this table represents one column of values of the imported - data table.

- -

To construct curve lines, you should choose - at least two columns of the data table by checking them in the Axis - part of the  dialog - box:

- -
    - -
  • H (horisontal) - the values of this - column will correspond to X-coordinates of the curve.

  • - -
  • V (vertical) - the values of this column - will correspond to Y-coordinates of the curve.

  • -
- -


-The column Assigned allows to represent - the values assigned to the points of the curve (possible for V-rows only). - Any row, even coinciding with the current or empty (no values assigned), - can be represented. All values are indicated with tool tips over the corresponding - curve points in the Plot2d viewer
-
-To define the  Attributes - of your curve remove the checkmark from Auto - assign  (if - it is checked, default attributes are taken) and select:

- -
    - -
  • Line type (None, Solid, Dash, Dot, Dash - - Dot, Dash - Dot - Dot),

  • - -
  • Line - width,

  • - -
  • Marker - type (Circle, - Rectangle, Diamond, Rightward, Leftward, Downward & Upward Triangle, - Cross or Diagonal Cross),

  • - -
  • Color - (using the standard Select Color menu).

  • -
- -

 

- -

From this dialog box you can create several curves for the - columns of your data table with the same units. Post-Pro - allows to display at once up to 200 curves.

- -

 

- -

4. -  Click OK to create your curves with the given - parameters. Post-Pro will automatically - create your curve or curves in the structure of the study under two SALOME - objects:

- -

-  SALOME - table object,

- -

-  Plot2DView object: - SALOME container of curve lines which will be created automatically.

- -

 

- -

 

- -

 

- -

 

- - - - + + + + + +Creating curves + + + + + + + + + + + + + +

Creating curves

+ +

Post-Pro functionality allows to create  Curve + lines  on + the basis of the data taken from tables, and to display these curves in + form of 2D plot using Plot2d viewer.

+ +

 

+ +

To create curves:

+ +

 

+ +

1. +  Right-click + on the required table in the Object Browser

+ +

 

+ +

2.  From + the pop-up menu choose Create Curves + option.

+ +

 

+ +

3.  The + following dialog box will appear:

+ +

 

+ +

+ +

 

+ +

This dialog box has the form of a table; + each row of this table represents one column of values of the imported + data table.

+ +

To construct curve lines, you should choose + at least two columns of the data table by checking them in the Axis + part of the  dialog + box:

+ +
    + +
  • H (horisontal) - the values of this + column will correspond to X-coordinates of the curve.

  • + +
  • V (vertical) - the values of this column + will correspond to Y-coordinates of the curve.

  • +
+ +


+The column Assigned allows to represent + the values assigned to the points of the curve (possible for V-rows only). + Any row, even coinciding with the current or empty (no values assigned), + can be represented. All values are indicated with tool tips over the corresponding + curve points in the Plot2d viewer
+
+To define the  Attributes + of your curve remove the checkmark from Auto + assign  (if + it is checked, default attributes are taken) and select:

+ +
    + +
  • Line type (None, Solid, Dash, Dot, Dash + - Dot, Dash - Dot - Dot),

  • + +
  • Line + width,

  • + +
  • Marker + type (Circle, + Rectangle, Diamond, Rightward, Leftward, Downward & Upward Triangle, + Cross or Diagonal Cross),

  • + +
  • Color + (using the standard Select Color menu).

  • +
+ +

 

+ +

From this dialog box you can create several curves for the + columns of your data table with the same units. Post-Pro + allows to display at once up to 200 curves.

+ +

 

+ +

4. +  Click OK to create your curves with the given + parameters. Post-Pro will automatically + create your curve or curves in the structure of the study under two SALOME + objects:

+ +

-  SALOME + table object,

+ +

-  Plot2DView object: + SALOME container of curve lines which will be created automatically.

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/creating_field_presentations.htm b/doc/salome/gui/VISU/files/creating_field_presentations.htm index 7028152b..bd34dde5 100755 --- a/doc/salome/gui/VISU/files/creating_field_presentations.htm +++ b/doc/salome/gui/VISU/files/creating_field_presentations.htm @@ -1,171 +1,171 @@ - - - - - -Creating field presentations - - - - - - - - - - - - - -

Creating field presentations

- -

To create a field presentation (see - also):

- -

 

- -

Right-click on one of the time stamps of this - field in the Object browser and choose the required type of presentation - from the following pop-up menu:

- -

 

- -

             

- -

 

- -

In Post-Pro fields - may contain both scalar and vector values, applied to the cells of the - submesh, as well as ONLY scalar - values. It is not possible to make a vector presentation for fields containing - only scalar values.

- -

 

- -

For - fields containing only scalar values, you can create the following types - of presentation:

- -

 

- -

                         

- -

 

- -

- - Click on one of the time stamps of this field in the Object browser and - select the required type of presentation from the  Visualization - submenu of the main menu - or from the Visualization Toolbar

- -

 

- -

The new field presentation will be located - in the time stamp subfolder in the Object Browser and displayed

- -

 

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +Creating field presentations + + + + + + + + + + + + + +

Creating field presentations

+ +

To create a field presentation (see + also):

+ +

 

+ +

Right-click on one of the time stamps of this + field in the Object browser and choose the required type of presentation + from the following pop-up menu:

+ +

 

+ +

             

+ +

 

+ +

In Post-Pro fields + may contain both scalar and vector values, applied to the cells of the + submesh, as well as ONLY scalar + values. It is not possible to make a vector presentation for fields containing + only scalar values.

+ +

 

+ +

For + fields containing only scalar values, you can create the following types + of presentation:

+ +

 

+ +

                         

+ +

 

+ +

- + Click on one of the time stamps of this field in the Object browser and + select the required type of presentation from the  Visualization + submenu of the main menu + or from the Visualization Toolbar

+ +

 

+ +

The new field presentation will be located + in the time stamp subfolder in the Object Browser and displayed

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/creating_presentations.htm b/doc/salome/gui/VISU/files/creating_presentations.htm index 16608476..7e5c95e1 100755 --- a/doc/salome/gui/VISU/files/creating_presentations.htm +++ b/doc/salome/gui/VISU/files/creating_presentations.htm @@ -1,138 +1,138 @@ - - - - - -Creating presentations - - - - - - - - - - - - - -

Presentation of a submesh

- -

To create a presentation of a submesh:

- -

 

- -

In the Object Browser right-click on a submesh - of an imported MED object and from the pop-up menu choose Create - Presentation:

- -

 

- -

                       This - presentation will be displayed in the viewer:

- -

 

- -

            

- -

 

- -

 

- -

-Related Topics - - -

- -

 

- -

 

- -

 

- - - - + + + + + +Creating presentations + + + + + + + + + + + + + +

Presentation of a submesh

+ +

To create a presentation of a submesh:

+ +

 

+ +

In the Object Browser right-click on a submesh + of an imported MED object and from the pop-up menu choose Create + Presentation:

+ +

 

+ +

                       This + presentation will be displayed in the viewer:

+ +

 

+ +

            

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/creating_xy_plot.htm b/doc/salome/gui/VISU/files/creating_xy_plot.htm index bb68a0cd..ae6f02f5 100755 --- a/doc/salome/gui/VISU/files/creating_xy_plot.htm +++ b/doc/salome/gui/VISU/files/creating_xy_plot.htm @@ -1,207 +1,207 @@ - - - - - -Creating XY plot - - - - - - - - - - - - - -

Creating XY plots

- -

To create a XY plot based on one definite curve:

- -

 

- -

1.  Select - Plot2d viewer: from the main menu choose Window - > New Window > Plot2d View

- -

 

- -

2. In the Object Browser right-click - on this curve line and from the pop-up menu select Display - item.

- -

 

- -

To create a XY plot based on several curves:

- -

 

- -

1.  Select - Plot2d viewer: from the main menu choose Window - > New Window > Plot2d View

- -

 

- -

2. In - the Object Browser right-click on the Post-Pro object - and from the pop-up menu select Create Plot2D View.

- -

 

- -

3. Right-click on the name of this container - in the Object Browser and select Edit - item. The following dialog box will appear:

- -

 

- -

- -

 

- -

 

- -

 This box contains - two windows:

- -

 

- -

- Left window displays a list of curve lines, - which have been created in the study.

- -

 

- -

- Right window displays a list of curve lines - contained in this particular container. These curves will used for creation - of the XY plot.

- -

 

- -

To move a definite curve line from the study - into the container, select it in the left window of this dialog box and - click button.  

- -

      

- -

To - move a definite curve line from the container back into the study, select - it in the right window of this dialog box and click button. -

- -

 

- -

After - having chosen the curve lines, which will compose your XY plot, click - OK button to quit this dialog - box. In the Object Browser the references to the selected curve lines - will be created under your container:

- -

 

- -

4. - Right-click on the name of the container in the Object Browser and select - Display button. A XY plot consisting - of the previously selected curve lines, will be displayed in the viewer:

- -

 

- -

- -

       

- -

     

- - - - + + + + + +Creating XY plot + + + + + + + + + + + + + +

Creating XY plots

+ +

To create a XY plot based on one definite curve:

+ +

 

+ +

1.  Select + Plot2d viewer: from the main menu choose Window + > New Window > Plot2d View

+ +

 

+ +

2. In the Object Browser right-click + on this curve line and from the pop-up menu select Display + item.

+ +

 

+ +

To create a XY plot based on several curves:

+ +

 

+ +

1.  Select + Plot2d viewer: from the main menu choose Window + > New Window > Plot2d View

+ +

 

+ +

2. In + the Object Browser right-click on the Post-Pro object + and from the pop-up menu select Create Plot2D View.

+ +

 

+ +

3. Right-click on the name of this container + in the Object Browser and select Edit + item. The following dialog box will appear:

+ +

 

+ +

+ +

 

+ +

 

+ +

 This box contains + two windows:

+ +

 

+ +

- Left window displays a list of curve lines, + which have been created in the study.

+ +

 

+ +

- Right window displays a list of curve lines + contained in this particular container. These curves will used for creation + of the XY plot.

+ +

 

+ +

To move a definite curve line from the study + into the container, select it in the left window of this dialog box and + click button.  

+ +

      

+ +

To + move a definite curve line from the container back into the study, select + it in the right window of this dialog box and click button. +

+ +

 

+ +

After + having chosen the curve lines, which will compose your XY plot, click + OK button to quit this dialog + box. In the Object Browser the references to the selected curve lines + will be created under your container:

+ +

 

+ +

4. + Right-click on the name of the container in the Object Browser and select + Display button. A XY plot consisting + of the previously selected curve lines, will be displayed in the viewer:

+ +

 

+ +

+ +

       

+ +

     

+ + + + diff --git a/doc/salome/gui/VISU/files/cut_lines_presentation.htm b/doc/salome/gui/VISU/files/cut_lines_presentation.htm index f2bdd25f..73fb3794 100755 --- a/doc/salome/gui/VISU/files/cut_lines_presentation.htm +++ b/doc/salome/gui/VISU/files/cut_lines_presentation.htm @@ -1,272 +1,276 @@ - - - - - -Cut Lines presentation - - - - - - - - - - - - - -

Cut - Lines presentation

- -

Cut Lines is a type of - presentation which displays colored cells with applied scalar values on - the mesh where lines are placed.

- -

The - procedure of construction of Cut Lines - presentation reuses the algorithm of creation Cut - Planes presentation and consists of two steps:

- -
    - -
  1.  From - Cut Planes presentation one plane - is taken and it is used as base plane for construction of cut lines.

  2. - -
  3. This plane is cut by - a regular array of planes. The result of this operation is a regular array - of lines in space,  belonging - to the same plane and having the same orientation. They are located inside - or on the mesh.

  4. -
- -

 

- -

To create a - Cut Lines presentation:

- -

 

- -

- Right-click on one of the time stamps of - the field in the Object browser and from the pop-up menu choose Cut Lines, or

- -

 

- -

- Click on one of the time stamps of the field - in the Object browser and select from the main menu Visualization - > Cut Lines, or click icon - in the Visualization Toolbar.

- -

 

- -

- -

 

- -

Plane of - lines: this tab of the dialog box contains the parameters of the - base plane, on which the cut lines will be located.

- -

 

- -
    - -
  • Orientation - check boxes allow to set the orientation of cut planes in 3D space. - You should select two of three axis (XY, YZ, or ZX) in which your planes - will be located in 3D space

  • - -
  • Rotations - of the planes in 3d space around the axes of the selected orientation. - (The angle of rotation is set in degrees.)

  • - -
  • Base - plane position: position of the base plane. This value can be set - by default or entered manually.  

  • - -
  • Displacement - of the plane. This parameter defines position of the base plane - in 3d space.

  • - -
  • Show - preview check box allows to edit the parameters of the presentation - and simultaneously observe the preview of this presentation in the viewer.

  • - -
  • Invert - all curves check box allows to invert the resulting curves.

  • - -
  • - Generate Data Table: If this check - box is marked, Post Pro will automatically - generate a data table on the basis of your Cut Lines presentation. This - table will be created in the structure of the study.   

  • - -
  • Generate - Curves: If this check box is marked, Post - Pro  will - automatically generate curve lines on the basis of values taken from the - generated data table. These curves will be created in the structure of - the study and can be visualized in a XY plot.  

  • -
- -

See more about table presentations and curve - lines here.

- -

 

- -

Cut - Planes: this tab of the dialog box contains the parameters of cut - planes, which will be used for construction of the cut lines.

- -

 

- -

Scalar Bar - tab allows to define the parameters of the scalar bar displayed - with this presentation (see - also).

- -

 

- -

After - you have finished with setting these parameters, click OK. - Your presentation with scalar bar will be immediately displayed - in the viewer:

- -

    

- -

 

- -

From Cut Lines presentation - you can create a data table. This - table will consist of the field scalar values located on each cut line - of the constructed presentation (see - also: Creating tables from Cut Lines presentations). After that your - data table can be used for construction of a 2d plot of curves based on - the scalar values from the table (see also: Creating - curves and Creating XY plots). -   

- -

 

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +Cut Lines presentation + + + + + + + + + + + + + +

Cut + Lines presentation

+ +

Cut Lines is a type of + presentation which displays colored cells with applied scalar values on + the mesh where lines are placed.

+ +

The + procedure of construction of Cut Lines + presentation reuses the algorithm of creation Cut + Planes presentation and consists of two steps:

+ +
    + +
  1.  From + Cut Planes presentation one plane + is taken and it is used as base plane for construction of cut lines.

  2. + +
  3. This plane is cut by + a regular array of planes. The result of this operation is a regular array + of lines in space,  belonging + to the same plane and having the same orientation. They are located inside + or on the mesh.

  4. +
+ +

 

+ +

To create a + Cut Lines presentation:

+ +

 

+ +

- Right-click on one of the time stamps of + the field in the Object browser and from the pop-up menu choose Cut Lines, or

+ +

 

+ +

- Click on one of the time stamps of the field + in the Object browser and select from the main menu Visualization + > Cut Lines, or click icon + in the Visualization Toolbar.

+ +

 

+ +

+ +

 

+ +

Plane of + lines: this tab of the dialog box contains the parameters of the + base plane, on which the cut lines will be located.

+ +

 

+ +
    + +
  • Orientation + check boxes allow to set the orientation of cut planes in 3D space. + You should select two of three axis (XY, YZ, or ZX) in which your planes + will be located in 3D space

  • + +
  • Rotations + of the planes in 3d space around the axes of the selected orientation. + (The angle of rotation is set in degrees.)

  • + +
  • Base + plane position: position of the base plane. This value can be set + by default or entered manually.  

  • + +
  • Displacement + of the plane. This parameter defines position of the base plane + in 3d space.

  • + +
  • Show + preview check box allows to edit the parameters of the presentation + and simultaneously observe the preview of this presentation in the viewer.

  • + +
  • Invert + all curves check box allows to invert the resulting curves.

  • + +
  • Use + absolute length check box allows to see the real length of the + line, instead of [0,1] interval.

  • + +
  • + Generate Data Table: If this check + box is marked, Post Pro will automatically + generate a data table on the basis of your Cut Lines presentation. This + table will be created in the structure of the study.   

  • + +
  • Generate + Curves: If this check box is marked, Post + Pro  will + automatically generate curve lines on the basis of values taken from the + generated data table. These curves will be created in the structure of + the study and can be visualized in a XY plot.  

  • +
+ +

See more about table presentations and curve + lines here.

+ +

 

+ +

Cut + Planes: this tab of the dialog box contains the parameters of cut + planes, which will be used for construction of the cut lines.

+ +

 

+ +

Scalar Bar + tab allows to define the parameters of the scalar bar displayed + with this presentation (see + also).

+ +

 

+ +

After + you have finished with setting these parameters, click OK. + Your presentation with scalar bar will be immediately displayed + in the viewer:

+ +

    

+ +

 

+ +

From Cut Lines presentation + you can create a data table. This + table will consist of the field scalar values located on each cut line + of the constructed presentation (see + also: Creating tables from Cut Lines presentations). After that your + data table can be used for construction of a 2d plot of curves based on + the scalar values from the table (see also: Creating + curves and Creating XY plots). +   

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/cut_lines_resentation.htm b/doc/salome/gui/VISU/files/cut_lines_resentation.htm index 165a288a..c42da1b6 100755 --- a/doc/salome/gui/VISU/files/cut_lines_resentation.htm +++ b/doc/salome/gui/VISU/files/cut_lines_resentation.htm @@ -1,204 +1,204 @@ - - - - - -Cut Planes presentation - - - - - - - - - - - - - -

Cut Planes presentation

- -

Cut Planes is a - type of field presentation, when the given shape is cut by a definite - number of surfaces. These surfaces are colored according the values applied - to the cells of the mesh.

- -

 

- -

To create a Cut Planes -  presentation:

- -

 

- -

- Right-click on one of the time stamps of - the field in the Object browser and from the pop-up menu choose Cut Planes, or

- -

 

- -

- Click on one of the time stamps of the field - in the Object browser and select from the main menu Visualization - > Cut Planes, or click icon - in the Visualization Toolbar.

- -

 

- -

- -

 

- -
    - -
  • Cut - Planes tab allows to set additional parameters of your Cut - Planes presentation:

  • -
- -

 

- -
    - -
  • Orientation - check boxes allow to set the orientation of cut planes in 3D space. - You should select two of three axis (XY, - YZ, or ZX) - in which your planes will be located in 3D space

  • - -
  • Rotations - of the planes in 3d space around the axes of the selected orientation. - (The angle of rotation is set in degrees.)

  • - -
  • Number - of planes, which will form your presentation.

  • - -
  • Position - of each of the planes relative to other planes, which form your - presentation. This value can be set by default, entered manually.  

  • - -
  • Displacement - of the planes. This parameter defines the displacement of the planes - into one or another side.

  • - -
  • Show - preview check box allows to edit the parameters of the presentation - and simultaneously observe the preview of this presentation in the viewer.

  • -
- -

 

- -

After you have finished with setting - these parameters, click OK. Your - presentation with scalar bar will be immediately displayed in the viewer: -

- -

 

- -

         

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +Cut Planes presentation + + + + + + + + + + + + + +

Cut Planes presentation

+ +

Cut Planes is a + type of field presentation, when the given shape is cut by a definite + number of surfaces. These surfaces are colored according the values applied + to the cells of the mesh.

+ +

 

+ +

To create a Cut Planes +  presentation:

+ +

 

+ +

- Right-click on one of the time stamps of + the field in the Object browser and from the pop-up menu choose Cut Planes, or

+ +

 

+ +

- Click on one of the time stamps of the field + in the Object browser and select from the main menu Visualization + > Cut Planes, or click icon + in the Visualization Toolbar.

+ +

 

+ +

+ +

 

+ +
    + +
  • Cut + Planes tab allows to set additional parameters of your Cut + Planes presentation:

  • +
+ +

 

+ +
    + +
  • Orientation + check boxes allow to set the orientation of cut planes in 3D space. + You should select two of three axis (XY, + YZ, or ZX) + in which your planes will be located in 3D space

  • + +
  • Rotations + of the planes in 3d space around the axes of the selected orientation. + (The angle of rotation is set in degrees.)

  • + +
  • Number + of planes, which will form your presentation.

  • + +
  • Position + of each of the planes relative to other planes, which form your + presentation. This value can be set by default, entered manually.  

  • + +
  • Displacement + of the planes. This parameter defines the displacement of the planes + into one or another side.

  • + +
  • Show + preview check box allows to edit the parameters of the presentation + and simultaneously observe the preview of this presentation in the viewer.

  • +
+ +

 

+ +

After you have finished with setting + these parameters, click OK. Your + presentation with scalar bar will be immediately displayed in the viewer: +

+ +

 

+ +

         

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/deformed_shape_presentation.htm b/doc/salome/gui/VISU/files/deformed_shape_presentation.htm index ee19f113..41a5a9d8 100755 --- a/doc/salome/gui/VISU/files/deformed_shape_presentation.htm +++ b/doc/salome/gui/VISU/files/deformed_shape_presentation.htm @@ -1,193 +1,193 @@ - - - - - -Deformed Shape presentation - - - - - - - - - - - - - -

Deformed Shape presentation

- -

Deformed Shape is - a type of field presentation when vector values corresponding to the cells - of the mesh are visualized by shifting of these cells.

- -

 

- -

To create a Deformed Shape  presentation:

- -

 

- -

- Right-click on one of the time stamps of - the field in the Object browser and from the pop-up menu choose Deformed Shape, or

- -

 

- -

- Click on one of the time stamps of the field - in the Object browser and select from the main menu Visualization - > Deformed Shape, or click icon - in the Visualization Toolbar.

- -

 

- -

- -

 

- -
    - -
  • Deformed - Shape tab allows to set additional parameters of your Deformed - Shape presentation:

  • -
- -
    - -
  • Scale - Factor: visualization scaling of all vector values applied to the - cells of the mesh.

  • - -
  • Magnitude - coloring check box: this option allows to color your presentation - according the scalar - range defined in Scalar Bar properties or to display it using only - one color (this color is taken by default).  

  • -
- -

 

- -
    - -
  • Scalar - Bar tab allows to define the parameters of the scalar bar displayed - with this presentation (see - also).

  • -
- -

 

- -

After you have finished - with setting these parameters, click OK. - Your presentation with scalar bar will be immediately displayed - in the viewer:

- -

 

- -

         

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +Deformed Shape presentation + + + + + + + + + + + + + +

Deformed Shape presentation

+ +

Deformed Shape is + a type of field presentation when vector values corresponding to the cells + of the mesh are visualized by shifting of these cells.

+ +

 

+ +

To create a Deformed Shape  presentation:

+ +

 

+ +

- Right-click on one of the time stamps of + the field in the Object browser and from the pop-up menu choose Deformed Shape, or

+ +

 

+ +

- Click on one of the time stamps of the field + in the Object browser and select from the main menu Visualization + > Deformed Shape, or click icon + in the Visualization Toolbar.

+ +

 

+ +

+ +

 

+ +
    + +
  • Deformed + Shape tab allows to set additional parameters of your Deformed + Shape presentation:

  • +
+ +
    + +
  • Scale + Factor: visualization scaling of all vector values applied to the + cells of the mesh.

  • + +
  • Magnitude + coloring check box: this option allows to color your presentation + according the scalar + range defined in Scalar Bar properties or to display it using only + one color (this color is taken by default).  

  • +
+ +

 

+ +
    + +
  • Scalar + Bar tab allows to define the parameters of the scalar bar displayed + with this presentation (see + also).

  • +
+ +

 

+ +

After you have finished + with setting these parameters, click OK. + Your presentation with scalar bar will be immediately displayed + in the viewer:

+ +

 

+ +

         

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/displaying_hiding_presentations.htm b/doc/salome/gui/VISU/files/displaying_hiding_presentations.htm index c6c5fb8e..959acd8d 100755 --- a/doc/salome/gui/VISU/files/displaying_hiding_presentations.htm +++ b/doc/salome/gui/VISU/files/displaying_hiding_presentations.htm @@ -1,251 +1,251 @@ - - - - - -Displaying/Hiding presentations - - - - - - - - - - - - - -

Operations with presentations

- -

- -

 

- -

To display a presentation:

- -

 

- -

Right-click on it in the Object Browser and - from the pop-up menu choose Display. -

- -

                       

- -

To display several presentations:

- -

 

- -

Hold down Ctrl - button and select in the Object Browser the presentations for displaying. - Right-click with the mouse and from the pop-up menu select Display. -

- -

 

- -

To display only one presentation: -

- -

 

- -

 Choose - Display only option. The other - presentations will be immediately  hidden.

- -

 

- -

To hide this presentation:

- -

 

- -

From the same pop-up menu choose Erase. - (This option will automatically appear in this pop-up menu if this presentation - have been displayed)

- -

 

- -

 

- -

To hide all presentations: -

- -

 

- -

From the main menu choose Representation - > Erase All, click button   in the Representation toolbar - or right-click in the 3D Viewer and select Erase - All in the pop-up menu.   

- -

                                

- -

 

- -

To delete an existing presentation:

- -

 

- -

Right-click on it in the Object Browser and - from the pop-up menu choose Delete. -

- -

 

- -

Operations accessible only for field presentations.

- -

 

- -

To copy a field presentation:

- -

 

- -

1. - Right-click on this presentation in the Object Browser or in the viewer.

- -

 

- -

2. - From the pop-up menu select Same as option.

- -

 

- -

Your - field presentation will duplicated in the same subfolder (time stamp) - in the Object Browser.

- -

 

- -

 

- -

To set additional parameters of field presentations:

- -

 

- -

1. - Right-click on this presentation in the Object Browser or in the viewer.

- -

 

- -

2. - From the pop-up menu select Edit  option.

- -

 

- -

This - option allows to set or modify additional parameters of field presentations - after its creation.

- -

 

- -

To rename a field presentation

- -

 

- -

1. Right-click on this - presentation in the Object Browser or in the viewer.

- -

 

- -

2. From the pop-up menu select Rename - option, the following dialog box will appear:

- -

 

- -

                       

- -

 

- -

In the field Name - enter your personal name of the presentation and click OK - button to confirm your choice. The name of the presentation will - change in the Object Browser.

- - - - + + + + + +Displaying/Hiding presentations + + + + + + + + + + + + + +

Operations with presentations

+ +

+ +

 

+ +

To display a presentation:

+ +

 

+ +

Right-click on it in the Object Browser and + from the pop-up menu choose Display. +

+ +

                       

+ +

To display several presentations:

+ +

 

+ +

Hold down Ctrl + button and select in the Object Browser the presentations for displaying. + Right-click with the mouse and from the pop-up menu select Display. +

+ +

 

+ +

To display only one presentation: +

+ +

 

+ +

 Choose + Display only option. The other + presentations will be immediately  hidden.

+ +

 

+ +

To hide this presentation:

+ +

 

+ +

From the same pop-up menu choose Erase. + (This option will automatically appear in this pop-up menu if this presentation + have been displayed)

+ +

 

+ +

 

+ +

To hide all presentations: +

+ +

 

+ +

From the main menu choose Representation + > Erase All, click button   in the Representation toolbar + or right-click in the 3D Viewer and select Erase + All in the pop-up menu.   

+ +

                                

+ +

 

+ +

To delete an existing presentation:

+ +

 

+ +

Right-click on it in the Object Browser and + from the pop-up menu choose Delete. +

+ +

 

+ +

Operations accessible only for field presentations.

+ +

 

+ +

To copy a field presentation:

+ +

 

+ +

1. + Right-click on this presentation in the Object Browser or in the viewer.

+ +

 

+ +

2. + From the pop-up menu select Same as option.

+ +

 

+ +

Your + field presentation will duplicated in the same subfolder (time stamp) + in the Object Browser.

+ +

 

+ +

 

+ +

To set additional parameters of field presentations:

+ +

 

+ +

1. + Right-click on this presentation in the Object Browser or in the viewer.

+ +

 

+ +

2. + From the pop-up menu select Edit  option.

+ +

 

+ +

This + option allows to set or modify additional parameters of field presentations + after its creation.

+ +

 

+ +

To rename a field presentation

+ +

 

+ +

1. Right-click on this + presentation in the Object Browser or in the viewer.

+ +

 

+ +

2. From the pop-up menu select Rename + option, the following dialog box will appear:

+ +

 

+ +

                       

+ +

 

+ +

In the field Name + enter your personal name of the presentation and click OK + button to confirm your choice. The name of the presentation will + change in the Object Browser.

+ + + + diff --git a/doc/salome/gui/VISU/files/displaying_tables.htm b/doc/salome/gui/VISU/files/displaying_tables.htm index dd4a8189..d47dff40 100755 --- a/doc/salome/gui/VISU/files/displaying_tables.htm +++ b/doc/salome/gui/VISU/files/displaying_tables.htm @@ -1,134 +1,134 @@ - - - - - -Displaying tables - - - - - - - - - - - - - -

Displaying tables

- -

To display a table:

- -

 

- -

1.  Right-click - on the required table in the Object Browser

- -

 

- -

2.  From - the pop-up menu choose Show Table option. - Your table will be displayed in a separate View - Table window:

- -

 

- -

 

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +Displaying tables + + + + + + + + + + + + + +

Displaying tables

+ +

To display a table:

+ +

 

+ +

1.  Right-click + on the required table in the Object Browser

+ +

 

+ +

2.  From + the pop-up menu choose Show Table option. + Your table will be displayed in a separate View + Table window:

+ +

 

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/getting_elements_attributes.htm b/doc/salome/gui/VISU/files/getting_elements_attributes.htm index 6d36bf80..d45edd74 100755 --- a/doc/salome/gui/VISU/files/getting_elements_attributes.htm +++ b/doc/salome/gui/VISU/files/getting_elements_attributes.htm @@ -1,219 +1,224 @@ - - - - - -Getting elements attributes - - - - - - - - - - - - - -

Selection Info

- -

To view the attributes of elements (cells, points, meshes) - displayed in the viewer:

- -

 

- -

- -

 

- -

 

- -

In the main menu choose  Selection > - Selection info...,  choose - the necessary type of elements (Point, - Cell, or Actor) in the - dialog box and click on the element of the required type in the viewer. - The chosen element will be highlighted and its attributes will be displayed - in this dialog box:

- -

- -

You can get the following information - about Points:

- -
    - -
  • Mesh name

  • - -
  • Field name

  • - -
  • ID Number of the point -

  • - -
  • Scalar value applied - to the point (if any)

  • - -
  • Vector value applied - to the point (if any)

  • - -
  • Coordinates of the - point in 3d space

  • -
- -

 

- -

- -

The following information about - Cells is available:

- -
    - -
  • Mesh name

  • - -
  • Field name

  • - -
  • ID Number of the cell

  • - -
  • Scalar value applied - to the cell (if any)

  • - -
  • Vector value applied - to the cell (if any)

  • - -
  • Attributes of the - points forming this cell (in table layout)

  • -
- -

 

- -

- -

 

- -

An - Actor (any 3D object (presentation - of a submesh, field presentation) displayed in the viewer) possesses the following characteristics:

- -
    - -
  • Mesh - name

  • - -
  • Field - name

  • - -
  • Coordinates - of the object in 3d space

  • - -
  • Size - of the object (expressed as the extent along the coordinates)

  • -
- -

 

- -

Using this dialog box, you can examine the attributes of a - definite point or cell, selected by its ID number. For that, you should - only enter an ID number of a definite point or cell in the ID - field, the attributes of this point or cell will be immediately - displayed.

- - - - + + + + + +Getting elements attributes + + + + + + + + + + + + + +

Selection Info

+ +

To view the attributes of elements (cells, points, meshes) + displayed in the viewer:

+ +

 

+ +

+ +

 

+ +

 

+ +

In the main menu choose  Selection > + Selection info...,  choose + the necessary type of elements (Point, + Cell, or Actor) in the + dialog box and click on the element of the required type in the viewer. + The chosen element will be highlighted and its attributes will be displayed + in this dialog box:

+ +

+ +

You can get the following information + about Points:

+ +
    + +
  • Mesh name

  • + +
  • Field name

  • + +
  • ID Number of the point +

  • + +
  • Scalar value applied + to the point (if any)

  • + +
  • Vector value applied + to the point (if any)

  • + +
  • Coordinates of the + point in 3d space

  • + +
  • Indexes (i,j,k) of + the point (for structured meshes only)

  • +
+ +

 

+ +

+ +

The following information about + Cells is available:

+ +
    + +
  • Mesh name

  • + +
  • Field name

  • + +
  • ID Number of the cell

  • + +
  • Scalar value applied + to the cell (if any)

  • + +
  • Vector value applied + to the cell (if any)

  • + +
  • Attributes of the + points forming this cell (in table layout)

  • +
+ +

 

+ +

+ +

 

+ +

An + Actor (any 3D object (presentation + of a submesh, field presentation) displayed in the viewer) possesses the following characteristics:

+ +
    + +
  • Mesh + name

  • + +
  • Field + name

  • + +
  • Coordinates + of the object in 3d space

  • + +
  • Size + of the object (expressed as the extent along the coordinates)

  • +
+ +

 

+ +

Using this dialog box, you can examine the attributes of a + definite point or cell, selected by its ID number. For that, you should + only enter an ID number of a definite point or cell in the ID + field, the attributes of this point or cell will be immediately + displayed.

+ + + + diff --git a/doc/salome/gui/VISU/files/getting_started.htm b/doc/salome/gui/VISU/files/getting_started.htm index aab5c6aa..e462ea6b 100755 --- a/doc/salome/gui/VISU/files/getting_started.htm +++ b/doc/salome/gui/VISU/files/getting_started.htm @@ -1,150 +1,150 @@ - - - - - -Getting started - - - - - - - - - - - - - - - -

Usage overview

- -

HOW TO:

- -

Create a new study and launch - Post-Pro module   -

- -

 

- -

Import a mesh from a MED - file   

- -

 

- -

Create a presentation of - a submesh and set view parameters  

- -

 

- -

Create field presentations - and use sweeping  

- -

 

- -

Animate fields  

- -

 

- -

  Import a table from a file and create a 2d plot based on - the data from this table

- -

 

- - - - + + + + + +Getting started + + + + + + + + + + + + + + + +

Usage overview

+ +

HOW TO:

+ +

Create a new study and launch + Post-Pro module   +

+ +

 

+ +

Import a mesh from a MED + file   

+ +

 

+ +

Create a presentation of + a submesh and set view parameters  

+ +

 

+ +

Create field presentations + and use sweeping  

+ +

 

+ +

Animate fields  

+ +

 

+ +

  Import a table from a file and create a 2d plot based on + the data from this table

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/importing_med_objects.htm b/doc/salome/gui/VISU/files/importing_med_objects.htm index aa7c089b..64156285 100755 --- a/doc/salome/gui/VISU/files/importing_med_objects.htm +++ b/doc/salome/gui/VISU/files/importing_med_objects.htm @@ -1,202 +1,202 @@ - - - - - -Importing MED objects - - - - - - - - - - - - -

Importing MED file

- -

To import a MED file:

- -

 

- -

From - the File menu choose Import -  - > - MED File or right-click on the Post-Pro - object in the Object Browser and select MED - File option. After it you - will see a standard dialog box allowing to search for and choose *.med -  files:

- -

 

- -

                 

- -

 

- -

To - confirm your choice click Open.

- -

 

- -

If - the option Use Build Progress - is checked in Post-Pro Sweep and MED - Import Preferences, you will be able to choose how the object containing - in the file will be built, otherwise the structure of the imported MED - object will be immediately displayed in the Object Browser and it will - be loaded and built as set in the Preferences.

- -

 

- -

- -

 

- -

Settings

- -
    - -
  • Build all - when this option is checked, - the application loads all data necessary for processing of the object.

  • - -
  • Build at once - when this option is - checked, you can't perform any operations until the MED file is fully - loaded and processed.

  • - -
  • Close dialog at finish - when this option - is checked, the dialog box is closed after loading of the selected MED - file. When unchecked, it allows to monitor the build process.

  • -
- -

 

- -

Import progress - - allows to choose what items exactly should be built at loading. By default - everything is checked in.  Note that the - coloured rectangles show the progress of the respective step and become - blue when complete.

- -
    - -
  • Build entities - displays the rate at which the geometrical - data is loaded.

  • - -
  • Build fields - when this option - is checked, the fields are built automatically at loading.

  • - -
  • Build min/max - parses time stamps at loading finding - the highest and the lowest value.

  • - -
  • Build Groups - builds groups and families - at loading.

  • -
- -

 

- -

Time - shows the Elapsed - time spent by the application on processing.

- -

 

- -

-Related Topics - -

- -

 

- -

 

- -

 

- - - - + + + + + +Importing MED objects + + + + + + + + + + + + +

Importing MED file

+ +

To import a MED file:

+ +

 

+ +

From + the File menu choose Import +  - > + MED File or right-click on the Post-Pro + object in the Object Browser and select MED + File option. After it you + will see a standard dialog box allowing to search for and choose *.med +  files:

+ +

 

+ +

                 

+ +

 

+ +

To + confirm your choice click Open.

+ +

 

+ +

If + the option Use Build Progress + is checked in Post-Pro Sweep and MED + Import Preferences, you will be able to choose how the object containing + in the file will be built, otherwise the structure of the imported MED + object will be immediately displayed in the Object Browser and it will + be loaded and built as set in the Preferences.

+ +

 

+ +

+ +

 

+ +

Settings

+ +
    + +
  • Build all - when this option is checked, + the application loads all data necessary for processing of the object.

  • + +
  • Build at once - when this option is + checked, you can't perform any operations until the MED file is fully + loaded and processed.

  • + +
  • Close dialog at finish - when this option + is checked, the dialog box is closed after loading of the selected MED + file. When unchecked, it allows to monitor the build process.

  • +
+ +

 

+ +

Import progress - + allows to choose what items exactly should be built at loading. By default + everything is checked in.  Note that the + coloured rectangles show the progress of the respective step and become + blue when complete.

+ +
    + +
  • Build entities - displays the rate at which the geometrical + data is loaded.

  • + +
  • Build fields - when this option + is checked, the fields are built automatically at loading.

  • + +
  • Build min/max - parses time stamps at loading finding + the highest and the lowest value.

  • + +
  • Build Groups - builds groups and families + at loading.

  • +
+ +

 

+ +

Time - shows the Elapsed + time spent by the application on processing.

+ +

 

+ +

+Related Topics + +

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/importing_tables.htm b/doc/salome/gui/VISU/files/importing_tables.htm index b4594309..cc2046a5 100755 --- a/doc/salome/gui/VISU/files/importing_tables.htm +++ b/doc/salome/gui/VISU/files/importing_tables.htm @@ -1,154 +1,154 @@ - - - - - -Importing tables - - - - - - - - - - - - -

Importing/exporting - tables

- -

To import a table from file:

- -

 

- -

1.  From - the main menu choose File > Import - > Table from File, or in the Object Browser right-click on the - Post-Pro object and select Table from File item. -

- -

 

- -

2.  From - the following standard dialog box:

- -

 

- -

          

- -

 

- -

choose the necessary *.xls, *.txt or - *.tab file containing tables and click Open - button.  

- -

 

- -

3.  In - the Object Browser Post-Pro will - create a new folder having the name of the imported file. All tables from - this file will be located in this folder. One *.xls file can contain several - tables.    

- -

 

- -

To export a table:

- -

 

- -

1. Click on it in the Object Browser and - select Export Table.

- -

 

- -

2. - In the standard dialog box enter the name of the file, which will contain - your exported table, and click OK button. - Your table will be exported.

- -

 

- -

 

- -

 

- - - - + + + + + +Importing tables + + + + + + + + + + + + +

Importing/exporting + tables

+ +

To import a table from file:

+ +

 

+ +

1.  From + the main menu choose File > Import + > Table from File, or in the Object Browser right-click on the + Post-Pro object and select Table from File item. +

+ +

 

+ +

2.  From + the following standard dialog box:

+ +

 

+ +

          

+ +

 

+ +

choose the necessary *.xls, *.txt or + *.tab file containing tables and click Open + button.  

+ +

 

+ +

3.  In + the Object Browser Post-Pro will + create a new folder having the name of the imported file. All tables from + this file will be located in this folder. One *.xls file can contain several + tables.    

+ +

 

+ +

To export a table:

+ +

 

+ +

1. Click on it in the Object Browser and + select Export Table.

+ +

 

+ +

2. + In the standard dialog box enter the name of the file, which will contain + your exported table, and click OK button. + Your table will be exported.

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/insideframe.htm b/doc/salome/gui/VISU/files/insideframe.htm index f7f3644b..0ca8f5f6 100755 --- a/doc/salome/gui/VISU/files/insideframe.htm +++ b/doc/salome/gui/VISU/files/insideframe.htm @@ -1,86 +1,86 @@ - - - - - -Insideframe - - - - - - - - - - - - -

- - - - + + + + + +Insideframe + + + + + + + + + + + + +

+ + + + diff --git a/doc/salome/gui/VISU/files/introduction.htm b/doc/salome/gui/VISU/files/introduction.htm index 9b437861..37998587 100755 --- a/doc/salome/gui/VISU/files/introduction.htm +++ b/doc/salome/gui/VISU/files/introduction.htm @@ -1,156 +1,156 @@ - - - - - -Introduction - - - - - - - - - - - - - -

Introduction to Post-Pro

- -

Post-processing module Post-Pro -  for - SALOME  is - destined for visualization of data produced by the other components of - the platform. Post-Pro provides -  various - forms of data visualization including:

- -

 

- - - -

 

- - - -

 

- - - -

 

- - - -

                

- -

 

- -

-Related Topics - - -

- -

 

- -

 

- -

 

- - - - + + + + + +Introduction + + + + + + + + + + + + + +

Introduction to Post-Pro

+ +

Post-processing module Post-Pro +  for + SALOME  is + destined for visualization of data produced by the other components of + the platform. Post-Pro provides +  various + forms of data visualization including:

+ +

 

+ + + +

 

+ + + +

 

+ + + +

 

+ + + +

                

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/iso_surfaces_presentation.htm b/doc/salome/gui/VISU/files/iso_surfaces_presentation.htm index 85d99bb0..c0207a61 100755 --- a/doc/salome/gui/VISU/files/iso_surfaces_presentation.htm +++ b/doc/salome/gui/VISU/files/iso_surfaces_presentation.htm @@ -1,215 +1,215 @@ - - - - - -Iso Surfaces presentation - - - - - - - - - - - - - -

Iso Surfaces presentation

- -

Iso Surfaces presentation - combines all equal scalar values applied to the cells and on the basis - of them constructs  isobaric - surfaces, which form this presentation.

- -

 

- -

To create an Iso Surfaces - presentation:

- -

 

- -

- Right-click on one of the time stamps of - the field in the Object browser and from the pop-up menu choose Iso Surfaces, or

- -

 

- -

- Click on one of the time stamps of the - field in the Object browser and select from the main menu Visualization - > Iso Surfaces, or click icon - in the Visualization Toolbar

- -

 

- -

- -

 

- -
    - -
  • Iso - Surface tab allows to set additional parameters of - the Iso Surfaces presentation:

  • -
- -

 

- -
    - -
  • Number - of surfaces, which will be generated in the framework of this presentation

  • -
- -

 

- -
    - -
  •  Minimum / Maximum - value fields allow to enter the range of scalar or vector values - applied to the cells, on the basis of which this presentation will be - created.

  • -
- -

 

- -
    - -
  • Update - scalar bar range with these values button allows you to update - the range of the values, displayed with by the scalar bar, with the previously - defined range of values.

  • -
- -

 

- -
    - -
  • Scalar - Bar tab allows to define the parameters of the scalar bar displayed - with this presentation (see - also).

  • -
- -

 

- -

After - you have finished with setting these parameters, click OK. - Your presentation with scalar bar will be immediately displayed - in the viewer:

- -

 

- -

- -

 

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +Iso Surfaces presentation + + + + + + + + + + + + + +

Iso Surfaces presentation

+ +

Iso Surfaces presentation + combines all equal scalar values applied to the cells and on the basis + of them constructs  isobaric + surfaces, which form this presentation.

+ +

 

+ +

To create an Iso Surfaces + presentation:

+ +

 

+ +

- Right-click on one of the time stamps of + the field in the Object browser and from the pop-up menu choose Iso Surfaces, or

+ +

 

+ +

- Click on one of the time stamps of the + field in the Object browser and select from the main menu Visualization + > Iso Surfaces, or click icon + in the Visualization Toolbar

+ +

 

+ +

+ +

 

+ +
    + +
  • Iso + Surface tab allows to set additional parameters of + the Iso Surfaces presentation:

  • +
+ +

 

+ +
    + +
  • Number + of surfaces, which will be generated in the framework of this presentation

  • +
+ +

 

+ +
    + +
  •  Minimum / Maximum + value fields allow to enter the range of scalar or vector values + applied to the cells, on the basis of which this presentation will be + created.

  • +
+ +

 

+ +
    + +
  • Update + scalar bar range with these values button allows you to update + the range of the values, displayed with by the scalar bar, with the previously + defined range of values.

  • +
+ +

 

+ +
    + +
  • Scalar + Bar tab allows to define the parameters of the scalar bar displayed + with this presentation (see + also).

  • +
+ +

 

+ +

After + you have finished with setting these parameters, click OK. + Your presentation with scalar bar will be immediately displayed + in the viewer:

+ +

 

+ +

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/points.htm b/doc/salome/gui/VISU/files/points.htm index 8b4820fc..bf1d9a6e 100755 --- a/doc/salome/gui/VISU/files/points.htm +++ b/doc/salome/gui/VISU/files/points.htm @@ -1,86 +1,86 @@ - - - - - -Points - - - - - - - - - - - - -

- - - - + + + + + +Points + + + + + + + + + + + + +

+ + + + diff --git a/doc/salome/gui/VISU/files/running_visu.htm b/doc/salome/gui/VISU/files/running_visu.htm index 88c95c29..9121b1b2 100755 --- a/doc/salome/gui/VISU/files/running_visu.htm +++ b/doc/salome/gui/VISU/files/running_visu.htm @@ -1,130 +1,130 @@ - - - - - -Running VISU - - - - - - - - - - - - -

Running Post-Pro

- -

To start Post-Pro module in the SALOME - application click icon in the toolbar.

- -

          

- -

Before launching Post-Pro module, you should set the VTK - viewer as default viewer for creation of a new study window. In Post-Pro - you can create presentations only in the VTK viewer. (see also: Setting - preferences)

- -

 

- -

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

- -

 

- -

            

- -

 

- -

-Related Topics - - -

- -

 

- -

 

- -

 

- - - - + + + + + +Running VISU + + + + + + + + + + + + +

Running Post-Pro

+ +

To start Post-Pro module in the SALOME + application click icon in the toolbar.

+ +

          

+ +

Before launching Post-Pro module, you should set the VTK + viewer as default viewer for creation of a new study window. In Post-Pro + you can create presentations only in the VTK viewer. (see also: Setting + preferences)

+ +

 

+ +

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

+ +

 

+ +

            

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/scalar_map_presentation.htm b/doc/salome/gui/VISU/files/scalar_map_presentation.htm index 49ea4f57..8367a3fc 100755 --- a/doc/salome/gui/VISU/files/scalar_map_presentation.htm +++ b/doc/salome/gui/VISU/files/scalar_map_presentation.htm @@ -1,377 +1,396 @@ - - - - - -Scalar Map presentation - - - - - - - - - - - - - -

Scalar Map presentation

- -

Scalar Map is the basic type of visualization of calculation - data in Post-Pro module. This - presentation consists of the following:

- -

 

- -

- creating of a 3D presentation on the - basis of a field;

- -

- coloring of the cells of this presentation, - according the scalar or vector values applied to this cells;

- -

- creating of a scalar bar: a scale, representing - the correspondence  between - the scalar values of the field and the used colors.

- -

 

- -

All other types of field - presentation are based on the Scalar - Map.

- -

 

- -

To create a Scalar Map - presentation:

- -

 

- -

- Right-click on one of the time stamps - of the field in the Object browser and from the pop-up menu choose Scalar Map, or

- -

 

- -

- Click on one of the time stamps of the - field in the Object browser and select from the main menu Visualization - > Scalar Map, or click icon - in the Visualization Toolbar

- -

 

- -

The following dialog box will appear:

- -

 

- -

This dialog box is equal - for all types of field presentations and it will be present as an additional - tab in all dialog boxes allowing to create the other types of presentations. - It allows to set the parameters of Scalar - range, as well as the parameters of the Scalar - Bar. You can also set these parameters as preferences which will - be used in all SALOME sessions: in the main menu select File - > Preferences > Post Pro - > Scalar Bar.    

- -

 

- -

        

- -

 

- -
    - -
  • Scalar - range parameters:

  • -
- -

 

- -
    - -
      - -
    • Scalar Mode field: This field allows to choose the mode - of transformation of vector values into scalar values for creation of - the presentation. It can be module of the vector or one of three components - of the vector. (Note: This choose box is relevant only for fields containing - vector values, in other cases it will be inactive).  

    • -
    -
- -

 

- -
    - -
      - -
    • Logarithmic scaling - check box: You can apply logarithmic - scaling to the color scale of the presentation.

    • -
    -
- -

 

- -
    - -
      - -
    • Use - field range: if this check box is selected, all cells of the field - presentation will be colored according the values applied to these cells. -  

    • -
    -
- -

 

- -
    - -
      - -
    • Use imposed range: - here you can define your own range - of scalar values of the field, on the basis of which this presentation - will be constructed. The cells of the field presentation with applied - scalar or vector values belonging to this imposed range will be colored - according to these values. The other cells of the field presentation (with - applied scalar or vector values out of this imposed range) will be displayed - using one color. For the cells with applied scalar or vector values, which - are less than the minimal value of the imposed range, the color will be - the same as for the cells with applied minimal values. For the cells with - applied scalar or vector values, which are larger than the maximal value - of the imposed range the color will be the same as for the cells with - applied minimal values.  

    • -
    -
- -

 

- -
    - -
  • Colors and Labels

  • - -
  • Nb. - of colors field: In this field you can enter the number of colors, - which will be used for coloring of cells containing scalar values.

  • - -
  • Nb. - of labels field: In this field you can enter the number of labels, - indicating graduation of the scalar bar.

  • -
- -

 

- -
    - -
  • Orientation: - You can select Vertical or Horizontal orientation of the scalar - bar.  

  • -
- -

 

- -
    - -
  • Origin: - you can enter X & Y - coordinates of the origin of the scalar bar.

  • -
- -

 

- -
    - -
  •  Dimensions: - you can enter Width and Height of the scalar bar.

  • -
- -

 

- -
    - -
  • Save - as default values check box allows to save this parameters for - all presentations, which will be constructed later.

  • -
- -

 

- -
    - -
  • Text properties button allows you to define from the following - dialog box:

  • -
- -

 

- -

- -

 

- -
    - -
  • Title - of the field, on the basis of which this presentation is created,

  • - -
  • Font - properties of the Title, - displayed in the Viewer

  • - -
  • Font - properties of the Labels, - displayed in the Viewer.  

  • -
- -

 

- -

After you have finished with setting these - parameters, click OK. Your presentation - with scalar bar will be immediately displayed in the viewer:

- -

 

- -

                        

- -

 

- -

-Related Topics - - -

- -

 

- -

 

- -

 

- -

 

- - - - + + + + + +Scalar Map presentation + + + + + + + + + + + + + +

Scalar Map presentation

+ +

Scalar Map is the basic type of visualization of calculation + data in Post-Pro module. This + presentation consists of the following:

+ +

 

+ +

- creating a 3D presentation on the basis + of a field:

+ +

    - + on the whole mesh (default)

+ +

    - + on group(s) of the mesh

+ +

- coloring the cells of this presentation, + according the scalar or vector values applied to this cells;

+ +

- creating a scalar bar representing the + correspondence  between + the scalar values of the field and the used colors.

+ +

 

+ +

All other types of field + presentations are based on the Scalar + Map.

+ +

 

+ +

To create a Scalar Map + presentation:

+ +

 

+ +

- Right-click on one of the time stamps + of the field in the Object browser and from the pop-up menu choose Scalar Map, or

+ +

- Click on one of the time stamps of the + field in the Object browser and select from the main menu Visualization + > Scalar Map, or click icon + in the Visualization Toolbar

+ +

 

+ +

The following dialog box will appear:

+ +

 

+ +

This dialog box is equal + for all types of field presentations and it will be present as an additional + tab in all dialog boxes allowing to create the other types of presentations. + It allows to set the parameters of Scalar + range, as well as the parameters of the Scalar + Bar. You can also set these parameters as preferences which will + be used in all SALOME sessions: in the main menu select File + > Preferences > Post Pro + > Scalar Bar.    

+ +

 

+ +

        

+ +

 

+ +
    + +
  • Build + presentation on groups: You can choose the groups on which Scalar Map can be built from the list + to the left and add them in the list to the right.

  • +
+ +

 

+ +
    + +
  • Scalar range parameters:

  • +
+ +

 

+ +
    + +
      + +
    • Scalar Mode field: This field allows to choose the mode + of transformation of vector values into scalar values for creation of + the presentation. It can be module of the vector or one of three components + of the vector. (Note: This choose box is relevant only for fields containing + vector values, in other cases it will be inactive).  

    • +
    +
+ +

 

+ +
    + +
      + +
    • Logarithmic scaling + check box: You can apply logarithmic + scaling to the color scale of the presentation.

    • +
    +
+ +

 

+ +
    + +
      + +
    • Use + field range: if this check box is selected, all cells of the field + presentation will be colored according the values applied to these cells. +  

    • +
    +
+ +

 

+ +
    + +
      + +
    • Use imposed range: + here you can define your own range + of scalar values of the field, on the basis of which this presentation + will be constructed. The cells of the field presentation with applied + scalar or vector values belonging to this imposed range will be colored + according to these values. The other cells of the field presentation (with + applied scalar or vector values out of this imposed range) will be displayed + using one color. For the cells with applied scalar or vector values, which + are less than the minimal value of the imposed range, the color will be + the same as for the cells with applied minimal values. For the cells with + applied scalar or vector values, which are larger than the maximal value + of the imposed range the color will be the same as for the cells with + applied minimal values.  

    • +
    +
+ +

 

+ +
    + +
  • Colors and Labels

  • + +
  • Nb. + of colors field: In this field you can enter the number of colors, + which will be used for coloring of cells containing scalar values.

  • + +
  • Nb. + of labels field: In this field you can enter the number of labels, + indicating graduation of the scalar bar.

  • +
+ +

 

+ +
    + +
  • Orientation: + You can select Vertical or Horizontal orientation of the scalar + bar.  

  • +
+ +

 

+ +
    + +
  • Origin: + you can enter X & Y + coordinates of the origin of the scalar bar.

  • +
+ +

 

+ +
    + +
  •  Dimensions: + you can enter Width and Height of the scalar bar.

  • +
+ +

 

+ +
    + +
  • Save + as default values check box allows to save this parameters for + all presentations, which will be constructed later.

  • +
+ +

 

+ +
    + +
  • Text properties button allows you to define from the following + dialog box:

  • +
+ +

 

+ +

+ +

 

+ +
    + +
  • Title + of the field, on the basis of which this presentation is created,

  • + +
  • Font + properties of the Title, + displayed in the Viewer

  • + +
  • Font + properties of the Labels, + displayed in the Viewer.  

  • +
+ +

 

+ +

After you have finished with setting these + parameters, click OK. Your presentation + with scalar bar will be immediately displayed in the viewer:

+ +

 

+ +

                        

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/scaling_presentations.htm b/doc/salome/gui/VISU/files/scaling_presentations.htm index 995a1935..a2139396 100755 --- a/doc/salome/gui/VISU/files/scaling_presentations.htm +++ b/doc/salome/gui/VISU/files/scaling_presentations.htm @@ -1,150 +1,150 @@ - - - - - -Scaling presentations - - - - - - - - - - - - - -

Translate Presentation

- -

In SALOME - there is a feature allowing to translate presentations of submeshes and - field presentations along axes (X, Y, Z).

- -

 

- -

To translate a presentation right-click on it in the Object Browser - or 3D Viewer and select Translate Presentation. -

- -

 

- -

              

- -

 

- -

The presentation will be moved by the specified - distance along axes.

- -

To cancel all changes, click Reset - button.

- -

 

- -

3. Click Apply - button, to apply your scaling on the chosen presentation.

- -

 

- -

4. - To confirm all actions and quit Translate - Presentation dialog - box, click OK. -   

- -

 

- -

 

- - - - + + + + + +Scaling presentations + + + + + + + + + + + + + +

Translate Presentation

+ +

In SALOME + there is a feature allowing to translate presentations of submeshes and + field presentations along axes (X, Y, Z).

+ +

 

+ +

To translate a presentation right-click on it in the Object Browser + or 3D Viewer and select Translate Presentation. +

+ +

 

+ +

              

+ +

 

+ +

The presentation will be moved by the specified + distance along axes.

+ +

To cancel all changes, click Reset + button.

+ +

 

+ +

3. Click Apply + button, to apply your scaling on the chosen presentation.

+ +

 

+ +

4. + To confirm all actions and quit Translate + Presentation dialog + box, click OK. +   

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/setting_properties_of_xy_plots.htm b/doc/salome/gui/VISU/files/setting_properties_of_xy_plots.htm index 9fab1a76..567b6fc0 100755 --- a/doc/salome/gui/VISU/files/setting_properties_of_xy_plots.htm +++ b/doc/salome/gui/VISU/files/setting_properties_of_xy_plots.htm @@ -1,176 +1,176 @@ - - - - - -Setting properties of XY plots - - - - - - - - - - - - - -

Setting properties of XY plots

- -

To define properties of XY plots:

- -

 

- -

Right-click on the background of the Plot - 2d viewer. The following menu will appear:

- -

- -

 

- -

Erase all - - hides all previously displayed curves from the viewer.

- -

Rename - - allows to rename the object currently selected in the Object Browser - (table, curve or XY plot).

- -

 

- -

Scaling - gives you the possibility to select the scale (logarithmic or linear) - for both axes

- -

 

- -

- -

 

- -

via Fit - Range option you can access to the following menu

- -

 

- -

- -

 

- -

Curve Type - gives you the possibility to select the type for your curves.

- -

 

- -

- -

 

- -

Show Legend - triggers all labels on the graph.

- -

 

- -

Settings - menu allows to adjust the representation of the graphs in the Plot - 2d viewer

- -

 

- -

Dump View - - allows to save the current graph represented in the 2D viewer in a graphic - file.

- -

 

- -

- -

 

- -

Change Background - - allows to change the background of the 2D viewer.

- - - - + + + + + +Setting properties of XY plots + + + + + + + + + + + + + +

Setting properties of XY plots

+ +

To define properties of XY plots:

+ +

 

+ +

Right-click on the background of the Plot + 2d viewer. The following menu will appear:

+ +

+ +

 

+ +

Erase all + - hides all previously displayed curves from the viewer.

+ +

Rename + - allows to rename the object currently selected in the Object Browser + (table, curve or XY plot).

+ +

 

+ +

Scaling + gives you the possibility to select the scale (logarithmic or linear) + for both axes

+ +

 

+ +

+ +

 

+ +

via Fit + Range option you can access to the following menu

+ +

 

+ +

+ +

 

+ +

Curve Type + gives you the possibility to select the type for your curves.

+ +

 

+ +

+ +

 

+ +

Show Legend + triggers all labels on the graph.

+ +

 

+ +

Settings + menu allows to adjust the representation of the graphs in the Plot + 2d viewer

+ +

 

+ +

Dump View + - allows to save the current graph represented in the 2D viewer in a graphic + file.

+ +

 

+ +

+ +

 

+ +

Change Background + - allows to change the background of the 2D viewer.

+ + + + diff --git a/doc/salome/gui/VISU/files/shrink.htm b/doc/salome/gui/VISU/files/shrink.htm index 6247e8df..c495f4a8 100755 --- a/doc/salome/gui/VISU/files/shrink.htm +++ b/doc/salome/gui/VISU/files/shrink.htm @@ -1,86 +1,86 @@ - - - - - -Shrink - - - - - - - - - - - - -

- - - - + + + + + +Shrink + + + + + + + + + + + + +

+ + + + diff --git a/doc/salome/gui/VISU/files/stream_lines_presentation.htm b/doc/salome/gui/VISU/files/stream_lines_presentation.htm index 8fb2c1af..42a205e2 100755 --- a/doc/salome/gui/VISU/files/stream_lines_presentation.htm +++ b/doc/salome/gui/VISU/files/stream_lines_presentation.htm @@ -1,253 +1,253 @@ - - - - - -Stream Lines presentation - - - - - - - - - - - - - -

Stream Lines presentation

- -

Stream Lines is a type of presentation transforming - the cells with vectors having most similar direction into lines . A streamline - can be thought of as the path that a massless particle takes in a vector - field. Streamlines are used to convey the structure of a vector field. - Usually streamlines are created to explore the most interesting features - in the field.

- -

Creating streamlines - requires specifying multiple parameters including starting - points of streamlines, direction - and other parameters to control the propagation - of the streamlines.

- -

 In - Post-Pro there is an option allowing - to specify one particular area - of the field on which the Stream Lines - presentation will be created. This option has been created for optimization - purposes: sometimes generation of a Stream Lines presentation based on - all points of a very complicated field is very time-consuming and requires - a lot of hardware resources.

- -

To bound the area on which the Stream - Lines presentation will be created. you can use another field presentation. - The points of the field located on this source presentation will serve - as starting points for generated streamlines.  

- -

 

- -

To - create a Stream Lines presentation:

- -

 

- -

- Right-click on one - of the time stamps of the field in the Object browser and from the pop-up - menu choose Stream Lines, or

- -

- Click on one of the - time stamps of the field in the Object browser and select from the main - menu Visualization > Stream Lines, - or click icon in - the Visualization Toolbar.

- -

 

- -

- -

 

- -

Stream - Lines tab allows you to set additional parameters of your - Stream Lines presentation:

- -

 

- -
    - -
  • Source: This set of fields allows to - define a source presentation on the basis of which your Stream - Lines presentation will be generated. If in the Source - type choose box you have chosen None, - your Stream Lines presentation will be generated on all points of the - field. You can also choose Entity, Family, - Group or Presentation. You - can also specify the source presentation (from the list of already created - field presentations). The points of the field located on this source presentation - will serve as starting points for generated streamlines.

  • - -
  • In - the Used points field you can - set the number of these starting points (from 0 to 100%).

  • - -
  • Step Length: this parameter defines - the size of the output line segments that make up the streamline (which - is represented as a polyline).

  • - -
  • Integration Step field: parameter of - smoothness of the stream lines. This parameter defines the accuracy of - construction of the streamlines. A smaller value of this parameter allows - to construct smoother streamlines (at the cost of more computation time).

  • - -
  • Propagation Time field: this parameter - controls the maximum length of the stream line (measured in units of time)

  • - -
  • Direction choose - box: this option allows to select direction of the stream lines.(Forward, - Backward or Both)

  • - -
  • Magnitude coloring check box: this option - allows to color your presentation according the vector values applied - to the cells of the mesh or to display it using only one color (this color - can be selected if you click Use Color - button).

  • -
- -

 

- -

Scalar Bar tab allows to define - the parameters of the scalar bar displayed with this presentation (see also).

- -

 

- -

After - you have finished with setting these parameters, click OK. - Your presentation with scalar bar will be immediately displayed - in the viewer:

- -

 

- -

     

- -

 

- -

 

- -

-Related Topics - - -

- -

 

- -

 

- - - - + + + + + +Stream Lines presentation + + + + + + + + + + + + + +

Stream Lines presentation

+ +

Stream Lines is a type of presentation transforming + the cells with vectors having most similar direction into lines . A streamline + can be thought of as the path that a massless particle takes in a vector + field. Streamlines are used to convey the structure of a vector field. + Usually streamlines are created to explore the most interesting features + in the field.

+ +

Creating streamlines + requires specifying multiple parameters including starting + points of streamlines, direction + and other parameters to control the propagation + of the streamlines.

+ +

 In + Post-Pro there is an option allowing + to specify one particular area + of the field on which the Stream Lines + presentation will be created. This option has been created for optimization + purposes: sometimes generation of a Stream Lines presentation based on + all points of a very complicated field is very time-consuming and requires + a lot of hardware resources.

+ +

To bound the area on which the Stream + Lines presentation will be created. you can use another field presentation. + The points of the field located on this source presentation will serve + as starting points for generated streamlines.  

+ +

 

+ +

To + create a Stream Lines presentation:

+ +

 

+ +

- Right-click on one + of the time stamps of the field in the Object browser and from the pop-up + menu choose Stream Lines, or

+ +

- Click on one of the + time stamps of the field in the Object browser and select from the main + menu Visualization > Stream Lines, + or click icon in + the Visualization Toolbar.

+ +

 

+ +

+ +

 

+ +

Stream + Lines tab allows you to set additional parameters of your + Stream Lines presentation:

+ +

 

+ +
    + +
  • Source: This set of fields allows to + define a source presentation on the basis of which your Stream + Lines presentation will be generated. If in the Source + type choose box you have chosen None, + your Stream Lines presentation will be generated on all points of the + field. You can also choose Entity, Family, + Group or Presentation. You + can also specify the source presentation (from the list of already created + field presentations). The points of the field located on this source presentation + will serve as starting points for generated streamlines.

  • + +
  • In + the Used points field you can + set the number of these starting points (from 0 to 100%).

  • + +
  • Step Length: this parameter defines + the size of the output line segments that make up the streamline (which + is represented as a polyline).

  • + +
  • Integration Step field: parameter of + smoothness of the stream lines. This parameter defines the accuracy of + construction of the streamlines. A smaller value of this parameter allows + to construct smoother streamlines (at the cost of more computation time).

  • + +
  • Propagation Time field: this parameter + controls the maximum length of the stream line (measured in units of time)

  • + +
  • Direction choose + box: this option allows to select direction of the stream lines.(Forward, + Backward or Both)

  • + +
  • Magnitude coloring check box: this option + allows to color your presentation according the vector values applied + to the cells of the mesh or to display it using only one color (this color + can be selected if you click Use Color + button).

  • +
+ +

 

+ +

Scalar Bar tab allows to define + the parameters of the scalar bar displayed with this presentation (see also).

+ +

 

+ +

After + you have finished with setting these parameters, click OK. + Your presentation with scalar bar will be immediately displayed + in the viewer:

+ +

 

+ +

     

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/surface.htm b/doc/salome/gui/VISU/files/surface.htm index 9ccbe874..aa79d4d4 100755 --- a/doc/salome/gui/VISU/files/surface.htm +++ b/doc/salome/gui/VISU/files/surface.htm @@ -1,86 +1,86 @@ - - - - - -Surface - - - - - - - - - - - - -

- - - - + + + + + +Surface + + + + + + + + + + + + +

+ + + + diff --git a/doc/salome/gui/VISU/files/surfaceframe.htm b/doc/salome/gui/VISU/files/surfaceframe.htm index 0649c2c1..bcfbd6d1 100755 --- a/doc/salome/gui/VISU/files/surfaceframe.htm +++ b/doc/salome/gui/VISU/files/surfaceframe.htm @@ -1,86 +1,86 @@ - - - - - -Surfaceframe - - - - - - - - - - - - -

- - - - + + + + + +Surfaceframe + + + + + + + + + + + + +

+ + + + diff --git a/doc/salome/gui/VISU/files/sweeping.htm b/doc/salome/gui/VISU/files/sweeping.htm index 8aadef62..4bde6790 100755 --- a/doc/salome/gui/VISU/files/sweeping.htm +++ b/doc/salome/gui/VISU/files/sweeping.htm @@ -1,162 +1,162 @@ - - - - - -Sweeping - - - - - - - - - - - - - -

Sweeping

- -

In Post-Pro there is an option allowing - to display pseudo-animation of a field presentation. For creation of this - pseudo-animation you should take one field presentation generated on the - base of ONE Time Step (for comparison, - Animation  is - generated on the base of ALL Time - Steps of a field). The frame displaying this field presentation will be - the basic. Post-Pro - automatically generates another frame displaying the initial - field presentation, which is composed of cells with minimum - acceptable values regarding the values applied to the cells of the basic presentation. It also automatically - generates a user-defined number of frames (steps), - which will display the process of transformation of the field presentation - from the initial state in the basic state. -  Sweeping - is a type of animation composed of these frames: the frame displaying - the initial field presentation - will start the animation, the frame displaying the basic - field presentation will end it.

- -

 

- -

To sweep - a field presentation:

- -

 

- -

1. Create - a field presentation.

- -

 

- -

2. Right-click on this - presentation in the Object Browser or in the viewer.

- -

 

- -

3. From the pop-up menu - select Sweep option.

- -

 

- -

-Related Topics - - -

- -

 

- -

 

- - - - + + + + + +Sweeping + + + + + + + + + + + + + +

Sweeping

+ +

In Post-Pro there is an option allowing + to display pseudo-animation of a field presentation. For creation of this + pseudo-animation you should take one field presentation generated on the + base of ONE Time Step (for comparison, + Animation  is + generated on the base of ALL Time + Steps of a field). The frame displaying this field presentation will be + the basic. Post-Pro + automatically generates another frame displaying the initial + field presentation, which is composed of cells with minimum + acceptable values regarding the values applied to the cells of the basic presentation. It also automatically + generates a user-defined number of frames (steps), + which will display the process of transformation of the field presentation + from the initial state in the basic state. +  Sweeping + is a type of animation composed of these frames: the frame displaying + the initial field presentation + will start the animation, the frame displaying the basic + field presentation will end it.

+ +

 

+ +

To sweep + a field presentation:

+ +

 

+ +

1. Create + a field presentation.

+ +

 

+ +

2. Right-click on this + presentation in the Object Browser or in the viewer.

+ +

 

+ +

3. From the pop-up menu + select Sweep option.

+ +

 

+ +

+Related Topics + + +

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/vectors_presentation.htm b/doc/salome/gui/VISU/files/vectors_presentation.htm index 3ab095c9..3862f649 100755 --- a/doc/salome/gui/VISU/files/vectors_presentation.htm +++ b/doc/salome/gui/VISU/files/vectors_presentation.htm @@ -1,216 +1,216 @@ - - - - - -Vectors presentation - - - - - - - - - - - - - -

Vectors Presentation

- -

Vector Field  presentation - visualizes vectors of the corresponding cells of the mesh in graphical - mode.

- -

 

- -

To create a Vector  presentation:

- -

 

- -

- Right-click on one of the time stamps of - the field in the Object browser and from the pop-up menu choose Vectors, or

- -

 

- -

- Click on one of the time stamps of the field - in the Object browser and select from the main menu Visualization - > Vectors, or click icon - in the Visualization Toolbar.

- -

 

- -

- -

 

- -
    - -
  • Vectors tab - allows you to set additional parameters of your Vectors presentation:

  • -
- -

 

- -
    - -
  • Scale - Factor: visualization scaling of all vector values applied to the - cells of the mesh.

  • - -
  • Line - width: width of the lines representing vectors in your presentation.

  • - -
  • Magnitude - coloring check box: this option allows to color your presentation - according the scalar - range defined in Scalar Bar properties or to display it using only - one color (this color can be selected if you click Select - Color button).

  • - -
  • Use - glyphs check box: this option allows you to visualize vectors with - pointers and select their type - and position on the line of the - vectors. You can choose Glyph Type (Arrows, - big or small Cones) and Glyph - Position (at the Tail, at the - Head or in the Center).

  • -
- -

 

- -
    - -
  • Scalar - Bar tab allows to define the parameters of the scalar bar displayed - with this presentation (see - also).

  • -
- -

 

- -

After - you have finished with setting these parameters, click OK. - Your presentation with scalar bar will be immediately displayed - in the viewer:

- -

 

- -

          

- -

 

- -

 

- -

-Related Topics - - -

- -

 

- - - - + + + + + +Vectors presentation + + + + + + + + + + + + + +

Vectors Presentation

+ +

Vector Field  presentation + visualizes vectors of the corresponding cells of the mesh in graphical + mode.

+ +

 

+ +

To create a Vector  presentation:

+ +

 

+ +

- Right-click on one of the time stamps of + the field in the Object browser and from the pop-up menu choose Vectors, or

+ +

 

+ +

- Click on one of the time stamps of the field + in the Object browser and select from the main menu Visualization + > Vectors, or click icon + in the Visualization Toolbar.

+ +

 

+ +

+ +

 

+ +
    + +
  • Vectors tab + allows you to set additional parameters of your Vectors presentation:

  • +
+ +

 

+ +
    + +
  • Scale + Factor: visualization scaling of all vector values applied to the + cells of the mesh.

  • + +
  • Line + width: width of the lines representing vectors in your presentation.

  • + +
  • Magnitude + coloring check box: this option allows to color your presentation + according the scalar + range defined in Scalar Bar properties or to display it using only + one color (this color can be selected if you click Select + Color button).

  • + +
  • Use + glyphs check box: this option allows you to visualize vectors with + pointers and select their type + and position on the line of the + vectors. You can choose Glyph Type (Arrows, + big or small Cones) and Glyph + Position (at the Tail, at the + Head or in the Center).

  • +
+ +

 

+ +
    + +
  • Scalar + Bar tab allows to define the parameters of the scalar bar displayed + with this presentation (see + also).

  • +
+ +

 

+ +

After + you have finished with setting these parameters, click OK. + Your presentation with scalar bar will be immediately displayed + in the viewer:

+ +

 

+ +

          

+ +

 

+ +

 

+ +

+Related Topics + + +

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/files/wireframe.htm b/doc/salome/gui/VISU/files/wireframe.htm index 9b2f749f..45cf670a 100755 --- a/doc/salome/gui/VISU/files/wireframe.htm +++ b/doc/salome/gui/VISU/files/wireframe.htm @@ -1,86 +1,86 @@ - - - - - -Wireframe - - - - - - - - - - - - -

- - - - + + + + + +Wireframe + + + + + + + + + + + + +

+ + + + diff --git a/doc/salome/gui/VISU/gauss_points_presentation.htm b/doc/salome/gui/VISU/gauss_points_presentation.htm index 9a92e56a..6d7b2960 100755 --- a/doc/salome/gui/VISU/gauss_points_presentation.htm +++ b/doc/salome/gui/VISU/gauss_points_presentation.htm @@ -1,137 +1,137 @@ - - - - - -Gauss Points Presentation - - - - - - - - - - - - - -

Creating a Gauss Points Presentation

- -

To create a Gauss Points  presentation:

- -

 

- -

- Right-click on one of the time stamps of - the field in the Object browser and from the pop-up menu choose Gauss Points, or

- -

- Click on one of the time stamps of the field - in the Object browser and select from the main menu Visualization - > Gauss Points, or click icon - in the Visualization Toolbar.

- -

 

- -

 

- -

- -

 

- -

Now you can choose the Type - of your Gauss Points presentation and Primitives - used for visualisation of the points and set their properties.

- -

You can also change the Scalar - Bar properties

- -

 

- -

To exit the dialog and apply choices press - OK button, or press CANCEL - button to quit.

- - - - + + + + + +Gauss Points Presentation + + + + + + + + + + + + + +

Creating a Gauss Points Presentation

+ +

To create a Gauss Points  presentation:

+ +

 

+ +

- Right-click on one of the time stamps of + the field in the Object browser and from the pop-up menu choose Gauss Points, or

+ +

- Click on one of the time stamps of the field + in the Object browser and select from the main menu Visualization + > Gauss Points, or click icon + in the Visualization Toolbar.

+ +

 

+ +

 

+ +

+ +

 

+ +

Now you can choose the Type + of your Gauss Points presentation and Primitives + used for visualisation of the points and set their properties.

+ +

You can also change the Scalar + Bar properties

+ +

 

+ +

To exit the dialog and apply choices press + OK button, or press CANCEL + button to quit.

+ + + + diff --git a/doc/salome/gui/VISU/gauss_viewer.htm b/doc/salome/gui/VISU/gauss_viewer.htm index bff3ba85..8fcb09ca 100755 --- a/doc/salome/gui/VISU/gauss_viewer.htm +++ b/doc/salome/gui/VISU/gauss_viewer.htm @@ -1,197 +1,201 @@ - - - - - -Gauss Viewer - - - - - - - - - - - - - -

Gauss Viewer

- -

Gauss Points Viewer is the viewer - specially developed to display Gauss - Points Presentations in Post-Pro - Module.

- -

 

- -

The viewer is activated automatically when you choose to create a Gauss - Points Presentation.

- -

Right mouse-click on the Presentation gives access to the following - options:

- -

 

- -

- -

 

- -
    - -
  • Rename - - allows to rename the presentation.

  • - -
  • Edit - - allows to return to Gauss - Points Properties menu and change the parameters of a presentation -

  • - -
  • Copy - - allows to create a copy of the presentation in the same subfolder (time - stamp) in the Object Browser.

  • - -
  • Erase - - allows to hide the selected presentation from the viewer.

  • - -
  • Display Only - - allows to display only the selected presentation, hiding all other from - the viewer.

  • - -
  • Store current configuration - - allows to save the current layout - of the viewer (settings, position of windows, etc).

  • - -
  • Dump view - exports - an object from the viewer in bmp, png, jpg or jpeg image format.

  • - -
  • Change - Background - allows to change the properties of the background.

  • -
- -

 

- -

Most operations available via Viewer Toolbar are common with VTK 3D Viewer.

- -

However, some of them are used only in Gauss Points Viewer.

- -

 

- -
    - -
  •   These buttons are used for Recording.

  • - -
  • Interaction - Style Switch - allows to switch between two the modes of mouse - manipulation.

  • - -
  • Salome Standard Controls - - allows to manipulate objects in the - viewer with the mouse and locked Ctrl button: increase or decrease the - zoom ratio with the left mouse button, translate object in any direction - with the central mouse button or rotate it with the right mouse button. -

  • - -
  • Keyboard Free - allows to manipulate objects in the viewer - with the mouse without locking Ctrl button. In - this case the operations are assigned to the buttons differently: rotation - is made with the left button, translation with the right and zoom with - both pressed in the same time.   

  • - -
  • Selection - Mode Switch - activates Picking. -

  • - -
  • Plane - Segmentation - activates Segmentation.

  • -
- - - - + + + + + +Gauss Viewer + + + + + + + + + + + + + +

Gauss Viewer

+ +

Gauss Points Viewer is the viewer + specially developed to display Gauss + Points Presentations in Post-Pro + Module.

+ +

 

+ +

The viewer is activated automatically when you choose to create a Gauss + Points Presentation.

+ +

Right mouse-click on the Presentation gives access to the following + options:

+ +

 

+ +

+ +

 

+ +
    + +
  • Rename + - allows to rename the presentation.

  • + +
  • Edit - + allows to return to Gauss + Points Properties menu and change the parameters of a presentation +

  • + +
  • Copy - + allows to create a copy of the presentation in the same subfolder (time + stamp) in the Object Browser.

  • + +
  • Erase + - allows to hide the selected presentation from the viewer.

  • + +
  • Display Only + - allows to display only the selected presentation, hiding all other from + the viewer.

  • + +
  • Store current configuration + - allows to save the current layout + of the viewer (settings, position of windows, etc).

  • + +
  • Dump view - exports + an object from the viewer in bmp, png, jpg or jpeg image format.

  • + +
  • Change + Background - allows to change the properties of the background.

  • +
+ +

 

+ +

Most operations available via Viewer Toolbar are common with VTK + 3D Viewer. VTK 3D Viewer + is detailly described in the documentation on + GUI module.

+ +

However, some functionalities are used only in Gauss + Points Viewer.

+ +

 

+ +
    + +
  •   These buttons are used for Recording.

  • + +
  • Interaction + Style Switch - allows to switch between two the modes of mouse + manipulation.

  • + +
  • Salome Standard Controls + - allows to manipulate objects in the + viewer with the mouse and locked Ctrl button: increase or decrease the + zoom ratio with the left mouse button, translate object in any direction + with the central mouse button or rotate it with the right mouse button. +

  • + +
  • Keyboard Free - allows to manipulate objects in the viewer + with the mouse without locking Ctrl button. In + this case the operations are assigned to the buttons differently: rotation + is made with the left button, translation with the right and zoom with + both pressed in the same time.   

  • + +
  • Selection + Mode Switch - activates Picking. +

  • + +
  • Plane + Segmentation - activates Segmentation.

  • +
+ + + + diff --git a/doc/salome/gui/VISU/index.htm b/doc/salome/gui/VISU/index.htm index a401b3a4..abf78302 100755 --- a/doc/salome/gui/VISU/index.htm +++ b/doc/salome/gui/VISU/index.htm @@ -1,180 +1,180 @@ - - -Post-Pro Module Reference Manual - - - - - - - - - - - - - + + +Post-Pro Module Reference Manual + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/index_csh.htm b/doc/salome/gui/VISU/index_csh.htm index 57b07d67..6d780631 100755 --- a/doc/salome/gui/VISU/index_csh.htm +++ b/doc/salome/gui/VISU/index_csh.htm @@ -1,106 +1,106 @@ - - -Post-Pro Module Reference Manual - - - - - - - - - - - - + + +Post-Pro Module Reference Manual + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/index_rhc.htm b/doc/salome/gui/VISU/index_rhc.htm index 8cc03d91..e83d0b9f 100755 --- a/doc/salome/gui/VISU/index_rhc.htm +++ b/doc/salome/gui/VISU/index_rhc.htm @@ -1,106 +1,106 @@ - - -Post-Pro Module Reference Manual - - - - - - - - - - - - + + +Post-Pro Module Reference Manual + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/navigation_with_keyboard_and_spacemouse.htm b/doc/salome/gui/VISU/navigation_with_keyboard_and_spacemouse.htm index c2d040ee..2a470878 100755 --- a/doc/salome/gui/VISU/navigation_with_keyboard_and_spacemouse.htm +++ b/doc/salome/gui/VISU/navigation_with_keyboard_and_spacemouse.htm @@ -1,457 +1,457 @@ - - - - - -Navigation with keyboard and spacemouse - - - - - - - - - - - - -

Navigation in the Gauss viewer

- -

Gauss viewer provides some navigation options, which are not available - in other Salome viewers.   

- -

Navigation using the mouse

- -

Salome standard

- -

The mouse is supported as a standard manipulator in Salome possessing - the following actions by default:

- -

 

- - - ---- - - - - - - - - - - - - - - - - - - - - -
-

Action

-

Command

-

Movement

-

Dynamic rotation

-

[CTRL] key + Right Mouse Button

-

Rotation about the focal point

-

Dynamic panning

-

[CTRL] key + Central Mouse button

-

Translation in any direction

-

Dynamic zoom

-

[CTRL] key + Left Mouse Button

-

 Increase - or decrease of zoom ratio

- -

 

- -

Gauss Viewer

- -

In Gauss Viewer it is possible to manipulate - objects without locking keyboard keys, switching between the standard - and the advanced operation modes with Interaction - Style Switch button from Gauss Viewer Toolbar:

- -

 

- - - ---- - - - - - - - - - - - - - - - - - - - - -
-

Action

-

Command

-

Movement

-

Dynamic rotation

-

Right Mouse Button

-

Rotation about the focal point

-

Dynamic panning

-

Central Mouse button

-

Translation in any direction

-

Dynamic zoom

-

Left Mouse Button + Central Mouse button

-

 Increase - or decrease of zoom ratio

- -

 

- -

Navigation using the keyboard

- -

Salome does not allow to manipulate objects - using keyboard keys, which is possible in Gauss Viewer only.

- -

 

- - - ---- - - - - - - - - - - - - - - - - - - - - - - - - - -
-

Action

-

Key

-

Movement

-

Dynamic rotation

-

[CTRL] key +

-

[ ], [ ],

-

[ ], [ ]

-

Rotation about the focal point

-

Dynamic panning

-

[ ], [ ],

-

[ ], [ ]

-

Translation in any direction

-

Dynamic zoom

-

[PageUp],

-

[PageDn]

-

  Increase - or decrease of zoom ratio

-

Speed increment

-

[ + ],

-

[ - ]

-

Increase or decrease by 1 of the speed increment for the previously - defined movement.

- -

 

- -

Navigation using the spacemouse

- -

Salome does not allow to manipulate objects using a spacemouse, which - is possible in Gauss Viewer only.  

- -

 

- -

The spacemouse introduces a local coordinate system and 6 degrees of - freedom, which are independent from the 3D view coordinate system.

- -

 

- -

- -

 

- -

The movement of 3D models in the screen depends on the user manipulations - with the controller head.

- -

 

- - ---- - - - - - - - - - - - - - - - - - - - - - - - -
-

Action

-

Move

-

Description

-

Dynamic rotation

-

-

Tilt the controller head forward - and backward to rotate the object about axis X.

-

 

-

 

-

-

Rotate the controller head clockwise - and counterclockwise to rotate the model about axis Y.

-

Dynamic panning

-

-

Pull up and - push down to move the model up and down.

-

Move left and right - to move the model left and right.

-

Dynamic zoom

-

-

Push forward or pull - backward to respectively decrease or increase the zoom ratio.

- -

 

- -

Buttons of the spacemouse are also used to change the magnification - for Gauss points:

- -

 

- -

- -

 

- -

By default, buttons are defined as follows, however the user can change - them in the preferences:

- -

 

- - - --- - - - - - - - - - - - - - - - - - - - - - - - - -
-

Button

-

Description

-

Button 1

-

Decrease by 1 speed increment used for the keyboard (the same as [-] - key)

-

Button 2

-

Increase by 1 speed increment used for the keyboard (the same as [+] - key)

-

Button 10

-

Divide the current magnification by the magnification ratio

-

Button 11

-

Multiply the current magnification by the magnification ratio

-

Button Star

-

Toggle button to switch to dominant or combined movements

- -

 

- -

 

- - - - + + + + + +Navigation with keyboard and spacemouse + + + + + + + + + + + + +

Navigation in the Gauss viewer

+ +

Gauss viewer provides some navigation options, which are not available + in other Salome viewers.   

+ +

Navigation using the mouse

+ +

Salome standard

+ +

The mouse is supported as a standard manipulator in Salome possessing + the following actions by default:

+ +

 

+ + + ++++ + + + + + + + + + + + + + + + + + + + + +
+

Action

+

Command

+

Movement

+

Dynamic rotation

+

[CTRL] key + Right Mouse Button

+

Rotation about the focal point

+

Dynamic panning

+

[CTRL] key + Central Mouse button

+

Translation in any direction

+

Dynamic zoom

+

[CTRL] key + Left Mouse Button

+

 Increase + or decrease of zoom ratio

+ +

 

+ +

Gauss Viewer

+ +

In Gauss Viewer it is possible to manipulate + objects without locking keyboard keys, switching between the standard + and the advanced operation modes with Interaction + Style Switch button from Gauss Viewer Toolbar:

+ +

 

+ + + ++++ + + + + + + + + + + + + + + + + + + + + +
+

Action

+

Command

+

Movement

+

Dynamic rotation

+

Right Mouse Button

+

Rotation about the focal point

+

Dynamic panning

+

Central Mouse button

+

Translation in any direction

+

Dynamic zoom

+

Left Mouse Button + Central Mouse button

+

 Increase + or decrease of zoom ratio

+ +

 

+ +

Navigation using the keyboard

+ +

Salome does not allow to manipulate objects + using keyboard keys, which is possible in Gauss Viewer only.

+ +

 

+ + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
+

Action

+

Key

+

Movement

+

Dynamic rotation

+

[CTRL] key +

+

[ ], [ ],

+

[ ], [ ]

+

Rotation about the focal point

+

Dynamic panning

+

[ ], [ ],

+

[ ], [ ]

+

Translation in any direction

+

Dynamic zoom

+

[PageUp],

+

[PageDn]

+

  Increase + or decrease of zoom ratio

+

Speed increment

+

[ + ],

+

[ - ]

+

Increase or decrease by 1 of the speed increment for the previously + defined movement.

+ +

 

+ +

Navigation using the spacemouse

+ +

Salome does not allow to manipulate objects using a spacemouse, which + is possible in Gauss Viewer only.  

+ +

 

+ +

The spacemouse introduces a local coordinate system and 6 degrees of + freedom, which are independent from the 3D view coordinate system.

+ +

 

+ +

+ +

 

+ +

The movement of 3D models in the screen depends on the user manipulations + with the controller head.

+ +

 

+ + ++++ + + + + + + + + + + + + + + + + + + + + + + + +
+

Action

+

Move

+

Description

+

Dynamic rotation

+

+

Tilt the controller head forward + and backward to rotate the object about axis X.

+

 

+

 

+

+

Rotate the controller head clockwise + and counterclockwise to rotate the model about axis Y.

+

Dynamic panning

+

+

Pull up and + push down to move the model up and down.

+

Move left and right + to move the model left and right.

+

Dynamic zoom

+

+

Push forward or pull + backward to respectively decrease or increase the zoom ratio.

+ +

 

+ +

Buttons of the spacemouse are also used to change the magnification + for Gauss points:

+ +

 

+ +

+ +

 

+ +

By default, buttons are defined as follows, however the user can change + them in the preferences:

+ +

 

+ + + +++ + + + + + + + + + + + + + + + + + + + + + + + + +
+

Button

+

Description

+

Button 1

+

Decrease by 1 speed increment used for the keyboard (the same as [-] + key)

+

Button 2

+

Increase by 1 speed increment used for the keyboard (the same as [+] + key)

+

Button 10

+

Divide the current magnification by the magnification ratio

+

Button 11

+

Multiply the current magnification by the magnification ratio

+

Button Star

+

Toggle button to switch to dominant or combined movements

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/picking.htm b/doc/salome/gui/VISU/picking.htm index 07625216..2b5c2a96 100755 --- a/doc/salome/gui/VISU/picking.htm +++ b/doc/salome/gui/VISU/picking.htm @@ -1,208 +1,208 @@ - - - - - -Picking - - - - - - - - - - - - - -

Picking

- -

Picking is a special - way of viewing Gauss Points presentations

- -

 

- -

- -

 

- -

Picking mode is activated by selecting   button in the Gauss Viewer toolbar.

- -

Now if the cursor touches a point it is highlighted  with - triangular markers (pyramids). The cursor is dynamically generated so - that apexes of each pyramid touch the point sprite boundary, and the height - of the pyramid is fixed.

- -

- -

To get information about the point click the left mouse button or press - S (or s) key of the keyboard.

- -

Once a point is selected, the presentation is centered around this point - and a semi-transparent window is displayed next to the selected point - and shows the following information:

- -
    - -
  • The ID of the point within its parent mesh element

  • - -
  • Coordinates of the Gauss point

  • - -
  • In the case of a result at Gauss point: Scalar - value being inspected + all components individually

  • - -
  • Name of its parent mesh element

  • -
- -

In addition, the active scalar bar is updated to highlight the corresponding - value of the selected scalar value by a black line.

- -

 

- -

All Picking preferences can be defined using Preferences, however, you - can customize them for the current presentation.

- -

 

- -

- -

 

- -
    - -
  • Cursor - - allows to adjust the Size of - the cursor used for Picking (ranging from 0.1 to 1), the Height - of the pyramids (ranging from 0 to 10) and the Selection - cursor color.

  • - -
  • Tolerance - - defines at which distance of the cursor from the point it becomes selected - (ranges from 0.001 to 10).

  • - -
  • Information window - - allows to define the Transparency - (from 0% = opaque to 100% = transparent) and Position - of the window, which can be:

  • - -
  • Centred - below the point, or

  • - -
  • located at Top-left - corner of the 3D view

  • - -
  • Movement - of the Camera can also be define by - the user.

  • - -
  • Zoom - at first selected point - This value is used to define the focal - distance at the first selected point (at the end of the movement of the - camera). This value is a ratio that will be multiplied by the current - zoom value.

  • - -
  • Number - of steps between two positions - defines - the smoothness of camera movement at selection by the number of iterations. - If set to 1 the camera is zoomed and centered at the point momentarily. - Greater numbers mean very slow camera movement.   

  • - -
  • Display - parent mesh element - allows to visualize - or hide the parent mesh element of the selected gauss point.

  • -
- -

 

- -

 

- - - - + + + + + +Picking + + + + + + + + + + + + + +

Picking

+ +

Picking is a special + way of viewing Gauss Points presentations

+ +

 

+ +

+ +

 

+ +

Picking mode is activated by selecting   button in the Gauss Viewer toolbar.

+ +

Now if the cursor touches a point it is highlighted  with + triangular markers (pyramids). The cursor is dynamically generated so + that apexes of each pyramid touch the point sprite boundary, and the height + of the pyramid is fixed.

+ +

+ +

To get information about the point click the left mouse button or press + S (or s) key of the keyboard.

+ +

Once a point is selected, the presentation is centered around this point + and a semi-transparent window is displayed next to the selected point + and shows the following information:

+ +
    + +
  • The ID of the point within its parent mesh element

  • + +
  • Coordinates of the Gauss point

  • + +
  • In the case of a result at Gauss point: Scalar + value being inspected + all components individually

  • + +
  • Name of its parent mesh element

  • +
+ +

In addition, the active scalar bar is updated to highlight the corresponding + value of the selected scalar value by a black line.

+ +

 

+ +

All Picking preferences can be defined using Preferences, however, you + can customize them for the current presentation.

+ +

 

+ +

+ +

 

+ +
    + +
  • Cursor + - allows to adjust the Size of + the cursor used for Picking (ranging from 0.1 to 1), the Height + of the pyramids (ranging from 0 to 10) and the Selection + cursor color.

  • + +
  • Tolerance + - defines at which distance of the cursor from the point it becomes selected + (ranges from 0.001 to 10).

  • + +
  • Information window + - allows to define the Transparency + (from 0% = opaque to 100% = transparent) and Position + of the window, which can be:

  • + +
  • Centred + below the point, or

  • + +
  • located at Top-left + corner of the 3D view

  • + +
  • Movement + of the Camera can also be define by + the user.

  • + +
  • Zoom + at first selected point - This value is used to define the focal + distance at the first selected point (at the end of the movement of the + camera). This value is a ratio that will be multiplied by the current + zoom value.

  • + +
  • Number + of steps between two positions - defines + the smoothness of camera movement at selection by the number of iterations. + If set to 1 the camera is zoomed and centered at the point momentarily. + Greater numbers mean very slow camera movement.   

  • + +
  • Display + parent mesh element - allows to visualize + or hide the parent mesh element of the selected gauss point.

  • +
+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/pics/animation.png b/doc/salome/gui/VISU/pics/animation.png index 888fbf054bfa0cdebb166aaffafa5bc61af6ca1f..85070152e7b9dfb000c52cd1be878c1483779621 100755 GIT binary patch literal 23385 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 VEN6a<2`sY_H#GIHmuTD#{~sY$jBWq` literal 18432 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 literal 25243 zcmb5WbzGEdyZ$}sQV~>CKpGaHfHcyrNQjhlhjb6!r63?F-7Pu5P{Ys&2uOE#cXz+n zEce>`d7l03{qEl%d_FLP!#($0*Lj}D_c$)UevlS>h(U+}fj}OLzY~^&K+s$ukXuyf zcfli?f4unwf&2*(7k;B){AqK_RYSr4`gCt3j=*yMA#}1P5U(`R@nc)szo4c*HCIn(h!XgIav%-#5CFfya*0zTh=-$hSUt-#OmSv^n_mqTwR z=Z8ki^ys<=OI*=WZtkSN<`74MS#fO-l$d~SPXbyhSAx~`uvNh_B|6x-^p4GCL5pyR z=h{)8!({;pw)2kSR&BPueUnw~H|i9petqfV_Z}VsPo6x6$mi?fh%HkB?7mOMOYsVD|U3sK-M7PkEMj3gg}E+U?8UKOt=P@B7}YW0Ur4 zQ8caLHf0shxT^dJv)Y< zQ|x4TnfOWN-#6~!l;QUgV)o%<%0}L@!Q`({S`4VA?ihNi-Zl4PtEbxGVN#&9*!B>G zedTi(avz$xJodg4Yk}Y?OzWZOM07kYrthmRPwsl71&eyaV04z2mKEz5)_pi1*($>9 zhaP71IS3V&k8;{na0gef+O2A6YW%8oAh~k~o2um&9No&k;NT|w`ZcV}JRUNYF3X}89NpNsp;2i= zkkMv0QQXBnnK+=SsnPo~Kxi6~o{+h@neI4%)B8F`%xmtgv~hB?jsgv{lUxw5FRXqb z^^G0|F4Lr>Dh_Se=5(bHy6gnbk5;@(bsA#?T-D(~-jt`7}bOCbx)hUhzt1T+znQkvr zlR7*h*o-`1d`SuUrVyu2hJD3niW+>?0~xD-;&mI8T=;~fbaOOVxe!=r z_tiMtdR*>_O=@bI^jAFDQpdF>-{7en3F6ROSza0oDzG*&ciepXtn#v@w=-NAe%zP9 z{1W4R982;D{{yf45wdB!jV?Th?o6?Xa<-#2@9qoPeau1|ay^n5kF$78YNqr)W3Chr ze<~?HZkXNNI$}fNi)aQjUmhmb-oQ>$Y|cZGpS)u%Oy zM#|BxsjFb_x7D1Tb(o*oF74xvmzlhsD7RR9QrfcYauYusHL#X#GMrCv&A|RWg^B7w zcWooQy~T2-j^ARutU>>kbx-P&+sRsy+|s>}i^STL2P^ACutXkr3??QxhTd({N1UpO zMH`U9<(TKXckV>!3b8~9WZaO~BhS_32a~;9JytfF=qgqUy~`}2^NpEwo8wov1+Nml z`#By38<}|wm{`5E$(WV1eUPQ=dR$;?tZx+0Zk_Gf$t9gK+NJ3@(;SeAd3peIHSVWP zZ9HlTt_VHBV@k6??%H%HT^_Lb{z;qku_lLPsCew3_o5xg6bx2X!yTWYMeJTb{k#?<9Q%Mr4c-D@N zt*xzo8zX`5qx#m^aALTf&4%)D*Vfh+HQE|r&JyEJL}$x>#MQb)!FS6Dza-1#FC{E_ zL(soo5qn);x~Y|$i@Uh+RB~71w%i>gwsdYwel)B0rudxBLPWV`YVb3$+P5_4Z+e28 z-{r@jd9>YMv{@KQQy2d#G;8|g!yhkX18Fe~6&IVfoJ==y7?XLs-u6M$`c`9Kt<)2b zUNiEOdHM}v`C;#6BOvDLuY&vq3k-gG6+(Ur3@0;%s=%3;>JKk14t$>^*9IINq@Ni# z$sDfDwL*;wna$cf#xFRjEEOC-yv|mPMeg785U`KKcZYmzu%Mw~o1H7vTe-FqI6Juy zJK{ebO@Ns5Z+1^G-6_8Ah^t|zOw;J3POpOOp45kY9KiB$d*%A!%hoHTt98oT%yP$x znva*6YtOWt&dD(XA5>HtJ42hvr7xokwyDjEeI75JAr60bO$E>E-rn9OHD)8+KRB>< z9NJ%MvDgp$t>iuH0 zT<+gk-d@|C9ax$$%M9ifAiN_Xw(l?>5lhJbqi>1~`{Ix+Hl`}Mz8;ZGLS!_6kbnfP z+<3FVH&@2eLb0zDC|s|rqkV(pcQ*%`xSe;!)MnT#8qfQCa0l`XY_G#k#ln}rM+R2X zXZl;qOm_q_)%k0WT>sd`m>9}Dae}n)k0ljTMO4)?2h~3~SV$7lE^%qI6T0AU?_6U# zIMhDrEpis~!qB@<{@!eR2%?Oqtf8qX5x#M>f&btxMj_F!j%r`&Y#lbjm-IE#phK>d z7UpiOYiL+mza)4zmL6BEFJ3a?yin%Kfgwm(|r+HD{JdqHjdQg z-EeG&J70*t)}{dfTfkE~oZMVn5BQHyc*`eOUzR^vrS^MeN|xrGa^ zGWlH&h&7f%4Sw+YcmHH&{>D!Bpygz{FL7l0t3m! zt;wmGVlF@53gQgkJCmqnJEkYNR_RaDOaFMA6H7B7~T}F*7HBD)sU7_PEK5B%F+W!BeN{( zoyB=LS$|7U;M9cj-dW5 z78)*itP0;i9PhBLtPCjA{Nm1FL{fuW)SbxmU2|g@Y|BFJdM%q_cS-_ID|VZ!Dm3iW z0TWpquxi#Q_smo068rqCtBC@X#9R#DRMxY0jGmpHW$K1rUwmZ4aEr9V!g!qEp0zpNBZp zJ$l0V{r<)ZR>qHBuX$Z;PjQW|GwtiQt~c)lZhDy9u8u}F#j7i&Wy3zrbT1Y;?deWy zsn?OX9&a|(nuz1Iv}_5M>JAj!7z6}ZUKj0~?vK!4852;AD6tv$dW}gq%)5t%u&(T% zF4hWu)4t?OeyHJW*2gHl;~DDZe`jg^z<50DE-B+CuUqs_pOK1{Y1jM~`jSzoh|+PI zK{b6$%+$0|ihH#4&5nCOR14d#`Oohr9aa{r>Qr?{DnkAVAveh#l>C~;>q{anW2HFH zaAxP`(0;7?kkM(tQ&SMRMm^NowkJ$bJ?rD! zjl&p0vQNtU^NtmI$MJEeV%7-=e9ul<-e2lqGwJtvxN}^hrX|Zp^IrTUClt<9S6AnD zqDRGhlEQG}XvpAD?XU%gv-|{2f$Qv>&EP)c*~T->vi;+ho*sDPD6XuKkdUO&WJ>OS z$YUXNqs#%5(~VftAoqO_&_G6!P_n|p!ZM2qrP`dfPCnCRr*UgGwJ*Iz%nwBI!k=v# zxUaVnf*tJHAP0V_+?`)};@mLrjcB(~e@;SxKAva4HO`S~mK{Ed*R4H! zd3Jz}J%~@MdwdHVTY{@GkX!^1 zR@<9-vJpPy=H^~pSpmQQ17SAOYl^Vj91Zg$bwMxajzWM+RDuogPGu)7jRcFbYlMr3%a%zdB{PTH3b6WkAx zRwe~NB35OaOV{_=XH0Un!TH86&d#F}j9$fkz!AAd9^ACs^?Lp&G`J13(fIOM$RKVY zc+zRtUt)sm=#95_0kMHCacv5m%n?gV&2&1xSer%H+8DucDQ#^xz>1jiaWPr#P0LqD z7M3T-X15)&INlZ178DYL%h|g0<(_f2_9=hK7F)wKP0=L%lOgvmU()p$pO=F$~9$&;X|qgH%7H!U!YdV+#LLY7+KD^A^I7s zEa*7MFp{^KZ~e)vR_977<)J7e27fw@Q~`sQY^jeEqxJq5aY$QcKN=O`Jqt~?}lG_Od&Ss z=F*kr>}K-~v9T9cjsvLIXeD|SVgDjUx#hTFpy|sRHtAeJ^Gx&v`SS7A0WQC%E8S7~ z_`$EY7S4xh<@i!mh1#6oF5&zT;#blYTLR|`t)ZokJ6bJ41m4-%)S?+-x9>fgU0)AS zf+4Cx#=x8N_xCS?qjAy%$T3xk== zC1J4d>8TS0R9Dq9<0t$shZO~}LXq-R*&C3cSZ0E*6i5_Z!YV7DR!eDT$@V7!jT$$p zB#xVU7WUx88X<_A8i)SjtgA|eso;lxcw~a|ug_64eJ$B6P4_07p++TW_$<4ObywFo zf+_7S*&=U6A66xtb=1?1ls~z>Gk=lNU2@a;3R44LX|iPt}2h@U}5etL78->SJq>`%9qW8vOc3&IX;pdwyk3=}Z4omH)>3?s`c_3{$D;5N)9*YI>&> z5Fjm3GP5Oul`wtw_C8yR(Z**pevF2OrZi#tDsFdw-{zepIX!Aad%?1mlwbO1`$^=k zHD<_LRrB5t7X3IMt7XiFF|rRYJ*%hQJG6RJtkQ}!cq@uk<#(5~5I>lzCcYvjz;R#U zSu!c3zGhptcvC{ht#S6IYUj6zL>R1GgBQY6X8FGTn2nEL<8%fdgMVu5rB=AuS$oM7 zy;bVw4%<4r>ckc0bKn%aaZE1LX3RYZVu3MF{%r21kMOd>i#>tt)4W=Qa02GLbT)*5*Jl7!UsNVm0b6GVCJM za#?%9?i&in^3J$-aIsTg>NaNM!uP=@s|wsH3JS{A{!B~)0)l*%y3aAx^$&gkiW7T$ z&PK>)jOu=tmGG%?7x#;!r6kAcG_#SyKc;ctefaRLYKDVh;^$j_vUyM*(u#^6D=RDG zh!j@_A8&&N|E@KJ#M$O&gwn}T^-kS?5Hv}rkBt_sIO+MQKC?Sn+JugduCr6OGg?`@ zA1K|P{KQq@5G!?2s>WsjYpFxcF8IOM)t2a_8%j_vc?x{@WbWj4NXG734Mc0FgqLo} zaNMY@w{0q2^y3=Ore#!&`b)#!$l?Ury#KP1bHJbl*7J4k!5;t96oO=v(p!4&^CvqHFIZN~l28nGt zW33&(y1GPQLpF1bU*wiZw-1=r3ZgAFtF4#XaqY*xVpCUG&3#r=e)Hy26+Mtrige0P zaBzO!#^Upmb~LLGRhcMEV|nXb(bGiC>ktI3JM*3Kyhswf-V22!@;QgEB)dN1BX$s%oF|1Tq8nfUBgNj;_9e5JVYOGml^Py^okN*GzYYLRKR#voK z%f4^6cn9r6_S-^?C-!^Gr*OR0@w68!jLXwOaFrXYqI_ifh@y!Mr3_~YTtn|BbS;S3 zuD(hd`D+Y!XYdv6dX>pUIfGG8GU9A#s;ldvi0mL4c~`Od5leM-br zf6}(6FH-_9ARxeLyK?1y^YLNLnR}+W=0LVg>(CHFqZXT5`Z;JlpyBLoA!qj2VQ{4i z&2oh@&8=}n26*&vVq{So zN8*Q}AsQd{(?1KFa^Lh8KOn`z`d*Y1Te@P)Oem$)lLeK`8@Lymg*{nI@+nCzeZaIL zT>XdV@wG-_p0{Aq+}u50E6-Fck!Dc`lG7myYvt)W3~l8!{*Sf1^UHZ}WpN%|*@u}ItX3sSvYq{bCe$P}R%^uh$?;Bf-ppkc5INd{+LQc~V|zo7B&i~X zYz(qp4_6zylXwZ(oE}4{LsC*DMi?Q9f}Y8wScj=*$iknk&AeqB%YI}Yvvn8S-~v4a zk9egLI21dk+)t)9r>bLq<-Ehdz!=05b43>CT{Nnxhmr|O2SzgxKb1#UCk|f~eD4v@ z;;GrPG7+jG^*#EaN3)`_98-DF;O63}rYe8)T-(jQZ1C_zOnS`x9)yar`uN5ip)uw( zJg(fgkymDPa#F9BBzVbmLpw8#p8ivZn(n zH>e(AGFn8AC2;sB5ErKTsk47lNhSVlJi&_&$Q?4}cHAb8&`u6Yr@7>x+fk~&bGbJr z_{w6PjgZ|GY$t&av<_peP919%r(DynJN(zjBlWT>D(@0FEMj>qXd#%_Gq-GPZCT=j zF84w`YnEhLhKDDL-S6F;?`j(()BvlF*CmKtVS8i=BVj2T~|^1kidwwo!=mj zkq?nucL{}8?^IRi`7MVmZ*NOyha9{6V_0YB+N7TxAGheRMJ7Pm2w3nR?t8wtQEslZ zUCDEC+BV+T%dn^us6$NsF$Zb#eW*8m>8z-h-3~;6F;{|fc^>ROxoOioMWD%Hfn)-Di(k7SH&eC-u0vThPhSh|Nr>Na6dMNO?- znMk>gE95_}wD8qqV%UOSt0q=P;LK-mP(k4A5PRD5#=RUmV~MC~(9s#lnyA0CKQD63 zKh{?A5C04`iFoSqbj7pZ{?XA9`2G9yXP5PNOyj(y(IgXif`9qHbJ&@ddYzrnBUbCQ zM^P-({PY>2sJ`%XKP)mvgqDrXtJ~*Te{#{p4i1L<$*vx`?CN7E}2Idetly2h?MWwPdw`MkqvPvsZ8||OVeA@($Xyxt<~T81xfVw7u&vn{~k$a^pc$X zlPskei|HYaQh|nut}cZ{3?o7nUV9;mPTsCo?NHFPEwfl8jP>Fn?42TEJ`F}F|8eY) z!HnD0Lu#31g>3k;CIdpt&W`QF{_FM5PDvOG82G;i1}^kxN*LR#Nnd%in{rEB9B=E* zHHI4%JR;$UBw#fh)r1#ZQTRMIcu2(2nYKq9znZr1LyC|83(L=AHZ2(|_uvr;kFbtT zDo??XskN7L|1+#HK&Y!tdxeMgPK z2;ROPRecwO+*CgJq)+f<(zfRMd_&*J=r(Ff%#uoKvF#Bw8aYqS51=E>7n&C{wB75sJO9O;)m!xnIg=ZiomA_rjrq4j#1; zK0p8PZF$fP7Mn-f)q8i>B6_2jFJFGGsNg~^SV9idUw~w6P3i)*tjV6disp+&*1bE| zM5p1gzY>8f%?X%}NFd%ALTh}F?dT}6(spo!QZz{Cr~i}nLo;}-AtKSBhQng~TX?wK zlFOIJ>E&%v#s7YL{g3VILNQo>^gaIN!~fE7!X?J7Y2I#5e4Yz5k<=fYtdN zOJ-qZMLACcu2qZv;KAZTsK8yFv;8Hz^}(;8F`kxB%x>l#oQ}C_$jQqOd8(J2HxT%> zVf~#2n3+lW`SL4L^Cl^sC-gu6enQcl%6q3I(@3#=>iKCc2}L6Rz6BkZ)YaYDv0okhCNPl zUA307XBjPol)t_EW_$5~Nr2k$-GjbRv4M0E%tIG`h{Z(NQj@1UdZb%IuQ8i3oAeR4 z@{TGmqe1A*_pcH7+&0f^T~7)N3oSy|c4a( z_9E+5PyJMB!|3R!+*K8r`We)bqZ%uVJ=9QGH?N2kv7khGNXJgLhocI=V|YB5?=fkD z`k6W|5-!@k+67H7X+q|0Y}8rNb9)@65I6Cv2VdjULG#X~{@!LxzDX(`NimEu=VE_7 zROA7}`wH;d&w~H4joPm6wtsB$<$je2u><4IWFld!kv@d}YWhY^Q1DLWLOq0`{ zbo=f3nw>olKY!Bdsxf#~C%$v*{sD>Twg0W9q9xs;4Yptef4I}@`ZoF_3@UbZMa^=% zHMw(v@tC4s=DYkHIp+?(kA)Pl{iX)#Q9X9w`Cug~;RNXX{z_XTd!B#S1z)hUM*-=U zd!LJ&n*d4%g@jz$1p!DA0g7s2VrGEuZD0V7BcVOZp3vpl25(6>>-6)FEE@%?Zq*m+ z@f;TIOC2#=(^}*{6(pd9*^hQnkhloCs3U1PI7fAuQ%5%1D#M$=1T`94BFj(;-4S@k zsDb{Y_v70*7Cqk~72t#aY;Lw*>wi(k!;tMEsAw`_-mHZ41>72l%i-!9L&K~p`sdGm zfarP3`rH@o_PtR=fe^YiFY%Q*mLHW%&ZR^1vVe;hR*c&(paAz8!m;ucT7B+g$Fe#; z;&(m%UR3n$hvg^aq!s|s-eA7qDWC~BKfe;$DK+XL9WK=D$Qy#G)Vi?$i8Od7G)RUR z7rWU^Nq)h~8bK)*0(m@17aJM;5@N1W|0($m|4<14H5q;AueG#DfxQ3$klHfySjcpv5}0_lY)%Q>6@y(ZiQC%RE;qDqDE?am9I^p%qr;7f z&?N1h=j1G(fHvOS-%r;z7Mz@%%#SYBrz>ZOppvHGs>hlP} z6nb_N5|V=BP^8I#Z)7A6Y@;iVSInJX_b0k&5Pq6;{qeY&QitlW0iDAbM<$7kytZfg zaVZ8;1ni01m9Lck&%0sh{EocPAXO!IQjT~?jjXETyL3E9zREXAIrl^Ae*Y-sul^y$ z(wxQ}HRJy2QRe{$W!PUc@a@$m@her?rt8W~u;Vov{7Rlu6rh(J5 zD9?kf8%sffX#s%nf&ia*0!F%4GWQ2RfDyGen2U`icxhF6gt~~_+}!ng2KDmUogJC^ zNMT4kyP0ojDAv8>iIY#-Bw#9#R8YV z8>W9%Sq0H+4PF9N%xG`EnV8GU%X*zB-<#LX-3YV6N;70_BLL;Z6@Dj$k5A!_Cp+^_rY(*?jf-?q!!D)W8R>4Nx0NCnu*bJ@n7g>vFN1 z=;|-`C3qaS^QEbuKW8>wq!A4!ZO)5=y_1yGU+d5Oo|V;KV8+S52HwNM*22Rd#VH{y z&indua&qlar3$j@mdJ5#3pC1JhJLpNW56|S`<`L z7|O?A*{>@kJ1-Nk8-DzlHiXZ}$S4WkNMDBN!J1J@`hcq7r0dDn3y;PwOuu+esPv_e z(_Jh=N$`QGl^M%gCY4-_4tp?|0jZL&TIyRcQ63#Xli`XroqSZz!|${^OL)am?tEZa zZZUE9wYfPx_-Is14Tn^&(yw#6SoVqC%#QD-n>YCp^As1ax zzBy4HdI$4a4vPif(5Ao~HJM^;5eMY~1u(rRDE=H-sGz|FiZSgMb&oXUnuZEbn!Uj}>@&3KbxZN4-8 zU-OcKu?D$myauzPNYC|}>MK@OZkt7PNJH&s@iCQt+>(!1cU|rtDRh|rgPu9RRit|s zAlKGjf-1*b2C(V8!Ihnzp0u}qkayzZ#TTs;sk5mGES%;=YV`nY3@K|Z1#?dS05k7O zif8h7&hY$}1L#)I7fig(yovB7fpVjIMzu2k$w>_=>3C!I=`RO(yC)}b8(!k(o*o&J zD7)iL)gye&kAW$0?Jqa$0X$)=Xf6Dl(j}gsMp+%`~1a}u zD0)HrD!_K7CyFPcoZhHS$=r1;4@r9@1yJOx+n#9U#fmtpBLI~(=rcPK}EKzEXLrfzrhampMQGQUeqmo zxxdFjw7Riic0?!Prr}mF6(=>BeER~c$nDI=u%5SCX@bS1|9LXu6%N*sTTaV5TRjvF zm^se-ZPaa@oj*rLVo-H8`L|}6x+he+gn23Qp z$?1IQ2XGt&bZA`>p;jLgqg;S|<3FK@7r{4}CIDu=$3t(sLGMWqSp58weEo@YRb&P3 z(Uv>qSFOoD{m9q~?001U6P@u0!gVY=tvGGRyg&CR!af0C{BS-*dB(T>>-kzp4eFl_ z8XcJ!7apR_XYavG*IxC%ocBjM();!-V-moD_McGTs2oA)Yn%PMQPRi*Ls7AP=rAI{ zRPC>ZH&JSY1uF9T0ipZqq_g4HJPcqL#mJj>JHPT5ud%I0o zF?7{8)mNuZ7rptatpBMTf2&2MjUsRvAi49m5RK$h+g%gn3rnR%%UBS`%@D4A`bJhyllwctq(bTJf8j@MuWGeq zw6v1X6Z=N9b?m@5A|v$$(1JR*Xi*Avq4rUCR1H4CW7QM}%N zp)E}l_h|Z_P7B1+V6MEdi0G5FP#w|!AdHiZ$Xt09;6S#9k{Qi?{vzq>4iFZ|M`Yi4 zT`w*7{8wLFijJCUEiWJFAGOvy10+|q#);+LBVwJ&3hVWf-z~4OaVytSTwL78&(HRB z_alH}aV#10?sUTLa@4-c9>8<6+n!WSl79D2XYiM75Fvj6a7V&oV}AjV^f$xmm-vfe z5qatTBg4u~AN^o+cN&C@Ic{880U6Yv55$(>uNluzcR>sIPj1Eo(Q66HEfP>SM;NRR z=JFkMvYK`RW&~sTZ=LNUVshHu^=rz9^TsqV5|jdOtlV z;&J?vXQ~US6S~dsKz51zugvtQhPUe zX~C&i-ai8A7CpUoQTwsF+6$EmD{{zNzlR08owPvz020KgS>>aYy)?L!O z9};pmRV3%(Mgb0!2EX2wBO=(;B({tGm(B+frRUC{RPl zWtWze09OsO(;dnPiiHCLNjp)g*ZQcYww62Dp+-Sju0x4|+jcpKM{_{a(x^MJp$Gn5 zdkB=OQlpI?E)&^O%O#3x-u=%nZOQn5_(=%pPrDwR>a^Wc3}E@#_{VZ*(%YV7e&Fjq zFH)biK!|7b&CbuKOM`Uzk_$qO0XQ-aBPOU^$CvqeUGSm6CZpSFez&*cDG8AH7#snk zyzb(!u*2=Ci|F;T|K1eszRa-sUij_d24^p8 zPPUp-Mjwb{qW$XVXc`&8^TO>=j(o2ay+l72V8Nt*q?9S(>FEjZ;vcWyzYmxaoW6VK z-c(TKNAIrlt+|=;6ihruNRe?L1@H&rxJ-02H~wlHuz%YX2bVzT2z1Gt^718z)3dX% zFxmav<71^pLwfW+3}DXxJ*}qS!#|nivaisRlY2_1RQM-7TM#at^0!DkRs!MQOc3() zDKyqRD(5X2M)^S<{1(U&((urIjPdGoV4P=+<@jMJ$9kx1ST; z42-hemrWm2^`A?ENHmI6_^PVuRfcYj!ReIpQH@;eLIC4OtWgUXgj+x&0m5as`naK? z!SpPi^w~tcr>9b(#{I}3IYMTg*TKU~>)8RKBZHZ;obTVg^EbIX-TUK@KZ+b@9BY`# zrwwnrySo*57<>&4gd=!MzfRcd+@M7>X?Jfr8jYCpQc1=Cl+Q?+2N-uqC29GD;Wcpa zLBD$*7Z-PWehzwIN^hCT0HIl6j&}PpPY0`$8Fv{icfZouX@%2rSBmmn6}WR6HBL{w z2Df-)Po^iUY(<$&d%Usu-vOU{Y-|iM?7O*X{;J1t*f^Z213**|E8ANL6)dseP!iuy zf8W_w%b3)bF!XgUD*d=Xtu{|-<79t7?}!84x_VtV+>d8a3>XjTF24vslTrxNV16OY zPazZY6q#OE3w_=f$QvK@6x;FE|2r7rKKz_}?x0%qSZMM-arElO#ES+X$g=@?iIHdn zUDh%j)pP%keC40O3xL49Wjm<4!N->naaD`T@C166nJ!dM$X82rQ0KOu}-HSad%i+#TMJ|TG0HrM1=FpS;% z(rXPa1B@ALT!LnB!~`gEMbFpSkbi16c^$-kA%}-{=@}XKF&{4Mt+s;c3t73f45j!j z)DB(TbI+oh%MkoR=qvL@3GvOX%@Y~|&}%*jV8GyaHolB-gZO!h`*EBa)jy*cm?m%O zbbK?ix<1onAWNgpjlk>YPvK;;8$NP!a+HN0Lsk0|;2B0`B(O$+vjI97Axx=I7u0`x z&8jjDZuKLg{|0g5HAwnGKqv+1;^v&b3>Ab8E-+lyUztr+LuSB%epIdc{q2qzbVI3m`EEkBB?L&G7GT_C38<@wZw~y6C2|nN`A^^mvfDK> zW3|61j_4e!f#D7dJ~u>1H3I{XC{pSe&C`~}0rw9L$b@@f6Rp1zE7SWel6wETDy+XQ z=9fkGmmH}Ok8;1a*!&7x4$X6ObCUiksnRmB%%8YzS9(j0WH2x>?{7ZKVRZHEy8sre zABb&~m>$t8!L>l>^S8g^#Pxlve0{{24QP{`fq?WJILTB8hM7odoC>D5Lssgk&&WJ{1nU9b>lW1SnnBy-KN~|5pw)Xz-5+=oSQ|Ca9QhwhV^zwcdgRX%esFaz>~it#Y;!Yzfd< z;2@^bV35(D{V<&{AA$x_j)z4?3Il<;Q-34ykceIX`tpneIVC47{KwV#vEIrEuS6FT zS03GZ{7;ACdn|S_*jw5RotpA;@-G*&rN5nS63Q^TxMmHDB9%1EMP& z1wxSBg*JCH(&E)AHbFKMUDn`uvT?$g)^o#LmiK$87W&)=12SFtu&bFZYQRBIIOV>x z&*Gwf^>8Ut11$MX+LM!!>+XzDK2znf02Kk)*!1zxcOH9DC>voLSHzp*H2frKKX?k0 zT5!2WCD3TI>&qCCHM!#m3*`YRTp^W@(C~Y)T-Fo^%RL#cC)2n8ovI zLmP_tx@10C5k?kzxmx5DVwplYn9F)DfydPMqZDmx0+|hBTl$*qC2G>LIO9k&nG1)l z7j2lb675t+dC#4_K%Q%1Vc~WpUt~4_3F{?+cuY?(6zD&ueH0cIwgCet1awPa?q!nd zLmk!!U#3%J`1gu2Q|2Dprdc#s19=b@7WUsATf(OOe3E=my`rJIafR%s?$bkjgq)TS zUN5u+TL|c@qsv}&woScio47#lHo7@P{W(6)ZElp6Dk~dSMbE+#w$dut69RWYaRIHk zOAH7AUu@>1-v$QmZyx5Ec>f7PMf{ZVR@k?pwFA#7QC(7rS`uHedUN zkl=He;{%1U?goG((6+k(ZoO0A3g-OR@lYpsY1smhCO|(%$t_^_5##m;6Fc>L;LCcs zlK@i2Q&4pPMnvnrN)^o>x8a!_S;|5@EqGiD26;OR^@+OpKJQJnye89@3L!AMKE!QHv=%cPsL-^@PpOkmqhZA(V~xUb2-KWj9xM^VQFh?LzL*XWodnZh2-~$ z|D$P~RX4nGlqot;bG{B+H|tn=qdfT6ny&>BDya<)r5M#m8Ri2mE(GMl zM<5trVZr%k@-t5qpa=E|ld1V0dGZV3dm*mm-yRa8-=6Zy4aC81O<(j$2&MoWK>Sw- z{{P8pLQPcvWMRcj5Q0eg6o@1+A=y#!aq)BTSN|8Ys;#M^nS?=rv93JfPanmBCETk0KGKN)sal;(t+#TY}p4gfIzIEM<_{HXNR-&xA6^Oh1e*YGJoc zr~S<;0GlV^()kmnT)>EM+nsGd67#0Y|JdSyE1_V0g*nhN`UVDQ;4^E=3Clpo!ZbR} z=>tc+m2#5>`L6Dv=%wE=$)GbhG8{z6y*^CH=wlTd5bk16?F#Ih-xHiV(!$^@V9D)# zEgSWh$`a=huqm7n8naJG9a0g?Z9!N3`E)8g>gn$7RAUe?h zRf9=D`AxeLx{rm0a)kkpTQ3O;df@wzL=@~85SU5L$wBw}*D^gPw-wK8#2EU}El8`O zcC_4{Xs71j5$Z?4@xV-#6Vj&WpP+GUYB%>HtI(C5&b~E-W4*<^1zt z!*fxeK7G2}?~sFaiT<4hU{Z?daxr^0vwa;63Y`r|m7r!-%__T(z|%*~i{J(r09d~? zEcM@j1?1beZ?6v*`cUo(Oc|a&5M{0lVmCdZp2^?7JqC_^i$sK$?m;~#?CAXTe78A9 zdlyKXSBrb( >o`eT?-O6MsVo{X@tkEZoM`;VxR8U&xJ?6(ZrO?IY`F{k%AnZ{Ab zaiUs(0wwi9MT$D9X6LUunFYZ%*Z|6?&8YvVS_&xr(OZ5Fj%NU<0+w%DshC~|!^G0h zLs%bzVOlbgD=e0r!iP@(}LZge?=9XJ(nk&(@h|}g0_2jsIcOBaKs6ct8z(o z@s5h_1vD5eEG&>o*PUAYV9~o`SW4Lp5f%p4|1jG|ZTtNPq|aQkRQ?-DFo@UH01Q97 zqTH{%zOm6URyy1&Kol%W>NJanO8hl`!My+AL4KQIfXlKH<1d&po@6G8M222#h*C^# z{i-`K!CevA+Eju&mtN-O*Hv-9&PQ$EqEn0vDUC zkV386JVwlimog6VaZ&D%sdLy;0~3U0 zZjyl}mnRy49DYA-lz>mCuOE3yQuJ)3H zpngFi<@>{(nH1oE-a@hWyASYn5R*XEKt{ol6L5U1NKF*ojFwPSek#K<5^S%5)4hfJ zzq8~{ABAeV-UE^W+cJ9xRIBv0Tgm=s=|wO@&}-Kvj_q_84!isV%TP4qKaz6Os2TT* zPfF^FkP#3ElMw149RM0^7UMWxpkn4wnhU*sTM34IV78&s#(bB%O^9J&Bt&+_MH}r7 z?-!i8n=p+0&G5vi6Wdgik~}SHdS?vLI3b@5mMQ%ueb`KoJkM1y^ThMOP9b|GeDX=U6sylr(U$ zUk^g1Ji18S8zLXuf8x`8uYj!DB?W3@+Zf?a9{8C3&Hqm~{WqDAN7XvCpuO%3J)^C< zlZ_H0Hmgy^%hZ&LATG*Pq6SO`4z9~*=+U7^F#kS<>o6B^ge*@iX)|L6tO^RsYfsk` zGDZ8O9oNgsljvXOzI}aB#zvYF?^d1UlrxM2ML#_>ZD%T0XLTuwv+WVTC1GJBjd@F6 zZ`i~)uI~e_MeZE@Jx+rtG;AuO`!qx28SK7=EbGD&1;KX$;kya$H?QkH@9RNzn~oPY zij^4ZE-tRz1a@{fUH0ZmIcK26eX@O%M9xf=m6gMF-}=a}R8)6*^)7|KGo39-bv|ljJz>TYS|Hp1` zZ?D6}L2}PRUEIkNmY1LV`{g!{+S}hhefrctB!G&AJPiB*87|Ol?I6;+`zJ45!o^BC zU(sc6+S~7$nVRe#zg8b7t6o2l&W>2K9sumauG)P}b?j$zi#58MW>u!b`0E--O_uWEuS18?aq2*0la$uHJDuiaK1C!geCaB zt}eNyMHChG0*AZcgfmMv)~zItAJo*^!LyP|O3?^-Zthp>h1R`gb?8$90@VJ%l*hA~ zO}d@0RT{6&biob*gK{K}c5)?f0l&q@Isrb2I4L)L64rgX)Zc{y{nGE3r@VLMzSHWh|g5BdkbPKw_F6yr9id`9q~YXk6hdHik0TJ@M=v;{tZOk8yEhQtZ{Wm9c(|7V7~qHg~Yz zlUq>mf`-Qb2_>W8S#9+(f3B+VcS;X}LkM!pg9!Bnyn12DfFdpA#1;UdDia(D1rv3* zZr!Rl8di7S8XAc`jri&_L(rXab7^#ajjY#3&<~RMHN61|R>aigq@=j`eUJjISsw+* zx{kM}I>wl~!y_XHKYAu1cDmw47SESsBsh1jPpXGo*<_+q^uf7BQbb@Z@teJ5T}Xff z9*cGV&yEWUieEiFMj*QjsPS$)9h})=b5z>%gUS^SF3U?@xokaA5i!{hA9O6pJZ~zF z?1gl1iMR%gRy#74E*QB^O;5y&2=mOxu%3VZeCyS#SKv&|tS^z}>`DDit=Ja8zv60Y zgiLj(6r4A+h9Lf9wuQO?5a)5cS+umQTBEuJeehh@M%eF)i}(?(K*68G1c6*xyKFav0DSedIG6la$A*n8bljN;)}LfZ0FL@9e&^L5gLL9J@MxhEAUGHs`b~{o=NW@VSbM z8jrKt0nd~mh0`DG?Cg-pI(M&{m65~gplPyXJ4Ol$k!!kQ~2opU$+q$SR1;urqG8rET zr80(w*s@o<*s45vvL*x<{Frz2#7on}f%D|Jh=QX3e!WHp76D1Wk>1ksvddJKg}b{d z%>SLtsX^}vZcIn>dCc&MBLRs`Wm(M&irS_fZvlNfbWnsk6Imks#h*k*N8j4rEbS?= zUJ%`=n4DP(Pf5XgEhY8vV5N&1Z03qluJ-o!@uQfeC@Bqd;v2gSL0M&Gzk#(H)5)`g zWo&ka0B}6+|7-6$qnb?DZ4m1PWEiZVpjfa_92r2mjuB9r$|y*Sh=LeMEQBfqMT*iy z5v0Z$no1QR2x%ZFFmxgy1PBm%2tgo3Ai#OzoqO+`S?8QJ>#Y0huFG2d2rDbe_wv2Z zyZ3(fe)8n$6D^YCg`DwR_ftl2?G65dzGzehLKm8%l_o40kIsrH{T28)iaMwa#&~1oB>11>Rn(4 z3w|Z0HPt9`G5=CSe*99GcHaL~f%CY`M@d*}=R$wWML4>-0)m(KBBullUycB19NJQ1 zVotzax~^BNyzzaC__pRH#%_1C-(*P>Z&Z-Fm_PE_k{l|^-Eq0DUD=^cNx^xXr|IOE z^mi3O;vel}L&VL|zTJlosTlB!sd-d;Jhbq}J-eaqwzjsu%+3AqLwUs*K6&o-_jq&LlW}ttrmxAcYM=l;c5Yu-^qQhIam-C+SV6 z+mGt%Eg%88y6b7twxWEYj}>*++PY?LC!_O?Q>Ya#Jj_QBFqV0E!@~`mI0vu5o7G3r z$Z|V3?>q(Jv0{J05-VlSv4r7@p)RmeaX8%Sb?Zb6aCH}>^)F1@3O;PH4D z7vZ(1E7r*)&f3{^4<+Tn8^SVVnkM`N{$BjjX#Tf_Ez1lF021`6qfPDhpfPB)&XiQ( zt&3cWg{g-)-?TIoLY5v~MquIrs}yOR7f~-hytm2Gx7$PCV6oJQwx+0fyz|0DZ*dab zWO82#lGbYcthcHAagK-Rtjrl``gn9=EgG@41N*9w)sLS)Ha0X2`L?!hAiPZiYZ0ay zd?)neY-7#a5?-6ju9lRXoN8Y)<~l~E&fucg5g8L@Ywm}I#Y2IpwN2_6Tb8QW^YYaz zkr%TZ(Lp_0Cck}DOiau#`!HUi7DY>U$fA@kq$^?*}t{@8WR0&9mqW zBkeIIHYhK}s~*PDa}UGtY~FT%7xISrCr`eIt@qi!C<)}yF8~6+R2v9dLfeW*zJZdI zNz_WKZ>smehWrJOV>`Z85iq$Is^Jm#*iks;V9*$JT>c_Fi1)ZF~C^^^=pYn;ONpAAJCg z&jKI1Gh5xFnmuvM0@tyuNt>5=(`cPpZ8id<9(K;PJiW6eW|{SNJEg(7lH*w-=3~*$ z6#=)!DQj!%tVK07wM);-9@o?u|5jIbsqE^(#W}91jWg@_N|k)<*8LCBs>GiPvpvns z%pznBqFgTOiXOjie4s>}wkB{oy6zIuZ9Cv|SR7)~KCdm9oN!#F--Ah)&TGu2%OG#as={)0mWig`hWW!odIY1ER0Wm0xO-0AouYls z6(@iG`Dg2D*hD3=(24(V%)((q%jnYE9L}HWkB2Ua^V$OIt(}@x&GSf3AKZ%=POo8fWG{m*GTI;k{GB_$;RGI8uHzh_lk z{5v#pXOF&4sqBYIJ`yK}FS+HZ1eO#>hi1=8nKgC-Nv4373Z!pqSE5D(1Zu(Xa`zFKPzq#R=yZDY0Nqo)Dmf`p?cTgd49+ zjkTIt#G{8BQ|f~ARlYOOkqfQ7SJ{8Lwsl|oa&q#HR6*NQavAG_jEu~B35jbnhm%O7 zEsLJp6Smi%POSukMZy;K+#WXr4UITg%d9Vx6<&Ii^r74R9@=jh6XM&B1i}Q4mpzIY z-JSW_EZvq1et^V2WNog}c7n?5=Iv9-r$#BXuKe#69_QKM;9yGIv#_w)Ume7J8yZg` z1y3=SN(xtwt)Ya4^>3P0PzbSX4iDRAenRyx{;@HOpT;%zwJEcz-nwPWc!;Zl0`nwc zonARa)^)WT+a{)O?Nd+~X2-u+*OaQ?Hi4N8I)g;k567ct-Q`DnQvO-l;hZCB_Id|x zr@QodXeTVtU+MA)7MGeLHcNepW3HiS?na$I{}bRdC@T+@>#SQ(QzJ9pkaNwDdGbp#vsNKxn!6u{_a52^uQ#9j=Q5ZoChINQ2AE4&?eEy31+*);iE(2kUA+pVyi!3>fcJy(M|$eq`H zG`Hzif40~TKkha}=temh4*Fg@6JSoy^9>s|AWWg%J3f8`jq>7v?dY1j)y0cX;^GY5 z-Ib$6Hkz-nJVJT6HW#d`E#n^$AVUvZ6S!oMW%p|xOi182Oz>n*rE_`cX1>RM=AqfB zv*szfA5vECDvpJ>o<_y?Vh*O2mL|Zlw07eT?+do19*lD6@kMzJ`{MruLN<)>Ey`DT ziETm!QK?&P!w0XS?hNKzm10=nOIn)cG) zOCRX6tb*A?2|MvV6iT+up~Ht0AjJabfq<7r^Xw`Kv(ph=8OzM7QwL>h=)Kj}Fv8C0 z%Kq~Hn*~?LzDMKD%{N*skDqqv`Ep1?LgGP4Na6gmhMqaL8R>Tj1)T%a@WghE;Z9lE zx}sNfZ+;(1j=x=Yt4U>vME&BtZlaypj{zORJ8@&EXyEUl3icFSX0a^y47l2Uq2{Fm z%scA#`3Qh{fLI_-Mhy=;1IsI;TvQnNSEX**p=7VIg~Ls?i+pv4TQJvA*QDQnzrCM%#W^L4lg_?+~oN zPR0KJnSX__{vTN-&2q+Cz&6yECy~gzRqPi{wn-!5+DK%TQIW@^>QSIO08ZS*Rr~mkB(pcNzpF zSIhe)nOBLa3MfPlJgzi4LTY^C~2Of{~Gr2;chs0o+?_{ zxSuo(eGC~+@asQ(zUhRk>#O4Y*RLPNY8^xxol=9yk&LXY2+%)AAxbbhC8StTl;u-7 z#g%mSCcqUgaRx#3v8%vP%?bKF)z9W6ST3`0mPg1NPiPl#@6U4a*1+Y~QMlDIkfdK7b& z_;8)ccR>?Foo-BG3YgO&6gkMAUQGUSg1dp#(`79U7Sr1W8(Gc>`$p*(6iCH)9b;p zGtymp=i8W)i5xe%OJ9vitW~0-okc#frlvkQPi(5UX*K3eqF5gP(hFl@o?uma z*lGRzT!U=}X#{;IZB&PU!xEo~rOb_{MSm|V>(};1ID1NH+6LuE@U_}tzrH?I)#Mra ztec&Z1XJS(cVy=JZS|I~_Ip6FfO{7K`1biz-O!4lb!y5tWS~tf$0LCVqMNvIAV~u= zkeP(J;?;tI+Z!ee_Sd5HYO{45GJg5xUUTzV4O(Gme3rM_^sKhlpVZWaUu>9a`lBL3 zdIamE(}VglHdIWu#gqoqb}XBqV)um@8ygq2cjeEPi%L$xuQkI$j~C0sF}ON`PqS3; z3W~>$J?}Y1${$w+RXe_&_Nm|6YR;uFsE^t-Pb2n+JX_*fzKW)*~MZ4K`8D0gJjy&F$(|JyLu18jAkjL zI%UM=hLICAkVR3Fy9Z*(#Xd{+_uqK9FC|$7IS|f#CpCuu=k*pjHPyEfC6AcOTEgC6 zG_&)!c>+`_uCKqMovD_t8nDVJ$)!Ua@%-7WNkOS=0cd2W_{1$zrEx_PK7sERS0ZKY zl_j$;@fRcFGGzG@mDe|J3-NEBT7CsKKHqfrnv&)IMAq=-Zjs8H>%>J>8b(*JypF!L zMvq-AXe|Vt@UU6h;geKcBz3rMtxS`qb+rWIWlo-`Z1>=eNg@j}0;o@bZyZJs4BD2^ zz82mqz#Ys)AXe!MzayYbb-cgzZOA%=fc6&m*==f%5nukjmZkqkp@ z?#}zvt(H^qCr?krOC;yI_6dSRvi;x~qP1M8DamUgkZ#7jMFmuj6f+U=&a)$p_;A_v zIkKN6ufdBbmWj=`t1pP*m|uqGu_D{vXS~3^`@Fi`D{^5k&`X2qy~59h_PA8KaiI?6 zXxfNbjTaJ_=0G)hgAZHeNW8u~{fzK&7FlAxaT4bg9ueVT)${d;Mqm5m-GXY$!eC@r zP4Tz|p}V}+BJtSDDLq656LZ5yZSEsN=Q4|gl{xron_*|nnVU}jYw4{EjKJI>lt%Zv zo+FN<__wz|OjEVQq+-}r^hv} z_YM**kx&WXDHD>9(F-Fbl5#UFOCsBM+i0jrbb6*^sY~r%E{7Fvr^sykyl@@M&xk0w z*YL>SEq+xmhx+3@=4qWqm*Cn&{pBO5=}JEV&C;b5X(Nz2*%eezN8t#qae~)r>fU?Hs{q{pKD#pD~No$;E1YXPYFVdIL`4RyKxQaqA${ zHfypuKs%auzrmfPiz=!3KpVL=)pueof@tE%T|QCcba7;|9bYVnYc9M}IV8V{qfe%< zes-cOhB{|%l^+JFE6 diff --git a/doc/salome/gui/VISU/pics/dataonelements1.png b/doc/salome/gui/VISU/pics/dataonelements1.png index b3261794fc3bda641c1e0573e65f5d1e9b4e7e2f..b9cb2c0125fac2ae0de990c6262f5c57a417f780 100755 GIT binary patch literal 17235 zcmcJ%1yoh*zBjxO5hO(m^@Aw$QF$C6}^O?{5$1nbqkQYj_1h|yA5D0`oUQS8{0=dQjfneC+ z+yFnJ?XHZ4K<+{0r5?X}{dRopl{eweHVDsU9 zC56-R*xOygJ_!a+czzp(pGuZHiNWDAT~-1PA_|vxVb+<>aLx0NLM7irS2kVUf89jq_kN# zaF(&`-#*%F;;Ns58z_+*8&0?8vV&XiyMF!naVDX(ZeMH2z^v@cmppBeG)*f`KdW4= zbJW>dT3V<@-SFQKZixOUGQ$(m0#|c$o~|Ix>^d8!;bd>MDpYy#qP-)A*`ad6l@`Ho z@o6yv;^%jc-*j)uYue#jhppI4eyUDpM8CbpJ@Ye(139w{D zuT8W);O5NRX(a`_wT1sh^_I(up<(IiURRcCl9+3B7bhY-PY?0)n=~Ff8D2}T@$TO4 z@l23kvHg@U=SF{2nJs5p;>_Y}C1TkK4MDd@H4y}_+V2J$ebTj!cCNx1PtPSqwJ%)4 zui2en;B&sV{OXFwmaI*eYH_A}u5*;?_fzBC`}kI3-JZ!&Lzu&+fy@xbOYbFG<@~s< z-Gh}v*NIKAQM=i0kg z7PM=scYsO0R2}ZSS>cGl$Mw~Jn&0L7)vw&HWWxp1m&X1+mm~~MRNeHGPGWAUW<-;n zEJCQv`KNTQ@M~T9&6Ous)+f$_dl$7NhK~&2&}l&iy-iD3Pg0jC6atIUL9RvXgK|FoMLlVR;IQWZ?C%Sj_Xo(4*b}r4L9$!M?-gT zq6aCfyo>BHC_Xz=rI=tcvGlnsd8)O|g?s<%H8g2+Ho;~L_Z^qLEFwZ43|z3ouJ>key|HNO3%I1K}JG0Ar?V}?#mwLX|7OG`DoSLyb>BjeC^ z*w=i>p*uD;~dFpu9|%nYC`NxrIc@aX9~-sKU*^Ll?Ptiz`8;P zjBhzv<0i&UU3+wV?2ggi)ioEbz}Yb4u-%nq@SU1!dmi6Cp6%5IL}`f}nr9;rZh#zq zm4%tPT#wP^YU)!Hr4N;u4^s6J{<+AqtlF0fY3H~W`o*;W+xHvUgRTsVknNulWMYE0 z5ZTDOwhB=h=h;^nx!T7&3xYu>Q|`4hWivGx6q4UWb4A=OhQDl*o_-oY$cko+|BQS` z&;0gMU0=U2dCQkwxS{m2R7hWWqKDu@bZ^d2X?NXvtg~mVMuCbcas&Iuu@=E%?s?Vx zgWmkSs#R8VCBp0yp9^cp9Iq=K-y;JWN9xOfZ}j9fRr<}5*h+<`7xvlIXe=pclMK^;oHb?!yV`7A_z?z^4TG?4aZ!hM zsoj2p-&DWi6zwh&8AW8jc)T-Lq05OIhWpyth^Oq{ z)8m*yLuTh9d2y#(CM&R?^?z3U>p&gjTV1dyF-hM6bXU4s&&Ix6kR98e7hGvxuO9)qn+Q{XSBq76g z^xDZ`*uc4)AvLpd^5R+Y+VT&P$PxWTQAEc1JNXpXUh(9%-$miZU6Lvl(~V&jN4-4j z7go%$3#O{amvx}(dybY{OTY1hU|?V{VtgsMm5Gw~{Th>$ggQRCi{4FK+zt?s?S-fm z&x`Ymog=PF#`2~XPGnti?1v2(5pffkm%Fc!;MEQvB#u$P<>z`TMc~`II=@mA%#@^; zPSZ{G(?i_R1`c+aFTdptOJ8x;ZC}Q@IGyJSXYzcHff*EGh!~6}tdpGBv>yjUX+1uP z+J&{O`e8uM+|!*bw|G)K52>w?{$qh&8>kv*s!5Ln`FEFVgb|wg-|V;8PTcnBeNDK8 zZx=(4>`q6wu1~iUQLT(#VIZqDbSEP|1^B%Q@PmLD+1prZS`pp1gq$9%$#yobeYd$< z$%I#&3PwV<2bQ)R4z}ws90u&)$!iTGI!~$x_z&{oJcn_$ViE`9<1+Uw>HHKNcLNXiGpqO@QN><*SJ)SO4@`kPLXHOiYKqP%gpJyzv96{MI*@Z(hY;ph@}n|vN313O3uYcFy7(7W#H{z>NL z+{&CAf=AnhRYNvw>j*v{_xsw(Cc?gQy{L;q#N~k}^AYsa)Xa>STri{44FWSj;O1v1 zB6Xg>f68g1zAIC7by4TCF&@!Fmp?mkGz42?pr>C7x}s*8-t8JSDb#$x&dx6EwPS7g znsoYG!H*EC?Y&}Sis>x_Cy6vyHoPD`PVEw$=7Q51p-%=gQz1nrOA8CJRA&)&>-EO< zYatp&kU0`J9-~FO%M=$EN8(x$X z!K!Z_yBfc|xNIsn>mt)G+mO$WyENStl6!Iv@3=C%&BY|;_|1WRggNy1r(;qOtyeHn zt@AFZW`(95x7Di?)y&{3ekq6$iZaxm@#6@m)9-_kzFiuDy6Q&$@Toy)Vh= z*V;D(n<1?Dq@Jt2(`Ze#;t>naM2a7c&y`-R?^p>MoFqIOI*|-=_SjoMw6mqit*K*( z6(7Ubrw(}=qVQJd`~m>rqMy3l$9wrxjI*=Ahm zVA-a0=T6n|MN@~ zA*A}SQ`R*c6WZSSVfSnvcHfGmfRZ(VPSn-ZSQ*daObP248`YWaQt@+-uHs%~$*R=m zj3T>lt^?^3iqj)}Naw4xRGQ`Kl19++#Wvf`)&847CX&obNz>oLIOz}Uhcrf~xY;RW zI#w=~9zVX0g|*Yt`_yLK4V_7`AAC+0U?6xsmjXiP>JGdqIAJmH$n)-W8qvN==Oxy* zyij6V+RaPlu$!fmw*bg8CX|%Ki=3Q*pZWQ5v_;Y}@bSgGc>@7(WbwqPNG099$s4hx z!>;}wCy^kt3*L;SqZLy)lxd=op>U~^Gg0LVT_vycb)Dh`=b9z4D^J9fgfE76jrAcc zWI1b(jU#BpTMOsf#E1&nSXt@0xFVZ^h>HELd`C+xpK5AS*m70}mrI^U3~c!+_&#ny zJ>Y~Tz8}fFxj7g&S@W#*@}wO}E$rk!J8O*J^rfQWGb&Tr`FPvN_k2f|)5iHX!EuMD zrC=@3ciaNdxIbh0IO|&NlwW9GGUt3}3eC!RIv*rcDVbhU65iPOWOr|G=jbR?Hj?)I zu)MBimApP7yr#PPoUJHQ*95*F?lWShSD?wBB;p!cT`dNV5cWCcSI>@35r^&~ zrY;Dx4InIZ7h#@kWl)+k8{5$GHGaUC389A4K}9t-atn()n)zhkn2psBnxs#_H_d{bixKplw0D24;cc;V5Z#-W zW7luIA!u?|Q0$CeF-4tz|93o1Y4rJ$lSRdpH#lyxi17bfQNGRQgA+#&!3xK<3UEj; ze|51_5LSHv6)fAx@5pA1d@MLLyphbvq$KKfH_;cD55k&e?lCdl(DDBe#lzqzM4eJLt>18; znVIiAW5%BlhmnCHRlgimQ90+sUaBz9r4KFVJ8#F{@{$*%WV6I%df39j+95}mGn3J( z{O@n@n6}?)9T&Ob=jR8xef#!jAxrw1nHkXAcs8OebIuI)0t%}S!XhJ?%}w#$r+fq} zD=UvrPNJfs9>XVnSP4jWc6P#ReArF4D7wDKX3NRR8LsrDLxhr*s@%7FtB3}71~d$K z4ra1a9;wE-l7V>OR8dh8@>n)ZZvEYvf`ucEH62SS@!^NzmxVUxHVj>H9Owc>etCEe zk|;6OJXr%3-pB4n0W$`Y5Ty$!qR~ar%3Msu*%WGu$=b3~A@Xj%0I}CwaBTIM>Z*|VC?D3d*)a-EOe1DXT!sVs z(V}Oa&)MO#w(UVKcJ}b{DPO8LBEXk9VcCtEUx$LC%N`QE=@-cI$Hx&KQX>I5 zDYC6ap;cycSCFuZ7(7CM|Lcpr$!nI0d=`XbwZpA1#$GgH2kteFle5w^>C~lV#%S*K zQrZwdv^%@7y+clpdF$@oj*ksbS;J#Le{K(rWh;;#)+}_w3JD20Ks17&Q(-u8OUMvW z(AQHj8J6Rv$kB#T`d{%k1w}|A+x*f&0U-_w34z3^!kH0PR%>BFjq-SQI+lHy}4Ij>Q zp1viO1Wb5P6gp1bSj)%s@_M-OA%6>)Sd;zb$@lsVH4bE=H*s*L<1OG{4eEULVN^6U z&%M07N)H&BnfI1cBh|;0d$|sFDzAHN)f{=8q{CR;$W&ixHWLVr*Q1Urc=LULJWA0rmFx`o!Jc!v-)sukTy?eKs_lh(wUsFj&<_49-$fK#L z{g#y+UwvZx)!oYLa(XeL6L!q5&#gY3!n=;XNGz$4OAs)mv(&9em{9~W&tPie<8hXU zeNlQWKRdaS6352^u!iOj5nkl4jLC>9I~Dnj>mVjzjgy-(rc_z+MW zgoTBNHx5N|Gx<4UeK?WoG025?8f4tiLmLs7WymN0MZ{(m9y-s9ii__`+KGWPzKnXg zK3tgUt0C3Pc5qPH-P5zs#Z_n8Yp_({wlV5t``1eJGGMD=wN}HT_p|&f(>sZR_IY!Z z3eM)M6Z~dRl-E`+Z{LT>MqfTXE^Dfw~X+6hs7s zkwpuM51|8AohOi$+QaHA_=`uNzxSf;gLCWfFodH12OuPkC;R zE1r2z%%2;91uk_0!LEGFkxbNbs#YAyEJ^feaZr(rQx~Uxx#H)2Mn*M}IwOka=4Qx` zIzK-`8j<t)qIXk7ikO4X8s4Aw|v#mP1H=jRKs0^h!^$0M2_3T>Y z=!Q$uy&25a(GaOC-%@MhrrUK6*2NHRrWLkwR^ zjzj3VE@&SB@ULZQTlRW;C74g1dxq1BSB(=+yCJ%;h+$&^Ed{Tjt{!Gj@`)I2Z7E;u z4n1mr^HDp}s8G|PQnxfkIU%o80%nojvE3t@qL9g)kcDX=& zT9r(ZG|TU6OT4_S(PwlOa7Xv>CcAQzu!2HnYa;b*(l^4+iv=5Dw)mw4jNXPqT-`oj z_19p(axTkS<*x7Ewi8MwoMNUjn`vd`{$O=6x<8Kj`cVNf_0h>z!|Aa;X;uUp_@?k% z-fn1Uu<1E}7et%X`1U=vm010!4pl1`I8-ZL!xvt|rxhM;*EtRf<#dsXYT`cr2fd5w3;CW4y?y)kfTub*Nj6D|88lr9t-eGfuWs=743D+#wyp|7G)t{W%Oh)QbfJI6M;@bboO+$pRM;Rk9J_*b#868$Vv&hK zQ;N%PUhsnO(X(^NHv}l|t}kjE_o6kDO1b$XP9P!8v-RIK57$Rj?P_8A-XX+-k<+I? z*0ipEdV&7i6`Ux03)InrwV|Qk-H2Is<{~9;lirmECC+)Vo8<`R2hM5!kDB+B_~YoN zyM_kyvFM+Z~bYCe&mTt^zcYzi)sjsEocm0kS62Q9bcnhy+p;{zv;J=0|( zC_BKVwzvC(m%5vk!%` z94RsjD3cB&F9bRY$UDtaFVbv{{8r<_>8-7;6%z`X^sfEEtp;qmdC3jeo{-^djEZJ&IW89%$3YCZ}nhs z5`FW4pZSvSB5?m1b-E#~0Vn|M8EpJ?qTW=$jyP!kKncJoFh0Q@w>uL4Fb6KeLVWvn zBXp|ae|Emcojvv;A|_f!8vx#BV7-3sdis34}Mv62kWkSSGEwpkd$SoF7^bvXgOY z%7OGjxNUw@%T{-#M2`7t#CO)p(lapJ<@LZpU%S}6XSQ@mAJq9`>!G}VTwTV)qXG)r z(sgX?Vu3w8S}zA&AOdkCIEgLag@%Rg?Cs5698E2iY8WsqB;P4k0L3W7`Go}lH5l#3 z9+-RjzFEHccLDwFT5uv36p0{VRx+fx!G(m5tVc_wg}k63j`9MHP&2WttO2Gv!f~l~ zK^O&GK7eZb(jIsOC;9Dv5&KtUtHx!NCVNB+QXc6y<##3iVsC1C`|t<5xVa8M%Tve1 z!hZc-SUKw1rF~(Y`{QK9!ilJroZX*zrC+zmfjIg;C4&XpoSG4dnZIIERwKTPsA}`7 z+n-ekukgG+6r_(ljU422-_(^E7kl>u<7 zyT-*A#S7}VhQ22wA3UK05WmknCN~sdoLJ9%;}8BQ7wixwr6kRT+JkjI? zmWXT54kyym_+%dvG#NGr6Q>+a9_DUuJ7g#&qicQOlvs7ArJ0#skLgTffEp*_`xY*- zCAIfqszs>}wTEjpcmNM0af$Hpb9T>NeTLZkbhUB^ornVW%IrC`tAjao%05O%H+~<; z)~xYzO-EUEj{Vw12}Ef*`WZ&H*}&IQ8n6SqcUzq@EC?KbbdH2pzYDeopgvKG7Jo8}_Ld#SRgzI^%eM!&{u=XA;- z|A+lxj@G!})CIe2C&$d+X8}B2Zvt0lY5(&^Uz=CC^-#ob#7}!qUQSF}4GJ*OFKFee zANtn8KhjkZ^<^VLU&#%d2hwxSy^C#=gkp{&T#jFE|n*K^ktm~qWmqvd-rBp&`@8jf--rgJc z=H>{xp(l(N*Rs*b2CX}-21JAgw^#n}$l~A7kT;o(m&?{$K$CzX0vdbws#>Q>0squeJz?znD*2^3dWbmXs~yW&0pHyfW<@_^kx0oyk5ZHL%*>(J@dq`805>h+ zsVbp#y?0u=m6Cea6bz0OsQ_g{UlZv6pht}qTM$A1uFD{Xd@Y=Xr~!E}3@hN_HNQ_7 z)WkOl9Qu&Z&|U4h>4x_s<@WHQ!Y}iMD`p1Fe-dl@T+vz`-}$Nt8irPvArmF@`&NLm zun}T5Al;Y6CeUZTt zkf{?0cZ&(^wd2+7{LiP`uh!k5>0LQ?2%wZ<~D4FyN14OG5n?SbgAoN+x zlNYF@Evpu0Q_5$n{anu0OnBs+*9~39Uq?qrf6s0B3!5^?F8p)HW`!--CjPpBqod;i zuTqUa@$a6?4@#M>BbVAS>)#Vew1;uk0Ko_c3kz$116AI4Vl}#@`$?bADGx{}z~E0g z3N(5(Ql7`6A|*BNZPY2i0OV;4kT~PwGj_-lpoqPD_YR_2=#6DpK87;?#cc)-+1U0^ zU-S*eCDqF7#XJMF$2qTDqLmeaeyC0|H8gj#lvY@7g&8#i+okbsGq;#AJOn z%%G2}0Ii8u{`Ykia?OSD<&|0>xm(v>@~8$xF+EZ~CIu#3yb=nW@xPF2kX(iYe`NHv z9{}5XVI4IZYi@&vnupk&JuECgtGbVFd{J5MC_pg*oQ4Rwty3ILxl5``vXxJIWyhNd zXcrb1u8)?2ozVV~rzg6Igd>5(NAL(JcPkSJK}fE4>Fgd-Qn2_H2y04f{_;cpzhw~# z3jTs3s}ZJT^8mVbb3O*!_;}^o zpv>m<*Z1bIdmu``xR`>7mQwt)koW&)s+~(lrhiq^*ZB3(N_vkZlN~EKo>*H6EKVBkHbJp)Uo)GbJ=t>r3%H*+FxMH$MtOXnzhgN}5e%{X% z6~prt>H&Juj|`=08SO7!7#+&UGkdlEzyPMkm_5)rWZ>5WGw`+S+yyn>xYG$ZXr9}i z6v9A6NfvRv_UtmMW;T>f>|YcuVhGURnT_SH18JAh?G-!pa6QY##vZM)@j16Dexpwv zuJ$apIOQlGew6*l(>r?;0z(K1K3pz#?X#a1bqKSYZ14>FvdbcHlM%1dh z2Jn~Zot4NKzymE2f068C568;w>6*R;5?e;*aI34WS(c9h?$%&e4&7h|RVvT>(k20V z=!tlyk%zmk;p-`kyR|BG&eMt>wsirf2a4<2ln zsFkLG=DWW#5fmOC?lndW9;w+0c%=Vc<^Ly9f0QrsuM{sE{Vec*0le5=K~}drS=Op| z-B8>rLm9m8o8#JCV~NkIRfwy;cX0Ak8VK4wM+zVMX;$DYeWRbMZEiJ?%_xky2_Fp%T(0Xq_ z*7shKe)8nWg9i`3*u!f}H!VuFZvx=xQft%{$OEFpZF5{+U!QhJ*ZFxai~y)`JoxW{ zV+q*GKbZ_gou1alpl+~xm|@u0oTw+aW-0pEn1J+jp4qdOd3b5U0H!M6h-*R7#U+#D zpG*bix_>mg0E^QR&?s$kb;`}B>)(p)wlg$GgoeJp4kRuJ{^{e zC1p*ng{kTNr#FbQ1`Yv=%3}FXeHabr8=hiQ6)1v|Xlc{Si0MMOst5!o$Xz;n!^tkL z6>_wH*sS~i+1~h1RZ+RA{c{D6_vuRJLI#Ick-wz)P9~7ggoQ^+520K> zWeQE&2$9u)RrdekF+vD~-UD$Pm`*aS;mtD+9*aZ(Gj!kO3keN3-dpSu$g>3JlEM!$ z1aS&N&kP9uv3X-7vhtm@uG?k$0!9=!B9;A;(wftrjn(A3YXP<11cV3uMigo5cPnw^ zWUIggx+n-Npt$?~QJWx)viFRQjk)nL-vC>TNhzT{Q2F8ZtOD0B`DU-Rt&N0_HxS(r zHa?XD6@Y<(;XNK_#T(#$D8mcOBh8wasVXiG$K>VYwz~~hD=d6BbzW@(T+G&1J(i;Uoh zwKN*cUOiDUzFqdU%*l3g@NC@|kBohLA6T+SB?B(ve_zlZH?PewH_!$;fVPJoO-r!O z+bQ`c&FbV?guk? zZ`#&anf#?(Js&E5IQA5j1}1M`Yx}jq+`9mgMT+g>07BGND*cCPuyg^c5Rmg48$Hf8 z$}!q|dRjKzFd1d>f#wAHvniV8{QRGEE2I;0FkOLMxdt?`1*61F)rrh01o^d=oeFP^i( zb_t_+a&vV_Wun)SkiN;im1=zd?WnQDnS;3ql=Kn#UmclC49PgDqUvUjwye zZab<;jaJXosWnD1K_~?1y2qgJb{_135U(*$dsXLqfdh80px_5zZpNB85WV!F8v?+G zL%40QYNVDQup>TLSBV2KWz~s8MC7iVz#lR_ZCGaR+whb~X{NpbQ-Id6bDkwFEzM#3 zN5c(vRq#>DMCT4j@_Uh(1y3l;Jz^ZyYF{F@655_@+Ny5)!}NCe_Ieyt<7-z5s} zSgA`;)eXR&hdvOIhCHk1=jTNte*@REIA#w=o2#AY8k)7n!T>$k9GhbL_@T%%QCjw0 zzuV>P@9&FnnRLuDy3&I9lj=p==-Zvw%#kV2fh7+q(9Ruq9nw2KJHwoI5DE?nX#gIR zX}26TVUUHsy=_CyyLe#}Cg673OjgGOZq37PMG z-oQdUM*qb)zqiBL88X=GUHvW)UeL z_=kfPi@2@gJR00&&rpUd0lxnS>S`m={da>Le>D_BDDAlb_Q(LvXL>JDPwpSX7y=yJ ze`fkt{a~(wK_>jckbA>Btdv@?cCa39e2^@V<*7PJu=~3u!qkLJ$|>DHQ)LTJwMLFm zwa?mye;KC}Yo74Lm^DutTH0PPHWNZa+O?e+1kHesse{MlVT;RuAQ%X&+i{FLMq!5F@RYKR zv2v)sC^cbYV?PpzM33<`kuz)ybQW|}4v^)d9GB zTu@N&&B41Bx(+i~z&M`b%P%i0?nw{`JKI9Q8S^=RV`pDaib!Z?Zsrqlz{5t%V5i@k`=H0Pz>TK1=kA7f(!0Nc8E zuYO%cDlG*lqkyb;b3RSrhQl)|uil=W)LorP#<6QP0itOVWHF}=u)N{n+DHz;9HlKzLs^B=C%@LK_Xy2 z{oeinpx{M=t5ev>f*gryCsq#CLz^#vx`XM-F((xG>Ukhb`D16UP3xl73ZR?UZY;*v zHc&lHak)CjU{+z=b17NubUF3cjUt=c!Q66FtDnvM#L=V~P_TjZd{%XR=PS_kwo#Fi z=q2Fe+>E#MbvPbWNdqf=xaNV_(duH?fF0#?vFptuK z0?iHy-aruF%2j8h^WFctRMX1^zXE#o(E9DPx3L#~IX+dM9-<4j#R?ypls?!hGw35tu0PlP))%c4hehORC}{4UlEdN`%MrOx(Gw!kyX@ih@3VSdgJ z*50UilOfQ^uu!u=(}hpjnS_$E6TFKAHV6bA7>qq$X@jG$bi*J29vJb(_zhD`kTtm9 zADMqQYH?}IzHXtDEx(x?|DnxreQZrWKjJApJx-=C6* z)Oq`!`dyt}q0b0NVi8av^gU*MYOi_tRMHP3vXs*|jBgkGA+ht+nF(YC23vU^ik7gOf2-{_x*16eG}Yi}e2iPpdp z?$P|3E&U%)x$To{f)Ss}Bk&f}?DkC4dC3;DLELW=Zmaz)muGLU7Tcp3T-Jx9fNAVF z6F{Dz7svk*+;YlNjLoSHNu>B81sD?k26P7|4JP^zvC5HXEaY){1{6>*ONj@_`*G2A zo(2GA4S#%j>|H%$(uf_fH#?;dwsGezFsin}&|8ts2`?D9-RUer@q_W0w-0Sc9j-2p z64l-vw}V)xpb?~eQ&AxVsv%HMDM!)OuZc*!8;t8awUBCn01M`K%J7fsNfg{`rLx~H zC%;m+^Kx-1xw{~TDeAI(3(TfoN0&2d3Gdj!pPy9(ziM4FnvcqgbO0oQ zgp6!)O*#w^NCIK+V7daafc&~0c*?n>*((jxBm>R=2577}rMnTaI?(#MjRTm>nA7Cny zZccg1;5>|&(`gg~gEF)D2Ov5P7Z|1R>m9loBr8iuK8LzcULChdg5k>H3dhvO*L*)S zo>Qsk>2}OYhlyue{Bf^drfF4EBtK8)_fY6TODg+nBe%P=zw}$i%w>tG^U9@~Lr3DQ zaNoCT0J8qK71e(`Q9006Z26yNe+X$sH0fLc29e`SxBh=lYpQY8p=X3@2ZVnw9$`!( zC!`iLbi4TuFb27p1vf+w=hqIPVac@@&em!93bOVQ~ckTfg3FS9B&CNXh zy78Lxzc*{-aqw^10p$7-?!(HejLah2K`>0@oO0y-WeTKb6sy@k$N`Or3($d!j9YMl z&Q2C~nG$>YRXI91_?2Y?8{TJe=tJ-U2zX`43Cz^ZY;75Q&Hsz~no^do0OLJwZ2)q} zIPWakzl=jR39=2e54a$}YRm^!i_r`QNLRH!XWqJ&7eAu_s>`$l~v*2&)1Bw}_59L^i z%~qw+QBg1Lv`4IEtcvx}mN~24R)!4P3;5n&Zg1eWKHLCUlSZZ^8Hau|7-^Q1mp2+% zRm;(@p@elwdwGd~;*yhTg(T{6L@X!#y74sm7!RvORrCl36Ve=pmI`62p_c}M;A&i8vDOKm2xAK#=>TakziCpc&9?tsQPC7k{;+G81mkg5zd6}kf{xP0 zpW*;)(FTS*=;(;*fu`tjUfAYoazJ(G&Yd6G8eIBUXKNBV<*nZ{##*dOi;m7}q(&Kl zFsoqz9q_kW3qtc^4^k46r;3V->9){1NoU)qLwS1g3JTdJQ)4Xl8lT;MN|P6Qbj+Tz z6y0P&^gP=*af@6kE#GiDtOhhF#bM|Z8fnO-i(tDRj{2fsq)>CZ{P8e134Q8U-zzVh zhCi-4C#t*or)TwH<$z54>(KNNI*DF_oHBKrrPX?2}u}Vjn9#`)p>o16v;OI9q zTz437%lse^%xmbs3(zaN^;xgc(+E&XbJ!2|>#n%F*XvkR=~}FkEcY-ecvkhf$LF=! zbM*7*l7P;+?vfeC&uI1@=TU#I-7RM{M19U01i+b4BA-)4_6+V4XLj z`chvE;=OY?Gk7<4b$fb3yF9t zZ1{*Rv&&xvNT>7Os#>>Le6IEi#hiS5vD`bdC?(%qQFk)M0+ul8{cE;M~h}{y4;Y z{E?xO0!b%$i6Cn4vFqcs{e&o0;Q(sUD5Cn7b4rsRION34!mMigyV_J^oO8AW0_qZxuUNo@NT)(^8Z_vM_h z8}PPiubym)BHTIzRBm7#}ltJgUKyBoiY#^TH{t=158j8{(Q+S`*NoRh#x zS68CI;XqG~SVeh|rfmp<&&9|*k7WrXgB&HD^Aa2!H~eKvU{RtM zM_97N^PA|x(g^tz9I_|%)yoIDYhJZG8sIag7*B9Ki-8gy8duLpaajibSO!F1T1hJJ IiQ&8d0~ET%=Kufz literal 16088 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 diff --git a/doc/salome/gui/VISU/pics/dataonelements2.png b/doc/salome/gui/VISU/pics/dataonelements2.png index 836e7a2362574b86b68be2c7ed310706eb66e5e6..e532ef1d336f65e29a9a0079b9e0f4894e0e8a6e 100755 GIT binary patch literal 23462 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 literal 19996 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/VISU/pics/scalarbarproperties.png b/doc/salome/gui/VISU/pics/scalarbarproperties.png index 83311861b9563d2f684ad4a5ae3077286588ba87..db018aec78b978cfc9c6bf0b68002a8f060a7038 100755 GIT binary patch literal 30988 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 YcW^mASslUfEyu{Ei<;Oxg_{rm4-Z(MrT_o{ literal 22868 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 diff --git a/doc/salome/gui/VISU/pics/set_rotation_point_dialog1.png b/doc/salome/gui/VISU/pics/set_rotation_point_dialog1.png new file mode 100644 index 0000000000000000000000000000000000000000..bdab73b7d27db6ae050080a7272dc68381abc665 GIT binary patch literal 11693 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 D+KM@S literal 0 HcmV?d00001 diff --git a/doc/salome/gui/VISU/pics/set_rotation_point_dialog2.png b/doc/salome/gui/VISU/pics/set_rotation_point_dialog2.png new file mode 100644 index 0000000000000000000000000000000000000000..7f3696a56b58ae68df8131cb877dbc716bf601f6 GIT binary patch literal 11232 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/VISU/plot2d_viewer.htm b/doc/salome/gui/VISU/plot2d_viewer.htm index 423216db..e8e3cab6 100755 --- a/doc/salome/gui/VISU/plot2d_viewer.htm +++ b/doc/salome/gui/VISU/plot2d_viewer.htm @@ -1,248 +1,248 @@ - - - - - -Plot2D Viewer - - - - - - - - - - - - - -

Plot 2D viewer

- -

Plot 2d viewer is destined to - the representation of  2d - plots and graphs in Post-Pro module.

- -

Its viewer toolbar gives you fast access to the following operations:

- -

 

- -
    - -
  • Dump - View - exports an object from the viewer in bmp, png, jpg or jpeg - image format.

  • - -
  •  Fit all - allows - to select a point to be the center of a scene. -

  • - -
  • Fit - area - resizes the view to place in the visible area only the contents - of a frame drawn with pressed left mouse button.

  • - -
  • Zoom - -  allows - to zoom in and out.

  • - -
  • Panning - - if the represented objects are greater that the visible area and you - don't wish to use Fit all functionality, - click on this button and you'll be able to drag the scene to see its remote - parts.

  • - -
  • Global - panning - represents all displayed objects in the visible area. -  

  • - -
  • Draw - Points - represents points on the graph.

  • - -
  • Draw - Lines - represents lines on the graph.

  • - -
  • Draw - Splines - represents splines on the graph.

  • - -
  • & Horizontal - axis logarithmic & Vertical axis logarithmic - changes the - scaling on axes to logarithmic.

  • - -
  • Show - Legend - reveals all verbal and numerical information on the graphs.

  • - -
  • Settings - - calls a menu, in which you can specify advanced settings for your Plot 2d Viewer.  

  • - -
  •  Clone view - - opens a new duplicate scene.

  • -
- -

 

- -

- -

 

- -

The options are as follows:

- -

 

- -
    - -
  • Main - title: the title of the XY plot. By default, it will consist of - the names of the tables, on the basis of which the curve lines have been - constructed.

  • - -
  • Curve - type: you can select from Points, - Lines and Spline.

  • - -
  • Show - legend: Here you can define the position - of the description table on the XY plot (to the Left, - to the Right, on Top or on Bottom). -

  • - -
  • Marker - size - size of the points (markers) forming curve lines.

  • - -
  • Background - color of the XY plot

  • - -
  • Scale - mode: here you can select the type - of scaling (Linear or Logarithmic) along - X (Horizontal) or Y (Vertical) axes.

  • -
- -

 

- -

You can define settings - for each axis separately:

- -

 

- -
    - -
  • Horizontal - or Vertical axis title

  • - -
  • Grid/Axes - marks:  here - you can define the maximum number of major and minor scale divisions for - a specified axis. The real number of intervals fits to {1,2,5}*10N,  where - N is a natural number, and doesn't exceed the maximum.

  • - -
  • Save - settings as default: If this check box is marked, all XY plots - will be displayed with these defined properties.

  • -
- -

 

- -

 

- - - - + + + + + +Plot2D Viewer + + + + + + + + + + + + + +

Plot 2D viewer

+ +

Plot 2d viewer is destined to + the representation of  2d + plots and graphs in Post-Pro module.

+ +

Its viewer toolbar gives you fast access to the following operations:

+ +

 

+ +
    + +
  • Dump + View - exports an object from the viewer in bmp, png, jpg or jpeg + image format.

  • + +
  •  Fit all - allows + to select a point to be the center of a scene. +

  • + +
  • Fit + area - resizes the view to place in the visible area only the contents + of a frame drawn with pressed left mouse button.

  • + +
  • Zoom + -  allows + to zoom in and out.

  • + +
  • Panning + - if the represented objects are greater that the visible area and you + don't wish to use Fit all functionality, + click on this button and you'll be able to drag the scene to see its remote + parts.

  • + +
  • Global + panning - represents all displayed objects in the visible area. +  

  • + +
  • Draw + Points - represents points on the graph.

  • + +
  • Draw + Lines - represents lines on the graph.

  • + +
  • Draw + Splines - represents splines on the graph.

  • + +
  • & Horizontal + axis logarithmic & Vertical axis logarithmic - changes the + scaling on axes to logarithmic.

  • + +
  • Show + Legend - reveals all verbal and numerical information on the graphs.

  • + +
  • Settings + - calls a menu, in which you can specify advanced settings for your Plot 2d Viewer.  

  • + +
  •  Clone view + - opens a new duplicate scene.

  • +
+ +

 

+ +

+ +

 

+ +

The options are as follows:

+ +

 

+ +
    + +
  • Main + title: the title of the XY plot. By default, it will consist of + the names of the tables, on the basis of which the curve lines have been + constructed.

  • + +
  • Curve + type: you can select from Points, + Lines and Spline.

  • + +
  • Show + legend: Here you can define the position + of the description table on the XY plot (to the Left, + to the Right, on Top or on Bottom). +

  • + +
  • Marker + size - size of the points (markers) forming curve lines.

  • + +
  • Background + color of the XY plot

  • + +
  • Scale + mode: here you can select the type + of scaling (Linear or Logarithmic) along + X (Horizontal) or Y (Vertical) axes.

  • +
+ +

 

+ +

You can define settings + for each axis separately:

+ +

 

+ +
    + +
  • Horizontal + or Vertical axis title

  • + +
  • Grid/Axes + marks:  here + you can define the maximum number of major and minor scale divisions for + a specified axis. The real number of intervals fits to {1,2,5}*10N,  where + N is a natural number, and doesn't exceed the maximum.

  • + +
  • Save + settings as default: If this check box is marked, all XY plots + will be displayed with these defined properties.

  • +
+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/plot_3d_presentation.htm b/doc/salome/gui/VISU/plot_3d_presentation.htm index 45e5b2a6..3b22a57c 100755 --- a/doc/salome/gui/VISU/plot_3d_presentation.htm +++ b/doc/salome/gui/VISU/plot_3d_presentation.htm @@ -1,203 +1,203 @@ - - - - - -Plot 3D presentation - - - - - - - - - - - - - -

Plot 3D presentation

- -

Plot 3D is a presentation - of scalar values of meshes lying on a cutting plane. The relief and coloring - of the resulting presentation both correspond to the values applied to - the cells of the mesh.

- -

 

- -

To - create a Plot 3D presentation:

- -

 

- -

- Right-click on one - of the time stamps of the field in the Object browser and from the pop-up - menu choose Plot 3D, or

- -

- Click on one of the - time stamps of the field in the Object browser and select from the main - menu Visualization > Plot 3D, - or click icon in - the Visualization Toolbar.

- -

 

- -

- -

 

- -

Plot - 3D Definition tab allows you to set additional parameters of your - Plot 3D presentation:

- -

 

- -
    - -
  • Orientation - radio buttons allow to set the orientation of cut plane in 3D space. You - should select two of three axis (XY, YZ, or ZX) in which the plane will - be located in 3D space. If the mesh is 2D this functionality is disable, - as there exist only one plane for a Plot 3D.  

  • - -
  • Rotations - of the planes in 3d space around the axes of the selected orientation. - (The angle of rotation is set in degrees.)

  • - -
  • Position - - allows to select the position of the plane in the object (ranging from - 0 to 1). The value 0.5 corresponds to cutting by halves.

  • - -
  • Relative - check box allows to increase / decrease the value by decimal steps.  

  • - -
  • Scale - Factor - visualization - scaling of all vector values applied to the cells of the mesh.

  • - -
  • Presentation - type:

  • - -
  • Surface - - Plot 3D will be represented with a smooth surface.

  • - -
  • Contour - - Plot 3D will be represented with a set of contours

  • - -
  • Number - of contours - allows to define the number of contours (active when - Contour presentation type is selected).

  • - -
  • Preview - cutting plane checkbox allows to see the position of the cutting - plate in the Viewer while defining the presentation.

  • -
- -

 

- -

Scalar Bar - tab allows to define the parameters of the scalar bar displayed - with this presentation (see - also).

- -

 

- -

After you have finished with setting these - parameters, click OK. Your presentation -  will be - immediately displayed in the viewer:

- -

 

- -

- - - - + + + + + +Plot 3D presentation + + + + + + + + + + + + + +

Plot 3D presentation

+ +

Plot 3D is a presentation + of scalar values of meshes lying on a cutting plane. The relief and coloring + of the resulting presentation both correspond to the values applied to + the cells of the mesh.

+ +

 

+ +

To + create a Plot 3D presentation:

+ +

 

+ +

- Right-click on one + of the time stamps of the field in the Object browser and from the pop-up + menu choose Plot 3D, or

+ +

- Click on one of the + time stamps of the field in the Object browser and select from the main + menu Visualization > Plot 3D, + or click icon in + the Visualization Toolbar.

+ +

 

+ +

+ +

 

+ +

Plot + 3D Definition tab allows you to set additional parameters of your + Plot 3D presentation:

+ +

 

+ +
    + +
  • Orientation + radio buttons allow to set the orientation of cut plane in 3D space. You + should select two of three axis (XY, YZ, or ZX) in which the plane will + be located in 3D space. If the mesh is 2D this functionality is disable, + as there exist only one plane for a Plot 3D.  

  • + +
  • Rotations + of the planes in 3d space around the axes of the selected orientation. + (The angle of rotation is set in degrees.)

  • + +
  • Position + - allows to select the position of the plane in the object (ranging from + 0 to 1). The value 0.5 corresponds to cutting by halves.

  • + +
  • Relative + check box allows to increase / decrease the value by decimal steps.  

  • + +
  • Scale + Factor - visualization + scaling of all vector values applied to the cells of the mesh.

  • + +
  • Presentation + type:

  • + +
  • Surface + - Plot 3D will be represented with a smooth surface.

  • + +
  • Contour + - Plot 3D will be represented with a set of contours

  • + +
  • Number + of contours - allows to define the number of contours (active when + Contour presentation type is selected).

  • + +
  • Preview + cutting plane checkbox allows to see the position of the cutting + plate in the Viewer while defining the presentation.

  • +
+ +

 

+ +

Scalar Bar + tab allows to define the parameters of the scalar bar displayed + with this presentation (see + also).

+ +

 

+ +

After you have finished with setting these + parameters, click OK. Your presentation +  will be + immediately displayed in the viewer:

+ +

 

+ +

+ + + + diff --git a/doc/salome/gui/VISU/primitive_types.htm b/doc/salome/gui/VISU/primitive_types.htm index 0542809c..8e96da3a 100755 --- a/doc/salome/gui/VISU/primitive_types.htm +++ b/doc/salome/gui/VISU/primitive_types.htm @@ -1,225 +1,225 @@ - - - - - -Primitive Types - - - - - - - - - - - - - -

Primitive Types

- -

Gauss Point presentations - use primitives to visualize the value of the results obtained during calculations - so that the color and relative size of the points depend on each component - of a vector, tensor or matrix (e.g. scalar and module for vectors). Of - course, the size of primitives in the Viewer also depends on their location - within the 3D scene. At a given computed size, a primitive will be bigger - when it is close to the camera and smaller at a distance.  

- -

- -

There are three Basic primitive types which can be used in Gauss Points - presentations: Point Sprites, Open GL - Points and Geometrical Spheres.

- -

 

- -

Point Sprites

- -

 

- -

- -

 

- -

Each Point Sprite is visualised - in 3D Viewer with two 16*16 textures: Main - texture which defines the shape of the point sprite and Alpha - Channel Texture which defines the transparency of the point sprite. - By default Salome suggests textures defined in the Preferences, however - you can browse for other .bmp, .png or .jpg files to be used as textures. -

- -

Alpha Channel Threshold defines - the level of transparency ranging from 0 to 1.

- -

The default sizes of point sprites are computed by the system, therefore, - these parameters cannot be defined in the preferences, however, the Maximum Size of the point sprite is - limited (Clamp) so that the whole scene would remain visible if the user - applies a high zoom factor. Maximum Size - corresponds to the maximum size of a point sprite during rendering whatever - is the magnification of the point or the zoom of the view. Technically, - it corresponds to setting up a clamp in the vertex shader. The Size is - measured in pixels and belongs to the interval from 1 to 512.

- -

 

- -

OpenGL Points

- -

 

- -

 

- -

 

- -

OpenGL Points don't use any - files as textures, displaying results as simple OpenGL points, so the - only parameter relevant to them is the Maximum - Size.

- -

 

- -

Geometrical Spheres

- -

 

- -

- -

 

- -

Geometrical Spheres display results using a standard sphere with - a number of faces be defined thought a Resolution - parameter. By default the Resolution - is set to 8. This number corresponds to the Latitude and Longitude definitions - of a VTK sphere. The Number of Faces - parameter is equal to the total number of points in the scene when no - segmentation cursor is used or number of points within the cursor when - a segmentation is in progress, multiplied by the number of faces of one - Sphere in the current resolution. This value computed by the system using - the formula: NbrFaces = 2*Resolution x  [Resolution-2] - and displayed to the end-user for information purpose.

- -

in - the pictures you can see the spheres with Resolution - of 8  and - 6

- -

 

- -

Notify - when number of faces exceeds prompts the user by a dialog to continue - or to cancel the display operation if the number of faces is greater than - the number defined in the menu.

- -

 

- -

- -

 

- -

 

- -

 

- -

 

- -

 

- - - - + + + + + +Primitive Types + + + + + + + + + + + + + +

Primitive Types

+ +

Gauss Point presentations + use primitives to visualize the value of the results obtained during calculations + so that the color and relative size of the points depend on each component + of a vector, tensor or matrix (e.g. scalar and module for vectors). Of + course, the size of primitives in the Viewer also depends on their location + within the 3D scene. At a given computed size, a primitive will be bigger + when it is close to the camera and smaller at a distance.  

+ +

+ +

There are three Basic primitive types which can be used in Gauss Points + presentations: Point Sprites, Open GL + Points and Geometrical Spheres.

+ +

 

+ +

Point Sprites

+ +

 

+ +

+ +

 

+ +

Each Point Sprite is visualised + in 3D Viewer with two 16*16 textures: Main + texture which defines the shape of the point sprite and Alpha + Channel Texture which defines the transparency of the point sprite. + By default Salome suggests textures defined in the Preferences, however + you can browse for other .bmp, .png or .jpg files to be used as textures. +

+ +

Alpha Channel Threshold defines + the level of transparency ranging from 0 to 1.

+ +

The default sizes of point sprites are computed by the system, therefore, + these parameters cannot be defined in the preferences, however, the Maximum Size of the point sprite is + limited (Clamp) so that the whole scene would remain visible if the user + applies a high zoom factor. Maximum Size + corresponds to the maximum size of a point sprite during rendering whatever + is the magnification of the point or the zoom of the view. Technically, + it corresponds to setting up a clamp in the vertex shader. The Size is + measured in pixels and belongs to the interval from 1 to 512.

+ +

 

+ +

OpenGL Points

+ +

 

+ +

 

+ +

 

+ +

OpenGL Points don't use any + files as textures, displaying results as simple OpenGL points, so the + only parameter relevant to them is the Maximum + Size.

+ +

 

+ +

Geometrical Spheres

+ +

 

+ +

+ +

 

+ +

Geometrical Spheres display results using a standard sphere with + a number of faces be defined thought a Resolution + parameter. By default the Resolution + is set to 8. This number corresponds to the Latitude and Longitude definitions + of a VTK sphere. The Number of Faces + parameter is equal to the total number of points in the scene when no + segmentation cursor is used or number of points within the cursor when + a segmentation is in progress, multiplied by the number of faces of one + Sphere in the current resolution. This value computed by the system using + the formula: NbrFaces = 2*Resolution x  [Resolution-2] + and displayed to the end-user for information purpose.

+ +

in + the pictures you can see the spheres with Resolution + of 8  and + 6

+ +

 

+ +

Notify + when number of faces exceeds prompts the user by a dialog to continue + or to cancel the display operation if the number of faces is greater than + the number defined in the menu.

+ +

 

+ +

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/robohhre.lng b/doc/salome/gui/VISU/robohhre.lng index 297538b0..4837df05 100755 --- a/doc/salome/gui/VISU/robohhre.lng +++ b/doc/salome/gui/VISU/robohhre.lng @@ -1,101 +1,101 @@ -[GlossaryTab] -TabCaption=&Glossary -TermCaption=&Term -DefinitionCaption=&Definition For: - -[BrowseSequence] -PreCaption=Previous -PreTooltip=Previous Topic -NextCaption=Next -NextTooltip=Next Topic -BlockTooltip=Select Block - -[Common] -Contents=Contents -Index=Index -Search=Search -Glossary=Glossary -Logo/Author=Powered By -Show=Show -Hide=Hide -SyncToc=SyncToc -Prev=<< -Next=>> -Disabled Prev=<< -Disabled Next=>> -Seperate = | - -[WebHelp] -Cancel=Cancel -CantOpenURLorFile=Can't open URL or file -CompletingContents=Completing Contents... -Display=Display -Term=Term: -Definition=Definition: -Done=Done -Find=Find -IndexInputPrompt=Type in the keyword to find: -RelateTopicListPrompt=Click a topic, then click Display. -LoadingData=Loading data, please wait... -LoadingContents=Loading contents, please wait... -LoadingContentsData=Loading, click here to cancel... -LoadingFTS=Reading Search Data... -LoadingIndex=Loading Index... -LoadingTOCItem=Loading Table of Contents: -Searching=Searching... -FtsInputPrompt=Type in the word(s) to search for: -TopicsFound=Topics Found -BrowserLimitedMessage=Your browser does not support frames. We recommend that you update your browser to a version that supports frames. -SuggestViewNoFrameMessage=To view the Help system without frames click on this -SuggestViewNoFrameMsg2=hyperlink. -TopicsNotFound=No Topics Found. -CantSearch=Cannot search for that phrase. -JS_alert_appletNotLoad = Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited. -JS_alert_colorlimitation=WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors. -Blank_topic_text=This topic was created by WinHelp Project Conversion Wizard, and is the destination of a missing topic or broken hyperlink. -JS_alert_ProjectLoadingFail=Could not load correctly, please click Refresh. -JS_alert_cantLoadProject=Can't load project: -JS_alert_ErrorInLoading=Error in Loading navigation component. Please regenerate WebHelp. -IndexBtnText=Go -FtsBtnText=Go -ToolBarSearchBtnText=Go -InTopicSearchBtnText=Go -SearchLabel=Search -SearchPrompt=- Search - -PreTooltip=Previous Topic -NextTooltip=Next Topic -WebSearch=WebSearch -SyncTocTooltip=Sync TOC -Book=Book -Page=Page -Remote_Page=Remote Page -Show_Navigation_Component=Show Navigation Component -Hide_Navigation_Component=Hide Navigation Component -nls_edit_label=Type in your question: -nls_button_go_hint=Go Search -nls_button_go_text=Go -nls_body_instruction=Enter your question in the text box above, then click GO. -nls_body_empty=Sorry, we were unable to find a good answer for your question. -IndexSelectTopicTitle=Select a Topic -IndexSelectTopicLabel=Select a topic, then click Display -IndexSelectTopicError=Please select a topic. -IndexAlphabetBookmarks=ABCDEFGHIJKLMNOPQRSTUVWXYZ -MergeError1=The merged Help system -MergeError2=is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system. -PoweredBy=Powered by -GeneratedBy=Generated by -Author=Author -About=About -Print=Print - -[PrintedDoc] -TableOfContents=Table Of Contents -TitlePage=Title Page -ChapterFileNamePrefix=Chapter_ -TitlePageFileName=Chapter__Title_Page.doc -CrossReferencePrefix=See -GlossaryHeadingStyleName=Glossary Heading -GlossaryTermStyleName=Glossary Term -GlossaryDefinitionStyleName=Glossary Definition -TitlePageTitleStyleName=Title Page Title -TocPageTitleStyleName=Table of Contents Page Title +[GlossaryTab] +TabCaption=&Glossary +TermCaption=&Term +DefinitionCaption=&Definition For: + +[BrowseSequence] +PreCaption=Previous +PreTooltip=Previous Topic +NextCaption=Next +NextTooltip=Next Topic +BlockTooltip=Select Block + +[Common] +Contents=Contents +Index=Index +Search=Search +Glossary=Glossary +Logo/Author=Powered By +Show=Show +Hide=Hide +SyncToc=SyncToc +Prev=<< +Next=>> +Disabled Prev=<< +Disabled Next=>> +Seperate = | + +[WebHelp] +Cancel=Cancel +CantOpenURLorFile=Can't open URL or file +CompletingContents=Completing Contents... +Display=Display +Term=Term: +Definition=Definition: +Done=Done +Find=Find +IndexInputPrompt=Type in the keyword to find: +RelateTopicListPrompt=Click a topic, then click Display. +LoadingData=Loading data, please wait... +LoadingContents=Loading contents, please wait... +LoadingContentsData=Loading, click here to cancel... +LoadingFTS=Reading Search Data... +LoadingIndex=Loading Index... +LoadingTOCItem=Loading Table of Contents: +Searching=Searching... +FtsInputPrompt=Type in the word(s) to search for: +TopicsFound=Topics Found +BrowserLimitedMessage=Your browser does not support frames. We recommend that you update your browser to a version that supports frames. +SuggestViewNoFrameMessage=To view the Help system without frames click on this +SuggestViewNoFrameMsg2=hyperlink. +TopicsNotFound=No Topics Found. +CantSearch=Cannot search for that phrase. +JS_alert_appletNotLoad = Unable to load applet. If you are using an old version of Netscape, the prefs.js file needs to be edited. +JS_alert_colorlimitation=WebHelp has detected that your display is set to 16 colors. For full WebHelp support, please set your display to use 256 or more colors. +Blank_topic_text=This topic was created by WinHelp Project Conversion Wizard, and is the destination of a missing topic or broken hyperlink. +JS_alert_ProjectLoadingFail=Could not load correctly, please click Refresh. +JS_alert_cantLoadProject=Can't load project: +JS_alert_ErrorInLoading=Error in Loading navigation component. Please regenerate WebHelp. +IndexBtnText=Go +FtsBtnText=Go +ToolBarSearchBtnText=Go +InTopicSearchBtnText=Go +SearchLabel=Search +SearchPrompt=- Search - +PreTooltip=Previous Topic +NextTooltip=Next Topic +WebSearch=WebSearch +SyncTocTooltip=Sync TOC +Book=Book +Page=Page +Remote_Page=Remote Page +Show_Navigation_Component=Show Navigation Component +Hide_Navigation_Component=Hide Navigation Component +nls_edit_label=Type in your question: +nls_button_go_hint=Go Search +nls_button_go_text=Go +nls_body_instruction=Enter your question in the text box above, then click GO. +nls_body_empty=Sorry, we were unable to find a good answer for your question. +IndexSelectTopicTitle=Select a Topic +IndexSelectTopicLabel=Select a topic, then click Display +IndexSelectTopicError=Please select a topic. +IndexAlphabetBookmarks=ABCDEFGHIJKLMNOPQRSTUVWXYZ +MergeError1=The merged Help system +MergeError2=is using a different language from the master Help system, which will cause the index and full-text search functionality to be disabled in the merged Help system. +PoweredBy=Powered by +GeneratedBy=Generated by +Author=Author +About=About +Print=Print + +[PrintedDoc] +TableOfContents=Table Of Contents +TitlePage=Title Page +ChapterFileNamePrefix=Chapter_ +TitlePageFileName=Chapter__Title_Page.doc +CrossReferencePrefix=See +GlossaryHeadingStyleName=Glossary Heading +GlossaryTermStyleName=Glossary Term +GlossaryDefinitionStyleName=Glossary Definition +TitlePageTitleStyleName=Title Page Title +TocPageTitleStyleName=Table of Contents Page Title diff --git a/doc/salome/gui/VISU/scalar_bar.htm b/doc/salome/gui/VISU/scalar_bar.htm index 7565b139..23ba4d48 100755 --- a/doc/salome/gui/VISU/scalar_bar.htm +++ b/doc/salome/gui/VISU/scalar_bar.htm @@ -1,235 +1,235 @@ - - - - - -Scalar Bar - - - - - - - - - - - - - -

Scalar Bar

- -

Gauss Points Presentations - presume that two different scalar bars are displayed simultaneously:

- -

The Global scale corresponds to the minimum and maximum values founded - for the variable at all time stamps (located on the left side). When active, - the second is displayed in grey and disabled. The Local scale defines - the minimum and maximum values at the current time stamp for the variable - (located on the right side). When the Local scale is active, the Global - scale shows its limits 2 black lines.

- -

 

- -

The dialog allows user to define the characteristics of the scalar bars - displayed within the scene.

- -

 

- -

- -

 

- -
    - -
  • Active bar

  • - -
  • Local: - when selected, the Local bar will - be active and colors used for rendering of the results will be taken from - this bar. If displayed, the Global - bar will be displayed in grey and 2 markers will define the limits of - the local min/max range.

  • - -
  • Global: - when selected, the Global bar - will be active and colors used for rendering of the results will be taken - from this bar (i.e.: not all colors may be used to display results at - a given time stamp). Local bar - will be displayed in grey  and - inactive.

  • - -
  • Displayed: - when checked, the Global bar is - displayed, else it is not seen. This control is systematically checked - and disabled when the Global bar - is defined as active.

  • - -
  • Scalar range

  • - -
  • Scalar - Mode: this feature allows refining - the value to be inspected:

  • - -
  • Modulus: value - of a scalar or modulus of a vector.

  • - -
  • Component N: Nth - component of a vector, a tensor or a matrix.

  • - -
  • Colors and labels

  • - -
  • Bicolor: - only 2 colors are used for the active - bar:

  • - -
  • Red - for positive values

  • - -
  • Blue for negative values

  • -
- -

These colors also correspond - to the colors associated to min/max values of the palette option.

- -
    - -
  • Rainbow: - A palette of several colors will be used to render the results. A regular - and linear progression is considered from min to max.

  • - -
  • Nb. - of colors: defines the number of color to design the palette (up - to 256 colors can be used).

  • - -
  • Nb. - of labels: defines the number of labels to be written in the bar - as text markers.

  • - -
  • Orientation - allows to choose between Vertical - and Horizontal - orientation.

  • - -
  • Origin - - allows to define placement and lookout - of Scalar Bars

  • - -
  • X: - abscissa of the point of origin (from - the left side)

  • - -
  • Y: - ordinate of the origin of the bar (from - the bottom)

  • - -
  • Dimensions - - allows to define Width and Height - of each bar.

  • - -
  • Spacing - -  space - between the bars (only if both are displayed).

  • - -
  • Text - properties: allows to define properties - of font and text associated to the active bar.

  • - -
  • Save - as default values - allows to save - the parameters defined by the user as default.

  • -
- -

 

- - - - + + + + + +Scalar Bar + + + + + + + + + + + + + +

Scalar Bar

+ +

Gauss Points Presentations + presume that two different scalar bars are displayed simultaneously:

+ +

The Global scale corresponds to the minimum and maximum values founded + for the variable at all time stamps (located on the left side). When active, + the second is displayed in grey and disabled. The Local scale defines + the minimum and maximum values at the current time stamp for the variable + (located on the right side). When the Local scale is active, the Global + scale shows its limits 2 black lines.

+ +

 

+ +

The dialog allows user to define the characteristics of the scalar bars + displayed within the scene.

+ +

 

+ +

+ +

 

+ +
    + +
  • Active bar

  • + +
  • Local: + when selected, the Local bar will + be active and colors used for rendering of the results will be taken from + this bar. If displayed, the Global + bar will be displayed in grey and 2 markers will define the limits of + the local min/max range.

  • + +
  • Global: + when selected, the Global bar + will be active and colors used for rendering of the results will be taken + from this bar (i.e.: not all colors may be used to display results at + a given time stamp). Local bar + will be displayed in grey  and + inactive.

  • + +
  • Displayed: + when checked, the Global bar is + displayed, else it is not seen. This control is systematically checked + and disabled when the Global bar + is defined as active.

  • + +
  • Scalar range

  • + +
  • Scalar + Mode: this feature allows refining + the value to be inspected:

  • + +
  • Modulus: value + of a scalar or modulus of a vector.

  • + +
  • Component N: Nth + component of a vector, a tensor or a matrix.

  • + +
  • Colors and labels

  • + +
  • Bicolor: + only 2 colors are used for the active + bar:

  • + +
  • Red + for positive values

  • + +
  • Blue for negative values

  • +
+ +

These colors also correspond + to the colors associated to min/max values of the palette option.

+ +
    + +
  • Rainbow: + A palette of several colors will be used to render the results. A regular + and linear progression is considered from min to max.

  • + +
  • Nb. + of colors: defines the number of color to design the palette (up + to 256 colors can be used).

  • + +
  • Nb. + of labels: defines the number of labels to be written in the bar + as text markers.

  • + +
  • Orientation - allows to choose between Vertical + and Horizontal + orientation.

  • + +
  • Origin + - allows to define placement and lookout + of Scalar Bars

  • + +
  • X: + abscissa of the point of origin (from + the left side)

  • + +
  • Y: + ordinate of the origin of the bar (from + the bottom)

  • + +
  • Dimensions + - allows to define Width and Height + of each bar.

  • + +
  • Spacing + -  space + between the bars (only if both are displayed).

  • + +
  • Text + properties: allows to define properties + of font and text associated to the active bar.

  • + +
  • Save + as default values - allows to save + the parameters defined by the user as default.

  • +
+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/scalar_map_on_deformed_shape_presentation.htm b/doc/salome/gui/VISU/scalar_map_on_deformed_shape_presentation.htm index e7e39eaf..45975617 100755 --- a/doc/salome/gui/VISU/scalar_map_on_deformed_shape_presentation.htm +++ b/doc/salome/gui/VISU/scalar_map_on_deformed_shape_presentation.htm @@ -1,191 +1,191 @@ - - - - - -Scalar Map on Deformed Shape presentation - - - - - - - - - - - - - -

Scalar Map on Deformed Shape presentation

- -

Scalar Map on Deformed - Shape presentation is a mix of the two: Scalar Map and Deformed - Shape. In this presentation the Scalar Map is built on a Deformed - Shape.

- -

 

- -

To - create a Scalar Map on Deformed Shape presentation:

- -

 

- -

- Right-click on one - of the time stamps of the field in the Object browser and from the pop-up - menu choose Scalar Map on Deformed Shape, - or

- -

- Click on one of the - time stamps of the field in the Object browser and select from the main - menu Visualization > Scalar Map on - Deformed Shape, or click icon - in the Visualization Toolbar.

- -

 

- -

- -

 

- -

Scalar - Map on Deformed Shape tab allows you to set additional parameters - of your Scalar Map on Deformed Shape presentation:

- -

 

- -
    - -
  • Scale - Factor: visualization scaling of all vector values applied to the - cells of the mesh.

  • - -
  • Fields: - allows to choose type of fields on which the presentation will be built. -

  • - -
  • Time - Stamp:  allows - to choose the time stamp on which the presentation will be built.

  • -
- -

  

- -

Scalar Bar - tab allows to define the parameters of the scalar bar displayed - with this presentation (see - also).

- -

 

- -

After you have finished with setting these - parameters, click OK. Your presentation - will be immediately displayed in the viewer.

- -

 

- -

Compare ordinary Scalar Map presentation

- -

with Scalar Map on Deformed Shape presentation -

- -

 

- -

 

- -

 

- -

 

- -

 

- - - - + + + + + +Scalar Map on Deformed Shape presentation + + + + + + + + + + + + + +

Scalar Map on Deformed Shape presentation

+ +

Scalar Map on Deformed + Shape presentation is a mix of the two: Scalar Map and Deformed + Shape. In this presentation the Scalar Map is built on a Deformed + Shape.

+ +

 

+ +

To + create a Scalar Map on Deformed Shape presentation:

+ +

 

+ +

- Right-click on one + of the time stamps of the field in the Object browser and from the pop-up + menu choose Scalar Map on Deformed Shape, + or

+ +

- Click on one of the + time stamps of the field in the Object browser and select from the main + menu Visualization > Scalar Map on + Deformed Shape, or click icon + in the Visualization Toolbar.

+ +

 

+ +

+ +

 

+ +

Scalar + Map on Deformed Shape tab allows you to set additional parameters + of your Scalar Map on Deformed Shape presentation:

+ +

 

+ +
    + +
  • Scale + Factor: visualization scaling of all vector values applied to the + cells of the mesh.

  • + +
  • Fields: + allows to choose type of fields on which the presentation will be built. +

  • + +
  • Time + Stamp:  allows + to choose the time stamp on which the presentation will be built.

  • +
+ +

  

+ +

Scalar Bar + tab allows to define the parameters of the scalar bar displayed + with this presentation (see + also).

+ +

 

+ +

After you have finished with setting these + parameters, click OK. Your presentation + will be immediately displayed in the viewer.

+ +

 

+ +

Compare ordinary Scalar Map presentation

+ +

with Scalar Map on Deformed Shape presentation +

+ +

 

+ +

 

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/segmentation.htm b/doc/salome/gui/VISU/segmentation.htm index eeb779cb..71eb21a6 100755 --- a/doc/salome/gui/VISU/segmentation.htm +++ b/doc/salome/gui/VISU/segmentation.htm @@ -1,220 +1,220 @@ - - - - - -Segmentation - - - - - - - - - - - - -

Segmentation

- -

Segmentation is - a functionality similar to Clipping - in Mesh and Geom - modules.

- -

Segmentation can be activated - by clicking (Plane Segmentation) - or (Sphere Segmentation) - button in the Gauss Viewer toolbar.

- -

Once the command is activated, a new window, below the main 3D view - is created to display the content of the segmentation cursor. A dialog - box is also displayed to manually configure the segmentation cursor parameters.

- -

The Main view (top) shows the - results at Gauss points with scalar bars. A semi-transparent Segmentation - Cursor defines the part of the variables to be inspected.  Two - different presentations for Gauss points are used, depending on location - of the points: Inside or Outside the segmentation cursor.

- -

The Secondary view (bottom) - is also called Segmentation Viewer. - It shows, in real time, the results at Gauss points only (no mesh elements) - that are located inside the segmentation cursor. Gauss points are displayed - in the same way as Inside points - in the first view. This view is automatically updated when the cursor - is changed in the first view.

- -

Gauss Points tab of the Segmentation - menu allows to define visualization parameters for Inside and Outside - cursor Gauss Points.  See - Primitives - and Presentations - to learn about parameters definable in this tab.

- -

 

- -

- -

 

- -

Plane segmentation  is - characteristic for its Segmentation Cursor in the form of a box with an - axis to define its orientation and two planes defining its upper and lower - boundaries.

- -

It can be defined in Segmentation Cursor tab, which allows to define - coordinates of origin, direction and depth of the segmentation plane. -

- -

 

- -

- -

 

- -

- -

 

- -

Actually it is also possible to edit these parameters directly with - the mouse in the main 3D view :

- -

• Translation (dragging) of the lower plane along the V axis changes - the Origin of the cursor

- -

• Rotating the V axis around its origin defines a new Direction - for the cursor

- -

• Dragging the upper plane along its axis changes the Depth - of the cursor. It is not possible to move the lower above the upper plane - (minimum depth is 0).

- -

 

- -

- -

 

- -

Sphere segmentation  is - characteristic for its Segmentation Cursor in the form of a sphere with - an axis to define its orientation.

- -

It can be defined in Segmentation Cursor tab, which allows to define - coordinates of origin, and radius of the segmentation plane.

- -

 

- -

- -

 

- -

- -

 

- -

The Origin can also be changed - in the 3D Viewer by dragging the Sphere with the mouse .

- -

 

- -

When the user exits the Segmentation - menu, the function is ended and the second view (segmentation cursor viewer) - is erased.

- -

 

- -

 

- -

 

- -

 

- -

  

- -

 

- -

 

- -

 

- - - - + + + + + +Segmentation + + + + + + + + + + + + +

Segmentation

+ +

Segmentation is + a functionality similar to Clipping + in Mesh and Geom + modules.

+ +

Segmentation can be activated + by clicking (Plane Segmentation) + or (Sphere Segmentation) + button in the Gauss Viewer toolbar.

+ +

Once the command is activated, a new window, below the main 3D view + is created to display the content of the segmentation cursor. A dialog + box is also displayed to manually configure the segmentation cursor parameters.

+ +

The Main view (top) shows the + results at Gauss points with scalar bars. A semi-transparent Segmentation + Cursor defines the part of the variables to be inspected.  Two + different presentations for Gauss points are used, depending on location + of the points: Inside or Outside the segmentation cursor.

+ +

The Secondary view (bottom) + is also called Segmentation Viewer. + It shows, in real time, the results at Gauss points only (no mesh elements) + that are located inside the segmentation cursor. Gauss points are displayed + in the same way as Inside points + in the first view. This view is automatically updated when the cursor + is changed in the first view.

+ +

Gauss Points tab of the Segmentation + menu allows to define visualization parameters for Inside and Outside + cursor Gauss Points.  See + Primitives + and Presentations + to learn about parameters definable in this tab.

+ +

 

+ +

+ +

 

+ +

Plane segmentation  is + characteristic for its Segmentation Cursor in the form of a box with an + axis to define its orientation and two planes defining its upper and lower + boundaries.

+ +

It can be defined in Segmentation Cursor tab, which allows to define + coordinates of origin, direction and depth of the segmentation plane. +

+ +

 

+ +

+ +

 

+ +

+ +

 

+ +

Actually it is also possible to edit these parameters directly with + the mouse in the main 3D view :

+ +

• Translation (dragging) of the lower plane along the V axis changes + the Origin of the cursor

+ +

• Rotating the V axis around its origin defines a new Direction + for the cursor

+ +

• Dragging the upper plane along its axis changes the Depth + of the cursor. It is not possible to move the lower above the upper plane + (minimum depth is 0).

+ +

 

+ +

+ +

 

+ +

Sphere segmentation  is + characteristic for its Segmentation Cursor in the form of a sphere with + an axis to define its orientation.

+ +

It can be defined in Segmentation Cursor tab, which allows to define + coordinates of origin, and radius of the segmentation plane.

+ +

 

+ +

+ +

 

+ +

+ +

 

+ +

The Origin can also be changed + in the 3D Viewer by dragging the Sphere with the mouse .

+ +

 

+ +

When the user exits the Segmentation + menu, the function is ended and the second view (segmentation cursor viewer) + is erased.

+ +

 

+ +

 

+ +

 

+ +

 

+ +

  

+ +

 

+ +

 

+ +

 

+ + + + diff --git a/doc/salome/gui/VISU/types_of_gauss_points_presentations.htm b/doc/salome/gui/VISU/types_of_gauss_points_presentations.htm index 39e439be..43b186f5 100755 --- a/doc/salome/gui/VISU/types_of_gauss_points_presentations.htm +++ b/doc/salome/gui/VISU/types_of_gauss_points_presentations.htm @@ -1,221 +1,221 @@ - - - - - -Types of Gauss Points Presentations - - - - - - - - - - - - - -

Types of Gauss Points Presentations

- -

There exist three - different types of Gauss Points Presentations: Results - at Gauss Points,  Gauss - Points on Geometry and Gauss Points - on Deformed Shape. They all can be accessed from the same menu.

- -

 

- -

Results at Gauss Points

- -

 

- -

- -

 

- -

To create a Results at Gauss Points - presentation, select Results radio - button. This presentation gives most information as the points here vary - in color and size depending on the value.

- -

As for the size, the minimum and maximum Range - values for the rendering can be defined in the configuration dialog. - These values are multiplied by a reference length (representative of the - average size of cells of the mesh) to define the range for minimum and - maximum size of a point during rendering (at magnification = 100%). Default - values are:

- -
    - -
  • For the Rainbow - scale: min = 10%, max = 33%

  • - -
  • Min. size will be associated - to the smallest real value (included negative values) among the results.

  • - -
  • Max size will be associated - to the largest real values among the results.

  • - -
  • For the bicolor scale: - min = 0 (not editable), max = 33%

  • - -
  • Null size will be associated - to the 0 scalar value of a result.

  • - -
  • Max size will be associated - to the largest absolute values of results

  • -
- -

Both values are dynamically updated by the system according to the selected - scalar bar. In the case of a Bicolor - scale, the minimum value is set to 0 in the dialog and the control is - disabled.

- -

Magnification (%) corresponds - to the change of size of results at Gauss point primitives in 2D space. - Acceptable values range from 0 to N; 100% means no magnification, 50% - means half of its size, 200% mean twice its size and so forth. By default - this value is set to 100%.

- -

+/- Ratio corresponds to the - number by which the magnification will be respectively multiplied or divided - at edition, ranging from 0.01 to 10. By default this value is set to 2.

- -

During rendering of the scene, it is possible to modify the magnification - (multiply/divide by the magnification ratio) by using ‘M’ and ‘m’ keys - of the keyboard when the 3D view is active. The effect is applied immediately. - The ratio is only defined through the dialog box.

- -

 

- -

 

- -

Gauss Points on Geometry

- -

 

- -

- -

 

- -

To create a Geometry presentation, - select the respective - radio button. This presentation shows only geometrical position - of Gauss Points as their size and color are fixed (because the results - are not computed).

- -

Size defines a value that will - be multiplied by a reference length (representative of the average size - of cells of the mesh) to define the size of points during rendering (at - magnification = 100%). Default values 10%.

- -

Magnification and Ratio - have the same meaning as for Results at Gauss points presentation.

- -

Color allows to define the unique - color for Gauss Points in a  standard - color configuration dialog.

- -

 

- -

Gauss Points on Deformed Shape

- -

 

- -

- -

 

- -

To create a Deformed Shape presentation, - select the respective - radio button. This presentation is analog to Results - at Gauss Points except that the shape on which the points are located - is deformed using the Scale Factor - and the Gauss Points are processed only after that.

- - - - + + + + + +Types of Gauss Points Presentations + + + + + + + + + + + + + +

Types of Gauss Points Presentations

+ +

There exist three + different types of Gauss Points Presentations: Results + at Gauss Points,  Gauss + Points on Geometry and Gauss Points + on Deformed Shape. They all can be accessed from the same menu.

+ +

 

+ +

Results at Gauss Points

+ +

 

+ +

+ +

 

+ +

To create a Results at Gauss Points + presentation, select Results radio + button. This presentation gives most information as the points here vary + in color and size depending on the value.

+ +

As for the size, the minimum and maximum Range + values for the rendering can be defined in the configuration dialog. + These values are multiplied by a reference length (representative of the + average size of cells of the mesh) to define the range for minimum and + maximum size of a point during rendering (at magnification = 100%). Default + values are:

+ +
    + +
  • For the Rainbow + scale: min = 10%, max = 33%

  • + +
  • Min. size will be associated + to the smallest real value (included negative values) among the results.

  • + +
  • Max size will be associated + to the largest real values among the results.

  • + +
  • For the bicolor scale: + min = 0 (not editable), max = 33%

  • + +
  • Null size will be associated + to the 0 scalar value of a result.

  • + +
  • Max size will be associated + to the largest absolute values of results

  • +
+ +

Both values are dynamically updated by the system according to the selected + scalar bar. In the case of a Bicolor + scale, the minimum value is set to 0 in the dialog and the control is + disabled.

+ +

Magnification (%) corresponds + to the change of size of results at Gauss point primitives in 2D space. + Acceptable values range from 0 to N; 100% means no magnification, 50% + means half of its size, 200% mean twice its size and so forth. By default + this value is set to 100%.

+ +

+/- Ratio corresponds to the + number by which the magnification will be respectively multiplied or divided + at edition, ranging from 0.01 to 10. By default this value is set to 2.

+ +

During rendering of the scene, it is possible to modify the magnification + (multiply/divide by the magnification ratio) by using ‘M’ and ‘m’ keys + of the keyboard when the 3D view is active. The effect is applied immediately. + The ratio is only defined through the dialog box.

+ +

 

+ +

 

+ +

Gauss Points on Geometry

+ +

 

+ +

+ +

 

+ +

To create a Geometry presentation, + select the respective + radio button. This presentation shows only geometrical position + of Gauss Points as their size and color are fixed (because the results + are not computed).

+ +

Size defines a value that will + be multiplied by a reference length (representative of the average size + of cells of the mesh) to define the size of points during rendering (at + magnification = 100%). Default values 10%.

+ +

Magnification and Ratio + have the same meaning as for Results at Gauss points presentation.

+ +

Color allows to define the unique + color for Gauss Points in a  standard + color configuration dialog.

+ +

 

+ +

Gauss Points on Deformed Shape

+ +

 

+ +

+ +

 

+ +

To create a Deformed Shape presentation, + select the respective + radio button. This presentation is analog to Results + at Gauss Points except that the shape on which the points are located + is deformed using the Scale Factor + and the Gauss Points are processed only after that.

+ + + + diff --git a/doc/salome/gui/VISU/visu.log b/doc/salome/gui/VISU/visu.log index 5a257986..6ad71319 100755 --- a/doc/salome/gui/VISU/visu.log +++ b/doc/salome/gui/VISU/visu.log @@ -1,395 +1,400 @@ -|SourceProjectName:VISU.hpr -|DestinationProjectName:index.htm -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 -whskin_pickup.htm -whskin_homepage.htm -whskin_tw.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 -whxdata\whtoc.xml -whxdata\whidx.xml -whxdata\whfts.xml -whxdata\whglo.xml -whdata\whtoc.js -whdata\whtoc.htm -whdata\whtdata.js -whdata\whidx.js -whdata\whidx.htm -whdata\whidata.js -whdata\whfts.js -whdata\whfts.htm -whdata\whglo.js -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 -whcsh_home.htm -whcshdata.htm -cshdat_robohelp.htm -whd_topic.xml -whd_nvp10.htm -whd_nvp20.htm -whd_tabs.htm -whd_dpns.htm -whd_tab0.gif -whd_tab1.gif -whd_tab2.gif -whd_tab3.gif -whd_tab4.gif -whd_tab5.gif -whd_tab6.gif -whd_tab7.gif -whd_tab8.gif -whd_toc1.gif -whd_toc2.gif -whd_toc3.gif -whd_toc4.gif -whd_show0.gif -whd_show1.gif -whd_show2.gif -whd_hide0.gif -whd_hide1.gif -whd_hide2.gif -whd_sync0.gif -whd_sync1.gif -whd_sync2.gif -whd_prev0.gif -whd_prev1.gif -whd_prev2.gif -whd_next0.gif -whd_next1.gif -whd_next2.gif -whd_wbsh0.gif -whd_wbsh1.gif -whd_wbsh2.gif -whidhtml.htm -whfdhtml.htm -index_hha.hhk -index.hhc -index.hhk -animation_in_gauss_viewer.htm -clipping.htm -creating_tables.htm -files\about_structure_of_med_object.htm -files\about_tables.htm -files\animating_presentations.htm -files\changing_visualization_parameters_of_the_presenetation.htm -files\creating_curves.htm -files\creating_field_presentations.htm -files\creating_presentations.htm -files\creating_xy_plot.htm -files\cut_lines_presentation.htm -files\cut_lines_resentation.htm -files\deformed_shape_presentation.htm -files\displaying_hiding_presentations.htm -files\displaying_tables.htm -files\getting_elements_attributes.htm -files\getting_started.htm -files\importing_med_objects.htm -files\importing_tables.htm -files\insideframe.htm -files\introduction.htm -files\iso_surfaces_presentation.htm -files\points.htm -files\running_visu.htm -files\scalar_map_presentation.htm -files\scaling_presentations.htm -files\setting_properties_of_xy_plots.htm -files\shrink.htm -files\stream_lines_presentation.htm -files\surface.htm -files\surfaceframe.htm -files\sweeping.htm -files\vectors_presentation.htm -files\wireframe.htm -gauss_points_presentation.htm -gauss_viewer.htm -navigation_with_keyboard_and_spacemouse.htm -picking.htm -plot2d_viewer.htm -plot_3d_presentation.htm -primitive_types.htm -scalar_bar.htm -scalar_map_on_deformed_shape_presentation.htm -segmentation.htm -types_of_gauss_points_presentations.htm -vtk_3d_viewer.htm -ehelp.xml -robohhre.lng -texture_horiz_ltbluebubbles.jpg -index.glo -default.css -pics\image51.gif -pics\smds-example.png -pics\image84.gif -pics\cutlinesprsnt.png -pics\smds1.png -image31.jpg -pics\isosurfaces.png -image20.jpg -tip1.gif -pics\scalarmapicon.jpg -pics\image74.gif -pics\image52.gif -pics\image30.gif -pics\arrangeactors1.png -pics\image96.gif -pics\cutplpresent.png -image40.gif -note1.gif -pics\wireframe.jpg -pics\visuicon.jpg -pics\image53.gif -pics\image97.gif -image41.gif -pics\plot3d.png -image30.gif -image33.jpg -pics\image54.gif -image20.gif -pics\image98.gif -pics\image87.gif -image34.jpg -image31.gif -pics\streamlines.png -bgbaby.gif -q_blue.jpg -pics\cellsel.jpg -pics\isosurf.jpg -pics\image55.gif -pics\plot3d-example.png -pics\image99.gif -image43.gif -image10.gif -pics\image88.gif -pics\warning.png -pics\importtablefromfile.png -pics\surface.jpg -image11.gif -pics\image89.gif -image44.gif -pics\buildprogress.png -pics\animation.png -pics\fitdatarange.png -image22.gif -pics\begining.jpg -pics\image46.gif -image23.gif -image1.jpg -image12.gif -image37.jpg -image34.gif -pics\cutplanes.png -pics\cutlinesicon.jpg -pics\image69.gif -pics\image47.gif -image2.jpg -pics\smds-example1.png -image13.gif -pics\image100.gif -pics\streamlinesprsnt.png -pics\image20.png -image38.jpg -image35.gif -pics\clipping1.png -pics\scalarrangesn.png -pics\streamlinesicon.jpg -pics\defshapeicon.jpg -pics\image48.gif -image3.jpg -image47.gif -image14.gif -pics\image21.png -pics\recording.png -pics\clipping2.png -more.jpg -pics\speed.jpg -pics\next.jpg -pics\run.jpg -pics\image49.gif -image26.gif -image4.jpg -image1.gif -pics\viewsettings.png -image48.gif -pics\image102.gif -pics\gpp2.png -pics\textproperty.png -image15.gif -pics\previous.jpg -image5.jpg -pics\image39.gif -pics\image103.gif -image38.gif -pics\gpp3.png -pics\dumpviewtofile.png -image27.gif -pics\rename.png -pics\deformedshape.png -image16.gif -image19.jpg -pics\blue_up.jpg -pics\blue_left.jpg -image3.gif -image39.gif -image17.gif -pics\vectorsprsnt.png -pics\image104.gif -pics\vectorfield.png -pics\points.jpg -image18.gif -pics\image90.gif -pics\image105.gif -pics\recordingsaveas.png -image29.gif -pics\dataonelements1.png -pics\snapfgf.png -pics\visufullscreen.png -pics\editplot2dpresentation.png -pics\cutlines.png -pics\importfromfile.png -pics\image117.gif -pics\blue_right.jpg -pics\arrangeactors.png -pics\graduatedaxes1.png -pics\image91.gif -image5.gif -image19.gif -pics\translatepres.png -pics\iso.png -pics\planes.png -pics\gpp6.png -pics\dataonelements2.png -pics\animatdef.jpg -pics\end.jpg -pics\blue_down.jpg -pics\neo-transparency.png -pics\image81.gif -image6.gif -pics\picking.png -pics\dataonelements3.png -pics\scalarbarproperties.png -pics\cutlinesicn.jpg -pics\image82.gif -image7.gif -pics\spheroid.png -pics\viewtable.png -pics\vecticon.jpg -pics\shrink.jpg -i_blue.jpg -pics\createcurves.png -pics\image50.gif -pics\image83.gif -pics\image109.gif -image8.gif -pics\setupanimation.png -pics\exporttable.png -pics\deformedshapesn.png -ehlpdhtm.js -index.ppf -ss_btn_related_topics.gif -default_ns.css -whxdata\whtdata0.xml -whxdata\whftdata0.xml -whxdata\whfwdata0.xml -whxdata\whgdata0.xml -whdata\whtdata0.htm -whdata\whftdata0.htm -whdata\whfwdata0.htm -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\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\whlstfl23.htm -whgdata\whlstfl24.htm -whgdata\whlstf0.htm -whgdata\whlstf1.htm -whgdata\whlstf2.htm -whgdata\whlstf3.htm -whgdata\whlstf4.htm -whgdata\whlstf5.htm -whgdata\whlstf6.htm -whgdata\whlstf7.htm -whgdata\whlstf8.htm -whgdata\whlstf9.htm -whgdata\whlstg0.htm -index.htm -index_csh.htm -index_rhc.htm +|SourceProjectName:VISU.hpr +|DestinationProjectName:index.htm +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 +whskin_pickup.htm +whskin_homepage.htm +whskin_tw.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 +whxdata\whtoc.xml +whxdata\whidx.xml +whxdata\whfts.xml +whxdata\whglo.xml +whdata\whtoc.js +whdata\whtoc.htm +whdata\whtdata.js +whdata\whidx.js +whdata\whidx.htm +whdata\whidata.js +whdata\whfts.js +whdata\whfts.htm +whdata\whglo.js +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 +whcsh_home.htm +whcshdata.htm +cshdat_robohelp.htm +whd_topic.xml +whd_nvp10.htm +whd_nvp20.htm +whd_tabs.htm +whd_dpns.htm +whd_tab0.gif +whd_tab1.gif +whd_tab2.gif +whd_tab3.gif +whd_tab4.gif +whd_tab5.gif +whd_tab6.gif +whd_tab7.gif +whd_tab8.gif +whd_toc1.gif +whd_toc2.gif +whd_toc3.gif +whd_toc4.gif +whd_show0.gif +whd_show1.gif +whd_show2.gif +whd_hide0.gif +whd_hide1.gif +whd_hide2.gif +whd_sync0.gif +whd_sync1.gif +whd_sync2.gif +whd_prev0.gif +whd_prev1.gif +whd_prev2.gif +whd_next0.gif +whd_next1.gif +whd_next2.gif +whd_wbsh0.gif +whd_wbsh1.gif +whd_wbsh2.gif +whidhtml.htm +whfdhtml.htm +index_hha.hhk +index.hhc +index.hhk +animation_in_gauss_viewer.htm +clipping.htm +creating_tables.htm +files\about_structure_of_med_object.htm +files\about_tables.htm +files\animating_presentations.htm +files\changing_visualization_parameters_of_the_presenetation.htm +files\creating_curves.htm +files\creating_field_presentations.htm +files\creating_presentations.htm +files\creating_xy_plot.htm +files\cut_lines_presentation.htm +files\cut_lines_resentation.htm +files\deformed_shape_presentation.htm +files\displaying_hiding_presentations.htm +files\displaying_tables.htm +files\getting_elements_attributes.htm +files\getting_started.htm +files\importing_med_objects.htm +files\importing_tables.htm +files\insideframe.htm +files\introduction.htm +files\iso_surfaces_presentation.htm +files\points.htm +files\running_visu.htm +files\scalar_map_presentation.htm +files\scaling_presentations.htm +files\setting_properties_of_xy_plots.htm +files\shrink.htm +files\stream_lines_presentation.htm +files\surface.htm +files\surfaceframe.htm +files\sweeping.htm +files\vectors_presentation.htm +files\wireframe.htm +gauss_points_presentation.htm +gauss_viewer.htm +navigation_with_keyboard_and_spacemouse.htm +picking.htm +plot2d_viewer.htm +plot_3d_presentation.htm +primitive_types.htm +scalar_bar.htm +scalar_map_on_deformed_shape_presentation.htm +segmentation.htm +types_of_gauss_points_presentations.htm +vtk_3d_viewer.htm +ehelp.xml +robohhre.lng +texture_horiz_ltbluebubbles.jpg +index.glo +default.css +pics\image51.gif +pics\smds-example.png +pics\image84.gif +pics\cutlinesprsnt.png +pics\smds1.png +image31.jpg +pics\isosurfaces.png +image20.jpg +tip1.gif +pics\scalarmapicon.jpg +pics\image74.gif +pics\image52.gif +pics\image30.gif +pics\arrangeactors1.png +pics\image96.gif +pics\cutplpresent.png +image40.gif +note1.gif +pics\wireframe.jpg +pics\visuicon.jpg +pics\image53.gif +pics\image97.gif +image41.gif +pics\plot3d.png +image30.gif +image33.jpg +pics\image54.gif +image20.gif +pics\image98.gif +pics\image87.gif +image34.jpg +image31.gif +pics\streamlines.png +bgbaby.gif +q_blue.jpg +pics\cellsel.jpg +pics\isosurf.jpg +pics\image55.gif +pics\plot3d-example.png +pics\image99.gif +image43.gif +image10.gif +pics\image88.gif +pics\warning.png +pics\importtablefromfile.png +pics\surface.jpg +pics\view_rotation_point.png +image11.gif +pics\image89.gif +image44.gif +pics\buildprogress.png +pics\animation.png +pics\fitdatarange.png +image22.gif +pics\begining.jpg +pics\set_rotation_point_dialog1.png +pics\image46.gif +image23.gif +image1.jpg +image12.gif +image37.jpg +image34.gif +pics\cutplanes.png +pics\cutlinesicon.jpg +pics\set_rotation_point_dialog2.png +pics\image69.gif +pics\image47.gif +image2.jpg +pics\smds-example1.png +image13.gif +pics\image100.gif +pics\streamlinesprsnt.png +pics\image20.png +image38.jpg +image35.gif +pics\clipping1.png +pics\scalarrangesn.png +pics\streamlinesicon.jpg +pics\defshapeicon.jpg +pics\image48.gif +image3.jpg +image47.gif +image14.gif +pics\image21.png +pics\recording.png +pics\clipping2.png +more.jpg +pics\speed.jpg +pics\next.jpg +pics\run.jpg +pics\image157.gif +pics\image49.gif +image26.gif +image4.jpg +image1.gif +pics\viewsettings.png +image48.gif +pics\image102.gif +pics\gpp2.png +pics\textproperty.png +image15.gif +pics\previous.jpg +image5.jpg +pics\image39.gif +pics\image103.gif +image38.gif +pics\gpp3.png +pics\dumpviewtofile.png +image27.gif +pics\rename.png +pics\deformedshape.png +image16.gif +image19.jpg +pics\blue_up.jpg +pics\blue_left.jpg +image39.gif +image17.gif +pics\vectorsprsnt.png +pics\image104.gif +pics\vectorfield.png +pics\points.jpg +image18.gif +pics\image90.gif +pics\image105.gif +pics\recordingsaveas.png +image29.gif +pics\dataonelements1.png +pics\snapfgf.png +pics\visufullscreen.png +pics\editplot2dpresentation.png +pics\cutlines.png +pics\importfromfile.png +pics\image117.gif +pics\blue_right.jpg +pics\arrangeactors.png +pics\graduatedaxes1.png +pics\image91.gif +image5.gif +image19.gif +pics\translatepres.png +pics\iso.png +pics\planes.png +pics\gpp6.png +pics\dataonelements2.png +pics\animatdef.jpg +pics\end.jpg +pics\blue_down.jpg +pics\neo-transparency.png +pics\image81.gif +image6.gif +pics\picking.png +pics\dataonelements3.png +pics\scalarbarproperties.png +pics\cutlinesicn.jpg +pics\image82.gif +image7.gif +pics\spheroid.png +pics\viewtable.png +pics\vecticon.jpg +pics\shrink.jpg +i_blue.jpg +pics\createcurves.png +pics\image50.gif +pics\image83.gif +pics\image109.gif +image8.gif +pics\setupanimation.png +pics\exporttable.png +pics\deformedshapesn.png +ehlpdhtm.js +index.ppf +ss_btn_related_topics.gif +default_ns.css +whxdata\whtdata0.xml +whxdata\whftdata0.xml +whxdata\whfwdata0.xml +whxdata\whgdata0.xml +whdata\whtdata0.htm +whdata\whftdata0.htm +whdata\whfwdata0.htm +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\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\whlstfl23.htm +whgdata\whlstfl24.htm +whgdata\whlstfl25.htm +whgdata\whlstf0.htm +whgdata\whlstf1.htm +whgdata\whlstf2.htm +whgdata\whlstf3.htm +whgdata\whlstf4.htm +whgdata\whlstf5.htm +whgdata\whlstf6.htm +whgdata\whlstf7.htm +whgdata\whlstf8.htm +whgdata\whlstf9.htm +whgdata\whlstf10.htm +whgdata\whlstg0.htm +index.htm +index_csh.htm +index_rhc.htm diff --git a/doc/salome/gui/VISU/visugenidl_doc/VISU__Gen_8idl-source.html b/doc/salome/gui/VISU/visugenidl_doc/VISU__Gen_8idl-source.html index b4994bed..9dd48fe8 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/VISU__Gen_8idl-source.html +++ b/doc/salome/gui/VISU/visugenidl_doc/VISU__Gen_8idl-source.html @@ -5,841 +5,884 @@ Main Page +   -

idl/VISU_Gen.idl

Go to the documentation of this file.
00001 //  Copyright (C) 2003  CEA/DEN, EDF R&D
-00002 //
-00003 //
-00004 //
-00005 //  File   : VISU_Gen.idl
-00006 //  Author : Alexey Petrov
-00007 
-00014 #ifndef __VISU_GEN__
-00015 #define __VISU_GEN__
-00016 
-00017 #include "SALOME_Exception.idl"
-00018 #include "SALOME_GenericObj.idl"
-00019 #include "SALOME_Component.idl"
-00020 #include "SALOMEDS.idl"
-00021 #include "SALOMEDS_Attributes.idl"
-00022 #include "MED.idl"
-00023 
-00027 module VISU {
-00028   //-------------------------------------------------------
-00029   typedef string IdType;
-00030 
-00035   enum Scaling{ LINEAR, 
-00036           LOGARITHMIC 
-00037            };
+

idl/VISU_Gen.idl

Go to the documentation of this file.
00001 //  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+00002 //  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+00003 // 
+00004 //  This library is free software; you can redistribute it and/or 
+00005 //  modify it under the terms of the GNU Lesser General Public 
+00006 //  License as published by the Free Software Foundation; either 
+00007 //  version 2.1 of the License. 
+00008 // 
+00009 //  This library is distributed in the hope that it will be useful, 
+00010 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+00011 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+00012 //  Lesser General Public License for more details. 
+00013 // 
+00014 //  You should have received a copy of the GNU Lesser General Public 
+00015 //  License along with this library; if not, write to the Free Software 
+00016 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+00017 // 
+00018 //  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+00019 //
+00020 //  File   : VISU_Gen.idl
+00021 //  Author : Alexey Petrov
+00022 
+00029 #ifndef __VISU_GEN__
+00030 #define __VISU_GEN__
+00031 
+00032 #include "SALOME_Exception.idl"
+00033 #include "SALOME_GenericObj.idl"
+00034 #include "SALOME_Component.idl"
+00035 #include "SALOMEDS.idl"
+00036 #include "SALOMEDS_Attributes.idl"
+00037 #include "MED.idl"
 00038 
-00043   enum Entity{ NODE, 
-00044                EDGE, 
-00045             FACE, 
-00046             CELL  
-00047             };
-00048 
-00053   enum VISUType {
-00054     TNONE, 
-00055     TCURVE, 
-00056     TTABLE, 
-00057     TCONTAINER, 
-00058     TMESH, 
-00059     TSCALARMAP, 
-00060     TISOSURFACE, 
-00061     TDEFORMEDSHAPE, 
-00062     TSCALARMAPONDEFORMEDSHAPE, 
-00063     TGAUSSPOINTS, 
-00064     TPLOT3D, 
-00065     TCUTPLANES, 
-00066     TCUTLINES, 
-00067     TVECTORS, 
-00068     TSTREAMLINES, 
-00069     TVISUGEN, 
-00070     TVIEWMANAGER, 
-00071     TRESULT, 
-00072     TXYPLOT, 
-00073     TTABLEVIEW, 
-00074     TVIEW3D, 
-00075     TGAUSSVIEW, 
-00076     TENTITY, 
-00077     TFAMILY, 
-00078     TGROUP, 
-00079     TFIELD, 
-00080     TTIMESTAMP, 
-00081     TANIMATION, 
-00082     TALL
-00083   };
-00084 
-00085   interface Base {
-00089     IdType GetID();
-00090 
-00094     VISUType GetType();
-00095   };
-00096 
-00102   interface RemovableObject : Base {
-00106     void RemoveFromStudy();
-00107   };
-00108 
-00113   interface PrsObject : RemovableObject {
-00114   };
-00115 
-00116   //-------------------------------------------------------
-00121   interface Table : PrsObject {
-00126     void SetTitle(in string theTitle);
-00127 
-00132     string GetTitle();
-00133 
-00137     enum Orientation {
-00138       HORIZONTAL, 
-00139       VERTIACAL   
-00140     };
-00141 
-00147     void SetOrientation(in Orientation theOrientation);
+00042 module VISU {
+00043   //-------------------------------------------------------
+00044   typedef string IdType;
+00045 
+00050   enum Scaling{ LINEAR, 
+00051           LOGARITHMIC 
+00052            };
+00053 
+00058   enum Entity{ NODE, 
+00059                EDGE, 
+00060             FACE, 
+00061             CELL  
+00062             };
+00063 
+00068   enum VISUType {
+00069     TNONE, 
+00070     TCURVE, 
+00071     TTABLE, 
+00072     TCONTAINER, 
+00073     TMESH, 
+00074     TSCALARMAP, 
+00075     TISOSURFACE, 
+00076     TDEFORMEDSHAPE, 
+00077     TSCALARMAPONDEFORMEDSHAPE, 
+00078     TGAUSSPOINTS, 
+00079     TPLOT3D, 
+00080     TCUTPLANES, 
+00081     TCUTLINES, 
+00082     TVECTORS, 
+00083     TSTREAMLINES, 
+00084     TVISUGEN, 
+00085     TVIEWMANAGER, 
+00086     TRESULT, 
+00087     TXYPLOT, 
+00088     TTABLEVIEW, 
+00089     TVIEW3D, 
+00090     TGAUSSVIEW, 
+00091     TENTITY, 
+00092     TFAMILY, 
+00093     TGROUP, 
+00094     TFIELD, 
+00095     TTIMESTAMP, 
+00096     TANIMATION, 
+00097     TALL
+00098   };
+00099 
+00100   interface Base {
+00104     IdType GetID();
+00105 
+00109     VISUType GetType();
+00110   };
+00111 
+00117   interface RemovableObject : Base {
+00121     void RemoveFromStudy();
+00122   };
+00123 
+00128   interface PrsObject : RemovableObject {
+00129   };
+00130 
+00131   //-------------------------------------------------------
+00136   interface Table : PrsObject {
+00141     void SetTitle(in string theTitle);
+00142 
+00147     string GetTitle();
 00148 
-00154     Orientation GetOrientation();
-00155 
-00160     long GetNbRows();
-00161 
-00166     long GetNbColumns();
-00167   };
-00168 
-00169   //-------------------------------------------------------
-00175   interface Curve : PrsObject {
-00180     void SetTitle(in string theTitle);
-00181 
-00186     string GetTitle();
-00187 
-00193     void SetColor(in SALOMEDS::Color theColor);
-00194 
-00200     SALOMEDS::Color GetColor();
-00201 
-00207     enum MarkerType { NONE,
-00208                 CIRCLE,
-00209                 RECTANGLE,
-00210                 DIAMOND,
-00211                 DTRIANGLE,
-00212                 UTRIANGLE,
-00213                 LTRIANGLE,
-00214                 RTRIANGLE,
-00215                 CROSS,
-00216                 XCROSS
-00217     };
-00218 
-00226     void SetMarker(in MarkerType theType);
-00227 
-00235     MarkerType GetMarker();
-00236 
-00241     enum LineType{ VOIDLINE, SOLIDLINE, DASHLINE, DOTLINE, DASHDOTLINE, DASHDOTDOTLINE};
+00152     enum Orientation {
+00153       HORIZONTAL, 
+00154       VERTIACAL   
+00155     };
+00156 
+00162     void SetOrientation(in Orientation theOrientation);
+00163 
+00169     Orientation GetOrientation();
+00170 
+00175     long GetNbRows();
+00176 
+00181     long GetNbColumns();
+00182   };
+00183 
+00184   //-------------------------------------------------------
+00190   interface Curve : PrsObject {
+00195     void SetTitle(in string theTitle);
+00196 
+00201     string GetTitle();
+00202 
+00208     void SetColor(in SALOMEDS::Color theColor);
+00209 
+00215     SALOMEDS::Color GetColor();
+00216 
+00222     enum MarkerType { NONE,
+00223                 CIRCLE,
+00224                 RECTANGLE,
+00225                 DIAMOND,
+00226                 DTRIANGLE,
+00227                 UTRIANGLE,
+00228                 LTRIANGLE,
+00229                 RTRIANGLE,
+00230                 CROSS,
+00231                 XCROSS
+00232     };
+00233 
+00241     void SetMarker(in MarkerType theType);
 00242 
-00248     void SetLine(in LineType theType, in long theLineWidth);
-00249 
-00254     LineType GetLine();
-00255 
-00260     long GetLineWidth();
-00261   };
-00262 
-00263   //-------------------------------------------------------
-00269   interface Container : PrsObject {
-00274     void AddCurve(in Curve theCurve);
-00275 
-00280     void RemoveCurve(in Curve theCurve);
-00281 
-00286     long GetNbCurves();
-00287 
-00291     void Clear();
-00292   };
-00293 
-00294   //-------------------------------------------------------
-00299   interface Prs3d : PrsObject, SALOME::GenericObj {
-00300     //interface Prs3d : PrsObject{
-00301     void SetOffset(in float theDx, in float theDy, in float theDz);
-00302     void GetOffset(out float theDx, out float theDy, out float theDz);
-00303   };
-00304 
-00309   enum PresentationType{ POINT,
-00310                 WIREFRAME,
-00311                 SHADED,
-00312                 INSIDEFRAME,
-00313                 SURFACEFRAME,
-00314                 SHRINK
-00315   };
-00316 
-00322   interface Mesh : Prs3d {
-00327     void SetCellColor(in SALOMEDS::Color theColor);
-00328 
-00332     SALOMEDS::Color GetCellColor();
-00333 
-00338     void SetNodeColor(in SALOMEDS::Color theColor);
-00339 
-00343     SALOMEDS::Color GetNodeColor();
-00344 
-00349     void SetLinkColor(in SALOMEDS::Color theColor);
-00350 
-00354     SALOMEDS::Color GetLinkColor();
-00355 
-00361     void SetPresentationType(in PresentationType theType);
-00362 
-00367     PresentationType GetPresentationType();
-00368   };
-00369 
+00250     MarkerType GetMarker();
+00251 
+00256     enum LineType{ VOIDLINE, SOLIDLINE, DASHLINE, DOTLINE, DASHDOTLINE, DASHDOTDOTLINE};
+00257 
+00263     void SetLine(in LineType theType, in long theLineWidth);
+00264 
+00269     LineType GetLine();
+00270 
+00275     long GetLineWidth();
+00276   };
+00277 
+00278   //-------------------------------------------------------
+00284   interface Container : PrsObject {
+00289     void AddCurve(in Curve theCurve);
+00290 
+00295     void RemoveCurve(in Curve theCurve);
+00296 
+00301     long GetNbCurves();
+00302 
+00306     void Clear();
+00307   };
+00308 
+00309   //-------------------------------------------------------
+00314   interface Prs3d : PrsObject, SALOME::GenericObj {
+00315     //interface Prs3d : PrsObject{
+00316     void SetOffset(in float theDx, in float theDy, in float theDz);
+00317     void GetOffset(out float theDx, out float theDy, out float theDz);
+00318   };
+00319 
+00324   enum PresentationType{ POINT,
+00325                 WIREFRAME,
+00326                 SHADED,
+00327                 INSIDEFRAME,
+00328                 SURFACEFRAME,
+00329                 SHRINK
+00330   };
+00331 
+00337   interface Mesh : Prs3d {
+00342     void SetCellColor(in SALOMEDS::Color theColor);
+00343 
+00347     SALOMEDS::Color GetCellColor();
+00348 
+00353     void SetNodeColor(in SALOMEDS::Color theColor);
+00354 
+00358     SALOMEDS::Color GetNodeColor();
+00359 
+00364     void SetLinkColor(in SALOMEDS::Color theColor);
+00365 
+00369     SALOMEDS::Color GetLinkColor();
 00370 
-00371   //-------------------------------------------------------
-00380   interface ColoredPrs3d : Prs3d {
-00383     void SetScalarMode(in long theScalarMode);
+00376     void SetPresentationType(in PresentationType theType);
+00377 
+00382     PresentationType GetPresentationType();
+00383   };
 00384 
-00387     long GetScalarMode();
-00388 
-00392     double GetMin();
-00393 
-00397     double GetMax();
-00398 
-00405     void SetPosition(in double X, in double Y);
-00406 
-00410     double GetPosX();
-00411 
-00415     double GetPosY();
-00416 
-00423     void SetSize(in double theWidth, in double theHeight);
-00424 
-00429     double GetWidth();
-00430 
-00435     double GetHeight();
-00436 
-00441     void SetNbColors(in long theNbColors);
-00442 
-00448     long GetNbColors();
-00449 
-00455     void SetLabels(in long theNbLabels);
-00456 
-00462     long GetLabels();
-00463 
-00468     void SetTitle(in string theName);
-00469 
-00473     string GetTitle();
-00474   };
-00475 
-00476 
-00477   //-------------------------------------------------------
-00486   interface ScalarMap : ColoredPrs3d {
-00491     void SetScaling(in Scaling theScaling);
-00492 
-00496     Scaling GetScaling();
-00497 
-00503     void SetRange(in double theMin, in double theMax);
-00504 
-00506     enum Orientation {
-00507       HORIZONTAL, 
-00508       VERTICAL    
-00509     };
-00510 
-00516     void SetBarOrientation(in Orientation theOrientation);
-00517 
-00521     Orientation GetBarOrientation();
-00522   };
-00523 
-00524   //-------------------------------------------------------
-00529   //-------------------------------------------------------
-00530   interface GaussPoints : ColoredPrs3d {
-00531   };
+00385 
+00386   //-------------------------------------------------------
+00395   interface ColoredPrs3d : Prs3d {
+00398     void SetScalarMode(in long theScalarMode);
+00399 
+00402     long GetScalarMode();
+00403 
+00407     double GetMin();
+00408 
+00412     double GetMax();
+00413 
+00420     void SetPosition(in double X, in double Y);
+00421 
+00425     double GetPosX();
+00426 
+00430     double GetPosY();
+00431 
+00438     void SetSize(in double theWidth, in double theHeight);
+00439 
+00444     double GetWidth();
+00445 
+00450     double GetHeight();
+00451 
+00456     void SetNbColors(in long theNbColors);
+00457 
+00463     long GetNbColors();
+00464 
+00470     void SetLabels(in long theNbLabels);
+00471 
+00477     long GetLabels();
+00478 
+00483     void SetTitle(in string theName);
+00484 
+00488     string GetTitle();
+00489   };
+00490 
+00491 
+00492   //-------------------------------------------------------
+00501   interface ScalarMap : ColoredPrs3d {
+00506     void SetScaling(in Scaling theScaling);
+00507 
+00511     Scaling GetScaling();
+00512 
+00518     void SetRange(in double theMin, in double theMax);
+00519 
+00521     enum Orientation {
+00522       HORIZONTAL, 
+00523       VERTICAL    
+00524     };
+00525 
+00531     void SetBarOrientation(in Orientation theOrientation);
 00532 
-00537   interface DeformedShape : ScalarMap {
-00542     void SetScale(in double theScale);
-00543 
-00547     double GetScale();
-00548 
-00551     boolean IsColored();
-00552 
-00557     void ShowColored(in boolean theColored);
+00536     Orientation GetBarOrientation();
+00537   };
+00538 
+00539   //-------------------------------------------------------
+00544   //-------------------------------------------------------
+00545   interface GaussPoints : ColoredPrs3d {
+00546   };
+00547 
+00552   interface DeformedShape : ScalarMap {
+00557     void SetScale(in double theScale);
 00558 
-00562     SALOMEDS::Color GetColor();
+00562     double GetScale();
 00563 
-00568     void SetColor(in SALOMEDS::Color theColor);
-00569   };
-00570 
-00571   //-------------------------------------------------------
-00576   interface ScalarMapOnDeformedShape : ScalarMap {
-00577     
-00581     void SetSourceRange(in double theMinRange,in double theMaxRange);
-00585     double GetSourceRangeMin();
-00589     double GetSourceRangeMax();
-00590     
-00595     void SetScale(in double theScale);
-00596 
-00600     double GetScale();
-00601 
-00609     void SetScalarField(in string theMeshName,in string theFieldName,
-00610                in long theIteration,in Entity theEntity);
+00566     boolean IsColored();
+00567 
+00572     void ShowColored(in boolean theColored);
+00573 
+00577     SALOMEDS::Color GetColor();
+00578 
+00583     void SetColor(in SALOMEDS::Color theColor);
+00584   };
+00585 
+00586   //-------------------------------------------------------
+00591   interface ScalarMapOnDeformedShape : ScalarMap {
+00592     
+00596     void SetSourceRange(in double theMinRange,in double theMaxRange);
+00600     double GetSourceRangeMin();
+00604     double GetSourceRangeMax();
+00605     
+00610     void SetScale(in double theScale);
 00611 
-00612   };
-00613   //-------------------------------------------------------
-00621   interface Plot3D : ScalarMap {
-00626     enum Orientation { XY,   
-00627                  YZ,   
-00628                  ZX }; 
-00639     void SetOrientation (in Orientation theOrientation, in double theXAngle, in double theYAngle);
-00640 
-00644     Orientation GetOrientationType();
-00645 
-00650     double GetRotateX();
-00651 
-00656     double GetRotateY();
-00657 
-00663     void SetPlanePosition (in double  thePlanePosition,
-00664                   in boolean theIsRelative);
-00665 
-00669     double GetPlanePosition();
-00670 
-00674     boolean IsPositionRelative();
-00675 
-00681     void SetScaleFactor (in double theScaleFactor);
-00682 
-00687     double GetScaleFactor();
-00688 
-00693     void SetContourPrs (in boolean theIsContourPrs );
-00694 
-00698     boolean GetIsContourPrs();
-00699 
-00704     void SetNbOfContours (in long theNb);
-00705 
-00709     long GetNbOfContours();
-00710   };
-00711 
-00712   //-------------------------------------------------------
-00719   interface CutPlanes : ScalarMap {
-00724     enum Orientation {XY, 
-00725                       YZ, 
-00726                 ZX}; 
-00737     void SetOrientation(in Orientation theOrientation, in double theXAngle, in double theYAngle);
-00738 
-00742     Orientation GetOrientationType();
-00743 
-00747     double GetRotateX();
-00748 
-00752     double GetRotateY();
+00615     double GetScale();
+00616 
+00624     void SetScalarField(in string theMeshName,in string theFieldName,
+00625                in long theIteration,in Entity theEntity);
+00626 
+00627   };
+00628   //-------------------------------------------------------
+00636   interface Plot3D : ScalarMap {
+00641     enum Orientation { XY,   
+00642                  YZ,   
+00643                  ZX }; 
+00654     void SetOrientation (in Orientation theOrientation, in double theXAngle, in double theYAngle);
+00655 
+00659     Orientation GetOrientationType();
+00660 
+00665     double GetRotateX();
+00666 
+00671     double GetRotateY();
+00672 
+00678     void SetPlanePosition (in double  thePlanePosition,
+00679                   in boolean theIsRelative);
+00680 
+00684     double GetPlanePosition();
+00685 
+00689     boolean IsPositionRelative();
+00690 
+00696     void SetScaleFactor (in double theScaleFactor);
+00697 
+00702     double GetScaleFactor();
+00703 
+00708     void SetContourPrs (in boolean theIsContourPrs );
+00709 
+00713     boolean GetIsContourPrs();
+00714 
+00719     void SetNbOfContours (in long theNb);
+00720 
+00724     long GetNbOfContours();
+00725   };
+00726 
+00727   //-------------------------------------------------------
+00734   interface CutPlanes : ScalarMap {
+00739     enum Orientation {XY, 
+00740                       YZ, 
+00741                 ZX}; 
+00752     void SetOrientation(in Orientation theOrientation, in double theXAngle, in double theYAngle);
 00753 
-00763     void SetDisplacement(in double theDisp);
-00764 
-00768     double GetDisplacement();
-00769 
-00775      void SetPlanePosition(in long thePlaneNumber, in double thePlanePosition);
-00776 
-00781      void SetDefault(in long thePlaneNumber);
-00782 
-00786     double GetPlanePosition(in long thePlaneNumber);
-00787 
-00792     boolean IsDefault(in long thePlaneNumber);
-00793 
-00798     void SetNbPlanes(in long theNb);
-00799 
-00803     long GetNbPlanes();
-00804   };
-00805 
-00806   //-------------------------------------------------------
-00821   interface CutLines : ScalarMap {
-00830     void SetOrientation(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
-00831 
-00841     void SetOrientation2(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
-00842 
-00846     CutPlanes::Orientation GetOrientationType();
-00847 
-00851     CutPlanes::Orientation GetOrientationType2();
-00852 
-00856     double GetRotateX();
+00757     Orientation GetOrientationType();
+00758 
+00762     double GetRotateX();
+00763 
+00767     double GetRotateY();
+00768 
+00778     void SetDisplacement(in double theDisp);
+00779 
+00783     double GetDisplacement();
+00784 
+00790      void SetPlanePosition(in long thePlaneNumber, in double thePlanePosition);
+00791 
+00796      void SetDefault(in long thePlaneNumber);
+00797 
+00801     double GetPlanePosition(in long thePlaneNumber);
+00802 
+00807     boolean IsDefault(in long thePlaneNumber);
+00808 
+00813     void SetNbPlanes(in long theNb);
+00814 
+00818     long GetNbPlanes();
+00819   };
+00820 
+00821   //-------------------------------------------------------
+00836   interface CutLines : ScalarMap {
+00845     void SetOrientation(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
+00846 
+00856     void SetOrientation2(in CutPlanes::Orientation theOrientation, in double theXAngle, in double theYAngle);
 00857 
-00861     double GetRotateX2();
+00861     CutPlanes::Orientation GetOrientationType();
 00862 
-00866     double GetRotateY();
+00866     CutPlanes::Orientation GetOrientationType2();
 00867 
-00871     double GetRotateY2();
+00871     double GetRotateX();
 00872 
-00879     void SetDisplacement(in double theDisp);
-00880 
-00887     void SetDisplacement2(in double theDisp);
-00888 
-00892     double GetDisplacement();
-00893 
-00897     double GetDisplacement2();
-00898 
-00902     void SetBasePlanePosition(in double thePlanePosition);
+00876     double GetRotateX2();
+00877 
+00881     double GetRotateY();
+00882 
+00886     double GetRotateY2();
+00887 
+00894     void SetDisplacement(in double theDisp);
+00895 
+00902     void SetDisplacement2(in double theDisp);
 00903 
-00906     double GetBasePlanePosition();
-00907 
-00912     void SetLinePosition(in long thePlaneNumber, in double thePlanePosition);
+00907     double GetDisplacement();
+00908 
+00912     double GetDisplacement2();
 00913 
-00917     double GetLinePosition(in long thePlaneNumber);
+00917     void SetBasePlanePosition(in double thePlanePosition);
 00918 
-00921     void SetDefault();
+00921     double GetBasePlanePosition();
 00922 
-00927     boolean IsDefault();
+00927     void SetLinePosition(in long thePlaneNumber, in double thePlanePosition);
 00928 
-00933     void SetDefaultPosition(in long thePlaneNumber);
-00934 
-00940     boolean IsDefaultPosition(in long thePlaneNumber);
-00941 
-00946     void SetNbLines(in long theNb);
-00947 
-00951     long GetNbLines();
-00952   };
-00953 
-00963   interface StreamLines : DeformedShape {
-00967     enum Direction{ FORWARD,
-00968               BACKWARD,
-00969               BOTH
-00970     };
-00971 
-00992     boolean SetParams(in double theIntStep,
-00993                 in double thePropogationTime,
-00994                 in double theStepLength,
-00995                 in Prs3d thePrs3d,
-00996                 in double thePercents,
-00997                 in Direction theDirection);
-00998 
-01001     double GetIntegrationStep();
-01002 
-01005     double GetPropagationTime();
-01006 
-01009     double GetStepLength();
-01010 
-01013     Prs3d GetSource();
-01014 
-01018     double GetUsedPoints();
-01019 
-01022     Direction GetDirection();
-01023   };
-01024 
-01033   interface IsoSurfaces : ScalarMap {
-01039     void SetNbSurfaces(in long theNb);
+00932     double GetLinePosition(in long thePlaneNumber);
+00933 
+00936     void SetDefault();
+00937 
+00942     boolean IsDefault();
+00943 
+00948     void SetDefaultPosition(in long thePlaneNumber);
+00949 
+00955     boolean IsDefaultPosition(in long thePlaneNumber);
+00956 
+00961     void SetNbLines(in long theNb);
+00962 
+00966     long GetNbLines();
+00967 
+00971     void SetAllCurvesInverted(in boolean theInvert);
+00972 
+00976     boolean IsAllCurvesInverted();
+00977 
+00981     void SetUseAbsoluteLength(in boolean theAbsLength);
+00982 
+00985     boolean IsUseAbsoluteLength();
+00986   };
+00987 
+00997   interface StreamLines : DeformedShape {
+01001     enum Direction{ FORWARD,
+01002               BACKWARD,
+01003               BOTH
+01004     };
+01005 
+01026     boolean SetParams(in double theIntStep,
+01027                 in double thePropogationTime,
+01028                 in double theStepLength,
+01029                 in Prs3d thePrs3d,
+01030                 in double thePercents,
+01031                 in Direction theDirection);
+01032 
+01035     double GetIntegrationStep();
+01036 
+01039     double GetPropagationTime();
 01040 
-01044     long GetNbSurfaces();
-01045   };
-01046 
-01047   //-------------------------------------------------------
-01052   interface Vectors : DeformedShape {
-01057     void SetLineWidth(in double theWidth);
+01043     double GetStepLength();
+01044 
+01047     Prs3d GetSource();
+01048 
+01052     double GetUsedPoints();
+01053 
+01056     Direction GetDirection();
+01057   };
 01058 
-01062     double GetLineWidth();
-01063 
-01067     enum GlyphType{ ARROW,
-01068                     CONE2,
-01069                     CONE6,
-01070                     NONE
-01071                   };
-01072 
-01078     void SetGlyphType(in GlyphType theType);
-01079 
-01083     GlyphType GetGlyphType();
-01084 
-01088     enum GlyphPos{ CENTER, 
-01089                    TAIL,   
-01090                    HEAD  
-01091                  };
+01067   interface IsoSurfaces : ScalarMap {
+01073     void SetNbSurfaces(in long theNb);
+01074 
+01078     long GetNbSurfaces();
+01079   };
+01080 
+01081   //-------------------------------------------------------
+01086   interface Vectors : DeformedShape {
+01091     void SetLineWidth(in double theWidth);
 01092 
-01098     void SetGlyphPos(in GlyphPos thePos);
-01099 
-01103     GlyphPos GetGlyphPos();
-01104   };
-01105 
-01106   //-------------------------------------------------------
-01121   interface Animation : Base {
-01125     void addField(in SALOMEDS::SObject theObject);
+01096     double GetLineWidth();
+01097 
+01101     enum GlyphType{ ARROW,
+01102                     CONE2,
+01103                     CONE6,
+01104                     NONE
+01105                   };
+01106 
+01112     void SetGlyphType(in GlyphType theType);
+01113 
+01117     GlyphType GetGlyphType();
+01118 
+01122     enum GlyphPos{ CENTER, 
+01123                    TAIL,   
+01124                    HEAD  
+01125                  };
 01126 
-01131     void generatePresentations(in long theFieldNum);
-01132 
-01138     boolean generateFrames();
+01132     void SetGlyphPos(in GlyphPos thePos);
+01133 
+01137     GlyphPos GetGlyphPos();
+01138   };
 01139 
-01142     void clearView();
-01143 
-01147 
-01150     void startAnimation();
-01151 
-01154     void stopAnimation();
-01155 
-01158     void nextFrame();
-01159 
-01162     void prevFrame();
-01163 
-01166     void firstFrame();
+01140   //-------------------------------------------------------
+01155   interface Animation : Base {
+01159     enum AnimationMode{ PARALLEL, 
+01160                SUCCCESSIVE 
+01161     };
+01162     
+01166     boolean addField(in SALOMEDS::SObject theObject);
 01167 
-01170     void lastFrame();
+01170     void clearFields();
 01171 
-01175     void gotoFrame(in long theFrame);
-01180     long getNbFields();
-01181 
-01184     long getNbFrames();
-01185 
-01188     boolean isRunning();
-01189 
-01192     long getCurrentFrame();
-01193 
-01196     ColoredPrs3d getPresentation(in long theField, in long theFrame);
-01197 
-01201     void setPresentationType(in long theFieldNum, in VISUType theType);
-01202 
-01206     VISUType getPresentationType(in long theFieldNum);
-01207 
-01211     void setSpeed(in long theSpeed);
+01176     void generatePresentations(in long theFieldNum);
+01177 
+01183     boolean generateFrames();
+01184 
+01187     void clearView();
+01188 
+01192 
+01195     void startAnimation();
+01196 
+01199     void stopAnimation();
+01200 
+01203     void nextFrame();
+01204 
+01207     void prevFrame();
+01208 
+01211     void firstFrame();
 01212 
-01215     long getSpeed();
+01215     void lastFrame();
 01216 
-01221     boolean isProportional();
-01222 
-01231     void setAnimationRange(in double theMin, in double theMax);
-01232 
-01235     double getMinRange();
-01236 
-01239     double getMaxRange();
-01240 
-01245     boolean isRangeDefined();
-01246 
-01251     void dumpTo(in string thePath);
+01220     void gotoFrame(in long theFrame);
+01225     long getNbFields();
+01226 
+01229     long getNbFrames();
+01230 
+01233     boolean isRunning();
+01234 
+01237     long getCurrentFrame();
+01238 
+01241     ColoredPrs3d getPresentation(in long theField, in long theFrame);
+01242 
+01246     void setPresentationType(in long theFieldNum, in VISUType theType);
+01247 
+01251     VISUType getPresentationType(in long theFieldNum);
 01252 
-01260     string setDumpFormat(in string theFormat);
+01256     void setSpeed(in long theSpeed);
+01257 
+01260     long getSpeed();
 01261 
-01264     boolean isCycling();
-01265 
-01269     double getMinTime();
-01270 
-01274     double getMaxTime();
-01275 
-01281     void setProportional(in boolean theProp);
-01282 
-01288     void setCycling(in boolean theCycle);
-01289 
-01290     SALOMEDS::SObject publishInStudy();
+01266     boolean isProportional();
+01267 
+01276     void setAnimationRange(in double theMin, in double theMax);
+01277 
+01280     double getMinRange();
+01281 
+01284     double getMaxRange();
+01285 
+01290     boolean isRangeDefined();
 01291 
-01292     void saveAnimation();
-01293 
-01294     void restoreFromStudy(in SALOMEDS::SObject theSObj);
-01295 
-01296     boolean isSavedInStudy();
-01297   };
-01298 
-01305   interface Result : RemovableObject, SALOME::GenericObj {
-01308     boolean BuildAll();
-01309 
-01311     boolean Build(in boolean theIsBuildAll, in boolean theIsAtOnce);
-01312 
-01314     boolean IsDone();
+01296     void dumpTo(in string thePath);
+01297 
+01305     string setDumpFormat(in string theFormat);
+01306 
+01309     boolean isCycling();
+01310 
+01314     double getMinTime();
 01315 
-01317     boolean IsEntitiesDone();
-01318 
-01320     void SetBuildFields(in boolean theIsBuildFields, in boolean theIsCalculateMinMax);
-01321 
-01323     boolean IsFieldsDone();
-01324 
-01326     void SetBuildGroups(in boolean theIsBuildGroups);
+01319     double getMaxTime();
+01320 
+01326     void setProportional(in boolean theProp);
 01327 
-01329     boolean IsGroupsDone();
-01330 
-01332     boolean IsMinMaxDone();
-01333   };
+01333     void setCycling(in boolean theCycle);
 01334 
-01335   //-------------------------------------------------------
-01336   interface ViewManager;
-01337   interface View3D;
-01338 
-01345   interface VISU_Gen : Engines::Component, SALOMEDS::Driver, Base {
-01348     void SetCurrentStudy(in SALOMEDS::Study theStudy);
-01349 
-01352     SALOMEDS::Study GetCurrentStudy();
-01353 
-01358     ViewManager GetViewManager();
-01359 
-01363     SALOMEDS::SObject ImportTables(in string theFileName);
-01364 
-01368     boolean ExportTableToFile(in SALOMEDS::SObject theTable, in string theFileName);
-01369 
-01375     Result ImportFile(in string theFileName);
-01376 
-01382     Result CreateResult(in string theFileName);
-01383 
-01389     Result CopyAndImportFile(in string theFileName);
-01390 
-01394     Result ImportMed(in SALOMEDS::SObject theMedSObject);
-01395 
-01399     Result ImportMedField(in SALOME_MED::FIELD theField);
+01335     boolean isCleaningMemoryAtEachFrame();
+01336     void setCleaningMemoryAtEachFrame(in boolean theCycle);
+01337 
+01338     SALOMEDS::SObject publishInStudy();
+01339 
+01340     void saveAnimation();
+01341 
+01342     void restoreFromStudy(in SALOMEDS::SObject theSObj);
+01343 
+01344     boolean isSavedInStudy();
+01345     
+01350     void setAnimationMode(in AnimationMode theMode);
+01351 
+01355     AnimationMode getAnimationMode();
+01356 
+01366     void ApplyProperties(in long theFieldNum, in ColoredPrs3d thePrs);
+01367   };
+01368 
+01375   interface Result : RemovableObject, SALOME::GenericObj {
+01378     boolean BuildAll();
+01379 
+01381     boolean Build(in boolean theIsBuildAll, in boolean theIsAtOnce);
+01382 
+01384     boolean IsDone();
+01385 
+01387     boolean IsEntitiesDone();
+01388 
+01390     void SetBuildFields(in boolean theIsBuildFields, in boolean theIsCalculateMinMax);
+01391 
+01393     boolean IsFieldsDone();
+01394 
+01396     void SetBuildGroups(in boolean theIsBuildGroups);
+01397 
+01399     boolean IsGroupsDone();
 01400 
-01409     void RenameEntityInStudy(in Result theResult,
-01410                     in string theMeshName,
-01411                     in Entity theEntity,
-01412                     in string theNewName);
-01413     void RenameFamilyInStudy(in Result theResult,
-01414                     in string theMeshName,
-01415                     in Entity theEntity,
-01416                     in string theSubMeshName,
-01417                     in string theNewName);
-01418     void RenameGroupInStudy(in Result theResult,
-01419                    in string theMeshName,
-01420                    in string theSubMeshName,
-01421                    in string theNewName);
-01422 
-01429     Mesh MeshOnEntity(in Result theResult, in string theMeshName, in Entity theEntity);
-01430 
-01438     Mesh FamilyMeshOnEntity(in Result theResult, in string theMeshName,
-01439                    in Entity theEntity, in string theFamilyName);
-01440 
-01447     Mesh GroupMesh(in Result theResult, in string theMeshName, in string theGroupName);
-01448 
-01457     ScalarMap ScalarMapOnField(in Result theResult, in string theMeshName,
-01458                       in Entity theEntity, in string theFieldName,
-01459                       in double theIteration);
+01402     boolean IsMinMaxDone();
+01403   };
+01404 
+01405   //-------------------------------------------------------
+01406   interface ViewManager;
+01407   interface View3D;
+01408 
+01415   interface VISU_Gen : Engines::Component, SALOMEDS::Driver, Base {
+01418     void SetCurrentStudy(in SALOMEDS::Study theStudy);
+01419 
+01422     SALOMEDS::Study GetCurrentStudy();
+01423 
+01428     ViewManager GetViewManager();
+01429 
+01433     SALOMEDS::SObject ImportTables(in string theFileName);
+01434 
+01438     boolean ExportTableToFile(in SALOMEDS::SObject theTable, in string theFileName);
+01439 
+01445     Result ImportFile(in string theFileName);
+01446 
+01452     Result CreateResult(in string theFileName);
+01453 
+01459     Result CopyAndImportFile(in string theFileName);
 01460 
-01469     GaussPoints GaussPointsOnField(in Result theResult, in string theMeshName,
-01470                        in Entity theEntity, in string theFieldName,
-01471                        in double theIteration);
-01472 
-01481     DeformedShape DeformedShapeOnField(in Result theResult, in string theMeshName,
-01482                            in Entity theEntity, in string theFieldName,
-01483                            in double theIteration);
-01484 
-01493     ScalarMapOnDeformedShape ScalarMapOnDeformedShapeOnField(in Result theResult, in string theMeshName,
-01494                                         in Entity theEntity, in string theFieldName,
-01495                                         in double theIteration);
-01496 
-01505     Vectors VectorsOnField(in Result theResult, in string theMeshName,
-01506                   in Entity theEntity, in string theFieldName,
-01507                   in double theIteration);
-01508 
-01517     IsoSurfaces IsoSurfacesOnField(in Result theResult, in string theMeshName,
-01518                        in Entity theEntity, in string theFieldName,
-01519                        in double theIteration);
-01520 
-01529     StreamLines StreamLinesOnField(in Result theResult, in string theMeshName,
-01530                        in Entity theEntity, in string theFieldName,
-01531                        in double theIteration);
-01532 
-01541     CutPlanes CutPlanesOnField(in Result theResult, in string theMeshName,
-01542                       in Entity theEntity, in string theFieldName,
-01543                       in double theIteration);
-01544 
-01553     CutLines CutLinesOnField(in Result theResult, in string theMeshName,
-01554                     in Entity theEntity, in string theFieldName,
-01555                     in double theIteration);
-01556 
-01565     Plot3D Plot3DOnField(in Result theResult, in string theMeshName,
-01566                 in Entity theEntity, in string theFieldName,
-01567                 in double theIteration);
-01568 
-01573     Table CreateTable(in string theTableEntry);
-01574 
-01581     Curve CreateCurve(in Table theTable, in long theHRow, in long theVRow);
-01582 
-01586     Container CreateContainer();
-01587 
-01591     Animation CreateAnimation(in View3D theView3d);
-01592 
-01593     void DeleteResult(in Result theResult);
-01594 
-01595     void DeletePrs3d(in Prs3d thePrs3d);
-01596   };
-01597 
-01604   interface View: Base {
-01605 
-01610     enum ViewRepresentation {
-01611       OBJECTBROWSER,
-01612       VIEWER,
-01613       PYTHON,
-01614       MESSAGES
-01615     };
-01616 
-01617     void ShowPart (in ViewRepresentation ViewRepr, in boolean state );
-01618 
-01619     boolean IsPartShown( in ViewRepresentation ViewRepr );
-01620 
-01630     void SplitRight();
-01631 
-01637     void SplitLeft();
+01464     Result ImportMed(in SALOMEDS::SObject theMedSObject);
+01465 
+01469     Result ImportMedField(in SALOME_MED::FIELD theField);
+01470 
+01479     void RenameEntityInStudy(in Result theResult,
+01480                     in string theMeshName,
+01481                     in Entity theEntity,
+01482                     in string theNewName);
+01483     void RenameFamilyInStudy(in Result theResult,
+01484                     in string theMeshName,
+01485                     in Entity theEntity,
+01486                     in string theSubMeshName,
+01487                     in string theNewName);
+01488     void RenameGroupInStudy(in Result theResult,
+01489                    in string theMeshName,
+01490                    in string theSubMeshName,
+01491                    in string theNewName);
+01492 
+01499     Mesh MeshOnEntity(in Result theResult, in string theMeshName, in Entity theEntity);
+01500 
+01508     Mesh FamilyMeshOnEntity(in Result theResult, in string theMeshName,
+01509                    in Entity theEntity, in string theFamilyName);
+01510 
+01517     Mesh GroupMesh(in Result theResult, in string theMeshName, in string theGroupName);
+01518 
+01527     ScalarMap ScalarMapOnField(in Result theResult, in string theMeshName,
+01528                       in Entity theEntity, in string theFieldName,
+01529                       in double theIteration);
+01530 
+01539     GaussPoints GaussPointsOnField(in Result theResult, in string theMeshName,
+01540                        in Entity theEntity, in string theFieldName,
+01541                        in double theIteration);
+01542 
+01551     DeformedShape DeformedShapeOnField(in Result theResult, in string theMeshName,
+01552                            in Entity theEntity, in string theFieldName,
+01553                            in double theIteration);
+01554 
+01563     ScalarMapOnDeformedShape ScalarMapOnDeformedShapeOnField(in Result theResult, in string theMeshName,
+01564                                         in Entity theEntity, in string theFieldName,
+01565                                         in double theIteration);
+01566 
+01575     Vectors VectorsOnField(in Result theResult, in string theMeshName,
+01576                   in Entity theEntity, in string theFieldName,
+01577                   in double theIteration);
+01578 
+01587     IsoSurfaces IsoSurfacesOnField(in Result theResult, in string theMeshName,
+01588                        in Entity theEntity, in string theFieldName,
+01589                        in double theIteration);
+01590 
+01599     StreamLines StreamLinesOnField(in Result theResult, in string theMeshName,
+01600                        in Entity theEntity, in string theFieldName,
+01601                        in double theIteration);
+01602 
+01611     CutPlanes CutPlanesOnField(in Result theResult, in string theMeshName,
+01612                       in Entity theEntity, in string theFieldName,
+01613                       in double theIteration);
+01614 
+01623     CutLines CutLinesOnField(in Result theResult, in string theMeshName,
+01624                     in Entity theEntity, in string theFieldName,
+01625                     in double theIteration);
+01626 
+01635     Plot3D Plot3DOnField(in Result theResult, in string theMeshName,
+01636                 in Entity theEntity, in string theFieldName,
+01637                 in double theIteration);
 01638 
-01644     void SplitBottom();
-01645 
-01651     void SplitTop();
-01652 
-01656     void OnTop();
-01657 
-01664     void Attract (in View theView);
-01665 
-01672     void AttractAll (in View theView);
-01673 
-01681     void SetRelativePositionInSplitter (in double thePosition);
-01682 
-01690     void SetRelativeSizeInSplitter (in double theSize);
-01691 
-01697     void SetRelativePositionX (in double thePosition);
+01643     Table CreateTable(in string theTableEntry);
+01644 
+01651     Curve CreateCurve(in Table theTable, in long theHRow, in long theVRow);
+01652     
+01661     Curve CreateCurveWithZ( in Table theTable, in long theHRow, in long theVRow, in long theZRow );
+01662 
+01666     Container CreateContainer();
+01667 
+01671     Animation CreateAnimation(in View3D theView3d);
+01672 
+01673     void DeleteResult(in Result theResult);
+01674 
+01675     void DeletePrs3d(in Prs3d thePrs3d);
+01676   };
+01677 
+01684   interface View: Base {
+01685 
+01690     enum ViewRepresentation {
+01691       OBJECTBROWSER,
+01692       VIEWER,
+01693       PYTHON,
+01694       MESSAGES
+01695     };
+01696 
+01697     void ShowPart (in ViewRepresentation ViewRepr, in boolean state );
 01698 
-01704     void SetRelativePositionY (in double thePosition);
-01705 
-01711     void SetRelativeSizeX (in double theSize);
-01712 
-01718     void SetRelativeSizeY (in double theSize);
-01719 
-01723     void SetViewWidth (in long Width); //setting width of view
-01724     void SetViewHeight (in long Height); //setting height of view
-01725     long GetViewWidth(); //getting view width
-01726     long GetViewHeight(); //getting view height
-01727     enum ViewPosition {TOP, CENTER, BOTTOM, RIGHT, LEFT}; //position of the study frame
-01728     void SetViewPositionHorizontal (in ViewPosition ViewPosHor); //setting of the horizontal view position
-01729     void SetViewPositionVertical (in ViewPosition ViewPosVer); //setting of the vertical view position
-01730     void SetRelativePosition( in double x, in double y );
-01731     void SetRelativeSize( in double x, in double y );
-01732     void Minimize(); // Minimizes to the task bar or to the bottom of the Desktop the %View frame.
-01733     void Restore(); // Restores the %View frame.
-01734     void Maximize(); // Maximizes the %View frame.
-01735 
-01740     void SetTitle(in string theTitle);
-01741 
-01745     string GetTitle();
-01746 
-01751     void SetBackground(in SALOMEDS::Color theColor);
-01752 
-01756     SALOMEDS::Color GetBackground();
-01757 
-01761     void EraseAll();
+01699     boolean IsPartShown( in ViewRepresentation ViewRepr );
+01700 
+01710     void SplitRight();
+01711 
+01717     void SplitLeft();
+01718 
+01724     void SplitBottom();
+01725 
+01731     void SplitTop();
+01732 
+01736     void OnTop();
+01737 
+01744     void Attract (in View theView);
+01745 
+01752     void AttractAll (in View theView);
+01753 
+01761     void SetRelativePositionInSplitter (in double thePosition);
 01762 
-01766     void DisplayAll();
-01767 
-01772     void Erase(in PrsObject thePrsObj);
-01773 
-01778     void Display(in PrsObject thePrsObj);
-01779 
-01785     void DisplayOnly(in PrsObject thePrsObj);
-01786 
-01790     void Update();
-01791 
-01797     boolean SavePicture(in string theFileName);
-01798   };
+01770     void SetRelativeSizeInSplitter (in double theSize);
+01771 
+01777     void SetRelativePositionX (in double thePosition);
+01778 
+01784     void SetRelativePositionY (in double thePosition);
+01785 
+01791     void SetRelativeSizeX (in double theSize);
+01792 
+01798     void SetRelativeSizeY (in double theSize);
 01799 
-01800   //-------------------------------------------------------
-01805   interface View3D : View {
-01810     enum ViewType{ FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM};
-01811 
-01815     enum Axis{ XAxis, YAxis, ZAxis};
-01816 
-01820     typedef double XYZ[3];
+01803     void SetViewWidth (in long Width); //setting width of view
+01804     void SetViewHeight (in long Height); //setting height of view
+01805     long GetViewWidth(); //getting view width
+01806     long GetViewHeight(); //getting view height
+01807     enum ViewPosition {TOP, CENTER, BOTTOM, RIGHT, LEFT}; //position of the study frame
+01808     void SetViewPositionHorizontal (in ViewPosition ViewPosHor); //setting of the horizontal view position
+01809     void SetViewPositionVertical (in ViewPosition ViewPosVer); //setting of the vertical view position
+01810     void SetRelativePosition( in double x, in double y );
+01811     void SetRelativeSize( in double x, in double y );
+01812     void Minimize(); // Minimizes to the task bar or to the bottom of the Desktop the %View frame.
+01813     void Restore(); // Restores the %View frame.
+01814     void Maximize(); // Maximizes the %View frame.
+01815 
+01820     void SetTitle(in string theTitle);
 01821 
-01825     void FitAll();
+01825     string GetTitle();
 01826 
-01831     void SetView(in ViewType theType);
+01831     void SetBackground(in SALOMEDS::Color theColor);
 01832 
-01838     void SetPointOfView(in XYZ theCoord);
-01839 
-01845     XYZ GetPointOfView();
-01846 
-01850     void SetViewUp(in XYZ theDir);
-01851 
-01855     XYZ GetViewUp();
-01856 
-01861     void SetFocalPoint(in XYZ theDir);
-01862 
-01867     XYZ GetFocalPoint();
-01868 
-01872     void SetParallelScale(in double theScale);
-01873 
-01877     double GetParallelScale();
-01878 
-01884     void ScaleView(in Axis theAxis, in double theParam);
-01885 
-01889     void RemoveScale();
-01890 
-01896     boolean SaveViewParams(in string theName);
-01897 
-01903     boolean RestoreViewParams(in string theName);
-01904 
-01905 
-01910     PresentationType GetPresentationType(in ScalarMap thePrs);
-01911 
-01917     string SetPresentationType(in ScalarMap thePrs, in PresentationType thePrsType);
-01918 
-01923     boolean IsShrinked(in ScalarMap thePrs);
-01924 
-01930     string SetShrinked(in ScalarMap thePrs, in boolean isShrinked);
+01836     SALOMEDS::Color GetBackground();
+01837 
+01841     void EraseAll();
+01842 
+01846     void DisplayAll();
+01847 
+01852     void Erase(in PrsObject thePrsObj);
+01853 
+01858     void Display(in PrsObject thePrsObj);
+01859 
+01865     void DisplayOnly(in PrsObject thePrsObj);
+01866 
+01870     void Update();
+01871 
+01877     boolean SavePicture(in string theFileName);
+01878   };
+01879 
+01880   //-------------------------------------------------------
+01885   interface View3D : View {
+01890     enum ViewType{ FRONT, BACK, LEFT, RIGHT, TOP, BOTTOM};
+01891 
+01895     enum Axis{ XAxis, YAxis, ZAxis};
+01896 
+01900     typedef double XYZ[3];
+01901 
+01905     void FitAll();
+01906 
+01911     void SetView(in ViewType theType);
+01912 
+01918     void SetPointOfView(in XYZ theCoord);
+01919 
+01925     XYZ GetPointOfView();
+01926 
+01930     void SetViewUp(in XYZ theDir);
 01931 
-01936     boolean IsShaded(in ScalarMap thePrs);
-01937 
-01943     string SetShaded(in ScalarMap thePrs, in boolean isShaded);
-01944 
-01949     double GetOpacity(in ScalarMap thePrs);
-01950 
-01956     string SetOpacity(in ScalarMap thePrs, in double theOpacity);
-01957 
-01962     double GetLineWidth(in ScalarMap thePrs);
-01963 
-01969     string SetLineWidth(in ScalarMap thePrs, in double theLineWidth);
-01970   };
-01971 
-01972   //-------------------------------------------------------
-01977   interface TableView : View {
-01978   };
-01979 
-01980   //-------------------------------------------------------
-01986   interface XYPlot : View {
-01990     void SetSubTitle(in string theTitle);
+01935     XYZ GetViewUp();
+01936 
+01941     void SetFocalPoint(in XYZ theDir);
+01942 
+01947     XYZ GetFocalPoint();
+01948 
+01952     void SetParallelScale(in double theScale);
+01953 
+01957     double GetParallelScale();
+01958 
+01964     void ScaleView(in Axis theAxis, in double theParam);
+01965 
+01969     void RemoveScale();
+01970 
+01976     boolean SaveViewParams(in string theName);
+01977 
+01983     boolean RestoreViewParams(in string theName);
+01984 
+01985 
+01990     PresentationType GetPresentationType(in ScalarMap thePrs);
 01991 
-01994     string GetSubTitle();
-01995 
-02000     enum CurveType { POINTS, MULTYLINE, SPLINE};
-02001 
-02005     void SetCurveType(in CurveType theType);
-02006 
-02009     CurveType GetCurveType();
-02010 
-02015     void SetMarkerSize(in long theSize);
-02016 
-02020     long GetMarkerSize();
-02021 
-02024     void EnableXGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
-02025 
-02028     void EnableYGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
-02029 
-02033     void SetHorScaling(in Scaling theScaling);
-02034 
-02037     Scaling GetHorScaling();
-02038 
-02042     void SetVerScaling(in Scaling theScaling);
+01997     string SetPresentationType(in ScalarMap thePrs, in PresentationType thePrsType);
+01998 
+02003     boolean IsShrinked(in ScalarMap thePrs);
+02004 
+02010     string SetShrinked(in ScalarMap thePrs, in boolean isShrinked);
+02011 
+02016     boolean IsShaded(in ScalarMap thePrs);
+02017 
+02023     string SetShaded(in ScalarMap thePrs, in boolean isShaded);
+02024 
+02029     double GetOpacity(in ScalarMap thePrs);
+02030 
+02036     string SetOpacity(in ScalarMap thePrs, in double theOpacity);
+02037 
+02042     double GetLineWidth(in ScalarMap thePrs);
 02043 
-02046     Scaling GetVerScaling();
-02047 
-02051     void SetXTitle(in string theTitle);
-02052 
-02055     string GetXTitle();
-02056 
-02060     void SetYTitle(in string theTitle);
-02061 
-02064     string GetYTitle();
-02065 
-02068     void ShowLegend(in boolean theShowing);
-02069 
-02072     void FitAll();
-02073 
-02076     void FitXRange(in double xMin, in double xMax);
-02077 
-02080     void FitYRange(in double yMin, in double yMax);
+02049     string SetLineWidth(in ScalarMap thePrs, in double theLineWidth);
+02050   };
+02051 
+02052   //-------------------------------------------------------
+02057   interface TableView : View {
+02058   };
+02059 
+02060   //-------------------------------------------------------
+02066   interface XYPlot : View {
+02070     void SetSubTitle(in string theTitle);
+02071 
+02074     string GetSubTitle();
+02075 
+02080     enum CurveType { POINTS, MULTYLINE, SPLINE};
 02081 
-02084     void FitRange(in double xMin, in double xMax,
-02085             in double yMin, in double yMax);
+02085     void SetCurveType(in CurveType theType);
 02086 
-02087     void GetFitRanges(out double xMin,out double xMax,
-02088                 out double yMin,out double yMax);
-02089   };
+02089     CurveType GetCurveType();
 02090 
-02091   //-------------------------------------------------------
-02096   interface ViewManager: Base {
-02103     View GetCurrentView();
-02104 
-02109     View3D Create3DView();
-02110 
-02115     TableView CreateTableView(in Table theTable);
-02116 
-02121     XYPlot CreateXYPlot();
-02122 
-02126     void Destroy(in View theView);
-02127   };
-02128 };
-02129 
-02130 #endif
+02095     void SetMarkerSize(in long theSize);
+02096 
+02100     long GetMarkerSize();
+02101 
+02104     void EnableXGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
+02105 
+02108     void EnableYGrid(in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor);
+02109 
+02113     void SetHorScaling(in Scaling theScaling);
+02114 
+02117     Scaling GetHorScaling();
+02118 
+02122     void SetVerScaling(in Scaling theScaling);
+02123 
+02126     Scaling GetVerScaling();
+02127 
+02131     void SetXTitle(in string theTitle);
+02132 
+02135     string GetXTitle();
+02136 
+02140     void SetYTitle(in string theTitle);
+02141 
+02144     string GetYTitle();
+02145 
+02148     void ShowLegend(in boolean theShowing);
+02149 
+02152     void FitAll();
+02153 
+02156     void FitXRange(in double xMin, in double xMax);
+02157 
+02160     void FitYRange(in double yMin, in double yMax);
+02161 
+02164     void FitRange(in double xMin, in double xMax,
+02165             in double yMin, in double yMax);
+02166 
+02167     void GetFitRanges(out double xMin,out double xMax,
+02168                 out double yMin,out double yMax);
+02169   };
+02170 
+02171   //-------------------------------------------------------
+02176   interface ViewManager: Base {
+02183     View GetCurrentView();
+02184 
+02189     View3D Create3DView();
+02190 
+02195     TableView CreateTableView(in Table theTable);
+02196 
+02201     XYPlot CreateXYPlot();
+02202 
+02206     void Destroy(in View theView);
+02207   };
+02208 };
+02209 
+02210 #endif
 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/VISU__Gen_8idl.html b/doc/salome/gui/VISU/visugenidl_doc/VISU__Gen_8idl.html index 062a41b4..14b7a98d 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/VISU__Gen_8idl.html +++ b/doc/salome/gui/VISU/visugenidl_doc/VISU__Gen_8idl.html @@ -5,13 +5,14 @@ Main Page +   -

Interfaces of the VISU module: idl/VISU_Gen.idl File Reference

#include "SALOME_Exception.idl"
+

idl/VISU_Gen.idl File Reference

#include "SALOME_Exception.idl"
#include "SALOME_GenericObj.idl"
#include "SALOME_Component.idl"
#include "SALOMEDS.idl"
@@ -19,13 +20,13 @@ #include "MED.idl"

-Include dependency graph for VISU_Gen.idl:

+Include dependency graph for VISU_Gen.idl:

Go to the source code of this file. - + @@ -68,7 +69,7 @@ Include dependency graph for VISU_Gen.idl:

 
- + @@ -101,7 +102,7 @@ Include dependency graph for VISU_Gen.idl:

 
- + @@ -109,72 +110,74 @@ Include dependency graph for VISU_Gen.idl:

 
- + - - - -

Namespaces

namespace  VISU
namespace  VISU

Data Structures

interface  VISU.Base
Scalar Map on Deformed shape presentation interface. More...
interface  VISU.Plot3D
 Plot3D interface. More...
 Plot3D interface. More...
interface  VISU.CutPlanes
 Cut planes interface. More...
3D view interface More...
interface  VISU.TableView
 Interface of the Table view. More...
 Interface of the Table view. More...
interface  VISU.XYPlot
 Interface of the 2D plot view. More...
Interface of the ViewManager. More...

Typedefs

typedef string VISU.IdType
typedef string VISU.IdType

Enumerations

enum  VISU.Scaling { VISU.LINEAR, -VISU.LOGARITHMIC +
enum  VISU.Scaling { VISU.LINEAR, +VISU.LOGARITHMIC }
enum  VISU.Entity { VISU.NODE, -VISU.EDGE, -VISU.FACE, -VISU.CELL +
enum  VISU.Entity { VISU.NODE, +VISU.EDGE, +VISU.FACE, +VISU.CELL }
enum  VISU.VISUType {
-  VISU.TNONE, -VISU.TCURVE, -VISU.TTABLE, -VISU.TCONTAINER, +
enum  VISU.VISUType {
+  VISU.TNONE, +VISU.TCURVE, +VISU.TTABLE, +VISU.TCONTAINER,
-  VISU.TMESH, -VISU.TSCALARMAP, -VISU.TISOSURFACE, -VISU.TDEFORMEDSHAPE, +  VISU.TMESH, +VISU.TSCALARMAP, +VISU.TISOSURFACE, +VISU.TDEFORMEDSHAPE,
-  VISU.TSCALARMAPONDEFORMEDSHAPE, -VISU.TGAUSSPOINTS, -VISU.TPLOT3D, -VISU.TCUTPLANES, +  VISU.TSCALARMAPONDEFORMEDSHAPE, +VISU.TGAUSSPOINTS, +VISU.TPLOT3D, +VISU.TCUTPLANES,
-  VISU.TCUTLINES, -VISU.TVECTORS, -VISU.TSTREAMLINES, -VISU.TVISUGEN, +  VISU.TCUTLINES, +VISU.TVECTORS, +VISU.TSTREAMLINES, +VISU.TVISUGEN,
-  VISU.TVIEWMANAGER, -VISU.TRESULT, -VISU.TXYPLOT, -VISU.TTABLEVIEW, +  VISU.TVIEWMANAGER, +VISU.TRESULT, +VISU.TXYPLOT, +VISU.TTABLEVIEW,
-  VISU.TVIEW3D, -VISU.TGAUSSVIEW, -VISU.TENTITY, -VISU.TFAMILY, +  VISU.TVIEW3D, +VISU.TGAUSSVIEW, +VISU.TENTITY, +VISU.TFAMILY,
-  VISU.TGROUP, -VISU.TFIELD, -VISU.TTIMESTAMP, -VISU.TANIMATION, +  VISU.TGROUP, +VISU.TFIELD, +VISU.TTIMESTAMP, +VISU.TANIMATION,
-  VISU.TALL +  VISU.TALL
}
enum  VISU.PresentationType {
-  VISU.POINT, -VISU.WIREFRAME, -VISU.SHADED, -VISU.INSIDEFRAME, +
enum  VISU.PresentationType {
+  VISU.POINT, +VISU.WIREFRAME, +VISU.SHADED, +VISU.INSIDEFRAME,
-  VISU.SURFACEFRAME, -VISU.SHRINK +  VISU.SURFACEFRAME, +VISU.SHRINK
}


Detailed Description

This file conatins a set of interfaces of the VISU module. This module provides various forms of data visualization in SALOME application. These forms include data tables, XY plots, 3d representations and combination of these forms. + diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Animation.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Animation.html index 1c5bf25f..1f16a54a 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Animation.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Animation.html @@ -5,22 +5,35 @@ Main Page +   +

VISU.Animation Interface Reference

Animation class More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Animation:

Inheritance graph
+Inheritance diagram for VISU.Animation:

Inheritance graph
+ + + + + + - + + + @@ -38,9 +51,9 @@ Inheritance diagram for VISU.Animation:

ColoredPrs3d 
- + - + @@ -56,9 +69,9 @@ Inheritance diagram for VISU.Animation:

boolean 
- + - + @@ -70,6 +83,10 @@ Inheritance diagram for VISU.Animation:

void 
+ + + + @@ -78,9 +95,15 @@ Inheritance diagram for VISU.Animation:

boolean 
- + + + + + - + + + @@ -113,14 +136,46 @@ playing these animations in the VISU module. Time stamp represents a subfield: the results of calculations are taken in one definite moment.

+


Member Enumeration Documentation

+

+


Public Types

enum  AnimationMode { PARALLEL, +SUCCCESSIVE + }

Public Member Functions

void addField (in SALOMEDS::SObject theObject)
boolean addField (in SALOMEDS::SObject theObject)
void clearFields ()
void generatePresentations (in long theFieldNum)
getPresentation (in long theField, in long theFrame)
void setPresentationType (in long theFieldNum, in VISUType theType)
void setPresentationType (in long theFieldNum, in VISUType theType)
VISUType getPresentationType (in long theFieldNum)
VISUType getPresentationType (in long theFieldNum)
void setSpeed (in long theSpeed)
isRangeDefined ()
void dumpTo (in string thePath)
void dumpTo (in string thePath)
string setDumpFormat (in string theFormat)
string setDumpFormat (in string theFormat)
boolean isCycling ()
setCycling (in boolean theCycle)
boolean isCleaningMemoryAtEachFrame ()
void setCleaningMemoryAtEachFrame (in boolean theCycle)
SALOMEDS::SObject publishInStudy ()
void saveAnimation ()
isSavedInStudy ()
IdType GetID ()
void setAnimationMode (in AnimationMode theMode)
AnimationMode getAnimationMode ()
void ApplyProperties (in long theFieldNum, in ColoredPrs3d thePrs)
VISUType GetType ()
IdType GetID ()
VISUType GetType ()
Playback of an animation:
void startAnimation ()
+ + + +
+ + + + +
enum VISU::Animation::AnimationMode
+
+ + + + + +
+   + + +

+This enumeration contains a set of available animation modes.

Enumerator:
+ + + +
PARALLEL  +parallel mode of animation.
SUCCCESSIVE  +succcessive mode of animation.
+
+

Member Function Documentation

-

+

- + @@ -147,6 +202,33 @@ Defines the field which will be used as a base for generation of the animation.
void VISU.Animation.addField boolean VISU.Animation.addField in SALOMEDS::SObject  theObject
+

+ + + + +
+ + + + + + + + +
void VISU.Animation.clearFields  ) 
+
+ + + + + +
+   + + +

+Remove all fields from Animation object.

@@ -589,7 +671,7 @@ Returns the number of the current frame. - + @@ -618,7 +700,7 @@ Sets the type of presentation (vectors, deformed shape etc.) which will be gener
in VISUType in VISUType  theType
- + @@ -859,7 +941,7 @@ Returns True if the range of the animation has been defined by the method se - + @@ -890,9 +972,9 @@ Saves all the frames composing the animation into a definite directory. Pictures
VISUType VISU.Animation.getPresentationType VISUType VISU.Animation.getPresentationType in long  theFieldNum
void VISU.Animation.dumpTo in string in string  thePath  )  - + - + @@ -1067,6 +1149,61 @@ Sets cycling playback of the animation. The number of cycles can be infinite, un
string VISU.Animation.setDumpFormat string VISU.Animation.setDumpFormat in string in string  theFormat  ) 
+

+ + + + +
+ + + + + + + + +
boolean VISU.Animation.isCleaningMemoryAtEachFrame  ) 
+
+ + + + + +
+   + + +

+

+

+ + + + +
+ + + + + + + + + +
void VISU.Animation.setCleaningMemoryAtEachFrame in boolean  theCycle  ) 
+
+ + + + + +
+   + + +

+

@@ -1176,13 +1313,110 @@ Sets cycling playback of the animation. The number of cycles can be infinite, un
+

+ + + + +
+ + + + + + + + + +
void VISU.Animation.setAnimationMode in AnimationMode  theMode  ) 
+
+ + + + + +
+   + + +

+Sets the animation mode.

Parameters:
+ + +
theMode The value of this parameter is taken from the AnimationMode enumeration.
+
+
+

+ + + + +
+ + + + + + + + +
AnimationMode VISU.Animation.getAnimationMode  ) 
+
+ + + + + +
+   + + +

+Gets the animation mode.

+

+ + + + +
+ + + + + + + + + + + + + + + + + + +
void VISU.Animation.ApplyProperties in long  theFieldNum,
in ColoredPrs3d  thePrs
+
+ + + + + +
+   + + +

+Apply the presentation properties to all fields. The exception is raised in the following cases: 1) presentations for the given field is not yet created; 2) invalid dynamic cast of the given presentation to VISU.ColoredPrs3d_i; 3) the MED file is not the same; 4) the mesh name is not the same; 5) the field name is not the same; 6) the entity is not the same.

- + @@ -1209,7 +1443,7 @@ Returns ID of the object.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1231,5 +1465,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Base.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Base.html index 893d6a08..81bd3902 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Base.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Base.html @@ -5,21 +5,52 @@ Main Page +   +

VISU.Base Interface Reference

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Base:

Inheritance graph
+Inheritance diagram for VISU.Base:

Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - +

Public Member Functions

IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Member Function Documentation

@@ -29,7 +60,7 @@ Inheritance diagram for VISU.Base:

- + @@ -56,7 +87,7 @@ Returns ID of the object. - + @@ -535,7 +555,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -78,5 +109,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ColoredPrs3d.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ColoredPrs3d.html index 520511b3..0e7a574f 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ColoredPrs3d.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ColoredPrs3d.html @@ -5,18 +5,38 @@ Main Page +   +

VISU.ColoredPrs3d Interface Reference

Basic Interface for the Colored 3D Presentations. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.ColoredPrs3d:

Inheritance graph
+Inheritance diagram for VISU.ColoredPrs3d:

Inheritance graph
+ + + + + + + + + + + + + + + + + @@ -50,9 +70,9 @@ Inheritance diagram for VISU.ColoredPrs3d:

long 
- + - + @@ -60,9 +80,9 @@ Inheritance diagram for VISU.ColoredPrs3d:

void 
- + - +

Public Member Functions

GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -504,7 +524,7 @@ Gets the number of labels which will be used for indication of color gradation o
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  - + @@ -675,7 +695,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -702,7 +722,7 @@ Returns ID of the object.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -724,5 +744,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Container.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Container.html index 69f99750..a4e7c307 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Container.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Container.html @@ -5,18 +5,26 @@ Main Page +   +

VISU.Container Interface Reference

Container presentable object interface More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Container:

Inheritance graph
+Inheritance diagram for VISU.Container:

Inheritance graph
+ + + + + @@ -30,9 +38,9 @@ Inheritance diagram for VISU.Container:

void 
- + - +

Public Member Functions

RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -193,7 +201,7 @@ Remove object from study.
- + @@ -220,7 +228,7 @@ Returns ID of the object. - + @@ -203,7 +211,7 @@ Sets the title of the curve.
Parameters:
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -242,5 +250,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Curve.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Curve.html index 0a4e76fd..172b84da 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Curve.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Curve.html @@ -5,18 +5,26 @@ Main Page +   +

VISU.Curve Interface Reference

Interface of curve representation. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Curve:

Inheritance graph
+Inheritance diagram for VISU.Curve:

Inheritance graph
+ + + + + @@ -48,9 +56,9 @@ Inheritance diagram for VISU.Curve:


Public Member Functions

-
+ - + @@ -68,9 +76,9 @@ Inheritance diagram for VISU.Curve:

void 
- + - +

Public Types

void SetTitle (in string theTitle)
void SetTitle (in string theTitle)
string GetTitle ()
string GetTitle ()
void SetColor (in SALOMEDS::Color theColor)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -172,7 +180,7 @@ This enumeration contains a set of elements defining the type of presentation of
void VISU.Curve.SetTitle in string in string  theTitle  )  - + @@ -479,7 +487,7 @@ Remove object from study.
string VISU.Curve.GetTitle string VISU.Curve.GetTitle  )  - + @@ -506,7 +514,7 @@ Returns ID of the object.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -528,5 +536,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1CutLines.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1CutLines.html index 84f6308d..e5e052d4 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1CutLines.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1CutLines.html @@ -5,18 +5,30 @@ Main Page +   +

VISU.CutLines Interface Reference

Cut lines presentation. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.CutLines:

Inheritance graph
+Inheritance diagram for VISU.CutLines:

Inheritance graph
+ + + + + + + + + @@ -69,9 +81,17 @@ Inheritance diagram for VISU.CutLines:

long 
- + - + + + + + + + + + @@ -109,9 +129,9 @@ Inheritance diagram for VISU.CutLines:

long 
- + - + @@ -119,9 +139,9 @@ Inheritance diagram for VISU.CutLines:

void 
- + - +

Public Types

GetNbLines ()
void SetScaling (in Scaling theScaling)
void SetAllCurvesInverted (in boolean theInvert)
Scaling GetScaling ()
boolean IsAllCurvesInverted ()
void SetUseAbsoluteLength (in boolean theAbsLength)
boolean IsUseAbsoluteLength ()
void SetScaling (in Scaling theScaling)
Scaling GetScaling ()
void SetRange (in double theMin, in double theMax)
GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -865,6 +885,131 @@ Sets the number of cut lines.
Parameters:
Gets the number of cut lines.
+

+ + + + +
+ + + + + + + + + +
void VISU.CutLines.SetAllCurvesInverted in boolean  theInvert  ) 
+
+ + + + + +
+   + + +

+Invert all curves of corresponding table

Parameters:
+ + +
theInvert - Invert all curves, if value is TRUE, else not.
+
+
+

+ + + + +
+ + + + + + + + +
boolean VISU.CutLines.IsAllCurvesInverted  ) 
+
+ + + + + +
+   + + +

+Checks the orientation of all curves

Return values:
+ + +
TRUE - if all curves are inverted, else FALSE
+
+
+

+ + + + +
+ + + + + + + + + +
void VISU.CutLines.SetUseAbsoluteLength in boolean  theAbsLength  ) 
+
+ + + + + +
+   + + +

+Sets values which cutlines would be shown: aboslute or relative values

Parameters:
+ + +
theAbsLength - boolean value, TRUE or false.
+
+
+

+ + + + +
+ + + + + + + + +
boolean VISU.CutLines.IsUseAbsoluteLength  ) 
+
+ + + + + +
+   + + +

+Checks values of cutlines: using aboslute or relative values

@@ -873,7 +1018,7 @@ Gets the number of cut lines. - + @@ -904,7 +1049,7 @@ Sets the type of scaling of the values reflected by the scalar bar.
void VISU.ScalarMap.SetScaling in Scaling in Scaling  theScaling  )  [inherited] - + @@ -1463,7 +1608,7 @@ Gets the number of labels which will be used for indication of color gradation o - + @@ -1494,7 +1639,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
Scaling VISU.ScalarMap.GetScaling Scaling VISU.ScalarMap.GetScaling  ) 
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -1634,7 +1779,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -1661,7 +1806,7 @@ Returns ID of the object. - + @@ -573,7 +585,7 @@ Sets the type of scaling of the values reflected by the scalar bar.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1683,5 +1828,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1CutPlanes.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1CutPlanes.html index 0a984a7d..eabf4827 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1CutPlanes.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1CutPlanes.html @@ -5,18 +5,30 @@ Main Page +   +

VISU.CutPlanes Interface Reference

Cut planes interface. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.CutPlanes:

Inheritance graph
+Inheritance diagram for VISU.CutPlanes:

Inheritance graph
+ + + + + + + + + @@ -50,9 +62,9 @@ Inheritance diagram for VISU.CutPlanes:

long 
- + - + @@ -90,9 +102,9 @@ Inheritance diagram for VISU.CutPlanes:

long 
- + - + @@ -100,9 +112,9 @@ Inheritance diagram for VISU.CutPlanes:

void 
- + - +

Public Types

GetNbPlanes ()
void SetScaling (in Scaling theScaling)
void SetScaling (in Scaling theScaling)
Scaling GetScaling ()
Scaling GetScaling ()
void SetRange (in double theMin, in double theMax)
GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -542,7 +554,7 @@ Gets the number of cut planes.
void VISU.ScalarMap.SetScaling in Scaling in Scaling  theScaling  )  [inherited] - + @@ -1132,7 +1144,7 @@ Gets the number of labels which will be used for indication of color gradation o - + @@ -1163,7 +1175,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
Scaling VISU.ScalarMap.GetScaling Scaling VISU.ScalarMap.GetScaling  ) 
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -1303,7 +1315,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -1330,7 +1342,7 @@ Returns ID of the object. - + @@ -350,7 +364,7 @@ Sets the type of scaling of the values reflected by the scalar bar.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1352,5 +1364,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1DeformedShape.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1DeformedShape.html index 85f1b42c..20b397cd 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1DeformedShape.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1DeformedShape.html @@ -5,18 +5,32 @@ Main Page +   +

VISU.DeformedShape Interface Reference

Deformed shape presentation interface. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.DeformedShape:

Inheritance graph
+Inheritance diagram for VISU.DeformedShape:

Inheritance graph
+ + + + + + + + + + + @@ -37,9 +51,9 @@ Inheritance diagram for VISU.DeformedShape:

void 
- + - + @@ -77,9 +91,9 @@ Inheritance diagram for VISU.DeformedShape:

long 
- + - + @@ -87,9 +101,9 @@ Inheritance diagram for VISU.DeformedShape:

void 
- + - +

Public Types

SetColor (in SALOMEDS::Color theColor)
void SetScaling (in Scaling theScaling)
void SetScaling (in Scaling theScaling)
Scaling GetScaling ()
Scaling GetScaling ()
void SetRange (in double theMin, in double theMax)
GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -319,7 +333,7 @@ Sets the color of this presentation.
Parameters:
void VISU.ScalarMap.SetScaling in Scaling in Scaling  theScaling  )  [inherited] - + @@ -909,7 +923,7 @@ Gets the number of labels which will be used for indication of color gradation o - + @@ -940,7 +954,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
Scaling VISU.ScalarMap.GetScaling Scaling VISU.ScalarMap.GetScaling  ) 
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -1080,7 +1094,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -1107,7 +1121,7 @@ Returns ID of the object. - + @@ -535,7 +546,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1129,5 +1143,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1GaussPoints.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1GaussPoints.html index 99332f1e..a3b5c4a1 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1GaussPoints.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1GaussPoints.html @@ -5,18 +5,29 @@ Main Page +   +

VISU.GaussPoints Interface Reference

Gauss Points presentation interface. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.GaussPoints:

Inheritance graph
+Inheritance diagram for VISU.GaussPoints:

Inheritance graph
+ + + + + + + + @@ -50,9 +61,9 @@ Inheritance diagram for VISU.GaussPoints:

long 
- + - + @@ -60,9 +71,9 @@ Inheritance diagram for VISU.GaussPoints:

void 
- + - +

Public Member Functions

GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -504,7 +515,7 @@ Gets the number of labels which will be used for indication of color gradation o
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -675,7 +686,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -702,7 +713,7 @@ Returns ID of the object. - + @@ -222,7 +234,7 @@ Sets the type of scaling of the values reflected by the scalar bar.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -724,5 +735,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1IsoSurfaces.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1IsoSurfaces.html index 59cfa569..b0ae625c 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1IsoSurfaces.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1IsoSurfaces.html @@ -5,18 +5,30 @@ Main Page +   +

VISU.IsoSurfaces Interface Reference

Interface of the isometric surface presentation. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.IsoSurfaces:

Inheritance graph
+Inheritance diagram for VISU.IsoSurfaces:

Inheritance graph
+ + + + + + + + + @@ -29,9 +41,9 @@ Inheritance diagram for VISU.IsoSurfaces:

long 
- + - + @@ -69,9 +81,9 @@ Inheritance diagram for VISU.IsoSurfaces:

long 
- + - + @@ -79,9 +91,9 @@ Inheritance diagram for VISU.IsoSurfaces:

void 
- + - +

Public Types

GetNbSurfaces ()
void SetScaling (in Scaling theScaling)
void SetScaling (in Scaling theScaling)
Scaling GetScaling ()
Scaling GetScaling ()
void SetRange (in double theMin, in double theMax)
GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -191,7 +203,7 @@ Gets the number of isometric surfaces
void VISU.ScalarMap.SetScaling in Scaling in Scaling  theScaling  )  [inherited] - + @@ -781,7 +793,7 @@ Gets the number of labels which will be used for indication of color gradation o - + @@ -812,7 +824,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
Scaling VISU.ScalarMap.GetScaling Scaling VISU.ScalarMap.GetScaling  ) 
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -952,7 +964,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -979,7 +991,7 @@ Returns ID of the object. - + @@ -270,7 +280,7 @@ Sets the type of representation of a mesh.
Parameters:
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1001,5 +1013,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Mesh.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Mesh.html index 4323e7db..aacf8d8f 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Mesh.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Mesh.html @@ -5,18 +5,28 @@ Main Page +   +

VISU.Mesh Interface Reference

Interface of the mesh. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Mesh:

Inheritance graph
+Inheritance diagram for VISU.Mesh:

Inheritance graph
+ + + + + + + @@ -32,9 +42,9 @@ Inheritance diagram for VISU.Mesh:

SALOMEDS::Color 
- + - + @@ -42,9 +52,9 @@ Inheritance diagram for VISU.Mesh:

void 
- + - +

Public Member Functions

GetLinkColor ()
void SetPresentationType (in PresentationType theType)
void SetPresentationType (in PresentationType theType)
PresentationType GetPresentationType ()
PresentationType GetPresentationType ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -239,7 +249,7 @@ Gets the color of mesh links.
void VISU.Mesh.SetPresentationType in PresentationType in PresentationType  theType  ) 
- + @@ -411,7 +421,7 @@ Remove object from study.
PresentationType VISU.Mesh.GetPresentationType PresentationType VISU.Mesh.GetPresentationType  )  - + @@ -438,7 +448,7 @@ Returns ID of the object. - + @@ -594,7 +606,7 @@ Sets the type of scaling of the values reflected by the scalar bar.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -460,5 +470,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Plot3D.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Plot3D.html index 95389d07..bfbd1426 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Plot3D.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Plot3D.html @@ -5,18 +5,30 @@ Main Page +   -

VISU.Plot3D Interface Reference

Plot3D interface. + +

VISU.Plot3D Interface Reference

Plot3D interface. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Plot3D:

Inheritance graph
+Inheritance diagram for VISU.Plot3D:

Inheritance graph
+ + + + + + + + + @@ -52,9 +64,9 @@ Inheritance diagram for VISU.Plot3D:

long 
- + - + @@ -92,9 +104,9 @@ Inheritance diagram for VISU.Plot3D:

long 
- + - + @@ -102,9 +114,9 @@ Inheritance diagram for VISU.Plot3D:

void 
- + - +

Public Types

GetNbOfContours ()
void SetScaling (in Scaling theScaling)
void SetScaling (in Scaling theScaling)
Scaling GetScaling ()
Scaling GetScaling ()
void SetRange (in double theMin, in double theMax)
GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -563,7 +575,7 @@ Gets the number of contours.
void VISU.ScalarMap.SetScaling in Scaling in Scaling  theScaling  )  [inherited] - + @@ -1153,7 +1165,7 @@ Gets the number of labels which will be used for indication of color gradation o - + @@ -1184,7 +1196,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
Scaling VISU.ScalarMap.GetScaling Scaling VISU.ScalarMap.GetScaling  ) 
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -1324,7 +1336,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -1351,7 +1363,7 @@ Returns ID of the object.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1373,5 +1385,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Prs3d.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Prs3d.html index a352a928..1b5ddef5 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Prs3d.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Prs3d.html @@ -5,18 +5,39 @@ Main Page +   +

VISU.Prs3d Interface Reference

3D presentation interface More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Prs3d:

Inheritance graph
+Inheritance diagram for VISU.Prs3d:

Inheritance graph
+ + + + + + + + + + + + + + + + + + @@ -26,9 +47,9 @@ Inheritance diagram for VISU.Prs3d:

void 
- + - +

Public Member Functions

RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -154,7 +175,7 @@ Remove object from study.
- + @@ -181,7 +202,7 @@ Returns ID of the object.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -203,5 +224,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1PrsObject.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1PrsObject.html index e3e0679b..8c56ee4f 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1PrsObject.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1PrsObject.html @@ -5,26 +5,49 @@ Main Page +   +

VISU.PrsObject Interface Reference

Presentable object interface. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.PrsObject:

Inheritance graph
+Inheritance diagram for VISU.PrsObject:

Inheritance graph
+ + + + + + + + + + + + + + + + + + + + - + - +

Public Member Functions

void RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -64,7 +87,7 @@ Remove object from study.
- + @@ -91,7 +114,7 @@ Returns ID of the object.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -113,5 +136,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1RemovableObject.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1RemovableObject.html index 17e06eed..85775287 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1RemovableObject.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1RemovableObject.html @@ -5,26 +5,50 @@ Main Page +   +

VISU.RemovableObject Interface Reference

Removable object interface. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.RemovableObject:

Inheritance graph
+Inheritance diagram for VISU.RemovableObject:

Inheritance graph
+ + + + + + + + + + + + + + + + + + + + + - + - +

Public Member Functions

void RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -64,7 +88,7 @@ Remove object from study.
- + @@ -91,7 +115,7 @@ Returns ID of the object.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -113,5 +137,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Result.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Result.html index 3485b96e..0991db36 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Result.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Result.html @@ -5,18 +5,26 @@ Main Page +   +

VISU.Result Interface Reference

Interface Result. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Result:

Inheritance graph
+Inheritance diagram for VISU.Result:

Inheritance graph
+ + + + + @@ -40,9 +48,9 @@ Inheritance diagram for VISU.Result:

void 
- + - +

Public Member Functions

RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -346,7 +354,7 @@ Remove object from study.
- + @@ -373,7 +381,7 @@ Returns ID of the object. - + @@ -157,7 +176,7 @@ Sets the type of scaling of the values reflected by the scalar bar.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -395,5 +403,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ScalarMap.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ScalarMap.html index 277943e2..d39fe6eb 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ScalarMap.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ScalarMap.html @@ -5,18 +5,37 @@ Main Page +   +

VISU.ScalarMap Interface Reference

Interface of the Scalar Map. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.ScalarMap:

Inheritance graph
+Inheritance diagram for VISU.ScalarMap:

Inheritance graph
+ + + + + + + + + + + + + + + + @@ -25,9 +44,9 @@ Inheritance diagram for VISU.ScalarMap:


Public Member Functions

-
+ - + @@ -65,9 +84,9 @@ Inheritance diagram for VISU.ScalarMap:

long 
- + - + @@ -75,9 +94,9 @@ Inheritance diagram for VISU.ScalarMap:

void 
- + - +

Public Types

void SetScaling (in Scaling theScaling)
void SetScaling (in Scaling theScaling)
Scaling GetScaling ()
Scaling GetScaling ()
void SetRange (in double theMin, in double theMax)
GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -126,7 +145,7 @@ Implemented in void VISU.ScalarMap.SetScaling
in Scaling in Scaling  theScaling  )  - + @@ -716,7 +735,7 @@ Gets the number of labels which will be used for indication of color gradation o - + @@ -747,7 +766,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
Scaling VISU.ScalarMap.GetScaling Scaling VISU.ScalarMap.GetScaling  ) 
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -887,7 +906,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -914,7 +933,7 @@ Returns ID of the object. - + - + @@ -307,7 +319,7 @@ Gets the scale of the presentatable object. - + @@ -346,7 +358,7 @@ Sets the scalar field
Parameters:
- + @@ -377,7 +389,7 @@ Sets the type of scaling of the values reflected by the scalar bar.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -936,5 +955,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ScalarMapOnDeformedShape.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ScalarMapOnDeformedShape.html index fef17552..435b0bda 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ScalarMapOnDeformedShape.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ScalarMapOnDeformedShape.html @@ -5,18 +5,30 @@ Main Page +   +

VISU.ScalarMapOnDeformedShape Interface Reference

Scalar Map on Deformed shape presentation interface. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.ScalarMapOnDeformedShape:

Inheritance graph
+Inheritance diagram for VISU.ScalarMapOnDeformedShape:

Inheritance graph
+ + + + + + + + + @@ -35,11 +47,11 @@ Inheritance diagram for VISU.ScalarMapOnDeformedShape:

double 
- + - + - + @@ -77,9 +89,9 @@ Inheritance diagram for VISU.ScalarMapOnDeformedShape:

long 
- + - + @@ -87,9 +99,9 @@ Inheritance diagram for VISU.ScalarMapOnDeformedShape:

void 
- + - +

Public Types

GetScale ()
void SetScalarField (in string theMeshName, in string theFieldName, in long theIteration, in Entity theEntity)
void SetScalarField (in string theMeshName, in string theFieldName, in long theIteration, in Entity theEntity)
void SetScaling (in Scaling theScaling)
void SetScaling (in Scaling theScaling)
Scaling GetScaling ()
Scaling GetScaling ()
void SetRange (in double theMin, in double theMax)
GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -289,13 +301,13 @@ Gets the scale of the presentatable object.
void VISU.ScalarMapOnDeformedShape.SetScalarField in string in string  theMeshName,
in string in string  theFieldName,
in Entity in Entity  theEntity
void VISU.ScalarMap.SetScaling in Scaling in Scaling  theScaling  )  [inherited] - + @@ -936,7 +948,7 @@ Gets the number of labels which will be used for indication of color gradation o - + @@ -967,7 +979,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
Scaling VISU.ScalarMap.GetScaling Scaling VISU.ScalarMap.GetScaling  ) 
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -1107,7 +1119,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -1134,7 +1146,7 @@ Returns ID of the object. - + @@ -642,7 +655,7 @@ Sets the type of scaling of the values reflected by the scalar bar.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1156,5 +1168,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1StreamLines.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1StreamLines.html index 87dd7eff..f66c65d3 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1StreamLines.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1StreamLines.html @@ -5,18 +5,31 @@ Main Page +   +

VISU.StreamLines Interface Reference

Interface of the stream lines representation. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.StreamLines:

Inheritance graph
+Inheritance diagram for VISU.StreamLines:

Inheritance graph
+ + + + + + + + + + @@ -56,9 +69,9 @@ Inheritance diagram for VISU.StreamLines:

void 
- + - + @@ -96,9 +109,9 @@ Inheritance diagram for VISU.StreamLines:

long 
- + - + @@ -106,9 +119,9 @@ Inheritance diagram for VISU.StreamLines:

void 
- + - +

Public Types

SetColor (in SALOMEDS::Color theColor)
void SetScaling (in Scaling theScaling)
void SetScaling (in Scaling theScaling)
Scaling GetScaling ()
Scaling GetScaling ()
void SetRange (in double theMin, in double theMax)
GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -611,7 +624,7 @@ Sets the color of this presentation.
Parameters:
void VISU.ScalarMap.SetScaling in Scaling in Scaling  theScaling  )  [inherited] - + @@ -1201,7 +1214,7 @@ Gets the number of labels which will be used for indication of color gradation o - + @@ -1232,7 +1245,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
Scaling VISU.ScalarMap.GetScaling Scaling VISU.ScalarMap.GetScaling  ) 
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -1372,7 +1385,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -1399,7 +1412,7 @@ Returns ID of the object. - + @@ -119,7 +127,7 @@ Sets the title of the table.
Parameters:
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1421,5 +1434,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Table.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Table.html index c4d4f208..25ebfe38 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Table.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Table.html @@ -5,18 +5,26 @@ Main Page +   +

VISU.Table Interface Reference

Table representation interface More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Table:

Inheritance graph
+Inheritance diagram for VISU.Table:

Inheritance graph
+ + + + + @@ -25,9 +33,9 @@ Inheritance diagram for VISU.Table:


Public Member Functions

-
+ - + @@ -39,9 +47,9 @@ Inheritance diagram for VISU.Table:

void 
- + - +

Public Types

void SetTitle (in string theTitle)
void SetTitle (in string theTitle)
string GetTitle ()
string GetTitle ()
void SetOrientation (in Orientation theOrientation)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -88,7 +96,7 @@ Vertical orientation of the table.
void VISU.Table.SetTitle in string in string  theTitle  )  - + @@ -291,7 +299,7 @@ Remove object from study.
string VISU.Table.GetTitle string VISU.Table.GetTitle  )  - + @@ -318,7 +326,7 @@ Returns ID of the object. - + @@ -1022,7 +1029,7 @@ Sets the title of the View frame.
Parameters:
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -340,5 +348,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1TableView.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1TableView.html index 375929f3..da2505fb 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1TableView.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1TableView.html @@ -5,18 +5,25 @@ Main Page +   +

VISU.TableView Interface Reference

Interface of the Table view. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.TableView:

Inheritance graph
+Inheritance diagram for VISU.TableView:

Inheritance graph
+ + + + @@ -84,9 +91,9 @@ Inheritance diagram for VISU.TableView:

void 
- + - + @@ -94,9 +101,9 @@ Inheritance diagram for VISU.TableView:

void 
- + - + @@ -114,11 +121,11 @@ Inheritance diagram for VISU.TableView:

void 
- + - + - +

Public Types

SetViewPositionVertical (in ViewPosition ViewPosVer)
void SetRelativePosition (in double x, in double y)
void SetRelativePosition (in double x, in double y)
void SetRelativeSize (in double x, in double y)
void SetRelativeSize (in double x, in double y)
void Minimize ()
Maximize ()
void SetTitle (in string theTitle)
void SetTitle (in string theTitle)
string GetTitle ()
string GetTitle ()
void SetBackground (in SALOMEDS::Color theColor)
Update ()
boolean SavePicture (in string theFileName)
boolean SavePicture (in string theFileName)
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -991,7 +998,7 @@ Old methods for view parameters management, they don't work now
void VISU.View.SetTitle in string in string  theTitle  )  [inherited] - + @@ -1291,7 +1298,7 @@ Updates the view. - + @@ -1323,7 +1330,7 @@ Saves the view.
Parameters:
string VISU.View.GetTitle string VISU.View.GetTitle  ) 
boolean VISU.View.SavePicture in string in string  theFileName  )  [inherited] - + @@ -1350,7 +1357,7 @@ Returns ID of the object. - + @@ -217,7 +227,7 @@ Imports tables from a file and create TableAttribute in Sudy - + @@ -248,7 +258,7 @@ Export table to a file - + @@ -281,7 +291,7 @@ Imports data from a file. The access to this file will be conserved outside of t - + @@ -314,7 +324,7 @@ Create result and initialize its with the file. The access to this file will be - + @@ -409,19 +419,19 @@ Imports data from a MED field. - + - + - + @@ -467,25 +477,25 @@ Rename a study object, representing a mesh, specified by given values.
- + - + - + - + @@ -522,19 +532,19 @@ Rename a study object, representing a mesh, specified by given values.
- + - + - + @@ -571,13 +581,13 @@ Rename a study object, representing a mesh, specified by given values.
- + - + @@ -621,19 +631,19 @@ Creates a mesh on the basis of the data generated in other sources ( - + - + - + @@ -677,13 +687,13 @@ Creates on the basis of a family a mesh which will be composed of geometrical el - + - + @@ -727,19 +737,19 @@ Creates a mesh on the basis of a group of families.
Parameter
- + - + - + @@ -791,19 +801,19 @@ Creates a scalar map presentation.
Parameters:
- + - + - + @@ -855,19 +865,19 @@ Creates a Gauss Points presentation.
Parameters:
- + - + - + @@ -919,19 +929,19 @@ Creates a deformed shape presentation.
Parameters:
- + - + - + @@ -983,19 +993,19 @@ Creates a deformed shape presentation.
Parameters:
- + - + - + @@ -1047,19 +1057,19 @@ Creates a vector presentation.
Parameters:
- + - + - + @@ -1111,19 +1121,19 @@ Creates an iso surface presentation.
Parameters:
- + - + - + @@ -1175,19 +1185,19 @@ Creates an stream lines presentation.
Parameters:
- + - + - + @@ -1239,19 +1249,19 @@ Creates a presentation of cut planes.
Parameters:
- + - + - + @@ -1303,19 +1313,19 @@ Creates a presentation of cut lines.
Parameters:
- + - + - + @@ -1361,7 +1371,7 @@ Creates a Plot3D presentat - + @@ -1436,6 +1446,63 @@ Creates a curve on the basis of points, whose values are taken from the table. <
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1372,5 +1379,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1VISU__Gen.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1VISU__Gen.html index 2031854b..1040447e 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1VISU__Gen.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1VISU__Gen.html @@ -5,18 +5,26 @@ Main Page +   +

VISU.VISU_Gen Interface Reference

VISU_Gen interface More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.VISU_Gen:

Inheritance graph
+Inheritance diagram for VISU.VISU_Gen:

Inheritance graph
+ + + + + @@ -26,56 +34,58 @@ Inheritance diagram for VISU.VISU_Gen:

ViewManager 
- + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + @@ -84,9 +94,9 @@ Inheritance diagram for VISU.VISU_Gen:

void 
- + - +

Public Member Functions

GetViewManager ()
SALOMEDS::SObject ImportTables (in string theFileName)
SALOMEDS::SObject ImportTables (in string theFileName)
boolean ExportTableToFile (in SALOMEDS::SObject theTable, in string theFileName)
boolean ExportTableToFile (in SALOMEDS::SObject theTable, in string theFileName)
Result ImportFile (in string theFileName)
Result ImportFile (in string theFileName)
Result CreateResult (in string theFileName)
Result CreateResult (in string theFileName)
Result CopyAndImportFile (in string theFileName)
Result CopyAndImportFile (in string theFileName)
Result ImportMed (in SALOMEDS::SObject theMedSObject)
Result ImportMedField (in SALOME_MED::FIELD theField)
void RenameEntityInStudy (in Result theResult, in string theMeshName, in Entity theEntity, in string theNewName)
void RenameEntityInStudy (in Result theResult, in string theMeshName, in Entity theEntity, in string theNewName)
void RenameFamilyInStudy (in Result theResult, in string theMeshName, in Entity theEntity, in string theSubMeshName, in string theNewName)
void RenameFamilyInStudy (in Result theResult, in string theMeshName, in Entity theEntity, in string theSubMeshName, in string theNewName)
void RenameGroupInStudy (in Result theResult, in string theMeshName, in string theSubMeshName, in string theNewName)
void RenameGroupInStudy (in Result theResult, in string theMeshName, in string theSubMeshName, in string theNewName)
Mesh MeshOnEntity (in Result theResult, in string theMeshName, in Entity theEntity)
Mesh MeshOnEntity (in Result theResult, in string theMeshName, in Entity theEntity)
Mesh FamilyMeshOnEntity (in Result theResult, in string theMeshName, in Entity theEntity, in string theFamilyName)
Mesh FamilyMeshOnEntity (in Result theResult, in string theMeshName, in Entity theEntity, in string theFamilyName)
Mesh GroupMesh (in Result theResult, in string theMeshName, in string theGroupName)
Mesh GroupMesh (in Result theResult, in string theMeshName, in string theGroupName)
ScalarMap ScalarMapOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
ScalarMap ScalarMapOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
GaussPoints GaussPointsOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
GaussPoints GaussPointsOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
DeformedShape DeformedShapeOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
DeformedShape DeformedShapeOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
ScalarMapOnDeformedShape ScalarMapOnDeformedShapeOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
ScalarMapOnDeformedShape ScalarMapOnDeformedShapeOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
Vectors VectorsOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
Vectors VectorsOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
IsoSurfaces IsoSurfacesOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
IsoSurfaces IsoSurfacesOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
StreamLines StreamLinesOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
StreamLines StreamLinesOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
CutPlanes CutPlanesOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
CutPlanes CutPlanesOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
CutLines CutLinesOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
CutLines CutLinesOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
Plot3D Plot3DOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
Plot3D Plot3DOnField (in Result theResult, in string theMeshName, in Entity theEntity, in string theFieldName, in double theIteration)
Table CreateTable (in string theTableEntry)
Table CreateTable (in string theTableEntry)
Curve CreateCurve (in Table theTable, in long theHRow, in long theVRow)
Curve CreateCurveWithZ (in Table theTable, in long theHRow, in long theVRow, in long theZRow)
Container CreateContainer ()
Animation CreateAnimation (in View3D theView3d)
DeletePrs3d (in Prs3d thePrs3d)
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -183,7 +193,7 @@ Gets the View Manager which is used for creation of post-processing presentation
SALOMEDS::SObject VISU.VISU_Gen.ImportTables in string in string  theFileName  ) 
in string in string  theFileName
Result VISU.VISU_Gen.ImportFile in string in string  theFileName  ) 
Result VISU.VISU_Gen.CreateResult in string in string  theFileName  ) 
Result VISU.VISU_Gen.CopyAndImportFile in string in string  theFileName  ) 
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theNewName
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theSubMeshName,
in string in string  theNewName
in string in string  theMeshName,
in string in string  theSubMeshName,
in string in string  theNewName
in string in string  theMeshName,
in Entity in Entity  theEntity
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFamilyName
in string in string  theMeshName,
in string in string  theGroupName
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
in string in string  theMeshName,
in Entity in Entity  theEntity,
in string in string  theFieldName,
Table VISU.VISU_Gen.CreateTable in string in string  theTableEntry  ) 
+

+ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Curve VISU.VISU_Gen.CreateCurveWithZ in Table  theTable,
in long  theHRow,
in long  theVRow,
in long  theZRow
+
+ + + + + +
+   + + +

+Creates a curve on the basis of points, whose values are taken from the table. Each point has also assigned value, that will be shown as tooltip in Plot2d

Parameters:
+ + + + + +
theTable Table containing the data for construction of curves.
HRow Index of the row in the table: abscissa of the point.
VRow Index of the row in the table: ordinate of the point.
ZRow Index of the row in the table: assigned value (so-called as Z).
+
+

@@ -1558,7 +1625,7 @@ Creates an animation in the 3D view.
Parameters:
- + @@ -1585,7 +1652,7 @@ Returns ID of the object. - + @@ -621,7 +634,7 @@ Sets the type of scaling of the values reflected by the scalar bar.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1607,5 +1674,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Vectors.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Vectors.html index c035a891..562deb3e 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Vectors.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1Vectors.html @@ -5,18 +5,31 @@ Main Page +   +

VISU.Vectors Interface Reference

Interface of the vector presentation. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.Vectors:

Inheritance graph
+Inheritance diagram for VISU.Vectors:

Inheritance graph
+ + + + + + + + + + @@ -60,9 +73,9 @@ Inheritance diagram for VISU.Vectors:

void 
- + - + @@ -100,9 +113,9 @@ Inheritance diagram for VISU.Vectors:

long 
- + - + @@ -110,9 +123,9 @@ Inheritance diagram for VISU.Vectors:

void 
- + - +

Public Types

SetColor (in SALOMEDS::Color theColor)
void SetScaling (in Scaling theScaling)
void SetScaling (in Scaling theScaling)
Scaling GetScaling ()
Scaling GetScaling ()
void SetRange (in double theMin, in double theMax)
GetLabels ()
void SetTitle (in string theName)
void SetTitle (in string theName)
string GetTitle ()
string GetTitle ()
void SetOffset (in float theDx, in float theDy, in float theDz)
RemoveFromStudy ()
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -590,7 +603,7 @@ Sets the color of this presentation.
Parameters:
void VISU.ScalarMap.SetScaling in Scaling in Scaling  theScaling  )  [inherited] - + @@ -1180,7 +1193,7 @@ Gets the number of labels which will be used for indication of color gradation o - + @@ -1211,7 +1224,7 @@ Sets the title of the scalar bar. By default - the name of the selected result i
Scaling VISU.ScalarMap.GetScaling Scaling VISU.ScalarMap.GetScaling  ) 
void VISU.ColoredPrs3d.SetTitle in string in string  theName  )  [inherited] - + @@ -1351,7 +1364,7 @@ Remove object from study.
string VISU.ColoredPrs3d.GetTitle string VISU.ColoredPrs3d.GetTitle  )  - + @@ -1378,7 +1391,7 @@ Returns ID of the object. - + @@ -1022,7 +1031,7 @@ Sets the title of the View frame.
Parameters:
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1400,5 +1413,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1View.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1View.html index d2037c8a..49a49f98 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1View.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1View.html @@ -5,18 +5,27 @@ Main Page +   +

VISU.View Interface Reference

View interface More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.View:

Inheritance graph
+Inheritance diagram for VISU.View:

Inheritance graph
+ + + + + + @@ -84,9 +93,9 @@ Inheritance diagram for VISU.View:

void 
- + - + @@ -94,9 +103,9 @@ Inheritance diagram for VISU.View:

void 
- + - + @@ -114,11 +123,11 @@ Inheritance diagram for VISU.View:

void 
- + - + - +

Public Types

SetViewPositionVertical (in ViewPosition ViewPosVer)
void SetRelativePosition (in double x, in double y)
void SetRelativePosition (in double x, in double y)
void SetRelativeSize (in double x, in double y)
void SetRelativeSize (in double x, in double y)
void Minimize ()
Maximize ()
void SetTitle (in string theTitle)
void SetTitle (in string theTitle)
string GetTitle ()
string GetTitle ()
void SetBackground (in SALOMEDS::Color theColor)
Update ()
boolean SavePicture (in string theFileName)
boolean SavePicture (in string theFileName)
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -991,7 +1000,7 @@ Old methods for view parameters management, they don't work now
void VISU.View.SetTitle in string in string  theTitle  )  - + @@ -1291,7 +1300,7 @@ Updates the view. - + @@ -1323,7 +1332,7 @@ Saves the view.
Parameters:
string VISU.View.GetTitle string VISU.View.GetTitle  ) 
boolean VISU.View.SavePicture in string in string  theFileName  )  - + @@ -1350,7 +1359,7 @@ Returns ID of the object. - + @@ -747,7 +754,7 @@ Saves view parameters.
Returns:
True if the view
- + @@ -813,7 +820,7 @@ Get representation type of the given presentation in this view.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -1372,5 +1381,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1View3D.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1View3D.html index fa86b4c5..a442397e 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1View3D.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1View3D.html @@ -5,18 +5,25 @@ Main Page +   +

VISU.View3D Interface Reference

3D view interface More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.View3D:

Inheritance graph
+Inheritance diagram for VISU.View3D:

Inheritance graph
+ + + + @@ -80,29 +87,29 @@ Inheritance diagram for VISU.View3D:

void 
- + - + - + - + - + - + - + @@ -160,9 +167,9 @@ Inheritance diagram for VISU.View3D:

void 
- + - + @@ -180,11 +187,11 @@ Inheritance diagram for VISU.View3D:

void 
- + - + - +

Public Types

RemoveScale ()
boolean SaveViewParams (in string theName)
boolean SaveViewParams (in string theName)
boolean RestoreViewParams (in string theName)
boolean RestoreViewParams (in string theName)
PresentationType GetPresentationType (in ScalarMap thePrs)
string SetPresentationType (in ScalarMap thePrs, in PresentationType thePrsType)
string SetPresentationType (in ScalarMap thePrs, in PresentationType thePrsType)
boolean IsShrinked (in ScalarMap thePrs)
string SetShrinked (in ScalarMap thePrs, in boolean isShrinked)
string SetShrinked (in ScalarMap thePrs, in boolean isShrinked)
boolean IsShaded (in ScalarMap thePrs)
string SetShaded (in ScalarMap thePrs, in boolean isShaded)
string SetShaded (in ScalarMap thePrs, in boolean isShaded)
double GetOpacity (in ScalarMap thePrs)
string SetOpacity (in ScalarMap thePrs, in double theOpacity)
string SetOpacity (in ScalarMap thePrs, in double theOpacity)
double GetLineWidth (in ScalarMap thePrs)
string SetLineWidth (in ScalarMap thePrs, in double theLineWidth)
string SetLineWidth (in ScalarMap thePrs, in double theLineWidth)
void ShowPart (in ViewRepresentation ViewRepr, in boolean state)
Maximize ()
void SetTitle (in string theTitle)
void SetTitle (in string theTitle)
string GetTitle ()
string GetTitle ()
void SetBackground (in SALOMEDS::Color theColor)
Update ()
boolean SavePicture (in string theFileName)
boolean SavePicture (in string theFileName)
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -713,7 +720,7 @@ Removes the scaling of the view.
boolean VISU.View3D.SaveViewParams in string in string  theName  ) 
boolean VISU.View3D.RestoreViewParams in string in string  theName  )  - + @@ -891,7 +898,7 @@ Get shrink state of the given presentation in this view.
Para
string VISU.View3D.SetPresentationType string VISU.View3D.SetPresentationType in ScalarMap  thePrs, - + @@ -969,7 +976,7 @@ Get shading state of the given presentation in this view.
Par
string VISU.View3D.SetShrinked string VISU.View3D.SetShrinked in ScalarMap  thePrs, - + @@ -1047,7 +1054,7 @@ Get opacity of the given presentation in this view.
Parameter
string VISU.View3D.SetShaded string VISU.View3D.SetShaded in ScalarMap  thePrs, - + @@ -1125,7 +1132,7 @@ Get line width of the given presentation in this view.
Parame
string VISU.View3D.SetOpacity string VISU.View3D.SetOpacity in ScalarMap  thePrs, - + @@ -1956,7 +1963,7 @@ Old methods for view parameters management, they don't work now - + @@ -1987,7 +1994,7 @@ Sets the title of the View frame.
Parameters:
string VISU.View3D.SetLineWidth string VISU.View3D.SetLineWidth in ScalarMap  thePrs,
void VISU.View.SetTitle in string in string  theTitle  )  [inherited] - + @@ -2256,7 +2263,7 @@ Updates the view. - + @@ -2288,7 +2295,7 @@ Saves the view.
Parameters:
string VISU.View.GetTitle string VISU.View.GetTitle  ) 
boolean VISU.View.SavePicture in string in string  theFileName  )  [inherited] - + @@ -2315,7 +2322,7 @@ Returns ID of the object.
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -2337,5 +2344,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ViewManager.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ViewManager.html index 2b150d41..6ddc8cf4 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ViewManager.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1ViewManager.html @@ -5,18 +5,24 @@ Main Page +   +

VISU.ViewManager Interface Reference

Interface of the ViewManager. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.ViewManager:

Inheritance graph
+Inheritance diagram for VISU.ViewManager:

Inheritance graph
+ + + @@ -34,9 +40,9 @@ Inheritance diagram for VISU.ViewManager:

 
- + - +

Public Member Functions

Creation of a 2D plot View.
void Destroy (in View theView)
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -193,7 +199,7 @@ Deletes a definite view.
Parameters:
- + @@ -220,7 +226,7 @@ Returns ID of the object. - + @@ -319,7 +326,7 @@ Sets the title of the XY plot
Parameters:
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -242,5 +248,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1XYPlot.html b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1XYPlot.html index 3c109aad..3edaf2b1 100644 --- a/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1XYPlot.html +++ b/doc/salome/gui/VISU/visugenidl_doc/interfaceVISU_1_1XYPlot.html @@ -5,18 +5,25 @@ Main Page +   +

VISU.XYPlot Interface Reference

Interface of the 2D plot view. More...

import "VISU_Gen.idl";

-Inheritance diagram for VISU.XYPlot:

Inheritance graph
+Inheritance diagram for VISU.XYPlot:

Inheritance graph
+ + + + @@ -43,9 +50,9 @@ Inheritance diagram for VISU.XYPlot:


Public Member Functions

-
+ - + @@ -59,21 +66,21 @@ Inheritance diagram for VISU.XYPlot:

void 
- + - + - + - + - + - + - + - + @@ -133,9 +140,9 @@ Inheritance diagram for VISU.XYPlot:

void 
- + - + @@ -143,9 +150,9 @@ Inheritance diagram for VISU.XYPlot:

void 
- + - + @@ -163,11 +170,11 @@ Inheritance diagram for VISU.XYPlot:

void 
- + - + - +

Public Types

void SetSubTitle (in string theTitle)
void SetSubTitle (in string theTitle)
string GetSubTitle ()
string GetSubTitle ()
void SetCurveType (in CurveType theType)
EnableYGrid (in boolean theMajor, in long theNumMajor, in boolean theMinor, in long theNumMinor)
void SetHorScaling (in Scaling theScaling)
void SetHorScaling (in Scaling theScaling)
Scaling GetHorScaling ()
Scaling GetHorScaling ()
void SetVerScaling (in Scaling theScaling)
void SetVerScaling (in Scaling theScaling)
Scaling GetVerScaling ()
Scaling GetVerScaling ()
void SetXTitle (in string theTitle)
void SetXTitle (in string theTitle)
string GetXTitle ()
string GetXTitle ()
void SetYTitle (in string theTitle)
void SetYTitle (in string theTitle)
string GetYTitle ()
string GetYTitle ()
void ShowLegend (in boolean theShowing)
SetViewPositionVertical (in ViewPosition ViewPosVer)
void SetRelativePosition (in double x, in double y)
void SetRelativePosition (in double x, in double y)
void SetRelativeSize (in double x, in double y)
void SetRelativeSize (in double x, in double y)
void Minimize ()
Maximize ()
void SetTitle (in string theTitle)
void SetTitle (in string theTitle)
string GetTitle ()
string GetTitle ()
void SetBackground (in SALOMEDS::Color theColor)
Update ()
boolean SavePicture (in string theFileName)
boolean SavePicture (in string theFileName)
IdType GetID ()
IdType GetID ()
VISUType GetType ()
VISUType GetType ()

Detailed Description

@@ -288,7 +295,7 @@ displaying part ("ALL" isn't setable)
Enumerator:
void VISU.XYPlot.SetSubTitle in string in string  theTitle  )  - + @@ -566,7 +573,7 @@ Enable/disables Y-axis grid of the 2D plot. - + @@ -597,7 +604,7 @@ Sets horizontal scaling of the 2D plot.
Parameters:
<
string VISU.XYPlot.GetSubTitle string VISU.XYPlot.GetSubTitle  ) 
void VISU.XYPlot.SetHorScaling in Scaling in Scaling  theScaling  )  - + @@ -626,7 +633,7 @@ Gets the type horizontal scaling of the 2D plot. - + @@ -657,7 +664,7 @@ Sets vertical scaling of the 2D plot.
Parameters:
Scaling VISU.XYPlot.GetHorScaling Scaling VISU.XYPlot.GetHorScaling  ) 
void VISU.XYPlot.SetVerScaling in Scaling in Scaling  theScaling  ) 
- + @@ -686,7 +693,7 @@ Gets the type vertical scaling of the 2D plot. - + @@ -717,7 +724,7 @@ Sets the title of the X-axis of the plot.
Parameters:
Scaling VISU.XYPlot.GetVerScaling Scaling VISU.XYPlot.GetVerScaling  ) 
void VISU.XYPlot.SetXTitle in string in string  theTitle  ) 
- + @@ -746,7 +753,7 @@ Gets the title of the X-axis of the plot. - + @@ -777,7 +784,7 @@ Sets the title of the Y-axis of the plot.
Parameters:
string VISU.XYPlot.GetXTitle string VISU.XYPlot.GetXTitle  ) 
void VISU.XYPlot.SetYTitle in string in string  theTitle  ) 
- + @@ -1818,7 +1825,7 @@ Old methods for view parameters management, they don't work now - + @@ -1849,7 +1856,7 @@ Sets the title of the View frame.
Parameters:
"; + return sHTML; +} + +function showHidePane(bShow) +{ + var oMsg=null; + if(bShow) + oMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null); + else + oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null); + SendMessage(oMsg); +} + +function isShowHideEnable() +{ + if(gbIE4) + return true; + else + return false; +} + + +function PickupDialog_Invoke() +{ + if(!gbIE4||gbMac) + { + if(typeof(_PopupMenu_Invoke)=="function") + return _PopupMenu_Invoke(PickupDialog_Invoke.arguments); + } + else + { + if(PickupDialog_Invoke.arguments.length>2) + { + var sPickup="whskin_pickup.htm"; + var sPickupPath=gsPPath+sPickup; + if(gbIE4) + { + var sFrame=PickupDialog_Invoke.arguments[1]; + var aTopics=new Array(); + for(var i=2;i1) + { + var nWidth=300; + var nHeight=180; + var nScreenWidth=screen.width; + var nScreenHeight=screen.height; + var nLeft=(nScreenWidth-nWidth)/2; + var nTop=(nScreenHeight-nHeight)/2; + if(gbIE4) + { + var vRet=window.showModalDialog(sPickupPath,aTopics,"dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:yes;status:no;scroll:no;help:no;center:yes;"); + if(vRet) + { + var sURL=vRet.m_url; + if(sFrame) + window.open(sURL,sFrame); + else + window.open(sURL,"_self"); + } + } + } + else if(aTopics.length==1) + { + var sURL=aTopics[0].m_sURL + if(sFrame) + window.open(sURL,sFrame); + else + window.open(sURL,"_self"); + } + } + } + } +} + +if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy) +{ + RegisterListener("bsscright",WH_MSG_GETAVIAVENUES); + RegisterListener("bsscright",WH_MSG_GETTOCPATHS); + RegisterListener("bsscright",WH_MSG_NEXT); + RegisterListener("bsscright",WH_MSG_PREV); + RegisterListener("bsscright",WH_MSG_WEBSEARCH); + if(gbMac&&gbIE4) + { + if(typeof(window.onunload)!="unknown") + if(window.onunload.toString!=unRegisterListener.toString) + whtopic_foldUnload=window.onunload; + } + else + { + if(window.onunload) + if(window.onunload.toString!=unRegisterListener.toString) + whtopic_foldUnload=window.onunload; + } + window.onunload=unRegisterListener; + setButtonFont("show","","","","","",""); +setButtonFont("hide","","","","","",""); + + gbWhTopic=true; +} +else + document.location.reload(); diff --git a/doc/salome/gui/VISU/whutils.js b/doc/salome/gui/VISU/whutils.js index 85fae7e0..5026b24a 100755 --- a/doc/salome/gui/VISU/whutils.js +++ b/doc/salome/gui/VISU/whutils.js @@ -1,527 +1,527 @@ -// WebHelp 5.10.004 -var gsFileName=""; -var gsDivName=""; -var xmlDoc=null; -var sdocPath=null; -var gsInsertBeforeEndHTML=""; -var sReplaceStringsSrc=new Array(); -var gsDivName="dataDiv"; -var gnLoadDivNum=0; -sReplaceStringsSrc[0]="&"; -sReplaceStringsSrc[1]=">"; -sReplaceStringsSrc[2]="<"; -sReplaceStringsSrc[3]="""; -sReplaceStringsSrc[4]=String.fromCharCode(8364); -sReplaceStringsSrc[5]=" "; - -var sReplaceStringsDst=new Array(); -sReplaceStringsDst[0]="&"; -sReplaceStringsDst[1]=">"; -sReplaceStringsDst[2]="<"; -sReplaceStringsDst[3]="\""; -sReplaceStringsDst[4]=String.fromCharCode(128); -sReplaceStringsDst[5]=" "; -var goHighLighted=null; - -function _getRelativePath(strParentPath,strCurrentPath) -{ - if(_isAbsPath(strCurrentPath)) return _getPath(strCurrentPath); - strParentPath=_replaceSlash(strParentPath); - strParentPath=_getPath(strParentPath); - strCurrentPath=_replaceSlash(strCurrentPath); - strCurrentPath=_getPath(strCurrentPath); - for(var i=0;i0) - { - var nPosx=sPath.indexOf("/",nPos+2); - if(nPosx>0) - return sPath.substring(0,nPosx); - else - return sPath; - } - return sPath; -} - -function _getFullPath(sPath,sRelPath) -{ - if(_isAbsPath(sRelPath)) - return sRelPath; - else if(_isAbsPathToHost(sRelPath)) - return _getHost(sPath)+sRelPath; - else - { - var sFullPath=sPath; - var nPathPos=0; - while(nPathPos!=-1) - { - var nPathPos=sRelPath.indexOf("../"); - if(nPathPos!=-1) - { - sRelPath=sRelPath.substring(nPathPos+3); - sFullPath=sFullPath.substring(0,sFullPath.length-1); - var nPos2=sFullPath.lastIndexOf("/"); - if(nPos2!=-1) - sFullPath=sFullPath.substring(0,nPos2+1); - else - break; - } - } - sFullPath+=sRelPath; - return sFullPath; - } -} - -function _isAbsPath(strPath) -{ - var strUpper=strPath.toUpperCase(); - return (strUpper.indexOf(":")!=-1||strUpper.indexOf("\\\\")==0); -} - -function _replaceSlash(strURL) -{ - var re=new RegExp("\\\\","g"); - var strReplacedURL=strURL.replace(re,"/"); - return strReplacedURL; -} - -function _getPath(strURL) -{ - pathpos=strURL.lastIndexOf("/"); - if(pathpos>0) - return strURL.substring(0,pathpos+1); - else - return ""; -} - -function removeItemFromArray(oArray,i) -{ - if(oArray.length&&i>=0&&i=0&&i<=oArray.length) - { - var len=oArray.length; - for(var s=len;s>i;s--) - oArray[s]=oArray[s-1]; - oArray[i]=obj; - } -} - -function loadData(sFileName) -{ - var i=gnLoadDivNum; - var sName=gsDivName+gnLoadDivNum++; - loadData_2(sFileName,sName); -} - -function loadData_2(sFileName,sDivName) -{ - if(!getElement(sDivName)) - { - if(!insertDataDiv(sDivName)) - { - gsFileName=sFileName; - gsDivName=sDivName; - return; - } - } - var sHTML=""; - if(gbMac) - sHTML+=""; - else - sHTML+=""; - - var oDivCon=getElement(sDivName); - if(oDivCon) - { - if(gbNav6) - { - if(oDivCon.getElementsByTagName&&oDivCon.getElementsByTagName("iFrame").length>0) - { - oDivCon.getElementsByTagName("iFrame")[0].src=sFileName; - } - else - oDivCon.innerHTML=sHTML; - } - else - oDivCon.innerHTML=sHTML; - } -} - -function loadDataXML(sFileName) -{ - var sCurrentDocPath=_getPath(document.location.href); - sdocPath=_getFullPath(sCurrentDocPath,sFileName); - if(gbIE5) - { - xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); - xmlDoc.async=true; - xmlDoc.onreadystatechange=checkState; - if(document.body!=null) - xmlDoc.load(sdocPath); - } - else if(gbNav6) - { - xmlDoc=document.implementation.createDocument("","",null); - xmlDoc.addEventListener("load",initializeData,false); - xmlDoc.load(sdocPath,"text/xml"); - } -} - -function initializeData() -{ - if(xmlDoc!=null) - putDataXML(xmlDoc,sdocPath); -} - -function checkState() -{ - if(xmlDoc!=null) - { - var state=xmlDoc.readyState; - if(state==4) - { - var err=xmlDoc.parseError; - if(err.errorCode==0) - putDataXML(xmlDoc,sdocPath); - else - onLoadXMLError(); - } - } -} - -function insertDataDiv(sName) -{ - var sHTML=""; - if(gbMac) - sHTML+="
"; - else - sHTML+="
"; - if((gbIE5||gbNav6)&&document.body) - document.body.insertAdjacentHTML("beforeEnd",sHTML); - else - { - gsInsertBeforeEndHTML=sHTML; - setTimeout("insertWhenBodyReady();",100); - return false; - } - return true; -} - -function insertWhenBodyReady() -{ - if(gsInsertBeforeEndHTML=="") return; - if(document.body) - { - document.body.insertAdjacentHTML("beforeEnd",gsInsertBeforeEndHTML); - gsInsertBeforeEndHTML=""; - loadData_2(gsFileName,gsDivName); - } - else - { - setTimeout("insertWhenBodyReady();",100); - } -} - -function window_BUnload() -{ - for(var i=0;i='0'&&sBStr.charAt(i)<='9') - { - sNum+=sBStr.charAt(i++); - } - if(sNum!=""){ - var nNum=parseInt(sNum,16); - sText+=String.fromCharCode(nNum); - sBStr=sBStr.substring(i); - } - nPos=sBStr.indexOf('%'); - } - sText+=sBStr; - return sText; -} - -function excapeSingleQuotandSlash(str) -{ - if(str==null) return null; - var nPos=0; - var sRes=""; - var nPosNew=str.indexOf("\\",nPos); - while(nPosNew!=-1){ - sRes+=str.substring(nPos,nPosNew+1)+"\\"; - nPos=nPosNew+1; - nPosNew=str.indexOf("\\",nPos); - } - if(nPos0) + { + var nPosx=sPath.indexOf("/",nPos+2); + if(nPosx>0) + return sPath.substring(0,nPosx); + else + return sPath; + } + return sPath; +} + +function _getFullPath(sPath,sRelPath) +{ + if(_isAbsPath(sRelPath)) + return sRelPath; + else if(_isAbsPathToHost(sRelPath)) + return _getHost(sPath)+sRelPath; + else + { + var sFullPath=sPath; + var nPathPos=0; + while(nPathPos!=-1) + { + var nPathPos=sRelPath.indexOf("../"); + if(nPathPos!=-1) + { + sRelPath=sRelPath.substring(nPathPos+3); + sFullPath=sFullPath.substring(0,sFullPath.length-1); + var nPos2=sFullPath.lastIndexOf("/"); + if(nPos2!=-1) + sFullPath=sFullPath.substring(0,nPos2+1); + else + break; + } + } + sFullPath+=sRelPath; + return sFullPath; + } +} + +function _isAbsPath(strPath) +{ + var strUpper=strPath.toUpperCase(); + return (strUpper.indexOf(":")!=-1||strUpper.indexOf("\\\\")==0); +} + +function _replaceSlash(strURL) +{ + var re=new RegExp("\\\\","g"); + var strReplacedURL=strURL.replace(re,"/"); + return strReplacedURL; +} + +function _getPath(strURL) +{ + pathpos=strURL.lastIndexOf("/"); + if(pathpos>0) + return strURL.substring(0,pathpos+1); + else + return ""; +} + +function removeItemFromArray(oArray,i) +{ + if(oArray.length&&i>=0&&i=0&&i<=oArray.length) + { + var len=oArray.length; + for(var s=len;s>i;s--) + oArray[s]=oArray[s-1]; + oArray[i]=obj; + } +} + +function loadData(sFileName) +{ + var i=gnLoadDivNum; + var sName=gsDivName+gnLoadDivNum++; + loadData_2(sFileName,sName); +} + +function loadData_2(sFileName,sDivName) +{ + if(!getElement(sDivName)) + { + if(!insertDataDiv(sDivName)) + { + gsFileName=sFileName; + gsDivName=sDivName; + return; + } + } + var sHTML=""; + if(gbMac) + sHTML+=""; + else + sHTML+=""; + + var oDivCon=getElement(sDivName); + if(oDivCon) + { + if(gbNav6) + { + if(oDivCon.getElementsByTagName&&oDivCon.getElementsByTagName("iFrame").length>0) + { + oDivCon.getElementsByTagName("iFrame")[0].src=sFileName; + } + else + oDivCon.innerHTML=sHTML; + } + else + oDivCon.innerHTML=sHTML; + } +} + +function loadDataXML(sFileName) +{ + var sCurrentDocPath=_getPath(document.location.href); + sdocPath=_getFullPath(sCurrentDocPath,sFileName); + if(gbIE5) + { + xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); + xmlDoc.async=true; + xmlDoc.onreadystatechange=checkState; + if(document.body!=null) + xmlDoc.load(sdocPath); + } + else if(gbNav6) + { + xmlDoc=document.implementation.createDocument("","",null); + xmlDoc.addEventListener("load",initializeData,false); + xmlDoc.load(sdocPath,"text/xml"); + } +} + +function initializeData() +{ + if(xmlDoc!=null) + putDataXML(xmlDoc,sdocPath); +} + +function checkState() +{ + if(xmlDoc!=null) + { + var state=xmlDoc.readyState; + if(state==4) + { + var err=xmlDoc.parseError; + if(err.errorCode==0) + putDataXML(xmlDoc,sdocPath); + else + onLoadXMLError(); + } + } +} + +function insertDataDiv(sName) +{ + var sHTML=""; + if(gbMac) + sHTML+="
"; + else + sHTML+="
"; + if((gbIE5||gbNav6)&&document.body) + document.body.insertAdjacentHTML("beforeEnd",sHTML); + else + { + gsInsertBeforeEndHTML=sHTML; + setTimeout("insertWhenBodyReady();",100); + return false; + } + return true; +} + +function insertWhenBodyReady() +{ + if(gsInsertBeforeEndHTML=="") return; + if(document.body) + { + document.body.insertAdjacentHTML("beforeEnd",gsInsertBeforeEndHTML); + gsInsertBeforeEndHTML=""; + loadData_2(gsFileName,gsDivName); + } + else + { + setTimeout("insertWhenBodyReady();",100); + } +} + +function window_BUnload() +{ + for(var i=0;i='0'&&sBStr.charAt(i)<='9') + { + sNum+=sBStr.charAt(i++); + } + if(sNum!=""){ + var nNum=parseInt(sNum,16); + sText+=String.fromCharCode(nNum); + sBStr=sBStr.substring(i); + } + nPos=sBStr.indexOf('%'); + } + sText+=sBStr; + return sText; +} + +function excapeSingleQuotandSlash(str) +{ + if(str==null) return null; + var nPos=0; + var sRes=""; + var nPosNew=str.indexOf("\\",nPos); + while(nPosNew!=-1){ + sRes+=str.substring(nPos,nPosNew+1)+"\\"; + nPos=nPosNew+1; + nPosNew=str.indexOf("\\",nPos); + } + if(nPos=4) - { - if(navigator.appName=="Netscape") - { - gbNav4=true; - if(gnVerMajor>=5) - gbNav6=true; - } - gbIE4=(navigator.appName.indexOf("Microsoft")!=-1); - } - if(gbNav6) - { - var nPos=gAgent.indexOf("gecko"); - if(nPos!=-1) - { - var nPos2=gAgent.indexOf("/", nPos); - if(nPos2!=-1) - { - var nVersion=parseFloat(gAgent.substring(nPos2+1)); - if(nVersion>=20010726) - { - gbNav61=true; - if (nVersion>=20020823) - gbNav7=true; - } - } - } - }else if(gbIE4) - { - var nPos=gAgent.indexOf("msie"); - if(nPos!=-1) - { - var nVersion=parseFloat(gAgent.substring(nPos+5)); - if(nVersion>=5) - { - gbIE5=true; - if(nVersion>=5.5) - gbIE55=true; - } - } - } -} -else if (gbOpera) -{ - var nPos = gAgent.indexOf("opera"); - if(nPos!=-1) - { - var nVersion=parseFloat(gAgent.substring(nPos+6)); - if(nVersion>=6) - { - gbOpera6=true; - if(nVersion>=7) - gbOpera7=true; - } - } -} -else if (gbKonqueror) -{ - var nPos = gAgent.indexOf("konqueror"); - if(nPos!=-1) - { - var nVersion = parseFloat(gAgent.substring(nPos+10)); - if (nVersion >= 3) - { - gbKonqueror3=true; - } - } -} - +// WebHelp 5.10.006 +var gbNav=false; +var gbNav6=false; +var gbNav61=false; +var gbNav7=false; +var gbNav4=false; +var gbIE4=false; +var gbIE=false; +var gbIE5=false; +var gbIE55=false; +var gbOpera6=false; +var gbOpera7=false; +var gbKonqueror3=false; + +var gAgent=navigator.userAgent.toLowerCase(); +var gbMac=(gAgent.indexOf("mac")!=-1); +var gbSunOS=(gAgent.indexOf("sunos")!=-1); +var gbOpera=(gAgent.indexOf("opera")!=-1); +var gbKonqueror=(gAgent.indexOf("konqueror")!= -1); +var gbSafari=(gAgent.indexOf("safari")!= -1); +var gbWindows=((gAgent.indexOf('win')!= -1)||(gAgent.indexOf('16bit')!= -1)); +var gbMozilla=((gAgent.indexOf('gecko')!=-1) && (gAgent.indexOf('netscape')==-1)); + + +var gVersion=navigator.appVersion.toLowerCase(); + +var gnVerMajor=parseInt(gVersion); +var gnVerMinor=parseFloat(gVersion); + +if(!gbOpera&&!gbKonqueror&&!gbSafari) // opera can mimic IE or Netscape by settings. +{ + gbIE=(navigator.appName.indexOf("Microsoft")!=-1); + gbNav=(gAgent.indexOf('mozilla')!=-1) && ((gAgent.indexOf('spoofer')==-1) && (gAgent.indexOf('compatible')==-1)); + if(gnVerMajor>=4) + { + if(navigator.appName=="Netscape") + { + gbNav4=true; + if(gnVerMajor>=5) + gbNav6=true; + } + gbIE4=(navigator.appName.indexOf("Microsoft")!=-1); + } + if(gbNav6) + { + var nPos=gAgent.indexOf("gecko"); + if(nPos!=-1) + { + var nPos2=gAgent.indexOf("/", nPos); + if(nPos2!=-1) + { + var nVersion=parseFloat(gAgent.substring(nPos2+1)); + if(nVersion>=20010726) + { + gbNav61=true; + if (nVersion>=20020823) + gbNav7=true; + } + } + } + }else if(gbIE4) + { + var nPos=gAgent.indexOf("msie"); + if(nPos!=-1) + { + var nVersion=parseFloat(gAgent.substring(nPos+5)); + if(nVersion>=5) + { + gbIE5=true; + if(nVersion>=5.5) + gbIE55=true; + } + } + } +} +else if (gbOpera) +{ + var nPos = gAgent.indexOf("opera"); + if(nPos!=-1) + { + var nVersion=parseFloat(gAgent.substring(nPos+6)); + if(nVersion>=6) + { + gbOpera6=true; + if(nVersion>=7) + gbOpera7=true; + } + } +} +else if (gbKonqueror) +{ + var nPos = gAgent.indexOf("konqueror"); + if(nPos!=-1) + { + var nVersion = parseFloat(gAgent.substring(nPos+10)); + if (nVersion >= 3) + { + gbKonqueror3=true; + } + } +} + var gbWhVer=true; \ No newline at end of file diff --git a/doc/salome/gui/VISU/whxdata/whftdata0.xml b/doc/salome/gui/VISU/whxdata/whftdata0.xml index 4e614a73..18b3f31d 100755 --- a/doc/salome/gui/VISU/whxdata/whftdata0.xml +++ b/doc/salome/gui/VISU/whxdata/whftdata0.xml @@ -1,45 +1,45 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whxdata/whfts.xml b/doc/salome/gui/VISU/whxdata/whfts.xml index 4b1f24c4..fd4d35be 100755 --- a/doc/salome/gui/VISU/whxdata/whfts.xml +++ b/doc/salome/gui/VISU/whxdata/whfts.xml @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/doc/salome/gui/VISU/whxdata/whfwdata0.xml b/doc/salome/gui/VISU/whxdata/whfwdata0.xml index 6e9ff3ad..49225222 100755 --- a/doc/salome/gui/VISU/whxdata/whfwdata0.xml +++ b/doc/salome/gui/VISU/whxdata/whfwdata0.xml @@ -1,848 +1,888 @@ - - - 0,1,32,34,35,38,6,26,39, - 32, - 39, - 4,5,7,2,10,15,14,19,31,32,34,33,35,6,27, - 31,32,39, - 0,32,6,26,39, - 33, - 31, - 35, - 4,5,7,2,10,15,14,19,31,33,35,36,27,39, - 7,39, - 36, - 7,11,17,34,33,25,39, - 4,5,7,10,19,24,27, - 39, - 3,0,1,11,12,14,30,16,20,31,32,34,35,23,24,38,6,39,40, - 5,7,10,24, - 5,1,34,33, - 39, - 35, - 31,35, - 35, - 18,33,40, - 38, - 36, - 39, - 27,39, - 30,33,6,25,39,40, - 14, - 12,13,23,26,39,28, - 3, - 26, - 0,31,24, - 32,34,36,39, - 30,32,38, - 0, - 16,6, - 38, - 0,32, - 5,12,13,14,21,34,22,37,23,26,28, - 5,1,32,25, - 31,33, - 5, - 11, - 4,5,0,1,7,11,12,13,14,30,18,21,31,32,34,33,36,37,23,24,38,6,25,26,27,39,28,40, - 16,33,24,38,6, - 35, - 5,26, - 6, - 0, - 39, - 1,11,12,34, - 5,17, - 5,0,6,27, - 5,12,26,27, - 3,4,0,30,16,18,31,35, - 1,29,23,24, - 32, - 0, - 5,7,10,14,23,25, - 3,8,2,11,12,13,16,21,34,35,37,23,26,27,39,28, - 18,22, - 33,26,40, - 11,12,32,34,38, - 6, - 11, - 28, - 0, - 7,30, - 36,39, - 7,16,6, - 1,7,6, - 1,7,11,14,30,18,38,27, - 0,30,16,31,6,40, - 39, - 0, - 6, - 1,11,12,34,33,24,6,25,40, - 7,11,12,31,34,33,38,6,40, - 5,10, - 30,33,6,25, - 31,26, - 5,11,12,13,29,21,32,34,36,37,23,38,6,26,39,28, - 3,5,10,11,17,20,23,26,27, - 3,4,7,11,21,33,23,26, - 35,23,27, - 32, - 18,32, - 22, - 5, - 11,35,23, - 32,38, - 0, - 36,39, - 35,28, - 32,36, - 18,36, - 30,33,35,6,40, - 8,30,34,36,25,26,39, - 33,36,38, - 26, - 38, - 3,32, - 5,0,7,10,11,12,13,14,16,18,19,34,33,23,24,38,26,39,28, - 3,5,0,7,8,9,2,10,11,12,13,15,14,29,30,18,19,21,34,35,37,23,24,6,26,27,28, - 18, - 18,37, - 5,0,1,10,14,29,30,19,21,31,32,34,33,23,24,38,6,26,39,28,40, - 33,38, - 3,35,23, - 32,35, - 29,35,24, - 35, - 30,32,23,39, - 6, - 3,4,8,2,11,12,13,16,21,34,37,23,26,27,39,28, - 16, - 33,28,40, - 32, - 32, - 30,31, - 6, - 5,0,14,29,30,31,33,24,38,6,25,39, - 35, - 16,36,38, - 5,7,11,12,13,18,34,33,36,23,6,26,28,40, - 34, - 7, - 1,14,29,18, - 0,1,7,8,9,10,11,12,13,15,14,29,30,16,18,19,21,34,36,37,23,26,28, - 3,0,10,16,24,26, - 7, - 35, - 5,0,1,7,8,9,2,10,11,12,13,15,14,29,30,16,18,19,21,32,34,33,22,37,23,24,38,6,25,26,27,28,40, - 0,1,38,6, - 31, - 33, - 18,35, - 7,11,12,13,32,34,33,35,36,23,26,39,28,40, - 18, - 4,7, - 3,21,31, - 31,38, - 30,6, - 37, - 5,27, - 3, - 18, - 1, - 26, - 4,20,32,35,22,36,23, - 3,5,2,10,27, - 35,39, - 26, - 28, - 3, - 3, - 38, - 30,39, - 14,18,24, - 36, - 10,11,33,23, - 3,7,11,21,33,23,26, - 11,26, - 26, - 3,7,8,10,11,18,19,23, - 0,33,38,40, - 6, - 0,35, - 34, - 30,31,36,26,39, - 26, - 7,16,31,32,23,38,6,40, - 0, - 14,30,6, - 32, - 3,7,13,32,34,35,36,39,28, - 3,23, - 0, - 26, - 31, - 35, - 3,4,5,1,7,8,9,2,10,11,12,13,29,30,17,19,21,34,22,37,23,38,6,26,27,39,28, - 10,11,14,22,23,27, - 1,7,6, - 14,30,31, - 30,31,32,35,36,25, - 32,35,38, - 7,10,11,33,25, - 32, - 4,2,11,12,34, - 5, - 7, - 3,4,7,11,17,18,20,23, - 34, - 5,30,31,34, - 7,11,12,13,18,31,33,35,22,36,23,39,40, - 3,0,1,7,11,12,13,21,31,32,34,33,35,36,37,23,38,25,26,27,39,28,40, - 38, - 3,5,10,12,16, - 34,35, - 13,37,39, - 5, - 1,11,12,31,34, - 1,14, - 5,31,35,38,39, - 38, - 4, - 31,33, - 36, - 22, - 5,20,33, - 30, - 7, - 5,0,7,10,11,14,29,16,18,19,35,36,23,24,38,39, - 7, - 3,30,36,38,39, - 36,23, - 38, - 30,31,38,26, - 5, - 34,36,39, - 11,12, - 4,5,0,1,7,8,9,2,10,11,12,13,15,14,30,16,18,21,32,34,33,35,36,37,23,38,6,25,26,27,28,40, - 1,32,35,24,6,40, - 3,31,39, - 33, - 31, - 33, - 31, - 33,35,40, - 7, - 5,14,31, - 7,40, - 33,38,40, - 33, - 33,40, - 30,33,6,25,40, - 14,33, - 31, - 32,39, - 35,36, - 3,6, - 10,11,12,14,30,38,6, - 39, - 39, - 39, - 1, - 18, - 3,16,32,38,6, - 36, - 4, - 5,32,35,38,27, - 14,16,19,21,23, - 11,12, - 3,18, - 26, - 21,35,23, - 14,30,38,6,25, - 30, - 3,5, - 18, - 0,18, - 16, - 33, - 35, - 39,40, - 14,34,6,39, - 29,38, - 26, - 30,19,33,6,40, - 16, - 40, - 16, - 1, - 3,35, - 13,34,35,37,39,28, - 3,26, - 3,18, - 33, - 36,24,26, - 3,5,8,11,12,13,14,29,16,17,18,20,21,34,37,23,24,6,26,27,28, - 3,4,0,17,18,19,35,23,25, - 18, - 0,11,12,13,18,21,34,37,23,26,28, - 5,32,38, - 33,25,40, - 32,39, - 31,32, - 3,19, - 3, - 3,5,1,7,8,10,14,30,16,19,31,32,33,22,23,6,25, - 36,23,40, - 2,16,20,33, - 30,33,6,40, - 35, - 39, - 31,26, - 36, - 0, - 5,0,33,27,40, - 21, - 30, - 31, - 18, - 38, - 40, - 4,0,7,34,33,38,40, - 35, - 0,29,30,31,32,35,36,38,39,40, - 3, - 5,11,21,32,26,27, - 5,26, - 38, - 3,18,35,39, - 39, - 5,16,32, - 0,1,30,33,6,25,39, - 0,7,12,35,36, - 35, - 33,36,40, - 28, - 40, - 23, - 33,25, - 25, - 28, - 0,32,33,35,40, - 36, - 33, - 3,18,26, - 7, - 39, - 1,34, - 26, - 10,11,19,26, - 31,28, - 32,36,23, - 4, - 5,11,33,23,39, - 1,14,30,32,6,25,40, - 14, - 35, - 18, - 16,32, - 14, - 1,33,36,23, - 17,18, - 36, - 11,12,13,29,21,34,22,37,23,26,28, - 16,32, - 5,0,1,7,11,14,16,18,32,34,33,35,36,23,26,28,40, - 1, - 0,30,33,6,40, - 1,11,12,13,14,16,18,21,34,37,23,26,39,28, - 4,7,9,17,18,19, - 23, - 6, - 36,23, - 3,0,20,26,39, - 5,30,31,34, - 31, - 3,31, - 1, - 3,23, - 32, - 16,6, - 3,16,32,33,35,6,39, - 3,22,27, - 0, - 11,38, - 6, - 32,36,38, - 26, - 5, - 30,31, - 26, - 3, - 0,33,35, - 31, - 20, - 11, - 21, - 21, - 40, - 10,18,19, - 32, - 30,33,6,40, - 30,33,35,6,40, - 0, - 31,32,39, - 30,31,32,39, - 36,23,25,40, - 23, - 39, - 5, - 0, - 35, - 5,17,22, - 30,16, - 38, - 7, - 10,30,31,32,33,36,40, - 7, - 33,25, - 26,39,40, - 0,23, - 35, - 3,22, - 35,36, - 4,7,2,10,11,32,33,36,6,26,28, - 33,36,25, - 3,5,1,10,26, - 0,33,40, - 18, - 31,36, - 8,11,12,19,32,34,36,38,6,26,39, - 0,35,38, - 30,31,40, - 33,23,25, - 35, - 22, - 36, - 26, - 0,38, - 18, - 34,6, - 39, - 31,35,39, - 13,26,28, - 3,5,8,10,11,12,13,14,29,16,19,21,34,33,35,37,23,38,26,28, - 33, - 8,26, - 5, - 30,31, - 30,31, - 31, - 4,11,12,38,6, - 37,23, - 7,11,33,40, - 32,33,36, - 26, - 35,36, - 18,36,39, - 23, - 21,33,35,36,26,39, - 32,39, - 35,26, - 5,1,7,8,9,2,10,11,12,13,15,14,29,30,16,18,19,21,34,33,35,22,37,23,38,6,25,26,27,39,28, - 6, - 3,11,12,13,16,17,32,34,37,38,26,39,28, - 4, - 6, - 18,36,39, - 23, - 21,36,38,27,39, - 33, - 37, - 0,1,30,31,32,33,36,23,6,28, - 31, - 14,39, - 3,5,30,17,20,33,35,22,23,38,6,40, - 36, - 3, - 32, - 18, - 14,30,31,32,33,38,6,40, - 5,10,31,24,38, - 31,32, - 31,39, - 26, - 32,35,39, - 33,36,39, - 0,10,14,16,19,32,33,40, - 33, - 31, - 36,23, - 35, - 1, - 16,18,19, - 36,39, - 1,8,2,10,17,19,33,22,38,6, - 5,32, - 3, - 7,26, - 1, - 0,18,23, - 35, - 1,29,32, - 36, - 39, - 12,16,21,32,34,33,35,36,23,26,27,39,40, - 32, - 33, - 3,5,1,7,8,9,2,10,11,12,13,15,14,29,30,16,18,19,21,31,34,33,37,23,24,6,26,27,28,40, - 11,12, - 35, - 40, - 3, - 5,0,7,10,11,12,13,14,29,19,21,34,37,23,24,26,28, - 3,5,1,7,8,10,11,12,13,14,29,19,21,34,35,37,23,26,27,28, - 7,18,32,38, - 3, - 3, - 3, - 3, - 6, - 32,6, - 5,18,19,33,35, - 35, - 11,14,30,18,31,33,35, - 1, - 26, - 5,7,13,15,14,30,18,31,33,36,6,25,26,27,28, - 37, - 36, - 1, - 40, - 1,11,12,34,36,23,38, - 36,23,38, - 18, - 33,23,40, - 26, - 38, - 17, - 3,23, - 31, - 31, - 36, - 31,33,40, - 11,12,35,26, - 5,1,7,11,12,13,14,30,17,21,34,35,36,37,23,38,6,26,28,40, - 32, - 18, - 3,1,7,33,38,40, - 26, - 3,10,26, - 5,26, - 0, - 0, - 3,0,18, - 3,5, - 1, - 14, - 3, - 30,32, - 5,35, - 35, - 11,33,6,40, - 36, - 1,11,12,30,34,38,6, - 34, - 20,22, - 0, - 7,10,11,17,20,34,33,25, - 7,10, - 7, - 30,33,35,6,40, - 3,29,30,16,31,32,33,35,36,38,6,26,39,40, - 28, - 26, - 5,7,8,9,2,10,11,12,13,15,14,29,21,34,37,23,6,26,27,28, - 1,11,12,30,32,34,33,39,28,40, - 36, - 16,31, - 0,25, - 1,8,31,38,39, - 3,4,5,0,7,8,2,10,11,30,17,18,19,20,33,22,23,6,26,27,40, - 18,31,32,35,22,23,6, - 5,0,29,30,32,33,40, - 5,23, - 3,4,5,0,1,8,9,2,11,12,13,14,29,30,16,17,20,21,32,34,35,22,36,37,23,24,38,6,26,27,39,28,40, - 36, - 1,11,12,34, - 5, - 4,10,21,31,25, - 29,35,38,39, - 3,4,5,0,7,8,2,10,11,30,17,18,19,20,33,22,23,6,26,27,40, - 6, - 11, - 18,20,27,39, - 0,20, - 18,35, - 36, - 0, - 35, - 26, - 5,0,13,29,30,33,36,23,6,25,28,40, - 5, - 20,31,6, - 6,27, - 5, - 31, - 35,26, - 31, - 3, - 32, - 4, - 3, - 0, - 10,29,24, - 34,6,39, - 38, - 36,39, - 4,5,13,21,32,34,35,36,23,6,25,39,28, - 4, - 0,18, - 30,31,32,39, - 5,33,38,39, - 0,30, - 7,18, - 36, - 40, - 4,10,39, - 36, - 27, - 0, - 11,36, - 22, - 12,34,35,6, - 35,23, - 34, - 35, - 33,40, - 7, - 14,30,6,25, - 5,36, - 35,36,39, - 3,4,7,34,33,23,6,25,26,28,40, - 3,14,33,6,25, - 39, - 0,7,8,15,16,26, - 24,40, - 33,40, - 35, - 0,26, - 18,39, - 31,39, - 6,40, - 3,11,32,34,35,36,38,39, - 5,30,6, - 11, - 33, - 1, - 5,7,8,9,2,10,11,12,13,15,14,29,30,18,19,21,31,34,33,36,37,23,24,6,25,26,27,28, - 7, - 1,30,31,38,40, - 1,11,12,30,31,34,40, - 4,7, - 5,22, - 3,32, - 7,30,20,31,35,22,23,24, - 7,11,14,30,31,23,38,6,39, - 5,0,30,33,36,23,25, - 13,34,33,36,37,23,24,6,25,39,28, - 3,5,8,2,11,12,13,29,16,21,32,34,35,36,37,23,38,6,26,39,28, - 33,35,36,39,40, - 31, - 4, - 3,4,5,0,8,11,13,18,21,34,33,35,22,37,38,6,26,28,40, - 18, - 0,36,38, - 38, - 1,6, - 36, - 3,26, - 0,30,35,38, - 5,1,7,8,2,10,11,12,13,14,29,30,16,18,19,21,32,34,33,36,37,23,24,6,25,26,27,39,28,40, - 1, - 30,16,32,6, - 32,38, - 6, - 15,6, - 33,6, - 26, - 0,23, - 5,0,1,11,12,13,14,29,17,18,21,32,34,35,22,37,23,6,25,26,39,28, - 0,30,18,33,25, - 5, - 35,6, - 12,13,35,37,39, - 13, - 3,1,7,11,12,16,18,34,22,6,27, - 5,1,11,12,15,18,32,33,36,38,25,39,40, - 6, - 12,36, - 38,26, - 35, - 5, - 11,12,36,6, - 0,16,32,33,35,26,39, - 32, - 35,26, - 28,40, - 39, - 34,26, - 32,26, - 5,32,35,39, - 7, - 6, - 26, - 26, - 11,12,16,34,36,39, - 31, - 5,31, - 4,30,32, - 5,0,33,24, - 33,6,26, - 18, - 35,38, - 33, - 1, - 32,35, - 3,5,0,8,11,12,13,14,29,30,18,21,34,36,37,23,6,26,28, - 0,7,30,18,19,31,35,39, - 31, - 5,0,1,22,26,27, - 27, - 5,11,18,32,34,26,27, - 0, - 3,30, - 26, - 26, - 40, - 3,1,7,11,18,26, - 5,7,10,11,17,22, - 30,31, - 3,8,14,30,6, - 3, - 8, - 3,8,9,16,17,20,24, - 0, - 35, - 6, - 31, - 12,21,34,6, - 0, - 5,17,18,6,27, - 30,31,6, - 0,31,35,39, - 36, - 18,33,35,40, - 4,11,12,13,19,21,34,37,23,38,26,28, - 3,4,7,2,11,15,16,17,19,20,33, - 28, - 26,27, - 7,11,13,36, - 35, - 35,36, - 36,23, - 35, - 4,1,7,30,21,31,32,35,6,40, - 35, - 6, - 6, - 35,26, - 3,4,11,12,34,35,23,39, - 35, - 40, - 31, - 3,5,0,8,11,12,13,14,29,30,18,21,34,36,37,23,38,6,26,27,28, - 4,33,23, - 3, - 31, - 32, - 8,11,12,13,14,29,30,21,31,32,34,33,22,37,23,38,26,28,40, - 32,33,38, - 35, - 32, - 26, - 23,27, - 30,24,6, - 30,31,38, - 32,35, - 32,38,6, - 3, - 3,7,40, - 32, - 25, - 40, - 1, - 39, - 0,1,7,10,11,12,30,32,34,35,36,37,38, - 4,19, - 3,5,7,8,11,12,13,29,16,34,33,35,37,23,6,25,26,27,39,28, - 18, - 39, - 4,7,26, - 1, - 5,7,8,9,2,10,11,12,13,15,14,29,21,31,34,35,36,37,23,38,6,26,27,28, - 21,32,22,38,39, - 7, - 3,5,0,1,7,10,11,13,29,30,16,31,32,35,36,23,38,26,27,39,28,40, - 17, - 26, - 7,38, - 5, - 3,4,0,7,8,2,11,12,13,16,18,21,32,34,35,36,37,23,6,26,27,39,28, - 36,38, - 20, - 39, - 0, - 3,8,13,16,21,34,35,36,37,23,26,28, - 33, - 35, - 1,33,36,23, - 32,26, - 30,25,40, - 0, - 3,4,0,1,7,9,2,10,11,12,13,15,14,30,16,17,21,31,32,34,33,35,22,37,23,24,38,6,25,26,27,39,28,40, - 31, - 33,35,40, - 35, - 29, - 11,13,32,35,28, - 8,11,12,13,29,20,21,34,37,23,38,6,26,28,40, - 30,35,22,6,40, - 1,32,38, - 8,23, - 18, - 35, - 5, - 34, - 3,35, - 3, - 7,36,23,6,28, - 3,5,0,1,7,8,9,2,10,11,12,13,15,14,16,18,19,21,32,34,33,35,22,36,37,23,24,6,25,26,27,39,28, - 0,10,15,30,32,22,38, - 6, - 6, - 33,6,40, - 32,35,36,6, - 4,30,31, - 0,35, - 36, - 1,7,31,33,35,36,23,24, - 4,19, - 10,11,12,20,34,33,25, - 1,7,31,33,36,23,24, - 5,0,1,7,2,10,11,12,13,15,14,29,18,19,21,34,33,37,23,24,25,26,28, - 11,12,34, - 1,24, - 30,31,32,33,35,40, - 11,12,34, - - + + + 5,0,1,11,32,34,35,38,6,26,39, + 32, + 39, + 4,5,0,7,2,10,11,15,14,19,31,32,34,33,35,6,27, + 31,32,39, + 0,32,6,26,39, + 33, + 31, + 35, + 4,5,7,2,10,15,14,19,31,33,35,36,27,39, + 7,39, + 36, + 7,11,17,34,33,25,39, + 4,5,7,10,19,24,27, + 39, + 3,0,1,11,12,14,30,16,20,31,32,34,35,23,24,38,6,39,40, + 5,7,10,24, + 5,1,34,33, + 39, + 35, + 31,35, + 5,0,35, + 18,33,40, + 38, + 36, + 11,39, + 27,39, + 30,33,6,25,39,40, + 14, + 12,13,23,26,39,28, + 3, + 26, + 0,31,24, + 32,34,36,39, + 5,0,30,32,38, + 0, + 16,6, + 38, + 5,0, + 23, + 0,32, + 5,12,13,14,21,34,22,37,23,26,28, + 5,1,32,25, + 31,33, + 5, + 5, + 11, + 4,5,0,1,7,11,12,13,14,30,18,21,31,32,34,33,36,37,23,24,38,6,25,26,27,39,28,40, + 16,33,24,38,6, + 35, + 5,26, + 6, + 0, + 39, + 1,11,12,34, + 5,17, + 5,0,6,27, + 5,12,26,27, + 3,4,0,7,30,16,18,31,35, + 1,29,23,24, + 32, + 0, + 5,7,10,14,23,25, + 3,8,2,11,12,13,16,21,34,35,37,23,26,27,39,28, + 18,22, + 33,26,40, + 11,12,32,34,38,40, + 6, + 11, + 28, + 0, + 7,30, + 36,39, + 7,16,6, + 1,7,6, + 1,7,11,14,30,18,38,27, + 0,30,16,31,6,40, + 39, + 5,0, + 6, + 1,11,12,34,33,24,6,25,40, + 7,11,12,31,34,33,38,6,40, + 5,10, + 30,33,6,25, + 31,26, + 5,11,12,13,29,21,32,34,36,37,23,38,6,26,39,28, + 3,5,10,11,17,20,23,26,27, + 3,4,7,11,21,33,23,26, + 35,23,27, + 32, + 18,32, + 22, + 5, + 11,35,23, + 32,38, + 0, + 36,39, + 35,28, + 5,0, + 32,36, + 18,36, + 30,33,35,6,40, + 8,30,34,36,25,26,39, + 33,36,38, + 26,40, + 38, + 3,32, + 5,0,7,10,11,12,13,14,16,18,19,34,33,23,24,38,26,39,28,40, + 3,5,0,7,8,9,2,10,11,12,13,15,14,29,30,18,19,21,34,35,37,23,24,6,25,26,27,28, + 18,23, + 18,37,23, + 5,0,1,10,14,29,30,19,21,31,32,34,33,23,24,38,6,26,39,28,40, + 33,38, + 3,35,23, + 32,35, + 29,35,24, + 35, + 5,30,32,23,39, + 6, + 3,4,8,2,11,12,13,16,21,34,37,23,26,27,39,28, + 16, + 33,28,40, + 32, + 32, + 30,31, + 6, + 5,0,14,29,30,31,33,24,38,6,25,39,40, + 35, + 16,36,38, + 5,0,7,11,12,13,18,34,33,36,23,6,26,28,40, + 34, + 7, + 1,14,29,18, + 0,1,7,8,9,10,11,12,13,15,14,29,30,16,18,19,21,34,36,37,23,26,28,40, + 3,0,10,16,24,26, + 7, + 35, + 5, + 5,0,1,7,8,9,2,10,11,12,13,15,14,29,30,16,18,19,21,32,34,33,22,37,23,24,38,6,25,26,27,28,40, + 0,1,38,6, + 31, + 33, + 18,35, + 7, + 7,11,12,13,32,34,33,35,36,23,26,39,28,40, + 18, + 4,7, + 3,21,31, + 5,0,31,38, + 30,6, + 37, + 5,27, + 3, + 18, + 1, + 26, + 4,5,20,32,35,22,36,23, + 3,5,2,10,27, + 5,0,35,39, + 26, + 28, + 3, + 3, + 38, + 30,39, + 14,18,24, + 36, + 10,11,33,23, + 3,7,11,21,33,23,26, + 11,26, + 26, + 3,7,8,10,11,18,19,23, + 0,33,38,40, + 6, + 0,35, + 34, + 30,31,36,26,39, + 26, + 7,16,31,32,23,38,6,40, + 0, + 14,30,6, + 32, + 3,7,13,32,34,35,36,39,28, + 3,23, + 0, + 26, + 31, + 35, + 3,4,5,1,7,8,9,2,10,11,12,13,29,30,17,19,21,34,22,37,23,38,6,26,27,39,28, + 10,11,14,22,23,27, + 1,7,6, + 14,30,31, + 7,30,31,32,35,36,25, + 32,35,38, + 7,10,11,33,25, + 32, + 4,2,11,12,34, + 5, + 7, + 3,4,7,11,17,18,20,23, + 34, + 5,30,31,34, + 7,11,12,13,18,31,33,35,22,36,23,39,40, + 3,0,1,7,11,12,13,21,31,32,34,33,35,36,37,23,38,25,26,27,39,28,40, + 38, + 3,5,10,12,16, + 34,35, + 13,37,39, + 5, + 1,11,12,31,34, + 1,14, + 5,31,35,38,39, + 38, + 4,30,6, + 31,33, + 36, + 22, + 5,20,33, + 30,6, + 30, + 7, + 5,0,7,10,11,14,29,16,18,19,35,36,23,24,38,39, + 7, + 3,5,30,36,38,39, + 36,23, + 38, + 30,31,38,26, + 5, + 0,34,36,39, + 11,12, + 4,5,0,1,7,8,9,2,10,11,12,13,15,14,30,16,18,21,32,34,33,35,36,37,23,38,6,25,26,27,28,40, + 1,32,35,24,6,40, + 3,31,39, + 33, + 31, + 30,6, + 33, + 31, + 33,35,40, + 7, + 5,14,31, + 5,0, + 7,40, + 33,38,40, + 33, + 33,40, + 30,33,6,25,40, + 14,33, + 31, + 32,39, + 35,36, + 3,6, + 10,11,12,14,30,38,6, + 39, + 39, + 39, + 1, + 18, + 3,16,32,38,6, + 36, + 4,7, + 5,32,35,38,27, + 14,16,19,21,23, + 11,12, + 3,18, + 26, + 21,35,23, + 14,30,38,6,25, + 30, + 7, + 3,5, + 18, + 0,18, + 16, + 33, + 35, + 39,40, + 14,34,6,39, + 29,38, + 26, + 5,0,30,19,33,6,40, + 16, + 40, + 16, + 1, + 3,35, + 13,34,35,37,39,28, + 3,26, + 3,18, + 33, + 36,24,26, + 3,5,8,11,12,13,14,29,16,17,18,20,21,34,37,23,24,6,26,27,28, + 3,4,5,0,17,18,19,35,23,25, + 18, + 0,11,12,13,18,21,34,37,23,26,28, + 5,32,38, + 33,25,40, + 32,39, + 31,32, + 3,19, + 3, + 3,5,0,1,7,8,10,14,30,16,19,31,32,33,22,23,6,25, + 36,23,40, + 2,16,20,33, + 30,33,6,40, + 35, + 39, + 31,26, + 36, + 0, + 5,0,33,27,40, + 21, + 30, + 31, + 18, + 38, + 30,40, + 4,0,7,34,33,38,40, + 35, + 0,29,30,31,32,35,36,38,39,40, + 3, + 5,11,21,32,26,27, + 5,26, + 38, + 3,18,35,39, + 39, + 5,16,32, + 0,1,30,33,6,25,39, + 0,7,12,35,36, + 35, + 33,36,40, + 28, + 40, + 23, + 33,25, + 25, + 28, + 0,32,33,35,40, + 36, + 33, + 3,18,23,26, + 30,6, + 7, + 39, + 1,34, + 26, + 10,11,19,26, + 31,28, + 32,36,23, + 4, + 5,11,33,23,39, + 1,14,30,32,6,25,40, + 14, + 35, + 18, + 16,32, + 14, + 7, + 1,33,36,23, + 17,18, + 5,0, + 16,36, + 11,12,13,29,21,34,22,37,23,26,28, + 16,32, + 5,0,1,7,11,14,16,18,32,34,33,35,36,23,26,28,40, + 1, + 0,30,33,6,40, + 1,11,12,13,14,16,18,21,34,37,23,26,39,28, + 4,7,9,17,18,19, + 23, + 6, + 36,23, + 3,0,20,26,39, + 5,30,31,34, + 31, + 3,31, + 1,16, + 3,5,0,7,23, + 32, + 16,6, + 3,16,32,33,35,6,39, + 3,22,27, + 0, + 11,38, + 6, + 32,36,38, + 5,0, + 5,0, + 11, + 26, + 5, + 30,31, + 26, + 3, + 0,11,33,35, + 31, + 20, + 11, + 21, + 21, + 40, + 10,18,19, + 32, + 16, + 30,33,6,40, + 5,0, + 30,33,35,6,40, + 0, + 16, + 31,32,39, + 30,31,32,39, + 5, + 36,23,25,40, + 23, + 39, + 5, + 0, + 35, + 17,22, + 30,16, + 38, + 7, + 10,30,31,32,33,36,23,40, + 7, + 33,25, + 11,26,39,40, + 0,23, + 35, + 3,22, + 35,36, + 4,7,2,10,11,32,33,36,6,26,28, + 33,36,25, + 3,5,1,10,23,26, + 0,33,40, + 18, + 31,36, + 8,11,12,19,32,34,36,38,6,26,39,40, + 5,0,35,38, + 30,31,40, + 33,23,25, + 35, + 22, + 36, + 26, + 0,38, + 18, + 34,6, + 39, + 31,35,39, + 13,26,28, + 3,5,8,10,11,12,13,14,29,16,19,21,34,33,35,37,23,38,26,28, + 33, + 8,26, + 5, + 30,31, + 30,31, + 31, + 4,11,12,38,6,40, + 37,23, + 7,11,33,40, + 32,33,36, + 26, + 35,36, + 18,36,39, + 23, + 21,33,35,36,26,39, + 5,32,39, + 35,26, + 5, + 5,1,7,8,9,2,10,11,12,13,15,14,29,30,16,18,19,21,34,33,35,22,37,23,38,6,25,26,27,39,28, + 6, + 3,11,12,13,16,17,32,34,37,23,38,26,39,28, + 4, + 6, + 18,36,39, + 23, + 21,36,38,27,39, + 33, + 5,0, + 37, + 5,0, + 5,0, + 0,1,30,31,32,33,36,23,6,28, + 31, + 14,39, + 3,5,30,17,20,33,35,22,23,38,6,40, + 36, + 3, + 32, + 18, + 14,30,31,32,33,38,6,40, + 5,10,31,24,38, + 31,32, + 31,39, + 26, + 32,35,39, + 33,36,39, + 0,10,14,16,19,32,33,40, + 33, + 31, + 36,23, + 35, + 5,0,1, + 5,16,18,19, + 36,39, + 5,0, + 1,8,2,10,17,19,33,22,38,6, + 5,32, + 3, + 7,26, + 1, + 0,18,23, + 35, + 1,29,32, + 36, + 39, + 5,12,16,21,32,34,33,35,36,23,26,27,39,40, + 32, + 33, + 3,5,1,7,8,9,2,10,11,12,13,15,14,29,30,16,18,19,21,31,34,33,37,23,24,6,25,26,27,28,40, + 11,12, + 35, + 40, + 3, + 5,0,7,10,11,12,13,14,29,19,21,34,37,23,24,26,28, + 3,5,1,7,8,10,11,12,13,14,29,19,21,34,35,37,23,26,27,28, + 7,18,32,38, + 3, + 3, + 3, + 3, + 6, + 32,6, + 18,19,33,35, + 35, + 5,11,14,30,18,31,33,35, + 1, + 5, + 26, + 5,7,13,15,14,30,18,31,33,36,6,25,26,27,28, + 37, + 36, + 1, + 40, + 1,11,12,34,36,23,38, + 36,23,38,40, + 18, + 33,23,40, + 26, + 38, + 17, + 3,23, + 5,0, + 31, + 31, + 36, + 31,33,40, + 5, + 11,12,35,26, + 5,1,7,11,12,13,14,30,17,21,34,35,36,37,23,38,6,26,28,40, + 32, + 18, + 3,5,0,1,7,33,38,40, + 26, + 3,10,26, + 5,0, + 5,0,26, + 0, + 0, + 3,0,18,40, + 5, + 3,5, + 1, + 14, + 3, + 30,32, + 5,35, + 35, + 11,33,6,40, + 36, + 1,11,12,30,34,38,6, + 34, + 20,22, + 0, + 7,10,11,17,20,34,33,25, + 7,10, + 7, + 30,33,35,6,40, + 3,7,29,30,16,31,32,33,35,36,38,6,26,39,40, + 28, + 26, + 5,7,8,9,2,10,11,12,13,15,14,29,21,34,37,23,6,26,27,28, + 1,11,12,30,32,34,33,39,28,40, + 36, + 16,31, + 0,25, + 5,1,7,8,31,38,39, + 3,4,5,0,7,8,2,10,11,30,17,18,19,20,33,22,23,6,26,27,40, + 18,31,32,35,22,23,6, + 5,0,29,30,32,33,40, + 5,23, + 3,4,5,0,1,8,9,2,11,12,13,14,29,30,16,17,20,21,32,34,35,22,36,37,23,24,38,6,26,27,39,28,40, + 36, + 1,11,12,34, + 5, + 4,10,21,31,25, + 29,35,38,39, + 3,4,5,0,7,8,2,10,11,30,17,18,19,20,33,22,23,6,26,27,40, + 6, + 11, + 18,20,27,39, + 0,20, + 5,0, + 18,35, + 36, + 0, + 35, + 26, + 5,0, + 5,0,13,29,30,33,36,23,6,25,28,40, + 5, + 20,31,6, + 6,27, + 5, + 31, + 35,26, + 31, + 3, + 32, + 4, + 3, + 0, + 10,29,24, + 34,6,39, + 38, + 36,39, + 4,5,13,21,32,34,35,36,23,6,25,39,28, + 4, + 0,18, + 30,31,32,39, + 5,11,33,38,39, + 0,30, + 7,18, + 36, + 40, + 4,10,39, + 36, + 27, + 0, + 11,36, + 22, + 12,34,35,6, + 35,23, + 34, + 35, + 33,40, + 7, + 14,30,6,25, + 5,36, + 35,36,39, + 3,4,7,34,33,23,6,25,26,28,40, + 3,14,33,6,25, + 39, + 5,0,7,8,15,16,26, + 24,40, + 33,40, + 35, + 0,26, + 18,39, + 31,39, + 6,40, + 3,11,32,34,35,36,38,39, + 5,30,6, + 11, + 33, + 1, + 5,7,8,9,2,10,11,12,13,15,14,29,30,18,19,21,31,34,33,36,37,23,24,6,25,26,27,28, + 7, + 1,30,31,38,40, + 1,11,12,30,31,34,40, + 4,7, + 5,0,22, + 3,32,23, + 7,30,20,31,35,22,23,24, + 5,7,11,14,30,31,23,38,6,39, + 5,0,30,33,36,23,25, + 13,34,33,36,37,23,24,6,25,39,28, + 3,5,8,2,11,12,13,29,16,21,32,34,35,36,37,23,38,6,26,39,28, + 33,35,36,39,40, + 31, + 4, + 3,4,5,0,8,11,13,18,21,34,33,35,22,37,38,6,26,28,40, + 18, + 0,36,38, + 38, + 1,6, + 36, + 3,26, + 0,30,35,38, + 5,1,7,8,2,10,11,12,13,14,29,30,16,18,19,21,32,34,33,36,37,23,24,6,25,26,27,39,28,40, + 5,1, + 30,16,32,6, + 32,38, + 6, + 15,6, + 33,6, + 26, + 0,23, + 5,0,1,11,12,13,14,29,17,18,21,32,34,35,22,37,23,6,25,26,39,28,40, + 0,30,18,33,25, + 5, + 35,6, + 12,13,35,37,39, + 13, + 3,5,0,1,7,11,12,16,18,34,22,6,27, + 5,1,11,12,15,18,32,33,36,38,25,39,40, + 6, + 12,36, + 38,26, + 35, + 5,11,12,36,6, + 0,16,32,33,35,26,39, + 32, + 35,26, + 28,40, + 39, + 34,26, + 32,26, + 5,32,35,39, + 7, + 6, + 26, + 26, + 5,0, + 11,12,16,34,36,39, + 31, + 5,31, + 4,30,32, + 5,0,33,24, + 33,6,26, + 18, + 35,38, + 33, + 1, + 32,35, + 3,5,0,8,11,12,13,14,29,30,18,21,34,36,37,23,6,26,28, + 0,7,30,18,19,31,35,39, + 31, + 5,0,1,22,26,27, + 27, + 5,11,18,32,34,26,27, + 0, + 3,30, + 26, + 26, + 40, + 3,1,7,11,16,18,26, + 5,7,10,11,17,22, + 30,31, + 3,8,14,30,6, + 3, + 8, + 3,8,9,16,17,20,24, + 0, + 5, + 35, + 6, + 31, + 12,21,34,6, + 0, + 5,17,18,6,27, + 30,31,6, + 5,0, + 0,31,35,39, + 36, + 18,33,35,40, + 4,11,12,13,19,21,34,37,23,38,26,28, + 3,4,7,2,11,15,16,17,19,20,33,25, + 28, + 26,27, + 7,11,13,36, + 35, + 35,36, + 36,23, + 35, + 4,5,1,7,21,31,32,35,23,6,40, + 35, + 6, + 6, + 5,0, + 35,26, + 3,4,11,12,34,35,23,39, + 35, + 40, + 31, + 3,5,0,8,11,12,13,14,29,30,18,21,34,36,37,23,38,6,26,27,28, + 7, + 4,33,23, + 3, + 31, + 32, + 5,0,7, + 8,11,12,13,14,29,30,21,31,32,34,33,22,37,23,38,26,28,40, + 32,33,38, + 35, + 32, + 26, + 23,27, + 30,24,6, + 30,31,38, + 32,35, + 32,38,6, + 3, + 3,7,40, + 32, + 25, + 40, + 1, + 39, + 0,1,7,10,11,12,30,32,34,35,36,37,38, + 4,19, + 3,5,7,8,11,12,13,29,16,34,33,35,37,23,6,25,26,27,39,28, + 18,40, + 39, + 4,7,26, + 1, + 5,7,8,9,2,10,11,12,13,15,14,29,21,31,34,35,36,37,23,38,6,26,27,28, + 21,32,22,38,39, + 7, + 3,5,0,1,7,10,11,13,29,30,16,31,32,35,36,23,38,26,27,39,28,40, + 17, + 26, + 5,0, + 7,38, + 5, + 3,4,0,7,8,2,11,12,13,16,18,21,32,34,35,36,37,23,6,26,27,39,28, + 5,0,36,38, + 20, + 39, + 0, + 3,8,13,16,21,34,35,36,37,23,26,28, + 33, + 35, + 1,7,33,36,23, + 32,26, + 30,25,40, + 0, + 3,4,0,1,7,9,2,10,11,12,13,15,14,30,16,17,21,31,32,34,33,35,22,37,23,24,38,6,25,26,27,39,28,40, + 31, + 33,35,40, + 35, + 29, + 11,13,32,35,28, + 8,11,12,13,29,20,21,34,37,23,38,6,26,28,40, + 30,35,22,6,40, + 1,32,38, + 8,23, + 18, + 35, + 5, + 5,0, + 5,34, + 3,35,23, + 3, + 7,36,23,6,28, + 3,5,0,1,7,8,9,2,10,11,12,13,15,14,16,18,19,21,32,34,33,35,22,36,37,23,24,6,25,26,27,39,28, + 0,10,15,30,32,22,38, + 6, + 6, + 33,6,40, + 32,35,36,6, + 4,30,31, + 5,0, + 0,35, + 36, + 1,7,31,33,35,36,23,24, + 4,19, + 10,11,12,20,34,33,25, + 1,7,31,33,36,23,24, + 5,0,1,7,2,10,11,12,13,15,14,29,18,19,21,34,33,37,23,24,25,26,28, + 11,12,34, + 1,24, + 30,31,32,33,35,40, + 11,12,34, + + diff --git a/doc/salome/gui/VISU/whxdata/whgdata0.xml b/doc/salome/gui/VISU/whxdata/whgdata0.xml index 0075ff8d..b0993a04 100755 --- a/doc/salome/gui/VISU/whxdata/whgdata0.xml +++ b/doc/salome/gui/VISU/whxdata/whgdata0.xml @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whxdata/whglo.xml b/doc/salome/gui/VISU/whxdata/whglo.xml index 0f1cd68e..ac67056d 100755 --- a/doc/salome/gui/VISU/whxdata/whglo.xml +++ b/doc/salome/gui/VISU/whxdata/whglo.xml @@ -1,5 +1,5 @@ - - - - + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/whxdata/whidx.xml b/doc/salome/gui/VISU/whxdata/whidx.xml index ac66bb96..44f05e5b 100755 --- a/doc/salome/gui/VISU/whxdata/whidx.xml +++ b/doc/salome/gui/VISU/whxdata/whidx.xml @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/doc/salome/gui/VISU/whxdata/whtdata0.xml b/doc/salome/gui/VISU/whxdata/whtdata0.xml index bea3a5fd..14a0dff2 100755 --- a/doc/salome/gui/VISU/whxdata/whtdata0.xml +++ b/doc/salome/gui/VISU/whxdata/whtdata0.xml @@ -1,59 +1,57 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whxdata/whtoc.xml b/doc/salome/gui/VISU/whxdata/whtoc.xml index a271ba7c..871ec25b 100755 --- a/doc/salome/gui/VISU/whxdata/whtoc.xml +++ b/doc/salome/gui/VISU/whxdata/whtoc.xml @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/doc/salome/tui/Makefile.in b/doc/salome/tui/Makefile.am similarity index 72% rename from doc/salome/tui/Makefile.in rename to doc/salome/tui/Makefile.am index 712af448..851e45d9 100644 --- a/doc/salome/tui/Makefile.in +++ b/doc/salome/tui/Makefile.am @@ -1,5 +1,4 @@ -# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -20,21 +19,14 @@ # File : Makefile.in # Author : Vasily Rusyaev (Open Cascade NN) # Module : doc -# $Header: -top_srcdir=@top_srcdir@ -top_builddir=../../.. -root_srcdir=@ROOT_SRCDIR@ -srcdir=@srcdir@ -VPATH=.:@srcdir@ -doxygen=@DOXYGEN@ +include $(top_srcdir)/adm_local/unix/make_common_starter.am -@COMMENCE@ +EXTRA_DIST+=VISU dev_docs: cp -fr $(srcdir)/VISU ./INPUT; \ - cp -fr ./VISU/doxyfile ./INPUT; \ - cp -fr ./VISU/sources/static/tree.js ./INPUT/sources/static; \ + cp -f ./VISU/doxyfile ./INPUT; \ cd INPUT; \ sed 's|../../../share/salome|$(root_srcdir)|' ./doxyfile > ./doxyfile1; \ sed 's|../../build/salome|$(top_builddir)|' ./doxyfile1 > ./doxyfile2; \ @@ -53,23 +45,13 @@ dev_docs: mv -f doxyfile2 doxyfile1; \ fi; \ mv -f doxyfile1 doxyfile; \ + echo "Running doxygen in directory:"`pwd`; \ $(doxygen) ./doxyfile; \ - cd ..; \ - cp -fr $(srcdir)/VISU/sources/static/*.* ./VISU/ - cp -fr $(srcdir)/VISU/sources/ VISU/ - cp -fr $(srcdir)/VISU/HTML/ VISU/ + cd ../; \ + cp -fr $(srcdir)/VISU/sources/ VISU ; \ rm -fr INPUT -clean: - rm -fr VISU +doctuidir=$(docdir)/tui/VISU -distclean: clean - rm -fr INPUT - -install: - $(INSTALL) -d $(docdir); \ - mkdir -p $(docdir)/tui - cp -fr VISU $(docdir)/tui - -uninstall: - rm -fr $(docdir)/tui/VISU +nodist_doctui_DATA= VISU/doxyfile +EXTRA_DIST+= VISU/doxyfile.in diff --git a/doc/salome/tui/VISU/sources/static/examples_VISU.html b/doc/salome/tui/VISU/sources/static/examples_VISU.html index 40e26ee9..bd5bca94 100755 --- a/doc/salome/tui/VISU/sources/static/examples_VISU.html +++ b/doc/salome/tui/VISU/sources/static/examples_VISU.html @@ -1,1270 +1,1270 @@ - - - - - - - - Main Page - - - - -   -
-
string VISU.XYPlot.GetYTitle string VISU.XYPlot.GetYTitle  ) 
void VISU.View.SetTitle in string in string  theTitle  )  [inherited] - + @@ -2118,7 +2125,7 @@ Updates the view. - + @@ -2150,7 +2157,7 @@ Saves the view.
Parameters:
"; - return sHTML; -} - -function showHidePane(bShow) -{ - var oMsg=null; - if(bShow) - oMsg=new whMessage(WH_MSG_SHOWPANE,this,1,null); - else - oMsg=new whMessage(WH_MSG_HIDEPANE,this,1,null); - SendMessage(oMsg); -} - -function isShowHideEnable() -{ - if(gbIE4) - return true; - else - return false; -} - - -function PickupDialog_Invoke() -{ - if(!gbIE4||gbMac) - { - if(typeof(_PopupMenu_Invoke)=="function") - return _PopupMenu_Invoke(PickupDialog_Invoke.arguments); - } - else - { - if(PickupDialog_Invoke.arguments.length>2) - { - var sPickup="whskin_pickup.htm"; - var sPickupPath=gsPPath+sPickup; - if(gbIE4) - { - var sFrame=PickupDialog_Invoke.arguments[1]; - var aTopics=new Array(); - for(var i=2;i1) - { - var nWidth=300; - var nHeight=180; - var nScreenWidth=screen.width; - var nScreenHeight=screen.height; - var nLeft=(nScreenWidth-nWidth)/2; - var nTop=(nScreenHeight-nHeight)/2; - if(gbIE4) - { - var vRet=window.showModalDialog(sPickupPath,aTopics,"dialogHeight:"+nHeight+"px;dialogWidth:"+nWidth+"px;resizable:yes;status:no;scroll:no;help:no;center:yes;"); - if(vRet) - { - var sURL=vRet.m_url; - if(sFrame) - window.open(sURL,sFrame); - else - window.open(sURL,"_self"); - } - } - } - else if(aTopics.length==1) - { - var sURL=aTopics[0].m_sURL - if(sFrame) - window.open(sURL,sFrame); - else - window.open(sURL,"_self"); - } - } - } - } -} - -if(window.gbWhUtil&&window.gbWhMsg&&window.gbWhVer&&window.gbWhProxy) -{ - RegisterListener("bsscright",WH_MSG_GETAVIAVENUES); - RegisterListener("bsscright",WH_MSG_GETTOCPATHS); - RegisterListener("bsscright",WH_MSG_NEXT); - RegisterListener("bsscright",WH_MSG_PREV); - RegisterListener("bsscright",WH_MSG_WEBSEARCH); - if(gbMac&&gbIE4) - { - if(typeof(window.onunload)!="unknown") - if(window.onunload.toString!=unRegisterListener.toString) - whtopic_foldUnload=window.onunload; - } - else - { - if(window.onunload) - if(window.onunload.toString!=unRegisterListener.toString) - whtopic_foldUnload=window.onunload; - } - window.onunload=unRegisterListener; - setButtonFont("show","","","","","",""); -setButtonFont("hide","","","","","",""); - - gbWhTopic=true; -} -else - document.location.reload(); \ No newline at end of file +// WebHelp 5.10.005 +var gsPPath=""; +var gaPaths=new Array(); +var gaAvenues=new Array(); + +var goFrame=null; +var gsStartPage=""; +var gsRelCurPagePath=""; +var gsSearchFormHref=""; +var gnTopicOnly=-1; +var gnOutmostTopic=-1; + +var BTN_TEXT=1; +var BTN_IMG=2; + +var goSync=null; + +var goShow=null; +var goHide=null; + +var goPrev=null; +var goNext=null; +var gnForm=0; +var goShowNav=null; +var goHideNav=null; + +var goWebSearch=null; + +var gsBtnStyle=""; +var gaButtons=new Array(); +var gaTypes=new Array(); +var whtopic_foldUnload=null; +var gbWhTopic=false; +var gbCheckSync=false; +var gbSyncEnabled=false; + +function setButtonFont(sType,sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration) +{ + var vFont=new whFont(sFontName,sFontSize,sFontColor,sFontStyle,sFontWeight,sFontDecoration); + gsBtnStyle+=".whtbtn"+sType+"{"+getFontStyle(vFont)+"}"; +} + +function writeBtnStyle() +{ + if(gaButtons.length>0) + { + if(gsBtnStyle.length>0) + { + var sStyle=""; + document.write(sStyle); + } + } +} + +function button(sText,nWidth,nHeight) +{ + this.sText=sText; + this.nWidth=nWidth; + this.nHeight=nHeight; + + this.aImgs=new Array(); + var i=0; + while(button.arguments.length>i+3) + { + this.aImgs[i]=button.arguments[3+i]; + i++; + } +} + +//project info +function setRelStartPage(sPath) +{ + if(gsPPath.length==0) + { + gsPPath=_getFullPath(_getPath(document.location.href),_getPath(sPath)); + gsStartPage=_getFullPath(_getPath(document.location.href),sPath); + gsRelCurPagePath=_getRelativeFileName(gsStartPage,document.location.href); + } +} + +function getImage(oImage,sType) +{ + var sImg=""; + if(oImage&&oImage.aImgs&&(oImage.aImgs.length>0)) + { + sImg+="\""+sType+"\"0) + sImg+=" width="+oImage.nWidth; + if(oImage.nHeight>0) + sImg+=" height="+oImage.nHeight; + sImg+=" border=0>"; + } + return sImg; +} + +function addTocInfo(sTocPath) +{ + gaPaths[gaPaths.length]=sTocPath; +} + +function addAvenueInfo(sName,sPrev,sNext) +{ + gaAvenues[gaAvenues.length]=new avenueInfo(sName,sPrev,sNext); +} + +function addButton(sType,nStyle,sText,sHref,sOnClick,sOnMouseOver,sOnLoad,nWidth,nHeight,sImg1,sImg2,sImg3) +{ + var sButton=""; + var nBtn=gaButtons.length; + if(sType=="prev") + { + if(canGo(false)) + { + var sTitle="Previous Topic"; + goPrev=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goPrev.sText; + else + sButton+=getImage(goPrev,sTitle); + sButton+=""; + } + } + else if(sType=="next") + { + if(canGo(true)) + { + var sTitle="Next Topic"; + goNext=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goNext.sText; + else + sButton+=getImage(goNext,sTitle); + sButton+=""; + } + } + else if(sType=="show") + { + if(isTopicOnly()&&(!gbOpera6||gbOpera7)) + { + var sTitle="Show Navigation Component"; + goShow=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goShow.sText; + else + sButton+=getImage(goShow,sTitle); + sButton+=""; + } + } + else if(sType=="hide") + { + if(!isTopicOnly()&&!gbOpera6) + { + var sTitle="Hide Navigation Component"; + goHide=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goHide.sText; + else + sButton+=getImage(goHide,sTitle); + sButton+=""; + } + } + else if(sType=="shownav") + { + if(isShowHideEnable()) + { + var sTitle="Show Navigation Component"; + goShowNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goShowNav.sText; + else + sButton+=getImage(goShowNav,sTitle); + sButton+=""; + } + } + else if(sType=="hidenav") + { + if(isShowHideEnable()) + { + var sTitle="Hide Navigation Component"; + goHideNav=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goHideNav.sText; + else + sButton+=getImage(goHideNav,sTitle); + sButton+=""; + } + } + else if(sType=="synctoc") + { + if(gaPaths.length>0) + { + var sTitle="Sync TOC"; + goSync=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goSync.sText; + else + sButton+=getImage(goSync,sTitle); + sButton+=""; + } + } + else if(sType=="websearch") + { + if(gsSearchFormHref.length>0) + { + var sTitle="WebSearch"; + goWebSearch=new button(sText,nWidth,nHeight,sImg1,sImg2,sImg3); + sButton=""; + if(nStyle==BTN_TEXT) + sButton+=goWebSearch.sText; + else + sButton+=getImage(goWebSearch,sTitle); + sButton+=""; + } + } + else if(sType=="searchform") + { + gaButtons[nBtn]="NeedSearchForm"; + gaTypes[nBtn]=sType; + } + if(sButton.length!=0) + { + if(nStyle==BTN_TEXT) + sButton+=" "; + gaButtons[nBtn]=""; + gaTypes[nBtn]=sType; + } +} + +function isSyncEnabled() +{ + if(!gbCheckSync) + { + var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null); + if(SendMessage(oMsg)) + { + gbSyncEnabled=oMsg.oParam; + } + gbCheckSync=true; + } + return gbSyncEnabled; +} + +function isInPopup() +{ + return (window.name.indexOf("BSSCPopup")!=-1); +} + +function getIntopicBar(sAlign) +{ + var sHTML=""; + if(gaButtons.length>0) + { + sHTML+="
"; + + sHTML+="
string VISU.View.GetTitle string VISU.View.GetTitle  ) 
boolean VISU.View.SavePicture in string in string  theFileName  )  [inherited] - + @@ -2177,7 +2184,7 @@ Returns ID of the object. "; - gaTypes[nBtn]=sType; - } -} - -function isSyncEnabled() -{ - if(!gbCheckSync) - { - var oMsg=new whMessage(WH_MSG_ISSYNCSSUPPORT,this,1,null); - if(SendMessage(oMsg)) - { - gbSyncEnabled=oMsg.oParam; - } - gbCheckSync=true; - } - return gbSyncEnabled; -} - -function isInPopup() -{ - return (window.name.indexOf("BSSCPopup")!=-1); -} - -function getIntopicBar(sAlign) -{ - var sHTML=""; - if(gaButtons.length>0) - { - sHTML+="
"; - - sHTML+="
IdType VISU.Base.GetID IdType VISU.Base.GetID  )  - + @@ -2199,5 +2206,7 @@ Returns the type of the presentable object
VISUType VISU.Base.GetType VISUType VISU.Base.GetType  ) 
+ diff --git a/doc/salome/gui/VISU/vtk_3d_viewer.htm b/doc/salome/gui/VISU/vtk_3d_viewer.htm deleted file mode 100755 index 28b92248..00000000 --- a/doc/salome/gui/VISU/vtk_3d_viewer.htm +++ /dev/null @@ -1,240 +0,0 @@ - - - - - -VTK 3D Viewer - - - - - - - - - - - - - -

VTK 3D Viewer

- -

VTK - 3D viewer  is - used in Post-Pro module for visualization of all 3D Presentations except - for Gauss Points Presentations.

- -

 

- -

The functionalities of VTK viewer are available via its Viewer Toolbar. - Buttons marked with small downward triangles have extended functionality - which can be accessed by locking on them with left mouse button.  

- -

 

- -

- -

 

- -
    - -
  • Dump - View - exports an object from the viewer in bmp, png, jpg or jpeg - image format.

  • - -
  • Show/Hide - Trihedron - shows or hides coordinate axes. -

  • - -
  • Fit - all - allows to select a point to be the center of a scene representing - all displayed objects in the visible area. -

  • - -
  • Fit - area - resizes the view to place in the visible area only the contents - of a frame drawn with pressed left mouse button.

  • - -
  • Zoom -  allows - to zoom in and out.

  • - -
  • Panning - - if the represented objects are greater that the visible area and you - don't wish to use Fit all functionality, - click on this button and you'll be able to drag the scene to see its remote - parts.

  • - -
  • Global panning - represents all displayed - objects in the visible area.

  • - -
  • Rotation - allows to rotate the selected - object using the mouse.

  • - -
  • These - buttons orientate the scene strictly about coordinate axes.

  • - -
  • Reset - restores the default position - (isometric) of objects in the scene.

  • - -
  • Graduated axes - allows to define parameters - of axes and graduate them.

  • -
- -

 

- -

- -

 

- -
    - -
  • Axis name

  • - -
  • Is - visible - if checked the axis name - is displayed in the viewer.

  • - -
  • Name - allows to redefine the name of the axis.

  • - -
  • Font - allows to define color and properties - of the font of axis name.

  • - -
  • Labels

  • - -
  • Is - visible - if checked the labels are - displayed in the viewer.

  • - -
  • Number - allows to define the number of labels.

  • - -
  • Offset - allows to define the distance between - labels.

  • - -
  • Font - allows to define color and properties - of the font of labels names.

  • - -
  • Tick - marks

  • - -
  • Is - visible - if checked the tick marks - are displayed in the viewer.

  • - -
  • Length - allows to define the length of tick marks

  • - -
  • Is - visible if checked the axis is displayed - in the viewer.

  • -
- -

 

- - - - diff --git a/doc/salome/gui/VISU/webhelp.jar b/doc/salome/gui/VISU/webhelp.jar index 53b2666365f925aa3d03937608babf0aef95f661..1d1697e7646e8c22cada468b8813c461258493fa 100755 GIT binary patch delta 23 fcmex5i{tYwj)pCai4xnBBp5#)-5zp}QBfZNfz=89 delta 27 gcmex7i{tAoj)pCai4u&w+kwQ#qd+?79;2c@0Guic761SM diff --git a/doc/salome/gui/VISU/whcsh_home.htm b/doc/salome/gui/VISU/whcsh_home.htm index 5a486ba2..bc99598c 100755 --- a/doc/salome/gui/VISU/whcsh_home.htm +++ b/doc/salome/gui/VISU/whcsh_home.htm @@ -1,600 +1,600 @@ - - - - - - \ No newline at end of file + + + + + + diff --git a/doc/salome/gui/VISU/whcshdata.htm b/doc/salome/gui/VISU/whcshdata.htm index 0aaebcd9..a2ddbd9a 100755 --- a/doc/salome/gui/VISU/whcshdata.htm +++ b/doc/salome/gui/VISU/whcshdata.htm @@ -1,87 +1,87 @@ - - -Post-Pro Module Reference Manual - - - - - - - - - - + + +Post-Pro Module Reference Manual + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whd_dpns.htm b/doc/salome/gui/VISU/whd_dpns.htm index 1bca2360..3983ccbd 100755 --- a/doc/salome/gui/VISU/whd_dpns.htm +++ b/doc/salome/gui/VISU/whd_dpns.htm @@ -1,43 +1,43 @@ - - -Navigator Pane - - - - - - - - - - - - - + + +Navigator Pane + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/whd_nvp10.htm b/doc/salome/gui/VISU/whd_nvp10.htm index a57fe1e4..05b5f908 100755 --- a/doc/salome/gui/VISU/whd_nvp10.htm +++ b/doc/salome/gui/VISU/whd_nvp10.htm @@ -1,15 +1,15 @@ - - -Navigation Pane - - - - - - - - - - - - + + +Navigation Pane + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whd_nvp20.htm b/doc/salome/gui/VISU/whd_nvp20.htm index c5754bc4..23c23dc4 100755 --- a/doc/salome/gui/VISU/whd_nvp20.htm +++ b/doc/salome/gui/VISU/whd_nvp20.htm @@ -1,334 +1,334 @@ - - -navigation pane - - - - - - - - - - - - - - - - - + + +navigation pane + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whd_tabs.htm b/doc/salome/gui/VISU/whd_tabs.htm index 1568f573..e8c498c8 100755 --- a/doc/salome/gui/VISU/whd_tabs.htm +++ b/doc/salome/gui/VISU/whd_tabs.htm @@ -1,533 +1,533 @@ - - -WebHelp Tabs Frame in Navigation Pane - - - - - - - - - - + + +WebHelp Tabs Frame in Navigation Pane + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/whd_topic.xml b/doc/salome/gui/VISU/whd_topic.xml index a1b0320f..b1946d75 100755 --- a/doc/salome/gui/VISU/whd_topic.xml +++ b/doc/salome/gui/VISU/whd_topic.xml @@ -1,85 +1,85 @@ - - - - - - - - - - -"]]> - - - - -"]]> - - - - -"; -OutputInTopicNavBarDataWebSearch.form();]]> - - - - - - - - - - -"]]> - - - + + + + + + + + + + +"]]> + + + + +"]]> + + + + +"; +OutputInTopicNavBarDataWebSearch.form();]]> + + + + + + + + + + +"]]> + + + diff --git a/doc/salome/gui/VISU/whdata/whftdata.js b/doc/salome/gui/VISU/whdata/whftdata.js index 071ae6fc..addf2622 100755 --- a/doc/salome/gui/VISU/whdata/whftdata.js +++ b/doc/salome/gui/VISU/whdata/whftdata.js @@ -1,25 +1,25 @@ -// WebHelp 5.10.001 -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); - } - } -} - +// WebHelp 5.10.001 +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/VISU/whdata/whftdata0.htm b/doc/salome/gui/VISU/whdata/whftdata0.htm index 76853b76..eae6a624 100755 --- a/doc/salome/gui/VISU/whdata/whftdata0.htm +++ b/doc/salome/gui/VISU/whdata/whftdata0.htm @@ -1,59 +1,59 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whdata/whfts.htm b/doc/salome/gui/VISU/whdata/whfts.htm index ca3b05e5..15fe687b 100755 --- a/doc/salome/gui/VISU/whdata/whfts.htm +++ b/doc/salome/gui/VISU/whdata/whfts.htm @@ -1,18 +1,18 @@ - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whdata/whfts.js b/doc/salome/gui/VISU/whdata/whfts.js index 2b667869..54246f69 100755 --- a/doc/salome/gui/VISU/whdata/whfts.js +++ b/doc/salome/gui/VISU/whdata/whfts.js @@ -1,40 +1,40 @@ -// WebHelp 5.10.001 -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; +// WebHelp 5.10.001 +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/VISU/whdata/whfwdata.js b/doc/salome/gui/VISU/whdata/whfwdata.js index e9e8bc6c..8340b59d 100755 --- a/doc/salome/gui/VISU/whdata/whfwdata.js +++ b/doc/salome/gui/VISU/whdata/whfwdata.js @@ -1,37 +1,37 @@ -// WebHelp 5.10.001 -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); - } - } -} - +// WebHelp 5.10.001 +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/VISU/whdata/whfwdata0.htm b/doc/salome/gui/VISU/whdata/whfwdata0.htm index 7eb72858..3307ee33 100755 --- a/doc/salome/gui/VISU/whdata/whfwdata0.htm +++ b/doc/salome/gui/VISU/whdata/whfwdata0.htm @@ -1,862 +1,902 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whdata/whgdata.js b/doc/salome/gui/VISU/whdata/whgdata.js index 77e0107f..e38a107b 100755 --- a/doc/salome/gui/VISU/whdata/whgdata.js +++ b/doc/salome/gui/VISU/whdata/whgdata.js @@ -1,26 +1,26 @@ -// WebHelp 5.10.001 -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); - } - } -} - +// WebHelp 5.10.001 +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/VISU/whdata/whgdata0.htm b/doc/salome/gui/VISU/whdata/whgdata0.htm index 9d256b1a..3865725f 100755 --- a/doc/salome/gui/VISU/whdata/whgdata0.htm +++ b/doc/salome/gui/VISU/whdata/whgdata0.htm @@ -1,33 +1,33 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whdata/whglo.htm b/doc/salome/gui/VISU/whdata/whglo.htm index dc5a6778..9d7ac79f 100755 --- a/doc/salome/gui/VISU/whdata/whglo.htm +++ b/doc/salome/gui/VISU/whdata/whglo.htm @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/whdata/whglo.js b/doc/salome/gui/VISU/whdata/whglo.js index e0519afc..c34fb24b 100755 --- a/doc/salome/gui/VISU/whdata/whglo.js +++ b/doc/salome/gui/VISU/whdata/whglo.js @@ -1,34 +1,34 @@ -// WebHelp 5.10.001 -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; +// WebHelp 5.10.001 +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/VISU/whdata/whidata.js b/doc/salome/gui/VISU/whdata/whidata.js index 9f0eb15e..a9218473 100755 --- a/doc/salome/gui/VISU/whdata/whidata.js +++ b/doc/salome/gui/VISU/whdata/whidata.js @@ -1,89 +1,89 @@ -// WebHelp 5.10.001 -// 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); - } - } -} - +// WebHelp 5.10.001 +// 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/VISU/whdata/whidx.htm b/doc/salome/gui/VISU/whdata/whidx.htm index 0a0deedd..a049a96f 100755 --- a/doc/salome/gui/VISU/whdata/whidx.htm +++ b/doc/salome/gui/VISU/whdata/whidx.htm @@ -1,15 +1,15 @@ - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/whdata/whidx.js b/doc/salome/gui/VISU/whdata/whidx.js index e0519afc..c34fb24b 100755 --- a/doc/salome/gui/VISU/whdata/whidx.js +++ b/doc/salome/gui/VISU/whdata/whidx.js @@ -1,34 +1,34 @@ -// WebHelp 5.10.001 -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; +// WebHelp 5.10.001 +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/VISU/whdata/whtdata.js b/doc/salome/gui/VISU/whdata/whtdata.js index d5428a7d..0558e198 100755 --- a/doc/salome/gui/VISU/whdata/whtdata.js +++ b/doc/salome/gui/VISU/whdata/whtdata.js @@ -1,64 +1,64 @@ -// WebHelp 5.10.001 -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 (this.nType == 4) - { - if(this.sRefURL.lastIndexOf("/")!=this.sRefURL.length-1) - this.sRefURL+="/"; - } - 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); - } -} +// WebHelp 5.10.001 +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 (this.nType == 4) + { + if(this.sRefURL.lastIndexOf("/")!=this.sRefURL.length-1) + this.sRefURL+="/"; + } + 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/VISU/whdata/whtdata0.htm b/doc/salome/gui/VISU/whdata/whtdata0.htm index d66408b0..fe3b5c79 100755 --- a/doc/salome/gui/VISU/whdata/whtdata0.htm +++ b/doc/salome/gui/VISU/whdata/whtdata0.htm @@ -1,61 +1,60 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whdata/whtoc.htm b/doc/salome/gui/VISU/whdata/whtoc.htm index 54e0cbf2..459c3e31 100755 --- a/doc/salome/gui/VISU/whdata/whtoc.htm +++ b/doc/salome/gui/VISU/whdata/whtoc.htm @@ -1,16 +1,16 @@ - - - - - - - - - - + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/gui/VISU/whdata/whtoc.js b/doc/salome/gui/VISU/whdata/whtoc.js index 163d8cc9..62de5a13 100755 --- a/doc/salome/gui/VISU/whdata/whtoc.js +++ b/doc/salome/gui/VISU/whdata/whtoc.js @@ -1,31 +1,31 @@ -// WebHelp 5.10.001 -// 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) -{ - if(sProjPath.lastIndexOf("/")!=sProjPath.length-1) - sProjPath+="/"; - this.sPPath = sProjPath; - this.sRPath = sRootPath; -} - - -function window_OnLoad() -{ - if (parent && parent != this && parent.projReady) { - parent.projReady(gsRoot, gaProj); - } -} +// WebHelp 5.10.001 +// 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) +{ + if(sProjPath.lastIndexOf("/")!=sProjPath.length-1) + sProjPath+="/"; + 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/VISU/whfbody.htm b/doc/salome/gui/VISU/whfbody.htm index 5666e1b5..ea648e4b 100755 --- a/doc/salome/gui/VISU/whfbody.htm +++ b/doc/salome/gui/VISU/whfbody.htm @@ -1,37 +1,37 @@ - - -Search Result - - - - - - - - - - - - - - - - - + + +Search Result + + + + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whfdhtml.htm b/doc/salome/gui/VISU/whfdhtml.htm index 37429607..c2e65bea 100755 --- a/doc/salome/gui/VISU/whfdhtml.htm +++ b/doc/salome/gui/VISU/whfdhtml.htm @@ -1,30 +1,30 @@ - - -Search Frame - - - - - - - - - + + +Search Frame + + + + + + + + + diff --git a/doc/salome/gui/VISU/whfform.htm b/doc/salome/gui/VISU/whfform.htm index 87d754ec..0f8f90ab 100755 --- a/doc/salome/gui/VISU/whfform.htm +++ b/doc/salome/gui/VISU/whfform.htm @@ -1,136 +1,136 @@ - - -Search Form - - - - - - - - - - - - - - \ No newline at end of file + + +Search Form + + + + + + + + + + + + + + diff --git a/doc/salome/gui/VISU/whfhost.js b/doc/salome/gui/VISU/whfhost.js index 167acc45..c3c7144f 100755 --- a/doc/salome/gui/VISU/whfhost.js +++ b/doc/salome/gui/VISU/whfhost.js @@ -1,945 +1,945 @@ -// WebHelp 5.10.003 -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; -var gbFirst=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(); - } - else{ - displayTopics(); - checkAgain(); - } -} - -function checkAgain() -{ - gsCheckKey = ""; - gnIndexNum = 0; - 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
"+sButton+"
"; - for(var i=0;i0) - { - var sHTML=""; - if(nAligns!=0) - { - sHTML+="
" - if(nAligns&1) - sHTML+=""; - if(nAligns&2) - sHTML+=""; - if(nAligns&4) - sHTML+=""; - sHTML+="
"+getIntopicBar("left")+""+getIntopicBar("center")+""+getIntopicBar("right")+"
"; - document.write(sHTML); - } - } -} - -function sendAveInfoOut() -{ - if(!isInPopup()) - setTimeout("sendAveInfo();",100); -} - -function sendAveInfo() -{ - var oMsg=new whMessage(WH_MSG_AVENUEINFO,this,1,gaAvenues); - SendMessage(oMsg); -} - - -function onNext() -{ - var oMsg=new whMessage(WH_MSG_NEXT,this,1,null); - SendMessage(oMsg); -} - -function onPrev() -{ - var oMsg=new whMessage(WH_MSG_PREV,this,1,null); - SendMessage(oMsg); -} - -function createSyncInfo() -{ - var oParam=new Object(); - if(gsPPath.length==0) - gsPPath=_getPath(document.location.href); - oParam.sPPath=gsPPath; - oParam.sTPath=document.location.href; - oParam.aPaths=gaPaths; - return oParam; -} - -function syncWithShow() -{ - if(isTopicOnly()) - show(); - else - { - sync(); - showTocPane(); - } -} - -function showTocPane() -{ - var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null); - SendMessage(oMsg); -} - -function sendSyncInfo() -{ - if(!isInPopup()) - { - var oParam=null; - if(gaPaths.length>0) - { - oParam=createSyncInfo(); - } - var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,oParam); - SendMessage(oMsg); - } -} - -function sendInvalidSyncInfo() -{ - if(!isInPopup()) - { - var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,null); - SendMessage(oMsg); - } -} - -function enableWebSearch(bEnable) -{ - if(!isInPopup()) - { - var oMsg=new whMessage(WH_MSG_ENABLEWEBSEARCH,this,1,bEnable); - SendMessage(oMsg); - } -} - -function autoSync(nSync) -{ - if(nSync==0) return; - if(isInPopup()) return; - if(isOutMostTopic()) - sync(); -} - -function isOutMostTopic() -{ - if(gnOutmostTopic==-1) - { - var oMessage=new whMessage(WH_MSG_ISINFRAMESET,this,1,null); - if(SendMessage(oMessage)) - gnOutmostTopic=0; - else - gnOutmostTopic=1; - } - return (gnOutmostTopic==1); -} - -function sync() -{ - if(gaPaths.length>0) - { - var oParam=createSyncInfo(); - var oMessage=new whMessage(WH_MSG_SYNCTOC,this,1,oParam); - SendMessage(oMessage); - } -} - - -function avenueInfo(sName,sPrev,sNext) -{ - this.sName=sName; - this.sPrev=sPrev; - this.sNext=sNext; -} - -function getCurrentAvenue() -{ - var oParam=new Object(); - oParam.sAvenue=null; - var oMessage=new whMessage(WH_MSG_GETCURRENTAVENUE,this,1,oParam); - SendMessage(oMessage); - return oParam.sAvenue; -} - -function unRegisterListener() -{ - sendInvalidSyncInfo(); - enableWebSearch(false); - if(whtopic_foldUnload) - whtopic_foldUnload(); -} - -function onSendMessage(oMsg) -{ - var nMsgId=oMsg.nMessageId; - if(nMsgId==WH_MSG_GETAVIAVENUES) - { - oMsg.oParam.aAvenues=gaAvenues; - return false; - } - else if(nMsgId==WH_MSG_GETTOCPATHS) - { - if(isOutMostTopic()) - { - oMsg.oParam.oTocInfo=createSyncInfo(); - return false; - } - else - return true; - } - else if(nMsgId==WH_MSG_NEXT) - { - goAvenue(true); - } - else if(nMsgId==WH_MSG_PREV) - { - goAvenue(false); - } - else if(nMsgId==WH_MSG_WEBSEARCH) - { - websearch(); - } - return true; -} - -function goAvenue(bNext) -{ - var sTopic=null; - var sAvenue=getCurrentAvenue(); - var nAvenue=-1; - if(sAvenue!=null&&sAvenue!="") - { - for(var i=0;i0&&bNext) - { - sTopic=gaAvenues[i].sNext; - break; - } - else if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext) - { - sTopic=gaAvenues[i].sPrev; - break; - } - } - } - - if(sTopic!=null&&sTopic!="") - { - if(gsPPath!=null&&gsPPath!="") - { - sFullTopicPath=_getFullPath(gsPPath,sTopic); - document.location=sFullTopicPath; - } - } -} - -function canGo(bNext) -{ - for(var i=0;i0&&bNext)|| - (gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext)) - return true; - } - return false; -} - -function show() -{ - if(gsStartPage!="") - window.location=gsStartPage+"#"+gsRelCurPagePath; -} - -function hide() -{ - if(goFrame!=null) - { - goFrame.location=window.location; - } -} - -function isTopicOnly() -{ - if(gnTopicOnly==-1) - { - var oParam=new Object(); - oParam.oFrame=null; - var oMsg=new whMessage(WH_MSG_GETSTARTFRAME,this,1,oParam); - if(SendMessage(oMsg)) - { - goFrame=oParam.oFrame; - gnTopicOnly=0; - } - else - gnTopicOnly=1; - } - if(gnTopicOnly==1) - return true; - else - return false; -} - -function websearch() -{ - if(gbNav4) - { - if(document.ehelpform) - document.ehelpform.submit(); - } - else - { - if(window.ehelpform) - window.ehelpform.submit(); - } -} - -function addSearchFormHref(sHref) -{ - gsSearchFormHref=sHref; - enableWebSearch(true); -} - -function searchB(nForm) -{ - var sValue=eval("document.searchForm"+nForm+".searchString.value"); - var oMsg=new whMessage(WH_MSG_SEARCHTHIS,this,1,sValue); - SendMessage(oMsg); -} - -function getSearchFormHTML() -{ - var sHTML=""; - gnForm++; - var sFormName="searchForm"+gnForm; - var sButton="" - sButton+=""; - if(""=="text") - { - sButton+=""; - } - else if(""=="image") - { - sButton+="" - sButton+=""; - } - sButton+=""; - sHTML="
"+sButton+""+sButton+"
"; + for(var i=0;i0) + { + var sHTML=""; + if(nAligns!=0) + { + sHTML+="
" + if(nAligns&1) + sHTML+=""; + if(nAligns&2) + sHTML+=""; + if(nAligns&4) + sHTML+=""; + sHTML+="
"+getIntopicBar("left")+""+getIntopicBar("center")+""+getIntopicBar("right")+"
"; + document.write(sHTML); + } + } +} + +function sendAveInfoOut() +{ + if(!isInPopup()) + setTimeout("sendAveInfo();",100); +} + +function sendAveInfo() +{ + var oMsg=new whMessage(WH_MSG_AVENUEINFO,this,1,gaAvenues); + SendMessage(oMsg); +} + + +function onNext() +{ + var oMsg=new whMessage(WH_MSG_NEXT,this,1,null); + SendMessage(oMsg); +} + +function onPrev() +{ + var oMsg=new whMessage(WH_MSG_PREV,this,1,null); + SendMessage(oMsg); +} + +function createSyncInfo() +{ + var oParam=new Object(); + if(gsPPath.length==0) + gsPPath=_getPath(document.location.href); + oParam.sPPath=gsPPath; + oParam.sTPath=document.location.href; + oParam.aPaths=gaPaths; + return oParam; +} + +function syncWithShow() +{ + if(isTopicOnly()) + show(); + else + { + sync(); + showTocPane(); + } +} + +function showTocPane() +{ + var oMsg=new whMessage(WH_MSG_SHOWTOC,this,1,null); + SendMessage(oMsg); +} + +function sendSyncInfo() +{ + if(!isInPopup()) + { + var oParam=null; + if(gaPaths.length>0) + { + oParam=createSyncInfo(); + } + var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,oParam); + SendMessage(oMsg); + } +} + +function sendInvalidSyncInfo() +{ + if(!isInPopup()) + { + var oMsg=new whMessage(WH_MSG_SYNCINFO,this,1,null); + SendMessage(oMsg); + } +} + +function enableWebSearch(bEnable) +{ + if(!isInPopup()) + { + var oMsg=new whMessage(WH_MSG_ENABLEWEBSEARCH,this,1,bEnable); + SendMessage(oMsg); + } +} + +function autoSync(nSync) +{ + if(nSync==0) return; + if(isInPopup()) return; + if(isOutMostTopic()) + sync(); +} + +function isOutMostTopic() +{ + if(gnOutmostTopic==-1) + { + var oMessage=new whMessage(WH_MSG_ISINFRAMESET,this,1,null); + if(SendMessage(oMessage)) + gnOutmostTopic=0; + else + gnOutmostTopic=1; + } + return (gnOutmostTopic==1); +} + +function sync() +{ + if(gaPaths.length>0) + { + var oParam=createSyncInfo(); + var oMessage=new whMessage(WH_MSG_SYNCTOC,this,1,oParam); + SendMessage(oMessage); + } +} + + +function avenueInfo(sName,sPrev,sNext) +{ + this.sName=sName; + this.sPrev=sPrev; + this.sNext=sNext; +} + +function getCurrentAvenue() +{ + var oParam=new Object(); + oParam.sAvenue=null; + var oMessage=new whMessage(WH_MSG_GETCURRENTAVENUE,this,1,oParam); + SendMessage(oMessage); + return oParam.sAvenue; +} + +function unRegisterListener() +{ + sendInvalidSyncInfo(); + enableWebSearch(false); + if(whtopic_foldUnload) + whtopic_foldUnload(); +} + +function onSendMessage(oMsg) +{ + var nMsgId=oMsg.nMessageId; + if(nMsgId==WH_MSG_GETAVIAVENUES) + { + oMsg.oParam.aAvenues=gaAvenues; + return false; + } + else if(nMsgId==WH_MSG_GETTOCPATHS) + { + if(isOutMostTopic()) + { + oMsg.oParam.oTocInfo=createSyncInfo(); + return false; + } + else + return true; + } + else if(nMsgId==WH_MSG_NEXT) + { + goAvenue(true); + } + else if(nMsgId==WH_MSG_PREV) + { + goAvenue(false); + } + else if(nMsgId==WH_MSG_WEBSEARCH) + { + websearch(); + } + return true; +} + +function goAvenue(bNext) +{ + var sTopic=null; + var sAvenue=getCurrentAvenue(); + var nAvenue=-1; + if(sAvenue!=null&&sAvenue!="") + { + for(var i=0;i0&&bNext) + { + sTopic=gaAvenues[i].sNext; + break; + } + else if(gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext) + { + sTopic=gaAvenues[i].sPrev; + break; + } + } + } + + if(sTopic!=null&&sTopic!="") + { + if(gsPPath!=null&&gsPPath!="") + { + sFullTopicPath=_getFullPath(gsPPath,sTopic); + document.location=sFullTopicPath; + } + } +} + +function canGo(bNext) +{ + for(var i=0;i0&&bNext)|| + (gaAvenues[i].sPrev!=null&&gaAvenues[i].sPrev.length>0&&!bNext)) + return true; + } + return false; +} + +function show() +{ + if(gsStartPage!="") + window.location=gsStartPage+"#"+gsRelCurPagePath; +} + +function hide() +{ + if(goFrame!=null) + { + goFrame.location=window.location; + } +} + +function isTopicOnly() +{ + if(gnTopicOnly==-1) + { + var oParam=new Object(); + oParam.oFrame=null; + var oMsg=new whMessage(WH_MSG_GETSTARTFRAME,this,1,oParam); + if(SendMessage(oMsg)) + { + goFrame=oParam.oFrame; + gnTopicOnly=0; + } + else + gnTopicOnly=1; + } + if(gnTopicOnly==1) + return true; + else + return false; +} + +function websearch() +{ + if(gbNav4) + { + if(document.ehelpform) + document.ehelpform.submit(); + } + else + { + if(window.ehelpform) + window.ehelpform.submit(); + } +} + +function addSearchFormHref(sHref) +{ + gsSearchFormHref=sHref; + enableWebSearch(true); +} + +function searchB(nForm) +{ + var sValue=eval("document.searchForm"+nForm+".searchString.value"); + var oMsg=new whMessage(WH_MSG_SEARCHTHIS,this,1,sValue); + SendMessage(oMsg); +} + +function getSearchFormHTML() +{ + var sHTML=""; + gnForm++; + var sFormName="searchForm"+gnForm; + var sButton="
" + sButton+=""; + if(""=="text") + { + sButton+=""; + } + else if(""=="image") + { + sButton+="" + sButton+=""; + } + sButton+="
"; + sHTML="
"+sButton+"
- - - - - - - -
- - -
- - -

Examples

-      Interfaces:
-
- VISU::Base

- VISU::VISU_Gen
- VISU::PrsObject
-

- VISU::Result
-
- VISU::Prs3d

- VISU::Mesh
- VISU::ScalarMap
- VISU::CutPlanes
- VISU::CutLines
- VISU::IsoSurfaces
- VISU::DeformedShape
- VISU::Vectors
- VISU::StreamLines
-
- VISU::Table
- VISU::Curve
- VISU::Container
-
- VISU::ViewManager

- VISU::View
- VISU::View3D
- VISU::TableView
- VISU::XYPlot
- -

Base

- - - - - - - - - - - - -
IdType - VISU::Base::GetID   -
-
- -

#Returns ID of the object. That is IOR of CORBA representation a VISU -object.
-

- -

aSObject = myLocalStudy.FindObjectIOR(theResult.GetID())
-

- - - - - - - - - - - -
VISUType - VISU::Base::GetType   -
- -

#Returns the type of the presentable object. It can be used for quick -class definition of an VISU object
-
- if aVISUObject.GetType() == VISU.TSCALARMAP :
-     #do something ...
-

- -


-

-

VISU_Gen
-

- - - - - - - - - - - - - -
void VISU::VISU_Gen::SetCurrentStudy - in SALOMEDS::Study   theStudy -
-
-
- -

- - - - - - - -
- - - - - - - - - - - -
SALOMEDS::Study -VISU::VISU_Gen::GetCurrentStudy   -
-
-
-
- #It is very important to set SALOMEDS::Study for VISU Engine before you -start any work with them.
- #Every object that you will create will be assigned to the study you set -before.
- #It can be done like this:
-

- -

aStudy = myStudyManager.NewStudy("A foo Study")
- if aStudy is None : raise RuntimeError, "Error"
- else : print "OK"
-     theVisuGen.SetCurrentStudy(aStudy)
-     #to do every things you like
-     ...
-

- -

- - - - - - - -
- - - - - - - - - - - -
ViewManager -VISU::VISU_Gen::GetViewManager   -
-
-
- - - - - - - - - -
  -

Gets the ViewManager which is used for creation of post-processing -presentations.

-
-
- #In order to display any VISU::PrsObject in propriate viewer you must take -VISU::ViewManager interface
-

- -

aViewManager = myVisuGen.GetViewManager()
- #to do something for displaing some presentation
- ...
-

- -

- - - - - - - -
- - - - - - - - - - - - -
SALOMEDS::SObject -VISU::VISU_Gen::ImportTables in string   theFileName -
-
-
- - - - - - - - - -
  -

Imports tables from a file and create TableAttribute in Sudy -

-
-
- #It is possible to import some ASCII files that include text table representation. -One file can consist from more than one table.
-

- -

aSObject = myVisuGen.ImportTables("/MyPresicousFileOfTables.txt")
-

- -

- - - - - - - -
- - - - - - - - - - - - -
Result -VISU::VISU_Gen::ImportFile in string   theFileName -
-
-
- - - - - - - - - -
  -

Imports data from a file.

-
-
- #It is possible import a med files to VISU
-

- -

aResult = myVisuGen.ImportFile("/ItIsDreamOfMyLife.med")
-

- -

- - - - - - - -
- - - - - - - - - - - - -
Result -VISU::VISU_Gen::ImportMed in SALOMEDS::SObject   theMedSObject -
-
-
- - - - - - - - - -
  -

Imports data from a MED object.

-
-
- #
-

- -

- - - - - - - -
- - - - - - - - - - - - -
Result -VISU::VISU_Gen::ImportMedField in SALOME_MED::FIELD   theField -
-
-
- - - - - - - - - -
  -

Imports data from a MED field.

-
-

- -

- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Mesh -VISU::VISU_Gen::MeshOnEntity in Result   theResult, -

-

-
in string   theMeshName, -

-

-
in Entity   theEntity

-

-
-
- - - - - - - - - -
  -

Creates a Mesh on the basis of the data generated in other sources -(MED object or file).

-
-

- -

- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Mesh -VISU::VISU_Gen::FamilyMeshOnEntity in Result   theResult, -

-

-
in string   theMeshName, -

-

-
in Entity   theEntity, -

-

-
in string   theFamilyName

-

-
-
-

- -

- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Mesh -VISU::VISU_Gen::GroupMesh in Result   theResult, -

-

-
in string   theMeshName, -

-

-
in string   theGroupName

-

-
-
-

- -

- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ScalarMap -VISU::VISU_Gen::ScalarMapOnField in Result   theResult, -

-

-
in string   theMeshName, -

-

-
in Entity   theEntity, -

-

-
in string   theFieldName, -

-

-
in double   theIteration

-

-
-
- - - - - - - - - -
  -

Creates a scalar bar presentation.

- -
-
Parameters:
-
- - - - - - - - - - - - - - - - - - - - - - - - -
theResult  Data generated in other sources. (MED object or file) -
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can -be scalar or vector.
theIteration  Number of iteration on the field
-
-
-
-

- -

- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DeformedShape -VISU::VISU_Gen::DeformedShapeOnField in Result   theResult, -

-

-
in string   theMeshName, -

-

-
in Entity   theEntity, -

-

-
in string   theFieldName, -

-

-
in double   theIteration

-

-
-
- - - - - - - - - -
  -

Creates a deformed shape presentation.

- -
-
Parameters:
-
- - - - - - - - - - - - - - - - - - - - - - - - -
theResult  Data generated in other sources. (MED object or file) -
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can -be scalar or vector.
theIteration  Number of iteration on the field
-
-
-
-

- -

- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Vectors -VISU::VISU_Gen::VectorsOnField in Result   theResult, -

-

-
in string   theMeshName, -

-

-
in Entity   theEntity, -

-

-
in string   theFieldName, -

-

-
in double   theIteration

-

-
-
- - - - - - - - - -
  -

Creates a vector presentation.

- -
-
Parameters:
-
- - - - - - - - - - - - - - - - - - - - - - - - -
theResult  Data generated in other sources. (MED object or file) -
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can -be scalar or vector.
theIteration  Number of iteration on the field
-
-
-
-

- -

- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IsoSurfaces -VISU::VISU_Gen::IsoSurfacesOnField in Result   theResult, -

-

-
in string   theMeshName, -

-

-
in Entity   theEntity, -

-

-
in string   theFieldName, -

-

-
in double   theIteration

-

-
-
- - - - - - - - - -
  -

Creates an iso surface presentation.

- -
-
Parameters:
-
- - - - - - - - - - - - - - - - - - - - - - - - -
theResult  Data generated in other sources. (MED object or file) -
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can -be scalar or vector.
theIteration  Number of iteration on the field
-
-
-
-

- -

- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
StreamLines -VISU::VISU_Gen::StreamLinesOnField in Result   theResult, -

-

-
in string   theMeshName, -

-

-
in Entity   theEntity, -

-

-
in string   theFieldName, -

-

-
in double   theIteration

-

-
-
- - - - - - - - - -
  -

Creates an stream lines presentation.

- -
-
Parameters:
-
- - - - - - - - - - - - - - - - - - - - - - - - -
theResult  Data generated in other sources. (MED object or file) -
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can -be scalar or vector.
theIteration  Number of iteration on the field
-
-
-
-

- -

- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CutPlanes -VISU::VISU_Gen::CutPlanesOnField in Result   theResult, -

-

-
in string   theMeshName, -

-

-
in Entity   theEntity, -

-

-
in string   theFieldName, -

-

-
in double   theIteration

-

-
-
- - - - - -
  -

Creates a presentation of cut planes.

- -
-
Parameters:
-
- - - - - - - - - - - - - - - - + + + + + + + + Main Page + + + + +   +
+
theResult  Data generated in other sources. (MED object or file) -
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName 
+ + + + + + + +
+ + +
+ + +

Examples

+      Interfaces:
+
+ VISU::Base

+ VISU::VISU_Gen
+ VISU::PrsObject
+

+ VISU::Result
+
+ VISU::Prs3d

+ VISU::Mesh
+ VISU::ScalarMap
+ VISU::CutPlanes
+ VISU::CutLines
+ VISU::IsoSurfaces
+ VISU::DeformedShape
+ VISU::Vectors
+ VISU::StreamLines
+
+ VISU::Table
+ VISU::Curve
+ VISU::Container
+
+ VISU::ViewManager

+ VISU::View
+ VISU::View3D
+ VISU::TableView
+ VISU::XYPlot
+ +

Base

+ + + + + + + + + + + + +
IdType + VISU::Base::GetID   +
+
+ +

#Returns ID of the object. That is IOR of CORBA representation a VISU +object.
+

+ +

aSObject = myLocalStudy.FindObjectIOR(theResult.GetID())
+

+ + + + + + + + + + + +
VISUType + VISU::Base::GetType   +
+ +

#Returns the type of the presentable object. It can be used for quick +class definition of an VISU object
+
+ if aVISUObject.GetType() == VISU.TSCALARMAP :
+     #do something ...
+

+ +


+

+

VISU_Gen
+

+ + + + + + + + + + + + + +
void VISU::VISU_Gen::SetCurrentStudy + in SALOMEDS::Study   theStudy +
+
+
+ +

+ + + + + + + +
+ + + + + + + + + + + +
SALOMEDS::Study +VISU::VISU_Gen::GetCurrentStudy   +
+
+
+
+ #It is very important to set SALOMEDS::Study for VISU Engine before you +start any work with them.
+ #Every object that you will create will be assigned to the study you set +before.
+ #It can be done like this:
+

+ +

aStudy = myStudyManager.NewStudy("A foo Study")
+ if aStudy is None : raise RuntimeError, "Error"
+ else : print "OK"
+     theVisuGen.SetCurrentStudy(aStudy)
+     #to do every things you like
+     ...
+

+ +

+ + + + + + + +
+ + + + + + + + + + + +
ViewManager +VISU::VISU_Gen::GetViewManager   +
+
+
+ + + + + + + + + +
  +

Gets the ViewManager which is used for creation of post-processing +presentations.

+
+
+ #In order to display any VISU::PrsObject in propriate viewer you must take +VISU::ViewManager interface
+

+ +

aViewManager = myVisuGen.GetViewManager()
+ #to do something for displaing some presentation
+ ...
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + +
SALOMEDS::SObject +VISU::VISU_Gen::ImportTables in string   theFileName +
+
+
+ + + + + + + + + +
  +

Imports tables from a file and create TableAttribute in Sudy +

+
+
+ #It is possible to import some ASCII files that include text table representation. +One file can consist from more than one table.
+

+ +

aSObject = myVisuGen.ImportTables("/MyPresicousFileOfTables.txt")
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + +
Result +VISU::VISU_Gen::ImportFile in string   theFileName +
+
+
+ + + + + + + + + +
  +

Imports data from a file.

+
+
+ #It is possible import a med files to VISU
+

+ +

aResult = myVisuGen.ImportFile("/ItIsDreamOfMyLife.med")
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + +
Result +VISU::VISU_Gen::ImportMed in SALOMEDS::SObject   theMedSObject +
+
+
+ + + + + + + + + +
  +

Imports data from a MED object.

+
+
+ #
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + +
Result +VISU::VISU_Gen::ImportMedField in SALOME_MED::FIELD   theField +
+
+
+ + + + + + + + + +
  +

Imports data from a MED field.

+
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mesh +VISU::VISU_Gen::MeshOnEntity in Result   theResult, +

+

+
in string   theMeshName, +

+

+
in Entity   theEntity

+

+
+
+ + + + + + + + + +
  +

Creates a Mesh on the basis of the data generated in other sources +(MED object or file).

+
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mesh +VISU::VISU_Gen::FamilyMeshOnEntity in Result   theResult, +

+

+
in string   theMeshName, +

+

+
in Entity   theEntity, +

+

+
in string   theFamilyName

+

+
+
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mesh +VISU::VISU_Gen::GroupMesh in Result   theResult, +

+

+
in string   theMeshName, +

+

+
in string   theGroupName

+

+
+
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ScalarMap +VISU::VISU_Gen::ScalarMapOnField in Result   theResult, +

+

+
in string   theMeshName, +

+

+
in Entity   theEntity, +

+

+
in string   theFieldName, +

+

+
in double   theIteration

+

+
+
+ + + + + + + + + +
  +

Creates a scalar bar presentation.

+ +
+
Parameters:
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
theResult  Data generated in other sources. (MED object or file) +
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can +be scalar or vector.
theIteration  Number of iteration on the field
+
+
+
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DeformedShape +VISU::VISU_Gen::DeformedShapeOnField in Result   theResult, +

+

+
in string   theMeshName, +

+

+
in Entity   theEntity, +

+

+
in string   theFieldName, +

+

+
in double   theIteration

+

+
+
+ + + + + + + + + +
  +

Creates a deformed shape presentation.

+ +
+
Parameters:
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
theResult  Data generated in other sources. (MED object or file) +
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can +be scalar or vector.
theIteration  Number of iteration on the field
+
+
+
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Vectors +VISU::VISU_Gen::VectorsOnField in Result   theResult, +

+

+
in string   theMeshName, +

+

+
in Entity   theEntity, +

+

+
in string   theFieldName, +

+

+
in double   theIteration

+

+
+
+ + + + + + + + + +
  +

Creates a vector presentation.

+ +
+
Parameters:
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
theResult  Data generated in other sources. (MED object or file) +
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can +be scalar or vector.
theIteration  Number of iteration on the field
+
+
+
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IsoSurfaces +VISU::VISU_Gen::IsoSurfacesOnField in Result   theResult, +

+

+
in string   theMeshName, +

+

+
in Entity   theEntity, +

+

+
in string   theFieldName, +

+

+
in double   theIteration

+

+
+
+ + + + + + + + + +
  +

Creates an iso surface presentation.

+ +
+
Parameters:
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
theResult  Data generated in other sources. (MED object or file) +
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can +be scalar or vector.
theIteration  Number of iteration on the field
+
+
+
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
StreamLines +VISU::VISU_Gen::StreamLinesOnField in Result   theResult, +

+

+
in string   theMeshName, +

+

+
in Entity   theEntity, +

+

+
in string   theFieldName, +

+

+
in double   theIteration

+

+
+
+ + + + + + + + + +
  +

Creates an stream lines presentation.

+ +
+
Parameters:
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
theResult  Data generated in other sources. (MED object or file) +
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName  Group of data attributed to the MESH. The data can +be scalar or vector.
theIteration  Number of iteration on the field
+
+
+
+

+ +

+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CutPlanes +VISU::VISU_Gen::CutPlanesOnField in Result   theResult, +

+

+
in string   theMeshName, +

+

+
in Entity   theEntity, +

+

+
in string   theFieldName, +

+

+
in double   theIteration

+

+
+
+ + + + + +
  +

Creates a presentation of cut planes.

+ +
+
Parameters:
+
+ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/salome/tui/VISU/sources/static/overview_VISU.html b/doc/salome/tui/VISU/sources/static/overview_VISU.html index 844abd40..f6f54eaa 100755 --- a/doc/salome/tui/VISU/sources/static/overview_VISU.html +++ b/doc/salome/tui/VISU/sources/static/overview_VISU.html @@ -1,252 +1,252 @@ - - - - - - Main Page - - - -  -
theResult  Data generated in other sources. (MED object or file) +
theMeshName  One of the meshes presented in MED file
theEntity  Type of entity where the field is defined
theFieldName 
- - - - - - -
-
-
- - -

General overview -

-

Table of contents

- - -
-

1. Introduction

-

Post-processing module VISU for SALOME is destined for visualization of data - produced by other components. VISU provides various forms of data visualization - including:

- -
    -
  • Data tables,
  • -
  • XY plots based on data from tables,
  • -
  • 3D presentations,
  • -
      -
    • Scalar Map,
    • -
    • Deformed Shape,
    • -
    • Vectors,
    • -
    • Iso Surfaces,
    • -
    • Cut Planes,
    • -
    • Stream Lines,
    • -
    • Cut Lines.
    • -
    -
-Back to the contents -

2. Defintions

-

The following terms are used for presentation of the VISU module:

-
-
Study
-
manages data produced by various component of SALOME platform. More detailed description of the SALOME Study can be found in the document named "Data Structure and Persistence Specifications".
-
Component
-
a SALOME software module that implements predefined interfaces. -The component provides the data for the SALOME study in a form of links (stored in the Study) -to the specific data stored in the component. All components are CORBA servers and it allows them -to be running on different host stations.
-
Geometry
a coherent set of data produced by component GEOM or any other geometry tool -and imported using geometry exchange interface (like BRep, IGES and so on).
-
Mesh
a collection of elements used as a support for numeric simulation.
-
Field
the set of results of the same type allocated to mesh elements. -Fields can be one of next types: scalars, vectors, tensors, matrices, character strings.
-
-Back to the contents -

3. Forms of data visualization

-

3.1 Data tables

-

Table represents data in spreadsheet-like form. For these purposes the QTable - widget will be provided. This widget can be reused in any module for any dialog - box as a control. For post-processing data visualization needs this widget is - used inside of Table window (based on non-modal window frame). Data represented - in Table window of post-processing module is be editable.

-

3.2 XY plots

-

XY plot represents calculation data in form of 2D (XY) plotting. -XY plot view is shown in a separated view window (non-modal dialog box), which can be moved in any position of the screen for convenience. -The QWT extension of QT toolkit is used for XY plotting. -QWT provides unlimited number of displayed curves (data sets) and supports logarithmic scale, zooming, and selection.

- -

3.3 3D presentations

-

A 3D presentation shows geometry, mesh and fields in 3D space. -Provides selection, rotation, zooming, scaling, and panning of 3d scene. -Color bar for scalar data presentation is supplied. -For 3D presentation window of the current implementation of VTK viewer in study window is used.

-Back to the contents -

4. Data structure

-

Source data for post-processing module can be imported from MED file or MED object in study data structure (CORBA object) can be used for this purposes.

-

In case of import MED file the data from this file will be converted in form of VTK Data Source format and stored in VISU data structure. In case of using of MED object from study the label in VISU data structure will be created with reference to the corresponded MED object.

-

Available result data is displayed under corresponded MED data label. For every result the number of presentations can be created dependently on result type.

-

Presentation is represented in data structure in form of list of presentation creation parameters. This could be:

-
    -
  • Presentation type (table, XY plot, 3d view);
  • -
  • Presentation subtype (for example for 3d: scalar map, iso-surfaces, combined view and so on);
  • -
  • Parameters of the presentation dependently on its type (number of colors, type of scale, font parameters, grid parameters and so on).
  • -
-

Parameters of presentation are persistent data, which will be stored in study file.

- - -
-Back to the contents -

5. VISU module features and services

-

The functionality of the VISU module is provided by a set of classes which are combined into -the VISU package. -

The API reference of the VISU component can be found here.

-

5.1 Base class

-

This is a root class for all objects of the VISU module.

-

The API reference for this class can be found here.

- -

5.2 ViewManager class

-

This class is used for management of the view windows (creation and deletion).

-

The API reference for this class can be found here.

- -

5.3 View class

-

View class is a base for all other classes, necessary for creation of different views .

- -
-

The API reference for this class can be found here.

- -

5.3.1 3dView class

-

This class provides a set of methods for creation of a 3d view window.

-

The API reference for this class can be found here.

- -

5.3.2 TableView class

-

This class provides a set of methods for creation of a Table view window.

-

The API reference for this class can be found here.

- -

5.3.3 XYPlotView class

-

This class provides a set of methods for creation of a XYPlot view window.

-

The API reference for this class can be found here.

- -

5.4 Result class

-

This class serves for inner representation of data generated in other sources. -(MED object or file) This data is needed for further construction of graphical presentations.

-

The API reference for this class can be found here.

-

5.5 PrsObject class

-

It is the root class of all presentable objects.

-
-

The API reference for this class can be found here.

- -

5.5.1 Curve class

-

Manages presentation parameters of one curve. -This object can be used for presentation of set of curves using Container class.

-

The API reference for this class can be found here.

- -

5.5.2 Table class

-

Manages presentation parameters of a table.

-

The API reference for this class can be found here.

- -

5.5.3 Container class

-

This class is provided in order to create one presentation using several presentable objects. This can provide combination of a set of curves to display them in XY plot view. -

-

The API reference for this class can be found here.

- -

5.5.4 Prs3d class

-

Root class for all 3D presentations.

-

The API reference for this class can be found here.

- -

5.5.5 Mesh class

-

Manages presentation parameters of a 3D presentattion of a mesh. -This object can be used for presentation of set of curves using Container class.

-

The API reference for this class can be found here.

- -

5.5.6 ScalarMap class

-

Manages presentation parameters of the scalar bar.

-

The API reference for this class can be found here.

- -

5.5.7 CutLines class

-

Manages presentation parameters of the cut lines presentation.

-

The API reference for this class can be found here.

- -

5.5.8 CutPlanes class

-

Manages presentation parameters of the cut planes presentation.

-

The API reference for this class can be found here.

- -

5.5.9 IsoSurfaces class

-

Manages presentation parameters of the iso surfaces presentation.

-

The API reference for this class can be found here.

- -

5.5.10 DeformedShape class

-

Manages presentation parameters of the deformed shape presentation.

-

The API reference for this class can be found here.

- -

5.5.11 Vectors class

-

Manages presentation parameters of the vector presentation.

-

The API reference for this class can be found here.

- -

5.5.12 StreamLines class

-

Manages presentation parameters of the streamlines presentation.

-

The API reference for this class can be found here.

- -

5.6 Animation class

-

This class provides a set of methods used for:

-
    -
  • generating different animations,
  • -
  • setting the parameters of the animations,
  • -
  • playing these animations in the VISU module.
  • -
-

The API reference for this class can be found here.

- -

5.7 VISU_Gen class

-

This is the main clas of the VISU component in SALOME application. It is used for , -using the views provided by ViewManager. This class provides a set of methods used for:

-
    -
  • creation of all types of post-processing presentations from given Result and Table object reference
  • -
  • creation of animations
  • - -
-

The API reference for this class can be found here.

-Back to the contents - - + + + + + + Main Page + + + +  +
+ + + + + + +
+
+
+ + +

General overview +

+

Table of contents

+ + +
+

1. Introduction

+

Post-processing module VISU for SALOME is destined for visualization of data + produced by other components. VISU provides various forms of data visualization + including:

+ +
    +
  • Data tables,
  • +
  • XY plots based on data from tables,
  • +
  • 3D presentations,
  • +
      +
    • Scalar Map,
    • +
    • Deformed Shape,
    • +
    • Vectors,
    • +
    • Iso Surfaces,
    • +
    • Cut Planes,
    • +
    • Stream Lines,
    • +
    • Cut Lines.
    • +
    +
+Back to the contents +

2. Defintions

+

The following terms are used for presentation of the VISU module:

+
+
Study
+
manages data produced by various component of SALOME platform. More detailed description of the SALOME Study can be found in the document named "Data Structure and Persistence Specifications".
+
Component
+
a SALOME software module that implements predefined interfaces. +The component provides the data for the SALOME study in a form of links (stored in the Study) +to the specific data stored in the component. All components are CORBA servers and it allows them +to be running on different host stations.
+
Geometry
a coherent set of data produced by component GEOM or any other geometry tool +and imported using geometry exchange interface (like BRep, IGES and so on).
+
Mesh
a collection of elements used as a support for numeric simulation.
+
Field
the set of results of the same type allocated to mesh elements. +Fields can be one of next types: scalars, vectors, tensors, matrices, character strings.
+
+Back to the contents +

3. Forms of data visualization

+

3.1 Data tables

+

Table represents data in spreadsheet-like form. For these purposes the QTable + widget will be provided. This widget can be reused in any module for any dialog + box as a control. For post-processing data visualization needs this widget is + used inside of Table window (based on non-modal window frame). Data represented + in Table window of post-processing module is be editable.

+

3.2 XY plots

+

XY plot represents calculation data in form of 2D (XY) plotting. +XY plot view is shown in a separated view window (non-modal dialog box), which can be moved in any position of the screen for convenience. +The QWT extension of QT toolkit is used for XY plotting. +QWT provides unlimited number of displayed curves (data sets) and supports logarithmic scale, zooming, and selection.

+ +

3.3 3D presentations

+

A 3D presentation shows geometry, mesh and fields in 3D space. +Provides selection, rotation, zooming, scaling, and panning of 3d scene. +Color bar for scalar data presentation is supplied. +For 3D presentation window of the current implementation of VTK viewer in study window is used.

+Back to the contents +

4. Data structure

+

Source data for post-processing module can be imported from MED file or MED object in study data structure (CORBA object) can be used for this purposes.

+

In case of import MED file the data from this file will be converted in form of VTK Data Source format and stored in VISU data structure. In case of using of MED object from study the label in VISU data structure will be created with reference to the corresponded MED object.

+

Available result data is displayed under corresponded MED data label. For every result the number of presentations can be created dependently on result type.

+

Presentation is represented in data structure in form of list of presentation creation parameters. This could be:

+
    +
  • Presentation type (table, XY plot, 3d view);
  • +
  • Presentation subtype (for example for 3d: scalar map, iso-surfaces, combined view and so on);
  • +
  • Parameters of the presentation dependently on its type (number of colors, type of scale, font parameters, grid parameters and so on).
  • +
+

Parameters of presentation are persistent data, which will be stored in study file.

+ + +
+Back to the contents +

5. VISU module features and services

+

The functionality of the VISU module is provided by a set of classes which are combined into +the VISU package. +

The API reference of the VISU component can be found here.

+

5.1 Base class

+

This is a root class for all objects of the VISU module.

+

The API reference for this class can be found here.

+ +

5.2 ViewManager class

+

This class is used for management of the view windows (creation and deletion).

+

The API reference for this class can be found here.

+ +

5.3 View class

+

View class is a base for all other classes, necessary for creation of different views .

+ +
+

The API reference for this class can be found here.

+ +

5.3.1 3dView class

+

This class provides a set of methods for creation of a 3d view window.

+

The API reference for this class can be found here.

+ +

5.3.2 TableView class

+

This class provides a set of methods for creation of a Table view window.

+

The API reference for this class can be found here.

+ +

5.3.3 XYPlotView class

+

This class provides a set of methods for creation of a XYPlot view window.

+

The API reference for this class can be found here.

+ +

5.4 Result class

+

This class serves for inner representation of data generated in other sources. +(MED object or file) This data is needed for further construction of graphical presentations.

+

The API reference for this class can be found here.

+

5.5 PrsObject class

+

It is the root class of all presentable objects.

+
+

The API reference for this class can be found here.

+ +

5.5.1 Curve class

+

Manages presentation parameters of one curve. +This object can be used for presentation of set of curves using Container class.

+

The API reference for this class can be found here.

+ +

5.5.2 Table class

+

Manages presentation parameters of a table.

+

The API reference for this class can be found here.

+ +

5.5.3 Container class

+

This class is provided in order to create one presentation using several presentable objects. This can provide combination of a set of curves to display them in XY plot view. +

+

The API reference for this class can be found here.

+ +

5.5.4 Prs3d class

+

Root class for all 3D presentations.

+

The API reference for this class can be found here.

+ +

5.5.5 Mesh class

+

Manages presentation parameters of a 3D presentattion of a mesh. +This object can be used for presentation of set of curves using Container class.

+

The API reference for this class can be found here.

+ +

5.5.6 ScalarMap class

+

Manages presentation parameters of the scalar bar.

+

The API reference for this class can be found here.

+ +

5.5.7 CutLines class

+

Manages presentation parameters of the cut lines presentation.

+

The API reference for this class can be found here.

+ +

5.5.8 CutPlanes class

+

Manages presentation parameters of the cut planes presentation.

+

The API reference for this class can be found here.

+ +

5.5.9 IsoSurfaces class

+

Manages presentation parameters of the iso surfaces presentation.

+

The API reference for this class can be found here.

+ +

5.5.10 DeformedShape class

+

Manages presentation parameters of the deformed shape presentation.

+

The API reference for this class can be found here.

+ +

5.5.11 Vectors class

+

Manages presentation parameters of the vector presentation.

+

The API reference for this class can be found here.

+ +

5.5.12 StreamLines class

+

Manages presentation parameters of the streamlines presentation.

+

The API reference for this class can be found here.

+ +

5.6 Animation class

+

This class provides a set of methods used for:

+
    +
  • generating different animations,
  • +
  • setting the parameters of the animations,
  • +
  • playing these animations in the VISU module.
  • +
+

The API reference for this class can be found here.

+ +

5.7 VISU_Gen class

+

This is the main clas of the VISU component in SALOME application. It is used for , +using the views provided by ViewManager. This class provides a set of methods used for:

+
    +
  • creation of all types of post-processing presentations from given Result and Table object reference
  • +
  • creation of animations
  • + +
+

The API reference for this class can be found here.

+Back to the contents + + diff --git a/idl/Makefile.am b/idl/Makefile.am new file mode 100644 index 00000000..538f127b --- /dev/null +++ b/idl/Makefile.am @@ -0,0 +1,95 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# +# This Makefile is responsible of generating the client and server +# implementation of IDL interfaces for both C++ and python usage. +# The building process of the C++ files is in charge of each source +# package and then is not manage here. +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +BASEIDL_FILES= VISU_Gen.idl + +EXTRA_DIST+= $(BASEIDL_FILES) + +# This variable defines the files to be installed +salomeidl_DATA = $(BASEIDL_FILES) + +# VISU idl common library +lib_LTLIBRARIES = libSalomeIDLVISU.la + +# Sources built from idl files +nodist_libSalomeIDLVISU_la_SOURCES= VISU_GenSK.cc + +# header files must be exported: other modules have to use this library +nodist_salomeinclude_HEADERS= $(BASEIDL_FILES:%.idl=%.hh) + +libSalomeIDLVISU_la_CPPFLAGS =\ + -I$(top_builddir)/salome_adm/unix \ + -I$(top_builddir)/idl \ + @CORBA_CXXFLAGS@ @CORBA_INCLUDES@ @KERNEL_CXXFLAGS@ @MED_CXXFLAGS@ +libSalomeIDLVISU_la_LDFLAGS = -no-undefined -version-info=0:0:0 +libSalomeIDLVISU_la_LIBADD = @CORBA_LIBS@ $(MED_LDFLAGS) -lSalomeIDLMED + +# These variables defines the building process of CORBA files +OMNIORB_IDL = @OMNIORB_IDL@ +OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ +OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ -I$(top_builddir)/idl/salome -I$(KERNEL_ROOT_DIR)/idl/salome -I$(MED_ROOT_DIR)/idl/salome +IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_builddir)/idl/salome -I$(KERNEL_ROOT_DIR)/idl/salome -I$(MED_ROOT_DIR)/idl/salome -I$(top_builddir)/salome_adm/unix +IDLPYFLAGS = @IDLPYFLAGS@ -I$(KERNEL_ROOT_DIR)/idl/salome -I$(MED_ROOT_DIR)/idl/salome + +# potential problem on parallel make on the following - multiple outputs +SUFFIXES = .idl .hh SK.cc +.idlSK.cc: + $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< +.idl.hh: + $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< + +install-exec-local: $(BASEIDL_FILES:%=$(top_srcdir)/idl/%) + $(INSTALL) -d $(pkgpythondir) + ls $^ | while read file; do \ + $(OMNIORB_IDL) $(IDLPYFLAGS) -C$(pkgpythondir) $$file ; \ + done + +# uninstall-local removes too much, but it works in distcheck +uninstall-local: + rm -rf $(pkgpythondir)/* + +mostlyclean-local: clean-idls + +clean-idls: + -rm -f *.hh *.cc .depidl + +# we use cpp to generate dependencies between idl files. +# option x c tells the preprocessor to consider idl as a c file. +# if an idl is modified, all idl dependencies are rebuilt + +.depidl: $(BASEIDL_FILES) + @echo "" > $@ + @for dep in $^ dummy; do \ + if [ $$dep != "dummy" ]; then \ + echo Building dependencies for $$dep; \ + $(CPP) $(C_DEPEND_FLAG) -x c -I$(srcdir) -I$(KERNEL_ROOT_DIR)/idl/salome -I$(MED_ROOT_DIR)/idl/salome $$dep 2>/dev/null | \ + sed 's/\.o/\SK.cc/' >>$@; \ + fi; \ + done ; + +-include .depidl diff --git a/idl/Makefile.in b/idl/Makefile.in deleted file mode 100644 index 62487bae..00000000 --- a/idl/Makefile.in +++ /dev/null @@ -1,89 +0,0 @@ -# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -# -# generate dependencies for idl file : -# - -# source path -top_srcdir=@top_srcdir@ -top_builddir=.. -srcdir=@srcdir@ -VPATH=.:${KERNEL_ROOT_DIR}/idl/salome:${MED_ROOT_DIR}/idl/salome - -@COMMENCE@ - -IDL_FILES = \ - VISU_Gen.idl - -PY_CLIENT_IDL = $(IDL_FILES) - -LIB_LOCATION_SUFFIX=@LIB_LOCATION_SUFFIX@ - -# we copy all idl file in $(top_builddir)/idl -inc: $(top_builddir)/idl/salome $(IDL_FILES:%=$(top_builddir)/idl/salome/%) - -$(top_builddir)/idl/salome: - mkdir $@ - -$(IDL_FILES:%=$(top_builddir)/idl/salome/%):$(IDL_FILES:%=$(top_srcdir)/idl/%) -# $(CP) $< $@ - cp -f $^ $(top_builddir)/idl/salome - - -lib: pyidl - -PYTHON_BUILD_SITE=$(top_builddir)/lib$(LIB_LOCATION_SUFFIX)/python$(PYTHON_VERSION)/site-packages/@PACKAGE@ - -pyidl: $(PYTHON_BUILD_SITE) $(IDL_FILES:%.idl=$(PYTHON_BUILD_SITE)/%_idl.py) - -$(PYTHON_BUILD_SITE): - $(INSTALL) -d $@ - -$(PYTHON_BUILD_SITE)/%_idl.py: $(top_builddir)/idl/salome/%.idl - $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_BUILD_SITE) $< - - -# install python client (generated from idl file -install: install-pyidl install-idl - -# create directory $(idldir) and copy idl files into it -install-idl: $(IDL_FILES:%=$(top_builddir)/idl/salome/%) - $(INSTALL) -d $(idldir) - $(INSTALL_DATA) $^ $(idldir) - - -install-pyidl: $(IDL_FILES:%=$(top_builddir)/idl/salome/%) - $(INSTALL) -d $(PYTHON_SITE_INSTALL) - @for file in $^ dummy; do \ - if [ $$file != "dummy" ]; then \ - $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(PYTHON_SITE_INSTALL) $$file ; \ - fi ; \ - done ; - -#@ CONCLUDE @ - -cleandep: - -$(RM) .dep* - -distclean: - -$(RM) *.py - -$(RM) $(IDL_FILES:%=$(top_builddir)/idl/salome/%) - -$(RM) Makefile - diff --git a/idl/VISU_Gen.idl b/idl/VISU_Gen.idl index 334eb42c..bb91c074 100644 --- a/idl/VISU_Gen.idl +++ b/idl/VISU_Gen.idl @@ -741,6 +741,21 @@ module VISU { * Gets the type of orientation of the scalar bar (to provide backward compatibility). */ Orientation GetBarOrientation(); + + /*! + * Add group as geometry of presentation. + * \param theMeshName - mesh name + * \param theGroupName - group name + */ + void AddMeshOnGroup(in string theMeshName, + in string theGroupName); + + + /*! + * PrsMerger method: + * Remove all groups.(The scalar map will be placed on all mesh). + */ + void RemoveAllGeom(); }; //------------------------------------------------------- @@ -790,6 +805,7 @@ module VISU { void SetColor(in SALOMEDS::Color theColor); }; + //------------------------------------------------------- /*! \brief Scalar Map on Deformed shape presentation interface * @@ -818,6 +834,27 @@ module VISU { void SetScalarField(in string theMeshName,in string theFieldName, in long theIteration,in Entity theEntity); + + /*! + * Get scalar iteration number + */ + long GetScalarLIteration(); + + /*! + * Get scalar entity + */ + Entity GetScalarEEntity(); + + /*! + * Get scalar field name + */ + string GetScalarCFieldName(); + + /*! + * Get mesh name + */ + string GetScalarCMeshName(); + }; //------------------------------------------------------- /*! @@ -1158,6 +1195,25 @@ module VISU { * Gets the number of cut lines. */ long GetNbLines(); + + /*! Invert all curves of corresponding table + * \param theInvert - Invert all curves, if value is TRUE, else not. + */ + void SetAllCurvesInverted(in boolean theInvert); + + /*! Checks the orientation of all curves + * \retval TRUE - if all curves are inverted, else FALSE + */ + boolean IsAllCurvesInverted(); + + /*! Sets values which cutlines would be shown: aboslute or relative values + * \param theAbsLength - boolean value, TRUE or false. + */ + void SetUseAbsoluteLength(in boolean theAbsLength); + + /*! Checks values of cutlines: using aboslute or relative values + */ + boolean IsUseAbsoluteLength(); }; /*! \brief Interface of the stream lines representation @@ -1328,10 +1384,21 @@ module VISU { * of calculations are taken in one definite moment. */ interface Animation : Base { + /*! + * This enumeration contains a set of available animation modes. + */ + enum AnimationMode{ PARALLEL, /*!< parallel mode of animation. */ + SUCCCESSIVE /*!< succcessive mode of animation. */ + }; + /*! Defines the field which will be used as a base for generation of the animation. * \param theObject The %SObject corresponding to the field. */ - void addField(in SALOMEDS::SObject theObject); + boolean addField(in SALOMEDS::SObject theObject); + + /*! Remove all fields from Animation object. + */ + void clearFields(); /*! Generates presentations on the basis of the field. * \param theFieldNum The number of the field, which will be used @@ -1496,6 +1563,9 @@ module VISU { */ void setCycling(in boolean theCycle); + boolean isCleaningMemoryAtEachFrame(); + void setCleaningMemoryAtEachFrame(in boolean theCycle); + SALOMEDS::SObject publishInStudy(); void saveAnimation(); @@ -1503,6 +1573,28 @@ module VISU { void restoreFromStudy(in SALOMEDS::SObject theSObj); boolean isSavedInStudy(); + + /*! + * Sets the animation mode. + * \param theMode The value of this parameter is taken from the AnimationMode enumeration. + */ + void setAnimationMode(in AnimationMode theMode); + + /*! + * Gets the animation mode. + */ + AnimationMode getAnimationMode(); + + /*! + * Apply the presentation properties to all fields. The exception is raised in the following cases: + * 1) presentations for the given field is not yet created; + * 2) invalid dynamic cast of the given presentation to VISU::ColoredPrs3d_i; + * 3) the MED file is not the same; + * 4) the mesh name is not the same; + * 5) the field name is not the same; + * 6) the entity is not the same. + */ + void ApplyProperties(in long theFieldNum, in ColoredPrs3d thePrs); }; /*! \brief Interface %Result diff --git a/resources/Makefile.am b/resources/Makefile.am new file mode 100644 index 00000000..5cf88e8c --- /dev/null +++ b/resources/Makefile.am @@ -0,0 +1,113 @@ +# Copyright (C) 2005 OPEN CASCADE, CEA, EDF R&D, LEG +# PRINCIPIA R&D, EADS CCR, Lip6, BV, CEDRAT +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# $Header$ +# + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +# +# =============================================================== +# Files to be installed +# =============================================================== +# + +dist_salomeres_DATA= \ +ModuleVisu.png \ +SalomeApp.xml \ +sprite_alpha.bmp \ +sprite_texture.bmp \ +Vertex_Program_ARB.txt \ +Visu_add.png \ +Visu_anim.png \ +VISU.config \ +Visu_cutlines.png \ +Visu_cutplane.png \ +Visu_cutplanes.png \ +Visu_deformed_anim.png \ +Visu_deformed.png \ +VISU_en.xml \ +Visu_eraseall.png \ +VISU_fr.xml \ +Visu_gauss_points.png \ +Visu_graduated_axes.png \ +Visu_import_med.png \ +Visu_isosurfaces.png \ +Visu_load_texture.png \ +Visu_PlaneSegmentation.png \ +Visu_plot2d.png \ +Visu_plot3d.png \ +Visu_points.png \ +Visu_recording_pause.png \ +Visu_recording_play.png \ +Visu_recording_start.png \ +Visu_recording_stop.png \ +Visu_remove.png \ +Visu_sameas.png \ +Visu_scalarmapondeformedshape.png \ +Visu_scalars_anim.png \ +Visu_scalars.png \ +Visu_scaling.png \ +Visu_selectall.png \ +Visu_selectionactor.png \ +Visu_selectioncell.png \ +Visu_selectionedge.png \ +Visu_selectionpoint.png \ +Visu_selectonly.png \ +Visu_SphereSegmentation.png \ +Visu_streamlines.png \ +Visu_surface.png \ +Visu_tree_container.png \ +Visu_tree_curve.png \ +Visu_tree_cutlines_gr.png \ +Visu_tree_cutlines.png \ +Visu_tree_cutplanes_gr.png \ +Visu_tree_cutplanes.png \ +Visu_tree_deformed_gr.png \ +Visu_tree_deformed.png \ +Visu_tree_gauss_points.png \ +Visu_tree_isosurfaces_gr.png \ +Visu_tree_isosurfaces.png \ +Visu_tree_mesh.png \ +Visu_tree_plot3d_gr.png \ +Visu_tree_plot3d.png \ +Visu_tree_result.png \ +Visu_tree_scalarmapondeformedshape_gr.png \ +Visu_tree_scalarmapondeformedshape.png \ +Visu_tree_scalars_gr.png \ +Visu_tree_scalars.png \ +Visu_tree_streamlines_gr.png \ +Visu_tree_streamlines.png \ +Visu_tree_table.png \ +Visu_tree_vectors_gr.png \ +Visu_tree_vectors.png \ +Visu_tree_visu.png \ +Visu_vectors.png \ +Visu_vvtk_switch.png \ +Visu_wireframe.png \ +Visu_slider_more.png \ +Visu_slider_avi.png \ +Visu_slider_first.png \ +Visu_slider_previous.png \ +Visu_slider_play.png \ +Visu_slider_pause.png \ +Visu_slider_next.png \ +Visu_slider_last.png + +EXTRA_DIST+= VISUCatalog.xml.in +nodist_salomeres_DATA=VISUCatalog.xml diff --git a/resources/SalomeApp.xml b/resources/SalomeApp.xml index a278866a..236affb8 100644 --- a/resources/SalomeApp.xml +++ b/resources/SalomeApp.xml @@ -4,8 +4,14 @@ - - + + + + + + + + @@ -48,6 +54,10 @@ + + + + diff --git a/resources/Visu_add.png b/resources/Visu_add.png new file mode 100644 index 0000000000000000000000000000000000000000..a7e93b8ecac973cac892d230e9478e3111c6e243 GIT binary patch literal 389 zcmV;00eb$4P) zK~xyi<&-gM!!Q6vpMwVv9%S&6E94r1LTcy`UqR={5JIQW6X*)gU{C`AH@C2VsQp*})VH>8G2NxUwDW%uxsH2%TrZ!mXRuH;i*<#`a?mza-o@dUrpbg9x zlV-Si0;j`Ut-2zm{JG_OL7k_(ep|D8T|EpKidaDWxQ1bpCIA$hf_$C_Z6`{p#^EgR z0`qzPeW6QD_LBV(J*Z)O5=9Zkrr>-!V`}65Q7Lu%ahN_$5wRdi6UOQIu7*w@)vm%? ji@jR5@7qBQ|6x7>8r)~mUG1Zr00000NkvXXu0mjf)Ha+e literal 0 HcmV?d00001 diff --git a/resources/Visu_cutplanes.png b/resources/Visu_cutplanes.png new file mode 100644 index 0000000000000000000000000000000000000000..5e92cf6511bf81e7ce3a9acbbb2fbb07ab2d7979 GIT binary patch literal 389 zcmV;00eb$4P)I95{Iz+_^bb*Q$vH}Yr*@sBvmLBL!?Po(c z)R)Mg-~0Y&EGh>6bv@iXtqO4y>~TtV_&$uq&9Y&Nl_#tiZ0i9CT_ALUX4x?JyNr2n z6P61j8Gt`|RXcZqNN!L9ab$+}hEHq1io~C7!$x>m|tf!4-<6dOXHzpLB z2ol+muL`d==xKiUE(Eq8+p=)H>LO%57s^az#u#c-=My@YCQ3lY zl+4a7W@gl*lw=bDB6Cj;JF|bnuyE`?cViJ;{u!D%7ZMiBnwO>;h5N64QgkniWgw3- jPyy7Y9*gc}u?*k`Ui`0HGf01Z00000NkvXXu0mjfBypsi literal 0 HcmV?d00001 diff --git a/resources/Visu_remove.png b/resources/Visu_remove.png new file mode 100644 index 0000000000000000000000000000000000000000..e85afb6224acc7d2a0649e3c2465a0dde5566e67 GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VTavfC3&Vd9T(EcfWS|IVfk$L9 z0|U1p2s75F#7_hYvX^-Jy0Ty6;^3CCzBA9xg@J*Q$J50zMB?((DYjXM4J6v+rFrFS zPCQTzKViz$dgX%RzNT{%6$yjCvg z@#5m|z4L!8aIM<*H%7a6oypf-&*V7ec@9W0GpT&iOL)=D_~x5+-&w)xO(oY%*YrDy z`<&mlwqWTL^UE9hjW0{ADRozf*^p!Pg~?oA`q=s8=aCtA?H-kTEdDDGOg zne*O50awANo1Sd2Pmp@N_eIs4^92&Ny%RR7cnY(Zf1TUOoBH b{tD}E@5F0KG3$(gLB-(d>gTe~DWM4fmUx*s literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_container.png b/resources/Visu_tree_container.png new file mode 100644 index 0000000000000000000000000000000000000000..40aa4d3392f64b58f09d9368873aa0c2cb8e0ef4 GIT binary patch literal 425 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx-l>?%6qyvhE&{2`t$$4J+rd1@`PXKPc*Q6`+Mp?f3o#PUzdr_Yz&M?I?ggoNaLOT zxWLuCFXE92i$a6L3wxesp3|pK|NejF%9s5&w`?xpdG!A8O!jH+#~Bz|6epNmzjo~( z`^6JoA0(Ls95mPt@Gxq&B-XSwTw!7naFclOdH>HZ#s9CLKhMyetCO1W;Q8}(1`Y)t zeSuH*K0GasuNav)-Z3e#=O~{DX`j{q;f3=y(VMCYzfzV7DmySN+`%ByU~qY2?y;x! z0=z)u^)&43<|rBzvfcTA!ff$xc{T>74#qTN!;9_j>L*AzFdW?5uugKm;)yIqrVhdI zI0v>JbLQkWVTl3I2(nD~0cv2hqMOxkn6V&1e+ RZD6o6c)I$ztaD0e0stZon)d(z literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_curve.png b/resources/Visu_tree_curve.png new file mode 100644 index 0000000000000000000000000000000000000000..e17c5f4fef89ea63d186770a1510244b51302a9a GIT binary patch literal 363 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hTb^mK6yskoK&=l_3uW@TmN3BS&taA0HLP*7vzVsv0=%=ydzc*0|@28N`jOr`7G z42(ybd<*Wcui3GB&JDFkrVzopr0D60Q AEdT%j literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_cutlines.png b/resources/Visu_tree_cutlines.png new file mode 100755 index 0000000000000000000000000000000000000000..f6ffc7cf7561f84221d9f2923da9fa9145f52685 GIT binary patch literal 773 zcmV+g1N!`lP)6(7sFl?0m`Iyw56wu>&;QRIlP^n_kd(+m| zQ7hFV-BI-tpfrB(1a9TaqFfjwozCR%clQvjdgJPL1}`wuXrG8iALhXXppeTWaRKj- zOime**jt81MmW@SiFeb=mF4RcvW4l_FYc#y#w`IhLO^D8RQ*-r#J#JDE>B~aF98@y zNK%#uo{p*vd*|X?X+J1`&!&X>+rXG#i;-|}b1rg5Bhj`l$Y(ju8EPgJRM4=B-iM_K z2ts8#7cZPf`bY|a4Zygg_>RR?H%(w9jF!X*sbFW&%yWF{5~{h2Wgq~AEBKcE`jdl& z_7ec+6bD)DJmc)}Y0x}Tl37gU;cF6A^eFYcW=t0j1HhMGAa%srIU4T(VAt2%oE`3j zutv;$Et)GXQ`9WT3yPn|h#a}X#&O$Wmm+u-P(ODr`tC?4*X$}_lrcj>Wf;`*LM5TwK7Z2i!ySJW{#i|!U z3R*q)kRrl*s0R@*J-Faj6eJy8GT;39JOpbi;(LDh@$!3l zM00Uob5CYYHAKB$-|xEai?(f-ZQGu-EbB@>pI@7sn_Fuw)$Zd(b8%kJoN5Sw<>h6& zP$+!ldEP>)RKjr_9LK@7ZA{Z7m&-K_!+5z;sayqUE!DIHa2G$_Q!bZx_xt^Gn_+HY z!#CL4`U9;s0S3)%LbKgMN?DUKY4m!pA3k&_TLq8+dP@8{91g!239MlR2hy2QgtiewoI!XlK@jlc#pLb+TIhcc00com#v7pq z3Nf>94245Zu);1YAc`WcU+V#aTsFfG7tUHTLE@(t0He`}L6T*cx=kotk|g0+`Wc70 zL?RVY6rpuI-d_pMfB&5?0S;P?yDc8~FZ1!nhr~L>_kCm%kr)yk#wevw2>1=?jd^)| z`aRy?aU4JcytBCijzNK6=yW;^qZEdMaB~~q_t~iocvX{LPN^I?fP8K01G-ibrPL(= zT#M1k96ORGtyYVECxQ+r4ZiR5(5(>8LPWyT&p#(5FWC9$tv@lV`_2L1X5JVvaXKML z658!HV%x{e3A9r5`+YV%w~zMGz}q*zx+0p3^ZKz*F6`a&>@!< zFk7%ZrY0RGCmr0$BD1rzYY(RB(fw!6=+B>eQXIYc_4<7>{heyHx)WHiEUWB!9>rqu ucBxc4U9ZD!CYj{{ z|0SNQaLvRGin;s@!*Fj#l@3*`uQmWfe2S(vWIUN$$7xwjKPfW&E+f zR91R@Pg8qVPI=#JO^x)7ejFRCejWYY-R+>PYuP!5peJ3pfpkxm@x&lnmH$9_rF6JY zG;MgRu~}$28#NVr?A8U*-t~*~6mh3>NqTm5a)#XBl0CEq75{+{mtUzUf9-k9t%lls zSx(5|8~w&PS56h7pq#`4$=l>Nr+pH&p*;zPTocxZ{7vgCOym9`+`uB5!x!?y*`Oa@{vId+6m%XVYzTyrLF8 zsr87`JYV;P&(E!}7$Jx)yJkU=_(e<+P4+u**se7MumXdbQ5GXkh(-rW3yCf_HQ;D$ z(2O7DZ(z1yGAIPT0yXKUX#jM#lj)X59_NUiZB zl(ydmyHlf>N;X&f>Jp);iC-_9$VM$&fC~+?l;*;o+ zp@>D!#dO4oVvE%3n1vi8cu|(K+%`n{MWZ)%UP33Y-b2}~I^x(?qv#Q}e8AAAvYD)& zACv=HF7ki=oKP|8P>+YUhIb3PO#+kMCs1rd$Bp}c%pz^7^#?7A1D6Im@`ehuUrw!z z>8W(79NdoFjYno!mh)RbCJHvcQaW6-pOehPt@X_ujZQ}}1-wG87_M;KRPT=cznD#H zBJ7T-*8=vtxiT#y$e$hI8`Z&&AI7n?JIovyw!-Y72ZPx`lKR|&^cN4RFdkem!V~Bl zuh$JWVI%gyhqNMRpKC+$)gv^X#(dRJszhCDraC(MolbR8hbM3>m|V4P-5m4hn@)^z doM9Jmgz&vVna`u@mU_PjNK?~OE+;8!{|D(l8XW)t literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_cutplanes_gr.png b/resources/Visu_tree_cutplanes_gr.png new file mode 100644 index 0000000000000000000000000000000000000000..bbc472726cafdb5fe2d18a6e1df8f832a6591974 GIT binary patch literal 960 zcmV;x13&zUP)P+}5J=N?J)^Cy%@GU+<5N>pPtG>@|MhPM@EpIa0DL~* zru@>f(DdxI*X#BAMTFj-9!`h)sjaMLY;5dOyZhlsyS{DtbaGa0o!Gkr?JlXLq{O?Z z$>`#H$Gqm6r*JqN1cO07jxCUVq#n21O*kC(cV8R){>0gWt(yx~1h@lGN?GP^u3QN3 z`5@D|Ycr( zFdh;9Xg-Cp@C*)r3tDm+u7AVr_or~~`M+&J;QljA$}pMkbdWHjQW%ARhQy*M2T+?J zRtCPj4n8rpBe@PDIS~$;PVjhmgyr9LlmR0nBf3TwP^ZxHuCmcKKt^0)xRR85I{4D| zCi(FtY-w}6o_>f|!)IVxVeD7P0+g1PM$IB-RQfHlvM%tB>ZC`;IqV+isO>zSr7*ul zbo|;72UAzM?Q&qetZ@CPh-)jX&nSdN=P^R;<~vpe5QQNonAFJZQy5kS2@^)2!gWJ& zR!g9JJU_1kEEE{??Ab8P=zxvE5wPlDQh))UwZ^en0Xw)(D$e&Od3*bo#pc%53IJ_- zXNF#rHAmHzi_|q*Ze5wzNpmPNP`q+vjlOL~SVaLE-FlKkWm{tV8lJ7Gt*uSXHuyyY z82ZggU@rp`*AfqEns(Xlvhl(jt8`v0!sGFf?N;>nCpa*ed$YJ~dqq=I)31NqG*e$G z6l@y@@tEi|rm6M~SxY+pvkSQYE%}jlzsQ=OVI4~?Chu1x+ i0-Ax{A`z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZS^qROgDhJAbXF#rS*3z}w49vy?dd?uD+ulMg{`19ju95XX>90w-{!~2hn2|)Qb zNNV>0@lSvNLN-8$-`r*shpeLH@3(Il1OlTO{-4;zuztgChAUU^F=WR7Ss?tEgWp5iP75{zz#vmD)$iTtym*L#?I}GnWPG<0P zT*NTB{69nXR}KbU78ZtJpoXWPzeIld{-qlrfIu#g%-xw@`wtulSXV8<9V0ixQ`44~qVq#=wIs4b~D;onq002P%zW)RV9Ul%9MN9zn(#`+`5E20J%Ekad>45-NPyqm>q51#{rU3x2 z#QFe30Q>--G&BHMT37%8{QUqA4-o(k5Do|eh=t+*|9}7g{$*h1<7aqz>I%d2_6CNq z!aodamNGN&i~VC@2Zp=e|6dHt%uE@=Bf`Pn69QT!E+)>v%gwtKAb`Mu$il_N@b1!8 z2E#Ya3=5YqGU(`VGR*DZV&LQb%fRvbC&Nw)3kI)%I`$tUxgy4ju+E zQ8AFycLCJ}0iFF1OU7dW2q0j{aQpTmCJNHLmyv-n z45<0t&!0aT*xA`J3;+lq7BO~im&Ul_E$@GRWnkf81*R~dW>KJKUcs|K%^^U|9~kfe bfB*vk#6t~l8d@uf00000NkvXXu0mjf0K3Yz literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_deformed_gr.png b/resources/Visu_tree_deformed_gr.png new file mode 100644 index 0000000000000000000000000000000000000000..1d619f4f3e8393eaaf72e3a578115cf0539dad94 GIT binary patch literal 924 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 literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_plot3d.png b/resources/Visu_tree_plot3d.png new file mode 100755 index 0000000000000000000000000000000000000000..ac6442501f4e0af6ddb48651ada8760e713f936b GIT binary patch literal 1205 zcmV;m1WNmfP)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ=D@jB_RCwBAU|?WK0^)6j`Gu;dPn=dcabOoi_0$Ut z3;|yl1miw29G3Qps$>8NASSQ@aeo*X;=VC(e*VF*{e%yL`KOZ%OHRcwSid~VutLs=VWs{@22Lih zQilJ3m>Iq?a4~G#lF4xUmMjB60D(oX-Oyy1{!>?!G!3MB}{$#j3*@WTveKm%E|KBqJ1Q0V&Ozg?Ku&k|u6B#aY=raV~ zThGA!`ya!6@g#;MqxlS99&#}}{Vu`~AH0a+hcySo|7%PPJnbJDK3J+Suqi740|+2+ zAbR>sTxsgnWq9(9i^2KzK?b(JKN-#l7%_Zg<6~g^^P53}?*)UZ>TQOI;D)-#LTf z^-Bc?cgZIV-@b@3TzaI*@aUBc!vg^Y20znH3_C4+7>?UnGW`DbjR7Elz+vF;q>!a2 z_nTqehAj-m1qBSOtjr92d^`-IBD@UN@-G#95Li-D1aouRI#mVr-z510-9Gw^WoF!1s6GcYs$XE0Q{&#>d_Cx#18 zUNH!AzGq;0xRBw|FL?$VTRjGV00J4nbmPVih7TVf+w@aI1x!`+AP7&zG38MHJt7y$wZWWY^JOUttOxcH`fckeOq z@bEA&voSNUu(B}x|Mwpp_aFnA7?~J;|NhOu%FN2JZTmI`Ru)zUb}sfm009O705@Xw Tf_jN+00000NkvXXu0mjf?N2YQ literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_plot3d_gr.png b/resources/Visu_tree_plot3d_gr.png new file mode 100644 index 0000000000000000000000000000000000000000..e73180bc9525c02a7edc5e0a691f6b7a5cc6aa3e GIT binary patch literal 918 zcmV;H18Mw;P)e9gP0}>EG0QATGo5q=C3C|y4I;P=sdhN`pv;%m^g$`QQbgt- z2121PB4fe?=fhyQ>O++wQirvI!dfk~+my*RiR};@lhh^cO--7#xi|OtVAoCX!4D4S z;e6-!aQKdrO(lf86gfAm@E2*T@M(# z{!>BM-_l@W!~bG7l@RSVNJNyOp&_5&?|;>Hw;ipl?~9CHiLu3hk@k3e$#d;m2-t1G zn}8b#18f5N`}=o3cm3C?i`~xzzDOr2tu^s&dMhU;2iaIgwG|oZjQz6y+R`bi+{+a2 zD8R$O)!&cDOz*o@XJ_waR!p6SqT;ko<|aCDN`nS~rQm(Kz2F+1zX>SivZxwh0c`uM z;#~GAI4c%qUkhHV%GmTFTt{cSE>g)k*-V80_23f%|55d+U(HO8h7 zku1;f$!sr={rLl<+aBT5T`PDTj(<+K3StLLbPnjcF-bHU9R}p|v13wd3dpM8E8<0@ z2|3sCg0v16<;TUnQt9=GfiA|dF1ZT>l1`_?A_B2k>|;PUEOMahD=86>I!-wgc}aLy zgnc3hPkbpdjTmQjF$Q!gJg`d^2H)rv5tLXg_E9F2>AO7NO?IuBCkm5j<~lPidsy`} zx4oUPX^EPc)-J= zVdHjtuACZvrC%B5Og5Fc6XjyD=q?tE{15Hf=$AHsA)88UPLto|&#S81<8rxtfj|IV s*YW%PxmvCE;rRIY*V$C!(%rPb0cb95C|pAgyZ`_I07*qoM6N<$g6G7fjsO4v literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_result.png b/resources/Visu_tree_result.png new file mode 100644 index 0000000000000000000000000000000000000000..a9eccf9ebd0ea4dd785a241abc1bea7c90dd4a12 GIT binary patch literal 421 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9GG!XV7ZFl&wkP>?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx-l>?N_)CEhE&{2`t$$4J+mrEcqS5?GWR7z`&0f6|_H`XD1m5;Kc{AG6T&vxiqoT5bbs zNtZC${ws;M`Nq+s1!f-lK(&X2gig3DP}||V_3CU%qs?z6migNr5x6jyMf`q%RX<|} z$Kgje;x?EA^)Babm{quo;ThM2xCVx%7U z3!XDGIxsvmVR%yRG|Lg_^8<|@S!_ literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_scalarmapondeformedshape.png b/resources/Visu_tree_scalarmapondeformedshape.png new file mode 100755 index 0000000000000000000000000000000000000000..77c346c617fe52c70382034ff3698e6ad98d9f67 GIT binary patch literal 1140 zcmV-)1dIELP)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ<>PbXFRCwBAV88^@Y~oTcf%JEG5BG(K4jxiHxbL8< zh=>S^qROgDhJAbXF#rS*3z}w49vy?dd?uD+ulMg{`19ju95XX>90w-{!~2hn2|)Qb zNNV>0@lSvNLN-8$-`r*shpeLH@3(Il1OlTO{-4;zuztgChAUU^F=WR7Ss?tEgWp5iP75{zz#vmD)$iTtym*L#?I}GnWPG<0P zT*NTB{69nXR}KbU78ZtJpoXWPzeIld{-qlrfIu#g%-xw@`wtulSXV8<9V0ixQ`44~qVq#=wIs4b~D;onq002P%zW)RV9Ul%9MN9zn(#`+`5E20J%Ekad>45-NPyqm>q51#{rU3x2 z#QFe30Q>--G&BHMT37%8{QUqA4-o(k5Do|eh=t+*|9}7g{$*h1<7aqz>I%d2_6CNq z!aodamNGN&i~VC@2Zp=e|6dHt%uE@=Bf`Pn69QT!E+)>v%gwtKAb`Mu$il_N@b1!8 z2E#Ya3=5YqGU(`VGR*DZV&Lcb!@$h+hhe>w6N6`DI0Mtae+(jmA`Ifz_y7wG z58DL@2tNi33_t$`1!?^R1ONhvk&%h{`+rAUj`Eet3?ECEGR$zVU|{(FgF&!rBf~mP z1qKmDCWhmVjtriQ7BL*{>bxR*_^__=jF~{o8Nu-n5I`*dnHd;3?W7qd_J3yhuO7j` zYADPg7e0d_IzN@+$B`opjIZ7@a40J?oSi)FiXaF3d5LE)xY^&nwE*fp48*?x0*H}G zOZGe8o=%P*{i_&$@N+PzY`MvhMFvK}}Gq3{1c-XlZM0t1^?l!k>P;z!W zDLa2|5m3W*Ahrc!XCMv%VkUq9V)}dSF~^tsr3~ut7#ZUAY#G=kgcx`@c^HJ0lo(Vl zUtzEh4PL|f_;CkNaRCqmJq%0`5TF6XoB#pDBF4_`(im5~<^9jE3@kurbFp$Vh>D6b za0`o_<$C%wQRK+sG@!zAAPxlL8$c`x#Fv10G7!H62rvL}LoIRxEQAjL0000y5guH~-e#=U;iM#9+0hqg@%4WLd5=8jW?KP$*bYQPFnh%y9YIuL#x@_n7`A1pF@7ner{rOZhqh4ra6TZUX4-o{~S1-&JSlay^MmV zi3R**R=tXpZYL62;L9&Q<>i+~DRmpz`OpU1PQ}2{q%erVTW6Rvx3iFR|!TF2wBh)i`8n$MD}e!oBG^rVlmp zY^9$oLuR!2Dv}22l7XvYvcD#f3+G=G!^2+#Se+IO0QzWv70)FYygrk8V<93*65()|a5&7grg5^Q1b}Cno0Xzt$F>9H zUArcL`vCRbcJ%REzpJOcC1$hv5uh%SNPJ~kT53N$GQw@M`Nh16iG6FeSz6yl@&7t! ncMOU3dLlpnfxXpfSugnqwKrq3(YK=&00000NkvXXu0mjfzn{sV literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_scalars.png b/resources/Visu_tree_scalars.png new file mode 100755 index 0000000000000000000000000000000000000000..d0c93c58b69d1adbc51ca9c7f60da6173f20138c GIT binary patch literal 1118 zcmV-k1flzhP)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ<)Ja4^RCwBAV891hSZkORHNP_}%6wN)X8EqB#`N99 zg!wxkKjU|x?DuKYr#b@!5H78*42+CboQ*U8i@f~xpZDwD|1bW_|Nr}w@BhkG-2cmp zIQ~nCGyL!EoA@6ffLO3-j$zkHTg)74%)pf%!@$D0fg$wo9tN&o-x#v9{w z#l~>w<`0H@cVGMf2p}dj&Dk8fwTro(W-_qFrZKR7xyFXtTznC`fLny z7jiS0y=G;2dz^vcE8|xNfB-@_z>Q5Vh~fXA-wgjh{9t&`B*;+BvYA2c|09NVI~f^b z)7Ti^&-ur|kolj1=^Xq9u5u$fB<4-WaazM zrWgry_9vjTzcMfyFfy=+J!ANG{Rcya=4FQI%Y_-f-2BVHxQvnEU(-*9Q~_3oi`v=@ zZdR5I@{*E200M}GkyGLakK+uE|L=kBFl1o(6U@M%sk)9qf72v}xATEM{PdsUFVLMo zru|{a;bvv{9~H?^U|_)T{p)uIP7Y26fB*nN0KWeM0RQ~}{_Ohz{wMGN{Y&%!2o1mh z4E*2#PVvD2`2qs~01E&B0fYbm_4NDzwhRdXLoF=;`1kk#5D*Xm85bD_0*Hy>H_&E1 z28RD(ObkFrGW=(L$G`qCO5R>@A z&c<#H5I{@}VnEH|%nVF_fQm&=GH9}2XIS!YGQ;mbObl$_KoP{ma1j`2KSabC`1p7k zxVg9)gam~c*jU+Ofi|812p|>)CRPS!aV7>9-fIkw%*Pp)FiZzp`kg`iKMTXnhu;}y zPJF|#fL(zhAUm0XgPE0qo0FS?ot^z66BE-zR#sL9fB<6o_xdHr+uR7CU!OAk{Cl3E z1em&h0iFHuIuO4QWth9djKSI2h(U;-gMpiahe1e4hym#IW&i&DI}dUnKmf6D|Nov+ z$R|AK`P2UlFMmifTw`Jb`sqIdn;;`YVv;C>nwlEJuOGh{c(`~N_=WfxxVgDcFfuZ( z{r~?zI0XU(5aYsm3&o{nq#wL|{gUC=&tJey$Ouo@fByUddXtfXjf0IrfLDNllZ*2P k6C;xgQ1e@u8h`);0Ce>zQZwP8Z~y=R07*qoM6N<$f)yb78vpTt3Wp!8^lsF*=3N%h#J;lOqpA!f+b7{H@CBv^F2p>pX2+U_kFsM$aT@@`uqFx zz4(2^^6@ssHqzsBVsv!0F_B30-p}Ws`{>+-S7f=Y#Up?D$)FHiJ=j*cJ+J?B1TZi# zP#GT_{3;B?W4f+$e&!n5#aUFU$ZOT7^+|h}Uw>I(VKHRl^G(j~Xx=IS=pFnzy2m`vBk%9V*wamTK%$<~v645a ztJxqndzEj#i}3!tF{BfqT>-HUM7Gw~8HTYIt!-CTNAoJ#SyYLMKUMm{wAyv&Q)NAy zQHKsi)U8}X1uNC6@J>>#+DWyNNUDscIRc?A2_u;irj3YHgH}RRmnj<__NK$kq(?Go zk&bJG=fLr|9VDkS#4O6&gZ-Z$QLE9JMiClz0)H;fjmw5(PFw9X}8D4UI88l5h6W z(9nRCavng#2ZVydilC{2n6^NvVufO0qX6O%`%SQTHsDISiu(F`q?AZ0$F@E(3LF8| zWMO&tS*>vC39s|Cw#=pi^#}}8kP`uG4UJ?n8Kjgy8-_6kpxx=JtyE1Wy8nn$dY+!> zx13gAuydt=??*@>xN8NB?6hfXYr}Qje5q9G$!4>`y}ov(1L&fF%FOY)ewmSQ98)hN z{U{}Oll@25&`q1?JF`Ti(MzuDp6KuIUwTX?=cN{@bT{}~dHl!*5>1G}GxHBcxgpgw zol2$dnx;81G&D5Nf6xJzUQWlh>&*Xfudn?v{r?77v{0mI+;wUI0000z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRZ<0!c(cRCwBAG%zq=zzG-`85nlfB(Y#mtA=Bo4VG3ueRSAB7WC1a54X3_{Yr1!0;c4SpPAw|C9d<5I|TBVEp}? z`;UNR@4KSXgm)h7458oGGR$I|%fRvE2Lr=opl%MJqJRGxmdn&J00aWrSg(3WRDZ^CeMGUMT85o`w^D#`=&cndY@(&aU3@mw{82|zZ!vMyA{}}!VNzHqd zl*Hiie~7=JN*%41__yd=-?Hph;EmxZ0-=kH$(2GY_D00D&Qg1>(mzOW00 zs+$TiEMl!>-~+1oUc}B&c|wYTCDDf=NJEo>n~w*m>@UN=zyFv40tm?fV3hs&#rltv zXVbH)#{X74%Na%ge`jE5=VK_{F39jN&F{aHzW$kC-+zWNf&!U|2^iLl{{aGsh3We@ zd9dz(z!2sZ>bPCCz{A#VFT;dyQy4x!;%E4CkCEYppa6rKh~OV)CMLW8jQ@Z919}sL zK>#3tSiWgm-DU(v%FoZg7@nkLFzA~8W?1~InSqt_9|P}328QZwTntQkb_|9ps>gs< z{@~`}hHC}^fB<5-Ii>sWe+E`ojsMRX!gpAzTvkcA*R~SBj;$z^N#>nvQ%5R41WAY5Vh2ab~I{F)b z|M~Op|Ns9O1^@&QIy42+L}nqM>E0RRESVyCbB5vYg*m6%z9b`98T zSr$quewmqOv{c2)tB2VY8)ZMURLs!d0^lD(p-?!Zl-e7OM)5q4x!F0s7CTry)kPxu zJ@2YZbj8Qvf(BOu5Rj!6vteXHYiVgog+ig{48uT5iSPT&|2#$Zolz3v8Xvo7>9l6y zQk*YetLDmWfe86Pp=1J-%jG`9Fo?xsxUS2M*$kNjN2$602IuS#=`7E|SQS@awz&TE zv-Cdo1Z!(+nb%LBKE8QEi&6^5ad2Ii;_Y?TlMi#b?j;_p%pkwB`1X|GtL|QoJ%5Nu zB*L!7#^&E9C$H;&32Fdr+h*m~Eynv#a&P-hcFQ@mnF#YIBbcPy$H8$NJC#b6 z%tB}1m_{JvhR4$5`+2b2;(|QN12Tsb2#Rm(eA2py6Z`fdr9{_tlv0?cIR#+;{@!sE zVUjHKmU*7;jn7GGISNi3@tNXc{WkVAH&Lln&@>I-_X&r?n5OwDfO+0Ih{U9c9PQ3c z%2?R%3u>o4-k9Icd`BA(B@z^iMS>u}_kEO7)1gr4j-cZeS2Qe);}N1nEy7fMkges% zVil{&1ovr>&*uR)1uH=iJk!(Dqq6;NfeG;BA4wZf07igVj0K*z%{Sw=O+KH;FpSL^ zGYsR{z`(%LU9Ws)Ayc)rVaa5&5$N+gui1579LHIcQeGY!8k*u?X#Z7b{)cRT+g?0v z(btiIVPjv-@4(4GzCyA`kS_y6l_~>6Lo)-z&;LOBB?CjL0RzLU1O^7H84L{K`IF+0 zx&hU$@N{tuskoK&=l_3uW>p4-h6o21Wo6~aWemFMEF21A63mdKI;Vst0J>*aBLDyZ literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_vectors.png b/resources/Visu_tree_vectors.png new file mode 100755 index 0000000000000000000000000000000000000000..5ff8c7bf319025efc668a5091d4824f4b7a174a4 GIT binary patch literal 1199 zcmXYxdrT8{5XZ0d2^3o&Knq9<2xOObGntU7tGr6BMV_Ke zGCMb6QQUL`0ofuB%R}W^Dnn(?q%A0{;Dc6L?YqC#ZGU|4o4e#bxm+$+oxbBe7bg!V z0B}i3PTXa8>RXWr_Q=qpJi9p-CTD*M;Jo^+F!1enGsvxKGXLY zrAaSuKT-3QXfiC7CmmdFMY6U%mEW+0KNeX^bvZ1bCCu}alr+6l&7}*&Ltk}C%Crn- zMHY?OB5IoFFF$neC09-{4rYs^6qviwHdGKaGutE6m?p-LGrVHrD!5H3JNw|VFO*zP zxh>qtA`-Fj00|&L4ptkc_O%IHLck%oG|GetxdA-rS61Qi`Wl3Y!0`PA%rFEiuXK>` zI$Z-Ik$~}QH=uqAyfEqw4*z0s9u(u@2yZRORR(yo(h;=UMWB0jfkK%HIIIHjcq^zi zS_o=y1I0(Xfi(RHfIt9^P77MyYxoa?_1$tv7Vq~wTk}c-D+mVoO&JP44otwws^A%u36XZ}vrUnf|EH+xb<=`$EEndUM1aZF8`jLofUMKOgZEQmF_>jP1~NEQ%`Xwp%?aSA7@nv#Itc&&p>BlJg{4@ zO&fbP9TuOXyAQN9i|MrNEYx|uustIqa;RUrOxZ9r)=v(tsx4@pn!Sj!%26IC4__l7 zbMta>)cDjFQk3647ngD4swAJMH&P~#UheaVmKz6sRkRB+EA|_-sZH@|Yxr&$?Yygv2M}JE~+e zT=QQ?e5_)@()M8O&k>{BN>}_KNVR=Za!$_9U5M%58TA&sRW3T12w^Us7S{{vtLrgL5arilLrB<8;k)aC5Ly@X;pRP!l@A-;$M*;SX+GxX*pfML z=Y?(U{r1yg`C)D*r-*23bFypq^*^KHJTNfu xO4uZ7bsLFwK3v60CI8gEnpR(uu+x#sfd`i>HjGWEr1s|mDM>pL+qZI#{{ybI7AXJ# literal 0 HcmV?d00001 diff --git a/resources/Visu_tree_vectors_gr.png b/resources/Visu_tree_vectors_gr.png new file mode 100644 index 0000000000000000000000000000000000000000..3a7e1142ea4faa8cab61f59bd3c008ec5ed35aeb GIT binary patch literal 952 zcmV;p14sOcP)ffj1ZqX@;+q%ROd6iHfZF=;|$Qy1>syKSOT zV^YLKBZ;MH7uxt(RZ^QKvMMM>9aEG7GT^{4ckVDPbDwh`E~=*WtiPP(*NBb)N}_6xvyeR$7A06??FL^uHVtm=~` zKTIf^VW9t0Jjo>xwP-AVfU@yEkH7t4cd(!$`yOr}FaZz%=x-^qoR^4H%f!gi*)@Zr z9w1tkLCNhRu15%D7BN@XsI<0F4u^>=3IJmI=xpIkTe`TW`W=T-3w%ENA}voWqZf}5 zi!1zeyN|YkZ(z+w?Kp?IGs#jcK~&SIzxneu`G<>*AB}x-SqsQAxs5C>iSH<7YuHpI zLLrq<#Np15qvWJs{Px|{ie{?X@lRqOg^a_yOt?2B-s;)RG+1+i@#*L4xXA{aDqeQ;eD z$8m5>69=DQE=Q$OiKf%(8rkS+LPG4PDnceteQ}7-Y!<9+cExzfSa* zUnwW+u`J7IZ*MQlrX%FG216WsY>Jz=ZlJ0vs;VM{&hK|FV44Egb#Yx6?%!wQ#7Xj< zofw8O_uq|<>r(MtACNRnBb&`)Sq`S9v$eHFG#Wt&f$ca5+r}_-JW09)5Ri}xz7I9A z$TH9jkk98aj0%oxlUEetu^Iq$A*k|P49on}=RtwI6z$vAY(YbPa|ZYxU}#7qnN%St zqZSm3#Uf&1ft}OS$fk)C42=y94Y})Qdwm(;jb~Sv%u4lJ!1KVx!9m?CZ@%Z< a%>NAvDv+S<=GeOc0000 #include @@ -165,27 +166,6 @@ namespace }; - //--------------------------------------------------------------- - vtkDataSet* - GetInput(vtkInformationVector **theInputVector, - vtkIdType theId) - { - if(vtkInformation* anInformation = theInputVector[0]->GetInformationObject(theId)) - return vtkDataSet::SafeDownCast(anInformation->Get(vtkDataObject::DATA_OBJECT())); - return NULL; - } - - - //--------------------------------------------------------------- - vtkDataSet* - GetOutput(vtkInformationVector *theOutputVector) - { - if(vtkInformation* anInformation = theOutputVector->GetInformationObject(0)) - return vtkDataSet::SafeDownCast(anInformation->Get(vtkDataObject::DATA_OBJECT())); - return NULL; - } - - //--------------------------------------------------------------- template void @@ -194,7 +174,7 @@ namespace TFunctor& theFunctor) { for(vtkIdType anInputId = 0; anInputId < theNumberOfInputConnections; anInputId++) - if(vtkDataSet *aDataSet = GetInput(theInputVector, anInputId)) + if(vtkDataSet *aDataSet = VISU::GetInput(theInputVector, anInputId)) if(aDataSet->GetNumberOfPoints() > 0 && aDataSet->GetNumberOfCells() > 0) theFunctor(anInputId, aDataSet); } @@ -215,7 +195,7 @@ namespace if(aPoints->GetNumberOfPoints() < 1) return true; - TDataSet* anOutput = TDataSet::SafeDownCast(GetOutput(theOutputVector)); + TDataSet* anOutput = TDataSet::SafeDownCast(VISU::GetOutput(theOutputVector)); vtkIdType anNbInputs = theNumberOfInputConnections; if(theIsMergingInputs){ TCellIdMerger aFunctor(anNbInputs); @@ -246,7 +226,7 @@ namespace //TObjectId anObjectId = anIter->first; const TInputCellId& anInputCellId = anIter->second; TInputId anInputId = anInputCellId.first; - if(vtkDataSet *aDataSet = GetInput(theInputVector, anInputId)){ + if(vtkDataSet *aDataSet = VISU::GetInput(theInputVector, anInputId)){ TCellId aCellId = anInputCellId.second; aDataSet->GetCellPoints(aCellId, anIdList); @@ -302,7 +282,7 @@ namespace vtkIdList *anIdList = vtkIdList::New(); anIdList->Allocate(VTK_CELL_SIZE); for(vtkIdType anInputId = 0; anInputId < anNbInputs; anInputId++){ - if(vtkDataSet *aDataSet = GetInput(theInputVector, anInputId)){ + if(vtkDataSet *aDataSet = VISU::GetInput(theInputVector, anInputId)){ vtkIdType aNbCells = aDataSet->GetNumberOfCells(); vtkCellData *aCellData = aDataSet->GetCellData(); // copy cell and cell data @@ -326,7 +306,7 @@ namespace vtkIdType aTupleId = 0; for(vtkIdType anInputId = 0; anInputId < anNbInputs; anInputId++){ - if(vtkDataSet *aDataSet = GetInput(theInputVector, anInputId)){ + if(vtkDataSet *aDataSet = VISU::GetInput(theInputVector, anInputId)){ vtkIdType aNbCells = aDataSet->GetNumberOfCells(); for(vtkIdType aCellId = 0; aCellId < aNbCells; aCellId++){ aDataArray->SetValue(aTupleId++, anInputId); diff --git a/src/CONVERTOR/VISU_ConvertorUtils.cxx b/src/CONVERTOR/VISU_ConvertorUtils.cxx index 8af6521e..88a703b1 100644 --- a/src/CONVERTOR/VISU_ConvertorUtils.cxx +++ b/src/CONVERTOR/VISU_ConvertorUtils.cxx @@ -34,6 +34,10 @@ #include #include +#include +#include +#include + #include #include #include @@ -339,6 +343,27 @@ namespace VISU } + //--------------------------------------------------------------- + vtkDataSet* + GetInput(vtkInformationVector **theInputVector, + vtkIdType theInputId) + { + if(vtkInformation* anInformation = theInputVector[0]->GetInformationObject(theInputId)) + return vtkDataSet::SafeDownCast(anInformation->Get(vtkDataObject::DATA_OBJECT())); + return NULL; + } + + + //--------------------------------------------------------------- + vtkDataSet* + GetOutput(vtkInformationVector *theOutputVector) + { + if(vtkInformation* anInformation = theOutputVector->GetInformationObject(0)) + return vtkDataSet::SafeDownCast(anInformation->Get(vtkDataObject::DATA_OBJECT())); + return NULL; + } + + //--------------------------------------------------------------- TTimerLog ::TTimerLog(int theIsDebug, diff --git a/src/CONVERTOR/VISU_ConvertorUtils.hxx b/src/CONVERTOR/VISU_ConvertorUtils.hxx index bcf97735..f2e04fde 100644 --- a/src/CONVERTOR/VISU_ConvertorUtils.hxx +++ b/src/CONVERTOR/VISU_ConvertorUtils.hxx @@ -37,6 +37,7 @@ #include +class vtkInformationVector; class vtkUnstructuredGrid; class vtkPolyData; class vtkTimerLog; @@ -134,6 +135,15 @@ namespace VISU GetInputCellID(vtkDataSet *theDataSet, vtkIdType theObjID); + VISU_CONVERTOR_EXPORT + vtkDataSet* + GetInput(vtkInformationVector **theInputVector, + vtkIdType theInputId = 0); + + VISU_CONVERTOR_EXPORT + vtkDataSet* + GetOutput(vtkInformationVector *theOutputVector); + //--------------------------------------------------------------- //! The utility class that allows to perform perfomance mesurement class VISU_CONVERTOR_EXPORT TTimerLog diff --git a/src/CONVERTOR/VISU_MergeFilter.cxx b/src/CONVERTOR/VISU_MergeFilter.cxx index 5a549c6c..dd12d509 100644 --- a/src/CONVERTOR/VISU_MergeFilter.cxx +++ b/src/CONVERTOR/VISU_MergeFilter.cxx @@ -33,94 +33,139 @@ #include #include +#include +#include +#include +#include + //------------------------------------------------------------------------------ vtkStandardNewMacro(VISU_MergeFilter); //------------------------------------------------------------------------------ - -// Create object with no input or output. -VISU_MergeFilter::VISU_MergeFilter(): +VISU_MergeFilter +::VISU_MergeFilter(): myIsMergingInputs(false) { this->FieldList = new VISU::TFieldList; + this->SetNumberOfInputPorts(6); } +//------------------------------------------------------------------------------ VISU_MergeFilter::~VISU_MergeFilter() { delete this->FieldList; } +//------------------------------------------------------------------------------ +void VISU_MergeFilter::SetGeometry(vtkDataSet *input) +{ + this->Superclass::SetInput(input); +} + +//------------------------------------------------------------------------------ +vtkDataSet *VISU_MergeFilter::GetGeometry() +{ + if (this->GetNumberOfInputConnections(0) < 1) + { + return NULL; + } + return vtkDataSet::SafeDownCast( + this->GetExecutive()->GetInputData(0, 0)); +} + +//------------------------------------------------------------------------------ void VISU_MergeFilter::SetScalars(vtkDataSet *input) { - this->vtkProcessObject::SetNthInput(1, input); + this->SetInput(1, input); } + +//------------------------------------------------------------------------------ vtkDataSet *VISU_MergeFilter::GetScalars() { - if (this->NumberOfInputs < 2) + if (this->GetNumberOfInputConnections(1) < 1) { return NULL; } - return (vtkDataSet *)(this->Inputs[1]); + return vtkDataSet::SafeDownCast( + this->GetExecutive()->GetInputData(1, 0)); } +//------------------------------------------------------------------------------ void VISU_MergeFilter::SetVectors(vtkDataSet *input) { - this->vtkProcessObject::SetNthInput(2, input); + this->SetInput(2, input); } + +//------------------------------------------------------------------------------ vtkDataSet *VISU_MergeFilter::GetVectors() { - if (this->NumberOfInputs < 3) + if (this->GetNumberOfInputConnections(2) < 1) { return NULL; } - return (vtkDataSet *)(this->Inputs[2]); + return vtkDataSet::SafeDownCast( + this->GetExecutive()->GetInputData(2, 0)); } +//------------------------------------------------------------------------------ void VISU_MergeFilter::SetNormals(vtkDataSet *input) { - this->vtkProcessObject::SetNthInput(3, input); + this->SetInput(3, input); } + +//------------------------------------------------------------------------------ vtkDataSet *VISU_MergeFilter::GetNormals() { - if (this->NumberOfInputs < 4) + if (this->GetNumberOfInputConnections(3) < 1) { return NULL; } - return (vtkDataSet *)(this->Inputs[3]); + return vtkDataSet::SafeDownCast( + this->GetExecutive()->GetInputData(3, 0)); } +//------------------------------------------------------------------------------ void VISU_MergeFilter::SetTCoords(vtkDataSet *input) { - this->vtkProcessObject::SetNthInput(4, input); + this->SetInput(4, input); } + +//------------------------------------------------------------------------------ vtkDataSet *VISU_MergeFilter::GetTCoords() { - if (this->NumberOfInputs < 5) + if (this->GetNumberOfInputConnections(4) < 1) { return NULL; } - return (vtkDataSet *)(this->Inputs[4]); + return vtkDataSet::SafeDownCast( + this->GetExecutive()->GetInputData(4, 0)); } +//------------------------------------------------------------------------------ void VISU_MergeFilter::SetTensors(vtkDataSet *input) { - this->vtkProcessObject::SetNthInput(5, input); + this->SetInput(5, input); } + +//------------------------------------------------------------------------------ vtkDataSet *VISU_MergeFilter::GetTensors() { - if (this->NumberOfInputs < 6) + if (this->GetNumberOfInputConnections(5) < 1) { return NULL; } - return (vtkDataSet *)(this->Inputs[5]); + return vtkDataSet::SafeDownCast( + this->GetExecutive()->GetInputData(5, 0)); } +//------------------------------------------------------------------------------ void VISU_MergeFilter::AddField(const char* name, vtkDataSet* input) { this->FieldList->Add(name, input); } +//------------------------------------------------------------------------------ void VISU_MergeFilter::RemoveFields() { delete this->FieldList; @@ -151,33 +196,84 @@ VISU_MergeFilter //--------------------------------------------------------------- -void +int VISU_MergeFilter -::Execute() +::RequestData(vtkInformation *theRequest, + vtkInformationVector **theInputVector, + vtkInformationVector *theOutputVector) { if(vtkUnstructuredGrid *anInput = dynamic_cast(this->GetInput())){ vtkUnstructuredGrid *anOutput = dynamic_cast(this->GetOutput()); - VISU::Execute(anInput, - anOutput, - this->GetScalars(), - this->GetVectors(), - this->GetNormals(), - this->GetTCoords(), - this->GetTensors(), - this->FieldList, - IsMergingInputs()); + return VISU::Execute(anInput, + anOutput, + this->GetScalars(), + this->GetVectors(), + this->GetNormals(), + this->GetTCoords(), + this->GetTensors(), + this->FieldList, + IsMergingInputs()); }else if(vtkPolyData *anInput = dynamic_cast(this->GetInput())){ vtkPolyData *anOutput = dynamic_cast(this->GetOutput()); - VISU::Execute(anInput, - anOutput, - this->GetScalars(), - this->GetVectors(), - this->GetNormals(), - this->GetTCoords(), - this->GetTensors(), - this->FieldList, - IsMergingInputs()); + return VISU::Execute(anInput, + anOutput, + this->GetScalars(), + this->GetVectors(), + this->GetNormals(), + this->GetTCoords(), + this->GetTensors(), + this->FieldList, + IsMergingInputs()); } - Superclass::Execute(); + return Superclass::RequestData(theRequest, + theInputVector, + theOutputVector); +} + +//---------------------------------------------------------------------------- +// Trick: Abstract data types that may or may not be the same type +// (structured/unstructured), but the points/cells match up. +// Output/Geometry may be structured while ScalarInput may be +// unstructured (but really have same triagulation/topology as geometry). +// Just request all the input. Always generate all of the output (todo). +int +VISU_MergeFilter +::RequestUpdateExtent(vtkInformation *vtkNotUsed(request), + vtkInformationVector **inputVector, + vtkInformationVector *vtkNotUsed(outputVector)) +{ + vtkInformation *inputInfo; + int idx; + + for (idx = 0; idx < 6; ++idx) + { + inputInfo = inputVector[idx]->GetInformationObject(0); + if (inputInfo) + { + inputInfo->Set(vtkStreamingDemandDrivenPipeline::UPDATE_PIECE_NUMBER(), + 0); + inputInfo->Set(vtkStreamingDemandDrivenPipeline::UPDATE_NUMBER_OF_PIECES(), + 1); + inputInfo->Set(vtkStreamingDemandDrivenPipeline::UPDATE_NUMBER_OF_GHOST_LEVELS(), + 0); + inputInfo->Set(vtkStreamingDemandDrivenPipeline::EXACT_EXTENT(), 1); + } + } + return 1; +} + + +//---------------------------------------------------------------------------- +int +VISU_MergeFilter +::FillInputPortInformation(int port, vtkInformation *info) +{ + int retval = this->Superclass::FillInputPortInformation(port, info); + if (port > 0) + { + info->Set(vtkAlgorithm::INPUT_IS_OPTIONAL(), 1); + } + return retval; } + diff --git a/src/CONVERTOR/VISU_MergeFilter.hxx b/src/CONVERTOR/VISU_MergeFilter.hxx index 35233f51..26a31a5e 100644 --- a/src/CONVERTOR/VISU_MergeFilter.hxx +++ b/src/CONVERTOR/VISU_MergeFilter.hxx @@ -29,7 +29,9 @@ #ifndef VISU_MergeFilter_H #define VISU_MergeFilter_H -#include +#include "VISU_Convertor.hxx" + +#include namespace VISU { @@ -37,16 +39,17 @@ namespace VISU } -class VISU_MergeFilter : public vtkDataSetToDataSetFilter +//------------------------------------------------------------------------------ +class VISU_CONVERTOR_EXPORT VISU_MergeFilter : public vtkDataSetAlgorithm { public: static VISU_MergeFilter *New(); - vtkTypeMacro(VISU_MergeFilter, vtkDataSetToDataSetFilter); + vtkTypeMacro(VISU_MergeFilter, vtkDataSetAlgorithm); // Description: // Specify object from which to extract geometry information. - void SetGeometry(vtkDataSet *input) {this->SetInput(input);}; - vtkDataSet *GetGeometry() {return this->GetInput();}; + void SetGeometry(vtkDataSet *input); + vtkDataSet *GetGeometry(); // Description: // Specify object from which to extract scalar information. @@ -96,8 +99,15 @@ protected: VISU_MergeFilter(); ~VISU_MergeFilter(); - // Usual data generation method - void Execute(); + virtual + int + RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); + + int + RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); + + int + FillInputPortInformation(int port, vtkInformation *info); VISU::TFieldList* FieldList; bool myIsMergingInputs; diff --git a/src/CONVERTOR/VISU_MergeFilterUtilities.cxx b/src/CONVERTOR/VISU_MergeFilterUtilities.cxx index e92c388f..585e7e0e 100644 --- a/src/CONVERTOR/VISU_MergeFilterUtilities.cxx +++ b/src/CONVERTOR/VISU_MergeFilterUtilities.cxx @@ -448,6 +448,51 @@ namespace } + //--------------------------------------------------------------- + struct TGetCellData + { + vtkFieldData* + operator()(vtkDataSet* theDataSet) + { + return theDataSet->GetCellData(); + } + }; + + + //--------------------------------------------------------------- + struct TGetPointData + { + vtkFieldData* + operator()(vtkDataSet* theDataSet) + { + return theDataSet->GetPointData(); + } + }; + + + //--------------------------------------------------------------- + typedef vtkFieldData* (vtkDataSet::* TGetFieldData)(); + + template + vtkIntArray* + GetIDMapper(VISU::TFieldList* theFieldList, + TGetFieldData theGetFieldData, + const char* theFieldName) + { + VISU::TFieldListIterator anIter(theFieldList); + for(anIter.Begin(); !anIter.End() ; anIter.Next()){ + const char* aFieldName = anIter.Get()->GetName(); + if(strcmp(aFieldName, theFieldName) == 0){ + vtkDataSet* aDataSet = anIter.Get()->Ptr; + vtkFieldData *aFieldData = theGetFieldData(aDataSet); + vtkDataArray *anIDMapper = aFieldData->GetArray(aFieldName); + return dynamic_cast(anIDMapper); + } + } + return NULL; + } + + //--------------------------------------------------------------- template bool @@ -461,180 +506,180 @@ namespace VISU::TFieldList* theFieldList, bool theIsMergingInputs) { - vtkPointData *aPointData = theInput->GetPointData(); - int nbPointsInScalars = theScalarsDataSet->GetNumberOfPoints(); - int nbPointsInGeometr = theInput->GetNumberOfPoints(); vtkCellData *aCellData = theInput->GetCellData(); - - vtkDataArray *aPointMapper = aPointData->GetArray("VISU_POINTS_MAPPER"); - vtkIntArray *aGeometryPointMapper = dynamic_cast(aPointMapper); - vtkDataArray *aCellMapper = aCellData->GetArray("VISU_CELLS_MAPPER"); - vtkIntArray *aGeometryCellMapper = dynamic_cast(aCellMapper); - if(aGeometryCellMapper && (nbPointsInScalars == nbPointsInGeometr)){ - vtkIntArray* aDataCellMapper = NULL; - VISU::TFieldListIterator anIter(theFieldList); - for(anIter.Begin(); !anIter.End() ; anIter.Next()){ - vtkCellData *aCellData = anIter.Get()->Ptr->GetCellData(); - const char* aFieldName = anIter.Get()->GetName(); - if(strcmp(aFieldName, "VISU_CELLS_MAPPER") == 0){ - vtkDataArray *aCellMapper_tmp = aCellData->GetArray(aFieldName); - aDataCellMapper = dynamic_cast(aCellMapper_tmp); - break; - } - } - - bool anIsDifferent = aDataCellMapper && - aDataCellMapper->GetNumberOfTuples() != aGeometryCellMapper->GetNumberOfTuples(); - if(anIsDifferent || theIsMergingInputs){ - TSortedArray aGeometryCellArray; - GetSortedArray(aGeometryCellMapper, aGeometryCellArray); - - TSortedArray aDataCellArray; - GetSortedArray(aDataCellMapper, aDataCellArray); - - int aMaxLength = std::max(aGeometryCellArray.size(), aDataCellArray.size()); - TSortedArray anIntersectionArray(aMaxLength); - TSortedArray::iterator anArrayIter = anIntersectionArray.begin(); - anArrayIter = std::set_intersection(aGeometryCellArray.begin(), - aGeometryCellArray.end(), - aDataCellArray.begin(), - aDataCellArray.end(), - anArrayIter); - - anIntersectionArray.erase(anArrayIter, anIntersectionArray.end()); - - bool anIsCompletelyCoincide = - anIntersectionArray.size() == aGeometryCellArray.size() && - anIntersectionArray.size() == aDataCellArray.size(); - - if(!anIsCompletelyCoincide || theIsMergingInputs){ - { - TId2IdMap anObj2VTKGeometryMap; - vtkIdType aNbCells = aGeometryCellMapper->GetNumberOfTuples(); - for(int aCellId = 0; aCellId < aNbCells; aCellId++){ - vtkIdType anObjID = aGeometryCellMapper->GetValue(aCellId); - anObj2VTKGeometryMap[anObjID] = aCellId; - } - - vtkIdType aNbTuples = anIntersectionArray.size(); - theOutput->Allocate(aNbTuples); - vtkIdList *aCellIds = vtkIdList::New(); - for(int aTupleId = 0; aTupleId < aNbTuples; aTupleId++){ - vtkIdType anObjID = anIntersectionArray[aTupleId]; - vtkIdType aCellId = anObj2VTKGeometryMap[anObjID]; - vtkCell *aCell = theInput->GetCell(aCellId); - aCellIds->Reset(); - vtkIdType aNbPointIds = aCell->PointIds->GetNumberOfIds(); - for(vtkIdType aPointId = 0; aPointId < aNbPointIds; aPointId++) - aCellIds->InsertNextId(aCell->GetPointIds()->GetId(aPointId)); - theOutput->InsertNextCell(theInput->GetCellType(aCellId), aCellIds); + if(vtkDataArray *aCellMapper = aCellData->GetArray("VISU_CELLS_MAPPER")){ + vtkIntArray *aGeometryCellMapper = dynamic_cast(aCellMapper); + vtkIdType aGeomNbCells = aGeometryCellMapper->GetNumberOfTuples(); + + vtkPointData *aPointData = theInput->GetPointData(); + vtkDataArray *aPointMapper = aPointData->GetArray("VISU_POINTS_MAPPER"); + vtkIntArray *aGeometryPointMapper = dynamic_cast(aPointMapper); + vtkIdType aGeomNbPoints = aGeometryPointMapper->GetNumberOfTuples(); + + + vtkIntArray* aDataPointMapper = GetIDMapper(theFieldList, + TGetPointData(), + "VISU_POINTS_MAPPER"); + vtkIdType aDataNbPoints = aDataPointMapper->GetNumberOfTuples(); + + vtkIntArray* aDataCellMapper = GetIDMapper(theFieldList, + TGetCellData(), + "VISU_CELLS_MAPPER"); + vtkIdType aDataNbCells = aDataCellMapper->GetNumberOfTuples(); + + if(aDataNbPoints == aGeomNbPoints){ + bool anIsDifferent = aDataCellMapper && aDataNbCells != aGeomNbCells; + if(anIsDifferent || theIsMergingInputs){ + TSortedArray aGeometryCellArray; + GetSortedArray(aGeometryCellMapper, aGeometryCellArray); + + TSortedArray aDataCellArray; + GetSortedArray(aDataCellMapper, aDataCellArray); + + int aMaxLength = std::max(aGeometryCellArray.size(), aDataCellArray.size()); + TSortedArray anIntersectionArray(aMaxLength); + TSortedArray::iterator anArrayIter = anIntersectionArray.begin(); + anArrayIter = std::set_intersection(aGeometryCellArray.begin(), + aGeometryCellArray.end(), + aDataCellArray.begin(), + aDataCellArray.end(), + anArrayIter); + + anIntersectionArray.erase(anArrayIter, anIntersectionArray.end()); + + bool anIsCompletelyCoincide = + anIntersectionArray.size() == aGeometryCellArray.size() && + anIntersectionArray.size() == aDataCellArray.size(); + + if(!anIsCompletelyCoincide || theIsMergingInputs){ + { + TId2IdMap anObj2VTKGeometryMap; + vtkIdType aNbCells = aGeometryCellMapper->GetNumberOfTuples(); + for(int aCellId = 0; aCellId < aNbCells; aCellId++){ + vtkIdType anObjID = aGeometryCellMapper->GetValue(aCellId); + anObj2VTKGeometryMap[anObjID] = aCellId; + } + + vtkIdType aNbTuples = anIntersectionArray.size(); + theOutput->Allocate(aNbTuples); + vtkIdList *aCellIds = vtkIdList::New(); + for(int aTupleId = 0; aTupleId < aNbTuples; aTupleId++){ + vtkIdType anObjID = anIntersectionArray[aTupleId]; + vtkIdType aCellId = anObj2VTKGeometryMap[anObjID]; + vtkCell *aCell = theInput->GetCell(aCellId); + aCellIds->Reset(); + vtkIdType aNbPointIds = aCell->PointIds->GetNumberOfIds(); + for(vtkIdType aPointId = 0; aPointId < aNbPointIds; aPointId++) + aCellIds->InsertNextId(aCell->GetPointIds()->GetId(aPointId)); + theOutput->InsertNextCell(theInput->GetCellType(aCellId), aCellIds); + } + aCellIds->Delete(); + theOutput->SetPoints(theInput->GetPoints()); } - aCellIds->Delete(); - theOutput->SetPoints(theInput->GetPoints()); - } - { - TId2IdMap anObj2VTKDataMap; - vtkIdType aNbCells = aDataCellMapper->GetNumberOfTuples(); - for(int aCellId = 0; aCellId < aNbCells; aCellId++){ - vtkIdType anObjID = aDataCellMapper->GetValue(aCellId); - anObj2VTKDataMap[anObjID] = aCellId; + { + TId2IdMap anObj2VTKDataMap; + vtkIdType aNbCells = aDataCellMapper->GetNumberOfTuples(); + for(int aCellId = 0; aCellId < aNbCells; aCellId++){ + vtkIdType anObjID = aDataCellMapper->GetValue(aCellId); + anObj2VTKDataMap[anObjID] = aCellId; + } + + DeepCopyDataSetAttributes(theOutput, + theScalarsDataSet, + theVectorsDataSet, + theNormalsDataSet, + theTCoordsDataSet, + theTensorsDataSet, + theFieldList, + anIntersectionArray, + anObj2VTKDataMap); } - - DeepCopyDataSetAttributes(theOutput, - theScalarsDataSet, - theVectorsDataSet, - theNormalsDataSet, - theTCoordsDataSet, - theTensorsDataSet, - theFieldList, - anIntersectionArray, - anObj2VTKDataMap); + return true; } - return true; } - } - }else if(aGeometryCellMapper && (nbPointsInScalars < nbPointsInGeometr)){ - vtkIntArray* aDataPointMapper = NULL; - vtkPointData* aInputScalarsPointData = theScalarsDataSet->GetPointData(); - VISU::TFieldListIterator anIter(theFieldList); - for(anIter.Begin(); !anIter.End() ; anIter.Next()){ - const char* aFieldName = anIter.Get()->GetName(); - if(strcmp(aFieldName, "VISU_POINTS_MAPPER") == 0){ - vtkDataArray *aPointMapper = aInputScalarsPointData->GetArray(aFieldName); - aDataPointMapper = dynamic_cast(aPointMapper); - break; + }else if(aDataNbPoints < aGeomNbPoints){ + vtkIntArray* aDataPointMapper = NULL; + vtkPointData* aInputScalarsPointData = theScalarsDataSet->GetPointData(); + VISU::TFieldListIterator anIter(theFieldList); + for(anIter.Begin(); !anIter.End() ; anIter.Next()){ + const char* aFieldName = anIter.Get()->GetName(); + if(strcmp(aFieldName, "VISU_POINTS_MAPPER") == 0){ + vtkDataArray *aPointMapper = aInputScalarsPointData->GetArray(aFieldName); + aDataPointMapper = dynamic_cast(aPointMapper); + break; + } } - } - vtkIntArray* aDataCellMapper = NULL; - VISU::TFieldListIterator anIter2(theFieldList); - for(anIter2.Begin(); !anIter2.End() ; anIter2.Next()){ - const char* aFieldName = anIter2.Get()->GetName(); - if(strcmp(aFieldName, "VISU_CELLS_MAPPER") == 0){ - vtkDataArray *aCellMapper_tmp = aInputScalarsPointData->GetArray(aFieldName); - aDataCellMapper = dynamic_cast(aCellMapper_tmp); - break; + vtkIntArray* aDataCellMapper = NULL; + VISU::TFieldListIterator anIter2(theFieldList); + for(anIter2.Begin(); !anIter2.End() ; anIter2.Next()){ + const char* aFieldName = anIter2.Get()->GetName(); + if(strcmp(aFieldName, "VISU_CELLS_MAPPER") == 0){ + vtkDataArray *aCellMapper_tmp = aInputScalarsPointData->GetArray(aFieldName); + aDataCellMapper = dynamic_cast(aCellMapper_tmp); + break; + } } - } - - bool anIsDifferent = aDataPointMapper && - aDataPointMapper->GetNumberOfTuples() != aGeometryPointMapper->GetNumberOfTuples(); - if(anIsDifferent){ - TSortedArray aGeometryPointArray; - GetSortedArray(aGeometryPointMapper, aGeometryPointArray); - TSortedArray aDataPointArray; - GetSortedArray(aDataPointMapper, aDataPointArray); - - int aMaxLength = std::max(aGeometryPointArray.size(), aDataPointArray.size()); - TSortedArray anIntersectionArray(aMaxLength); - TSortedArray::iterator anArrayIter = anIntersectionArray.begin(); - anArrayIter = std::set_intersection(aGeometryPointArray.begin(), - aGeometryPointArray.end(), - aDataPointArray.begin(), - aDataPointArray.end(), - anArrayIter); - - anIntersectionArray.erase(anArrayIter, anIntersectionArray.end()); - - { - TId2IdMap anObj2VTKGeometryMap; - vtkIdType aNbCells = aDataPointMapper/*aGeometryPointMapper*/->GetNumberOfTuples(); - for(int aCellId = 0; aCellId < aNbCells; aCellId++){ - vtkIdType anObjID = aDataPointMapper/*aGeometryPointMapper*/->GetValue(aCellId); - anObj2VTKGeometryMap[anObjID] = aCellId; - } + bool anIsDifferent = aDataPointMapper && + aDataPointMapper->GetNumberOfTuples() != aGeometryPointMapper->GetNumberOfTuples(); + if(anIsDifferent){ + TSortedArray aGeometryPointArray; + GetSortedArray(aGeometryPointMapper, aGeometryPointArray); - vtkIdType aNbTuples = anIntersectionArray.size(); + TSortedArray aDataPointArray; + GetSortedArray(aDataPointMapper, aDataPointArray); - if ( aNbTuples == nbPointsInScalars ){ - vtkPointSet* aScalarsPointSet = vtkPointSet::SafeDownCast(theScalarsDataSet); - theOutput->SetPoints(aScalarsPointSet->GetPoints()); - theOutput->GetPointData()->ShallowCopy(aScalarsPointSet->GetPointData()); - - // Calculate output cells - int nbCells=0; - TSortedArray aCellIdsForCopy; - GetIdsForCopy(theInput, aDataPointMapper, aCellIdsForCopy); - nbCells = aCellIdsForCopy.size(); + int aMaxLength = std::max(aGeometryPointArray.size(), aDataPointArray.size()); + TSortedArray anIntersectionArray(aMaxLength); + TSortedArray::iterator anArrayIter = anIntersectionArray.begin(); + anArrayIter = std::set_intersection(aGeometryPointArray.begin(), + aGeometryPointArray.end(), + aDataPointArray.begin(), + aDataPointArray.end(), + anArrayIter); + + anIntersectionArray.erase(anArrayIter, anIntersectionArray.end()); + + { + TId2IdMap anObj2VTKGeometryMap; + vtkIdType aNbCells = aDataPointMapper/*aGeometryPointMapper*/->GetNumberOfTuples(); + for(int aCellId = 0; aCellId < aNbCells; aCellId++){ + vtkIdType anObjID = aDataPointMapper/*aGeometryPointMapper*/->GetValue(aCellId); + anObj2VTKGeometryMap[anObjID] = aCellId; + } - // copy cells to output - theOutput->Allocate(nbCells); - vtkIntArray* theOuputIDSArray = vtkIntArray::New(); - theOuputIDSArray->SetName("VISU_CELLS_MAPPER"); - theOuputIDSArray->SetNumberOfComponents(1); - theOuputIDSArray->SetNumberOfTuples(nbCells); + vtkIdType aNbTuples = anIntersectionArray.size(); - if(nbCells>0) - CopyElementsToOutput(theInput, - nbCells, - aCellIdsForCopy, - anObj2VTKGeometryMap, - theOuputIDSArray, - theOutput); - theOuputIDSArray->Delete(); - return true; - } else { - // not implemented yet + if(aNbTuples == aDataNbPoints){ + vtkPointSet* aScalarsPointSet = vtkPointSet::SafeDownCast(theScalarsDataSet); + theOutput->SetPoints(aScalarsPointSet->GetPoints()); + theOutput->GetPointData()->ShallowCopy(aScalarsPointSet->GetPointData()); + + // Calculate output cells + int nbCells=0; + TSortedArray aCellIdsForCopy; + GetIdsForCopy(theInput, aDataPointMapper, aCellIdsForCopy); + nbCells = aCellIdsForCopy.size(); + + // copy cells to output + theOutput->Allocate(nbCells); + vtkIntArray* theOuputIDSArray = vtkIntArray::New(); + theOuputIDSArray->SetName("VISU_CELLS_MAPPER"); + theOuputIDSArray->SetNumberOfComponents(1); + theOuputIDSArray->SetNumberOfTuples(nbCells); + + if(nbCells>0) + CopyElementsToOutput(theInput, + nbCells, + aCellIdsForCopy, + anObj2VTKGeometryMap, + theOuputIDSArray, + theOutput); + theOuputIDSArray->Delete(); + return true; + } else { + // not implemented yet + } } } } @@ -695,12 +740,10 @@ namespace aNbPoints, aNbCells); } - - return true; } - } - - + return true; + } + //--------------------------------------------------------------- } diff --git a/src/Makefile.in b/src/ENGINE/Makefile.am similarity index 67% rename from src/Makefile.in rename to src/ENGINE/Makefile.am index 2a0e51dd..452ba6fe 100644 --- a/src/Makefile.in +++ b/src/ENGINE/Makefile.am @@ -17,21 +17,18 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# -# # File : Makefile.in -# Author : Laurent CORNABE PRINCIPIA +# Author : Alexey Petrov # Module : VISU -# $Header$ - -top_srcdir=@top_srcdir@ -top_builddir=.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ +# $Header: +include $(top_srcdir)/adm_local/unix/make_common_starter.am -@COMMENCE@ +lib_LTLIBRARIES= libVISUEngine.la +dist_libVISUEngine_la_SOURCES= VISU_Engine_i.cc -SUBDIRS = CONVERTOR PIPELINE OBJECT VVTK GUITOOLS VISU_I VISUGUI VISU_SWIG ENGINE +libVISUEngine_la_CPPFLAGS= $(KERNEL_CXXFLAGS) $(MED_CXXFLAGS) $(CORBA_CXXFLAGS) $(CORBA_INCLUDES) \ + -I$(top_builddir)/salome_adm/unix -I$(top_builddir)/idl -@MODULE@ +libVISUEngine_la_LDFLAGS= $(KERNEL_LDFLAGS) -lSalomeContainer $(CORBA_LIBS) \ + $(top_builddir)/idl/libSalomeIDLVISU.la diff --git a/src/ENGINE/Makefile.in b/src/ENGINE/Makefile.in deleted file mode 100644 index 1717c36b..00000000 --- a/src/ENGINE/Makefile.in +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -# File : Makefile.in -# Author : Alexey Petrov -# Module : VISU -# $Header: - -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@:@top_srcdir@/idl - - -@COMMENCE@ - -# Libraries targets -LIB = libVISUEngine.la -LIB_SRC = VISU_Engine_i.cc - -LIB_MOC = - -LIB_SERVER_IDL = VISU_Gen.idl SALOME_Component.idl \ - SALOME_Exception.idl SALOME_GenericObj.idl \ - SALOME_Session.idl MED.idl -LIB_CLIENT_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Comm.idl - -# Executables targets -BIN = -BIN_SRC = - -BIN_CLIENT_IDL = -BIN_SERVER_IDL = - -EXPORT_HEADERS = - -# additionnal information to compil and link file -CPPFLAGS += $(KERNEL_CXXFLAGS) - -LDFLAGS += $(KERNEL_LDFLAGS) -lSalomeContainer - -LIBS+= - -# additional file to be cleaned -MOSTLYCLEAN = -CLEAN = -DISTCLEAN = - -@CONCLUDE@ diff --git a/src/ENGINE/VISU_Engine_i.cc b/src/ENGINE/VISU_Engine_i.cc index a44432db..b82a8d12 100644 --- a/src/ENGINE/VISU_Engine_i.cc +++ b/src/ENGINE/VISU_Engine_i.cc @@ -20,7 +20,6 @@ #include "VISU_Engine_i.hh" #include "utilities.h" -#include CORBA_SERVER_HEADER(SALOME_Session) #include CORBA_SERVER_HEADER(SALOME_ModuleCatalog) #include "SALOME_NamingService.hxx" @@ -34,22 +33,41 @@ static int MYDEBUG = 1; static int MYDEBUG = 0; #endif +#ifdef WNT +#ifdef VISU_ENGINE_EXPORTS +#define VISU_ENGINE_EXPORT __declspec(dllexport) +#else +#define VISU_ENGINE_EXPORT __declspec(dllimport) +#endif +#else +#define VISU_ENGINE_EXPORT +#endif + UNEXPECT_CATCH(SalomeException, SALOME::SALOME_Exception); extern "C" { +VISU_ENGINE_EXPORT PortableServer::ObjectId * VISUEngine_factory(CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, PortableServer::ObjectId * contId, const char *instanceName, const char *interfaceName) { - if(MYDEBUG) MESSAGE("VisuEngine_factory : "<getId() ; } } namespace VISU{ //=========================================================================== - VISU_Gen_i::VISU_Gen_i(CORBA::ORB_ptr orb, + VISU_Gen_i::VISU_Gen_i(SALOME::Session_ptr session, + CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, PortableServer::ObjectId * contId, const char *instanceName, @@ -58,11 +76,11 @@ namespace VISU{ { _thisObj = this ; _id = _poa->activate_object(_thisObj); - SALOME_NamingService aNamingService(orb); - CORBA::Object_ptr anObject = aNamingService.Resolve("/Kernel/Session"); - SALOME::Session_var aSession = SALOME::Session::_narrow(anObject); - //aSession->GetInterface(); - Engines::Component_var aComponent = aSession->GetComponent("libVISUEngineImpl.so"); +#ifndef WIN32 + Engines::Component_var aComponent = session->GetComponent("libVISUEngineImpl.so"); +#else + Engines::Component_var aComponent = session->GetComponent("VISUEngineImpl.dll"); +#endif myVisuGen = VISU::VISU_Gen::_narrow(aComponent); } @@ -347,7 +365,6 @@ namespace VISU{ return myVisuGen->Plot3DOnField(theResult,theMeshName,theEntity,theFieldName,theIteration); } - Table_ptr VISU_Gen_i::CreateTable(const char* theTableEntry){ return myVisuGen->CreateTable(theTableEntry); } diff --git a/src/ENGINE/VISU_Engine_i.hh b/src/ENGINE/VISU_Engine_i.hh index d123bd7d..c6edace0 100644 --- a/src/ENGINE/VISU_Engine_i.hh +++ b/src/ENGINE/VISU_Engine_i.hh @@ -24,6 +24,7 @@ #include "SALOMEconfig.h" #include CORBA_SERVER_HEADER(VISU_Gen) #include CORBA_SERVER_HEADER(MED) +#include CORBA_SERVER_HEADER(SALOME_Session) #include CORBA_SERVER_HEADER(SALOMEDS) #include CORBA_SERVER_HEADER(SALOMEDS_Attributes) @@ -38,7 +39,8 @@ namespace VISU VISU_Gen_i(); VISU_Gen_i(const VISU::VISU_Gen_i &); public: - VISU_Gen_i(CORBA::ORB_ptr orb, + VISU_Gen_i(SALOME::Session_ptr session, + CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, PortableServer::ObjectId * contId, const char *instanceName, diff --git a/src/GUITOOLS/Makefile.in b/src/GUITOOLS/Makefile.am similarity index 62% rename from src/GUITOOLS/Makefile.in rename to src/GUITOOLS/Makefile.am index f4e549f4..136786c1 100644 --- a/src/GUITOOLS/Makefile.in +++ b/src/GUITOOLS/Makefile.am @@ -26,41 +26,23 @@ # Module : VISU # $Header$ -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ +include $(top_srcdir)/adm_local/unix/make_common_starter.am -@COMMENCE@ +lib_LTLIBRARIES= libVISUGUITOOLS.la -# header files -EXPORT_HEADERS= \ - VisuGUI_TableDlg.h +salomeinclude_HEADERS= \ + VisuGUI_TableDlg.h \ + VisuGUITools.h -# .po files to transform in .qm -#PO_FILES = \ -# VISU_msg_en.po VISU_images.po +dist_libVISUGUITOOLS_la_SOURCES= VisuGUI_TableDlg.cxx -# Libraries targets -LIB = libVISUGUITOOLS.la - -LIB_SRC = VisuGUI_TableDlg.cxx - -LIB_MOC = VisuGUI_TableDlg.h - -LIB_CLIENT_IDL = SALOME_Exception.idl - -LIB_SERVER_IDL = +MOC_FILES= VisuGUI_TableDlg_moc.cxx +nodist_libVISUGUITOOLS_la_SOURCES=$(MOC_FILES) # additionnal information to compil and link file - -CPPFLAGS += -ftemplate-depth-32 $(QT_INCLUDES) $(VTK_INCLUDES) $(OCC_INCLUDES) \ +libVISUGUITOOLS_la_CPPFLAGS= -ftemplate-depth-32 \ + $(QT_INCLUDES) $(VTK_INCLUDES) @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \ $(PYTHON_INCLUDES) $(HDF5_INCLUDES) $(QWT_INCLUDES) \ - $(KERNEL_CXXFLAGS) $(BOOST_CPPFLAGS) - -CXXFLAGS += -ftemplate-depth-32 $(OCC_CXXFLAGS) \ - $(KERNEL_CXXFLAGS) $(GUI_CXXFLAGS) - -LDFLAGS += $(QWT_LIBS) $(KERNEL_LDFLAGS) $(GUI_LDFLAGS) + $(KERNEL_CXXFLAGS) $(GUI_CXXFLAGS) $(BOOST_CPPFLAGS) -@CONCLUDE@ +libVISUGUITOOLS_la_LDFLAGS= $(QWT_LIBS) $(KERNEL_LDFLAGS) $(GUI_LDFLAGS) diff --git a/src/GUITOOLS/VisuGUITools.h b/src/GUITOOLS/VisuGUITools.h new file mode 100755 index 00000000..d8fbf8a6 --- /dev/null +++ b/src/GUITOOLS/VisuGUITools.h @@ -0,0 +1,47 @@ +// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org +// +// +// +// File : VisuGUITools.h +// Author : Oleg UVAROV +// Module : VISU + +#ifndef _VisuGUITools_H_ +#define _VisuGUITools_H_ + +#ifdef WNT + #if defined VISU_GUITOOLS_EXPORTS + #if defined WIN32 + #define VISU_GUITOOLS_EXPORT __declspec( dllexport ) + #else + #define VISU_GUITOOLS_EXPORT + #endif + #else + #if defined WIN32 + #define VISU_GUITOOLS_EXPORT __declspec( dllimport ) + #else + #define VISU_GUITOOLS_EXPORT + #endif + #endif +#else + #define VISU_GUITOOLS_EXPORT +#endif + +#endif \ No newline at end of file diff --git a/src/GUITOOLS/VisuGUI_TableDlg.cxx b/src/GUITOOLS/VisuGUI_TableDlg.cxx index e5cc2c85..5dc1a547 100644 --- a/src/GUITOOLS/VisuGUI_TableDlg.cxx +++ b/src/GUITOOLS/VisuGUI_TableDlg.cxx @@ -313,9 +313,15 @@ void VisuGUI_TableDlg::onHelp() if (app) app->onHelpContextModule(app->activeModule() ? app->moduleName(app->activeModule()->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/GUITOOLS/VisuGUI_TableDlg.h b/src/GUITOOLS/VisuGUI_TableDlg.h index 76eaa105..44621d27 100644 --- a/src/GUITOOLS/VisuGUI_TableDlg.h +++ b/src/GUITOOLS/VisuGUI_TableDlg.h @@ -33,7 +33,9 @@ class VisuGUI_TableWidget; #include -class VisuGUI_TableDlg : public QDialog +#include "VisuGUITools.h" + +class VISU_GUITOOLS_EXPORT VisuGUI_TableDlg : public QDialog { Q_OBJECT diff --git a/adm_local/Makefile.in b/src/Makefile.am old mode 100644 new mode 100755 similarity index 65% rename from adm_local/Makefile.in rename to src/Makefile.am index e2133b49..e3ede71d --- a/adm_local/Makefile.in +++ b/src/Makefile.am @@ -1,4 +1,4 @@ -# Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # # This library is free software; you can redistribute it and/or @@ -17,44 +17,6 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# source path -top_srcdir=@top_srcdir@ -top_builddir=.. -srcdir=@srcdir@ -VPATH=.:$(srcdir)/adm_local - - -all: resources - -install: - cp -rf @top_srcdir@/adm_local @prefix@ - -bin: - -resources : - cp -rf @top_srcdir@/adm_local $(top_builddir) - -inc: - -lib: - -depend: - -depend_idl: - -install-end: - -install-include: - -install-bin: - -uninstall: - -uninstall-idl: - -distclean: - -clean: - -distclean-other: +# $Header$ +SUBDIRS = CONVERTOR PIPELINE OBJECT VVTK GUITOOLS VISU_I VISUGUI VISU_SWIG ENGINE diff --git a/src/OBJECT/Makefile.in b/src/OBJECT/Makefile.am similarity index 78% rename from src/OBJECT/Makefile.in rename to src/OBJECT/Makefile.am index 60cddef1..47056df0 100644 --- a/src/OBJECT/Makefile.in +++ b/src/OBJECT/Makefile.am @@ -24,15 +24,11 @@ # File : Makefile.in # Module : VISU -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@:@top_srcdir@/idl -BOOST_LIBSUFFIX=@BOOST_LIBSUFFIX@ +include $(top_srcdir)/adm_local/unix/make_common_starter.am -@COMMENCE@ +lib_LTLIBRARIES= libVisuObject.la -EXPORT_HEADERS = \ +salomeinclude_HEADERS = \ VISU_BoostSignals.h \ VISU_ActorFactory.h \ VISU_GaussPtsSettings.h \ @@ -45,10 +41,7 @@ EXPORT_HEADERS = \ VISU_GaussPtsAct.h \ VISU_VectorsAct.h -# Libraries targets - -LIB = libVisuObject.la -LIB_SRC = \ +dist_libVisuObject_la_SOURCES = \ VISU_Actor.cxx \ VISU_DataSetActor.cxx \ VISU_MeshAct.cxx \ @@ -58,30 +51,24 @@ LIB_SRC = \ VISU_GaussPtsAct.cxx \ VISU_VectorsAct.cxx -LIB_CLIENT_IDL = - -# Executables targets -BIN = -BIN_SRC = - -CPPFLAGS+= \ - $(OCC_INCLUDES) \ +libVisuObject_la_CPPFLAGS= \ + @CAS_CPPFLAGS@ @CAS_CXXFLAGS@ \ $(VTK_INCLUDES) \ $(BOOST_CPPFLAGS) \ $(MED_CXXFLAGS) \ $(GUI_CXXFLAGS) \ - $(KERNEL_CXXFLAGS) + $(KERNEL_CXXFLAGS) \ + -I$(srcdir)/../PIPELINE \ + -I$(srcdir)/../CONVERTOR -LDFLAGS+= \ +libVisuObject_la_LDFLAGS= \ $(VTK_LIBS) \ $(BOOST_LIBS) \ $(GUI_LDFLAGS) \ - $(KERNEL_LDFLAGS) + $(KERNEL_LDFLAGS) -LIBS+= \ - -lboost_signals${BOOST_LIBSUFFIX} \ +libVisuObject_la_LIBADD= \ + -lboost_signals@BOOST_LIBSUFFIX@ \ -lSalomeObject \ - -lVisuPipeLine \ + ../PIPELINE/libVisuPipeLine.la \ -lSVTK - -@CONCLUDE@ diff --git a/src/OBJECT/VISU_Actor.cxx b/src/OBJECT/VISU_Actor.cxx index 85197aa3..d3632dcb 100644 --- a/src/OBJECT/VISU_Actor.cxx +++ b/src/OBJECT/VISU_Actor.cxx @@ -30,7 +30,6 @@ #include "VISU_PipeLine.hxx" #include "VTKViewer_ShrinkFilter.h" #include "VTKViewer_GeometryFilter.h" -#include "VTKViewer_PassThroughFilter.h" #include #include @@ -50,6 +49,7 @@ #include #include #include +#include #include #include diff --git a/src/OBJECT/VISU_Actor.h b/src/OBJECT/VISU_Actor.h index d26cea31..96289417 100644 --- a/src/OBJECT/VISU_Actor.h +++ b/src/OBJECT/VISU_Actor.h @@ -32,6 +32,7 @@ #include "SALOME_Actor.h" #include "VISU_ActorFactory.h" #include "VISU_BoostSignals.h" +#include "SVTK_DeviceActor.h" #include #include @@ -45,12 +46,20 @@ class vtkInteractorStyle; class VTKViewer_ShrinkFilter; class VISU_PipeLine; -#ifdef _WIN_32 +#ifdef _WIN32 #define VTKOCC_EXPORT __declspec (dllexport) #else #define VTKOCC_EXPORT VTK_EXPORT #endif +namespace SVTK +{ + namespace Representation + { + const Type Surfaceframe = Insideframe + 1; + } +} + namespace VISU { class Prs3d_i; diff --git a/src/OBJECT/VISU_GaussPtsAct.cxx b/src/OBJECT/VISU_GaussPtsAct.cxx index dd2e4ab9..18c8a26c 100644 --- a/src/OBJECT/VISU_GaussPtsAct.cxx +++ b/src/OBJECT/VISU_GaussPtsAct.cxx @@ -281,8 +281,6 @@ VISU_GaussPtsAct { if(MYDEBUG) MESSAGE("VISU_GaussPtsAct::RemoveFromRender - this = "<RemoveFromRender(theRenderer); theRenderer->RemoveActor(myTextActor.GetPointer()); @@ -291,6 +289,8 @@ VISU_GaussPtsAct myCursorPyramid->RemoveFromRender(theRenderer); myCursorPyramidSelected->RemoveFromRender(theRenderer); myScalarBarCtrl->RemoveFromRender(theRenderer); + + Superclass::RemoveFromRender(theRenderer); } void @@ -1187,10 +1187,10 @@ void VISU_GaussPtsAct1 ::RemoveFromRender(vtkRenderer* theRenderer) { - Superclass::RemoveFromRender(theRenderer); - myInsideDeviceActor->RemoveFromRender(theRenderer); myOutsideDeviceActor->RemoveFromRender(theRenderer); + + Superclass::RemoveFromRender(theRenderer); } void diff --git a/src/OBJECT/VISU_GaussPtsDeviceActor.cxx b/src/OBJECT/VISU_GaussPtsDeviceActor.cxx index 5e44009f..9fcd7c6c 100644 --- a/src/OBJECT/VISU_GaussPtsDeviceActor.cxx +++ b/src/OBJECT/VISU_GaussPtsDeviceActor.cxx @@ -34,7 +34,6 @@ #include "VTKViewer_Transform.h" #include "VTKViewer_TransformFilter.h" -#include "VTKViewer_PassThroughFilter.h" #include #include @@ -42,6 +41,7 @@ #include #include #include +#include #include "utilities.h" @@ -69,7 +69,7 @@ VISU_GaussPtsDeviceActor myTransformFilter->Delete(); for(int i = 0; i < 3; i++){ - PPassThroughFilter aFilter(VTKViewer_PassThroughFilter::New()); + PPassThroughFilter aFilter(vtkPassThroughFilter::New()); myPassFilter.push_back(aFilter); aFilter->Delete(); } diff --git a/src/OBJECT/VISU_GaussPtsDeviceActor.h b/src/OBJECT/VISU_GaussPtsDeviceActor.h index ee5bcf66..253822f6 100644 --- a/src/OBJECT/VISU_GaussPtsDeviceActor.h +++ b/src/OBJECT/VISU_GaussPtsDeviceActor.h @@ -36,11 +36,11 @@ class VTKViewer_Transform; class VTKViewer_TransformFilter; -class VTKViewer_PassThroughFilter; class VISU_OpenGLPointSpriteMapper; class VISU_GaussPointsPL; +class vtkPassThroughFilter; //============================================================================ class VISU_GaussPtsDeviceActor: public vtkLODActor @@ -95,7 +95,7 @@ class VISU_GaussPtsDeviceActor: public vtkLODActor vtkSmartPointer myGeomFilter; vtkSmartPointer myTransformFilter; - typedef vtkSmartPointer PPassThroughFilter; + typedef vtkSmartPointer PPassThroughFilter; std::vector myPassFilter; VISU_GaussPtsDeviceActor(); diff --git a/src/OBJECT/VISU_GaussPtsSettings.h b/src/OBJECT/VISU_GaussPtsSettings.h index da3e70d3..473ddd10 100644 --- a/src/OBJECT/VISU_GaussPtsSettings.h +++ b/src/OBJECT/VISU_GaussPtsSettings.h @@ -36,6 +36,7 @@ class vtkImageData; +#include "VISU_Actor.h" //============================================================================ namespace VISU @@ -48,7 +49,7 @@ namespace VISU //! Base class of Gauss Points settings. -class VISU_GaussPtsSettings : public vtkObject +class VTKOCC_EXPORT VISU_GaussPtsSettings : public vtkObject { public: vtkTypeMacro( VISU_GaussPtsSettings, vtkObject ); @@ -103,7 +104,7 @@ class VISU_GaussPtsSettings : public vtkObject * Clamp, Texture, Alpha threshold, Const size and Color. * Used by Gauss Points Actor. */ -class VISU_InsideCursorSettings : public VISU_GaussPtsSettings +class VTKOCC_EXPORT VISU_InsideCursorSettings : public VISU_GaussPtsSettings { public: vtkTypeMacro( VISU_InsideCursorSettings, vtkObject ); @@ -134,7 +135,7 @@ class VISU_InsideCursorSettings : public VISU_GaussPtsSettings * Clamp, Texture, Alpha threshold, Const size and Color. * Used by Gauss Points Actor. */ -class VISU_OutsideCursorSettings : public VISU_GaussPtsSettings +class VTKOCC_EXPORT VISU_OutsideCursorSettings : public VISU_GaussPtsSettings { public: vtkTypeMacro( VISU_OutsideCursorSettings, vtkObject ); @@ -170,7 +171,7 @@ class VISU_OutsideCursorSettings : public VISU_GaussPtsSettings * Camera movement steps number and Display parent mesh. * Used by Gauss Points Actor. */ -class VISU_PickingSettings : public vtkObject +class VTKOCC_EXPORT VISU_PickingSettings : public vtkObject { public: enum { BelowPoint = 0, TopLeftCorner }; diff --git a/src/OBJECT/VISU_MeshAct.cxx b/src/OBJECT/VISU_MeshAct.cxx index e98f3019..cf2e7cfc 100644 --- a/src/OBJECT/VISU_MeshAct.cxx +++ b/src/OBJECT/VISU_MeshAct.cxx @@ -27,7 +27,6 @@ // $Header$ #include "VISU_MeshAct.h" -#include "SVTK_DeviceActor.h" #include #include diff --git a/src/OBJECT/VISU_MeshAct.h b/src/OBJECT/VISU_MeshAct.h index 3ca1e471..5a5778d3 100644 --- a/src/OBJECT/VISU_MeshAct.h +++ b/src/OBJECT/VISU_MeshAct.h @@ -32,13 +32,6 @@ #include "VISU_DataSetActor.h" #include "SVTK_DeviceActor.h" -namespace SVTK -{ - namespace Representation - { - const Type Surfaceframe = Insideframe + 1; - } -} class VTKOCC_EXPORT VISU_MeshAct : public VISU_DataSetActor { diff --git a/src/OBJECT/VISU_ScalarMapAct.cxx b/src/OBJECT/VISU_ScalarMapAct.cxx index b7c76f27..bb904374 100644 --- a/src/OBJECT/VISU_ScalarMapAct.cxx +++ b/src/OBJECT/VISU_ScalarMapAct.cxx @@ -29,13 +29,18 @@ #include "VISU_ScalarMapAct.h" #include "VISU_LookupTable.hxx" #include "VISU_ScalarBarActor.hxx" +#include "VISU_PipeLine.hxx" #include #include #include +#include +#include +#include //---------------------------------------------------------------------------- vtkStandardNewMacro(VISU_ScalarMapAct); +static vtkFloatingPointType EPS = 1.0 / VTK_LARGE_FLOAT; //---------------------------------------------------------------------------- VISU_ScalarMapAct @@ -52,6 +57,21 @@ VISU_ScalarMapAct aProperty->SetSpecular(0.0); myProperty->DeepCopy(aProperty); + + vtkMatrix4x4 *m; + m = vtkMatrix4x4::New(); + + mySurfaceActor= SVTK_DeviceActor::New(); + mySurfaceActor->SetRepresentation(SVTK::Representation::Surface); + mySurfaceActor->SetProperty(aProperty); + mySurfaceActor->SetUserMatrix(m); + + myEdgeActor = SVTK_DeviceActor::New(); + myEdgeActor->SetRepresentation(SVTK::Representation::Wireframe); + myEdgeActor->SetUserMatrix(m); + myEdgeActor->GetProperty()->SetColor(255.,255.,255.); + + m->Delete(); } //---------------------------------------------------------------------------- @@ -59,6 +79,114 @@ VISU_ScalarMapAct ::~VISU_ScalarMapAct() { myScalarBar->Delete(); + mySurfaceActor->Delete(); + myEdgeActor->Delete(); +} + +void +VISU_ScalarMapAct +::ShallowCopyPL(VISU_PipeLine* thePipeLine) +{ + VISU_Actor::ShallowCopyPL(thePipeLine); + + myEdgeActor->GetMapper()->ScalarVisibilityOff(); + + vtkDataSet* aDatsSet = mySurfaceActor->GetDataSetMapper()->GetInput(); + mySurfaceActor->GetMapper()->ShallowCopy(thePipeLine->GetMapper()); + // To restore mapper input from pipeline + mySurfaceActor->GetDataSetMapper()->SetInput(aDatsSet); +} + +//---------------------------------------------------------------------------- +void +VISU_ScalarMapAct +::SetMapperInput(vtkDataSet* theDataSet) +{ + Superclass::SetMapperInput(theDataSet); + + mySurfaceActor->SetInput(theDataSet); + myEdgeActor->SetInput(theDataSet); +} + +//---------------------------------------------------------------------------- +void +VISU_ScalarMapAct +::SetTransform(VTKViewer_Transform* theTransform) +{ + Superclass::SetTransform(theTransform); + + mySurfaceActor->SetTransform(theTransform); + myEdgeActor->SetTransform(theTransform); +} + +//---------------------------------------------------------------------------- +void +VISU_ScalarMapAct +::SetShrinkable(bool theIsShrinkable) +{ + Superclass::SetShrinkable(theIsShrinkable); + + mySurfaceActor->SetShrinkable(theIsShrinkable); +} + +void +VISU_ScalarMapAct +::SetShrinkFactor(vtkFloatingPointType theValue) +{ + Superclass::SetShrinkFactor(theValue); + + mySurfaceActor->SetShrinkFactor(theValue); +} + +//---------------------------------------------------------------------------- +void +VISU_ScalarMapAct +::SetShrink() +{ + if(myRepresentation == VTK_POINTS) + return; + + Superclass::SetShrink(); + + mySurfaceActor->SetShrink(); +} + +void +VISU_ScalarMapAct +::UnShrink() +{ + Superclass::UnShrink(); + + mySurfaceActor->UnShrink(); +} + +//---------------------------------------------------------------------------- +void +VISU_ScalarMapAct +::SetOpacity(vtkFloatingPointType theValue) +{ + mySurfaceActor->GetProperty()->SetOpacity(theValue); +} + +vtkFloatingPointType +VISU_ScalarMapAct +::GetOpacity() +{ + return mySurfaceActor->GetProperty()->GetOpacity(); +} + +//---------------------------------------------------------------------------- +void +VISU_ScalarMapAct +::SetLineWidth(vtkFloatingPointType theLineWidth) +{ + mySurfaceActor->GetProperty()->SetLineWidth(theLineWidth); +} + +vtkFloatingPointType +VISU_ScalarMapAct::GetLineWidth() +{ + return mySurfaceActor->GetProperty()->GetLineWidth(); } //---------------------------------------------------------------------------- @@ -140,7 +268,13 @@ VISU_ScalarMapAct ::SetRepresentation(int theMode) { bool anIsShanding = IsShading(); + Superclass::SetRepresentation(theMode); + if(theMode == SVTK::Representation::Surfaceframe) + mySurfaceActor->SetRepresentation(SVTK::Representation::Surface); + else + mySurfaceActor->SetRepresentation(theMode); + SetShading(anIsShanding); } @@ -150,7 +284,7 @@ void VISU_ScalarMapAct ::SetShading(bool theOn) { - vtkProperty* aProperty = GetProperty(); + vtkProperty* aProperty = mySurfaceActor->GetProperty(); if (theOn) { @@ -161,7 +295,7 @@ VISU_ScalarMapAct { aProperty->SetAmbient(1.0); aProperty->SetDiffuse(0.0); - } + } } //---------------------------------------------------------------------------- @@ -169,9 +303,53 @@ bool VISU_ScalarMapAct ::IsShading() { - vtkProperty* aProperty = GetProperty(); + vtkProperty* aProperty = mySurfaceActor->GetProperty(); - return (aProperty->GetAmbient() == 0 && aProperty->GetDiffuse() == 1); + return (fabs(aProperty->GetAmbient()) < EPS && fabs(aProperty->GetDiffuse() - 1.) < EPS); +} + +int +VISU_ScalarMapAct +::RenderOpaqueGeometry(vtkViewport *ren) +{ + GetMatrix(myEdgeActor->GetUserMatrix()); + GetMatrix(mySurfaceActor->GetUserMatrix()); + + using namespace SVTK::Representation; + if( GetRepresentation() == Surfaceframe ){ + mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime/2.0,ren); + mySurfaceActor->RenderOpaqueGeometry(ren); + + myEdgeActor->SetAllocatedRenderTime(this->AllocatedRenderTime/2.0,ren); + myEdgeActor->RenderOpaqueGeometry(ren); + } + else{ + mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + mySurfaceActor->RenderOpaqueGeometry(ren); + } + return 1; +} + +int +VISU_ScalarMapAct +::RenderTranslucentGeometry(vtkViewport *ren) +{ + GetMatrix(myEdgeActor->GetUserMatrix()); + GetMatrix(mySurfaceActor->GetUserMatrix()); + + using namespace SVTK::Representation; + if( GetRepresentation() == Surfaceframe ){ + mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + mySurfaceActor->RenderTranslucentGeometry(ren); + + myEdgeActor->SetAllocatedRenderTime(this->AllocatedRenderTime/2.0,ren); + myEdgeActor->RenderTranslucentGeometry(ren); + } + else{ + mySurfaceActor->SetAllocatedRenderTime(this->AllocatedRenderTime,ren); + mySurfaceActor->RenderTranslucentGeometry(ren); + } + return 1; } //---------------------------------------------------------------------------- diff --git a/src/OBJECT/VISU_ScalarMapAct.h b/src/OBJECT/VISU_ScalarMapAct.h index 9145403f..8f898764 100644 --- a/src/OBJECT/VISU_ScalarMapAct.h +++ b/src/OBJECT/VISU_ScalarMapAct.h @@ -49,10 +49,59 @@ class VTKOCC_EXPORT VISU_ScalarMapAct : public VISU_DataSetActor void DeepCopy(VISU_Actor *theActor); + virtual + void + ShallowCopyPL(VISU_PipeLine* thePipeLine); + + //! Apply view transformation + virtual + void + SetTransform(VTKViewer_Transform* theTransform); + + virtual + void + SetShrinkable(bool theIsShrinkable); + + virtual + void + SetShrinkFactor(vtkFloatingPointType theFactor = 0.8); + + virtual + void + SetShrink(); + + virtual + void + UnShrink(); + + virtual + void + SetOpacity(vtkFloatingPointType theValue); + + virtual + vtkFloatingPointType + GetOpacity(); + + virtual + void + SetLineWidth(vtkFloatingPointType theLineWidth); + + virtual + vtkFloatingPointType + GetLineWidth(); + virtual void AddToRender(vtkRenderer* theRenderer); + virtual + int + RenderOpaqueGeometry(vtkViewport *ren); + + virtual + int + RenderTranslucentGeometry(vtkViewport *ren); + virtual void RemoveFromRender(vtkRenderer* theRenderer); @@ -92,8 +141,15 @@ class VTKOCC_EXPORT VISU_ScalarMapAct : public VISU_DataSetActor protected: VISU_ScalarMapAct(); + + virtual + void + SetMapperInput(vtkDataSet* theDataSet); + bool myBarVisibility; VISU_ScalarBarActor* myScalarBar; + SVTK_DeviceActor* mySurfaceActor; + SVTK_DeviceActor* myEdgeActor; }; #endif diff --git a/src/OBJECT/VISU_VectorsAct.cxx b/src/OBJECT/VISU_VectorsAct.cxx index 3fd30ebd..428cbb50 100644 --- a/src/OBJECT/VISU_VectorsAct.cxx +++ b/src/OBJECT/VISU_VectorsAct.cxx @@ -28,14 +28,13 @@ #include "VISU_VectorsAct.h" #include "VISU_VectorsPL.hxx" -#include "VTKViewer_PassThroughFilter.h" // VTK Includes #include #include #include #include - +#include //---------------------------------------------------------------------------- vtkStandardNewMacro(VISU_VectorsAct); diff --git a/src/PIPELINE/VISUPipeLine.cxx b/src/PIPELINE/VISUPipeLine.cxx index 8d58ed3f..ed66b879 100644 --- a/src/PIPELINE/VISUPipeLine.cxx +++ b/src/PIPELINE/VISUPipeLine.cxx @@ -39,7 +39,7 @@ #include "VISU_Convertor.hxx" #include "VISU_ConvertorUtils.hxx" -typedef VISU_StreamLinesPL TPresent; +typedef VISU_ScalarMapPL TPresent; #include #include diff --git a/src/PIPELINE/VISU_ColoredPL.cxx b/src/PIPELINE/VISU_ColoredPL.cxx index c2cabcdf..d58cfb93 100644 --- a/src/PIPELINE/VISU_ColoredPL.cxx +++ b/src/PIPELINE/VISU_ColoredPL.cxx @@ -222,8 +222,8 @@ VISU_ColoredPL { unsigned long int aSize = Superclass::GetMemorySize(); - if(vtkDataSet* aDataSet = myExtractor->GetInput()) - aSize = aDataSet->GetActualMemorySize() * 1024; + if(vtkDataObject* aDataObject = myExtractor->GetInput()) + aSize = aDataObject->GetActualMemorySize() * 1024; if(vtkDataObject* aDataObject = myFieldTransform->GetInput()) aSize += aDataObject->GetActualMemorySize() * 1024; diff --git a/src/PIPELINE/VISU_Extractor.cxx b/src/PIPELINE/VISU_Extractor.cxx index b0b48888..d96e2f71 100644 --- a/src/PIPELINE/VISU_Extractor.cxx +++ b/src/PIPELINE/VISU_Extractor.cxx @@ -44,9 +44,9 @@ vtkStandardNewMacro(VISU_Extractor); //---------------------------------------------------------------------------- VISU_Extractor -::VISU_Extractor() +::VISU_Extractor(): + myScalarMode(1) { - myScalarMode = 1; } @@ -161,13 +161,15 @@ ExecuteScalars(vtkIdType theNbOfTuples, } -//---------------------------------------------------------------------------- -void +//--------------------------------------------------------------- +int VISU_Extractor -::Execute() +::RequestData(vtkInformation *theRequest, + vtkInformationVector **theInputVector, + vtkInformationVector *theOutputVector) { - vtkDataSet *input = this->GetInput(); - vtkDataSet *output = this->GetOutput(); + vtkDataSet *input = VISU::GetInput(theInputVector, 0); + vtkDataSet *output = VISU::GetOutput(theOutputVector); output->CopyStructure(input); if(VISU::IsDataOnPoints(input)){ @@ -201,4 +203,6 @@ VISU_Extractor if(vtkDataArray *aDataArray = input->GetPointData()->GetArray("VISU_POINTS_MAPPER")) output->GetPointData()->AddArray(aDataArray); + + return 1; } diff --git a/src/PIPELINE/VISU_Extractor.hxx b/src/PIPELINE/VISU_Extractor.hxx index 22bcf9e0..944b4866 100644 --- a/src/PIPELINE/VISU_Extractor.hxx +++ b/src/PIPELINE/VISU_Extractor.hxx @@ -27,14 +27,15 @@ #ifndef VISU_Extractor_HeaderFile #define VISU_Extractor_HeaderFile -#include +#include "VISUPipeline.hxx" +#include //---------------------------------------------------------------------------- -class VTK_EXPORT VISU_Extractor : public vtkDataSetToDataSetFilter +class VISU_PIPELINE_EXPORT VISU_Extractor : public vtkDataSetAlgorithm { public: - vtkTypeMacro(VISU_Extractor, vtkDataSetToDataSetFilter); + vtkTypeMacro(VISU_Extractor, vtkDataSetAlgorithm); static VISU_Extractor @@ -55,8 +56,8 @@ protected: ~VISU_Extractor(); virtual - void - Execute(); + int + RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); int myScalarMode; }; diff --git a/src/PIPELINE/VISU_PrsMergerPL.cxx b/src/PIPELINE/VISU_PrsMergerPL.cxx deleted file mode 100644 index c5c6ccd4..00000000 --- a/src/PIPELINE/VISU_PrsMergerPL.cxx +++ /dev/null @@ -1,357 +0,0 @@ -// VISU OBJECT : interactive object for VISU entities implementation -// -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// -// -// File: VISU_PrsMergerPL.cxx -// Author: Eugeny Nikolaev -// Module : VISU - -#include "VISU_PrsMergerPL.hxx" -#include "VISU_MeshPL.hxx" -#include "VISU_ScalarMapPL.hxx" -#include "VISU_IDMapper.hxx" -#include "VTKViewer_AppendFilter.h" - -#include "VISU_AppendFilter.hxx" -#include "VISU_MergeFilter.hxx" - -#include "VISU_PipeLineUtils.hxx" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#ifdef _DEBUG_ -static int MYDEBUG = 0; -#else -static int MYDEBUG = 0; -#endif - - -using namespace std; - -vtkStandardNewMacro(VISU_PrsMergerPL); - -VISU_PrsMergerPL -::VISU_PrsMergerPL(): - myAppendFilter(VISU_AppendFilter::New()), - myMergeFilter(VISU_MergeFilter::New()), - myScalars(NULL) -{ - myAppendFilter->SetMergingInputs(true); - myAppendFilter->Delete(); - - myMergeFilter->SetMergingInputs(true); - myMergeFilter->Delete(); -} - -VISU_PrsMergerPL -::~VISU_PrsMergerPL() -{} - -void -VISU_PrsMergerPL -::RemoveAllGeom() -{ - myMeshGeometryList.clear(); - this->Execute(); -} - -void -VISU_PrsMergerPL -::ShallowCopy(VISU_PipeLine *thePipeLine) -{ - if (MYDEBUG) MESSAGE("ShallowCopy"); - VISU_PrsMergerPL* aPipeLine = dynamic_cast(thePipeLine); - if(this == aPipeLine){ - TSupperClass::ShallowCopy(thePipeLine); - return; - } - if(aPipeLine){ - int aNbGeoms = aPipeLine->GetNbGeometry(); - if (MYDEBUG) MESSAGE("aNbGeoms="<GetGeometry(i),false); - } - SetScalars(aPipeLine->GetScalars(),true); - } - TSupperClass::ShallowCopy(thePipeLine); -} - -bool -VISU_PrsMergerPL -::SetGeometry(VISU_PipeLine* theGeometry,bool theUpdate) -{ - if(MYDEBUG) MESSAGE("VISU_PrsMergerPL::SetGeometry()"); - myMeshGeometryList.clear(); - - if(this->checkGeometry(theGeometry)){ - myMeshGeometryList.push_back(theGeometry); - if (MYDEBUG) MESSAGE("this->GetGeometry(0)->GetIDMapper()="<GetGeometry(0)->GetIDMapper()); - - if(theUpdate) - this->Execute(); - - return true; - } else - return false; - -} - -int -VISU_PrsMergerPL -::AddBackGeometry(VISU_PipeLine* theGeometry,bool theUpdate) -{ - if(MYDEBUG) MESSAGE("VISU_PrsMergerPL::AddBackGeometry() "<GetGeometryNumber(theGeometry); - if(aGeomNum == -1){ - bool aCheckGeom = this->checkGeometry(theGeometry); - if(aCheckGeom){ - myMeshGeometryList.push_back(theGeometry); - - if(theUpdate) - this->Execute(); - - return (myMeshGeometryList.size()-1); - } else { - return -1; - } - } else { - return aGeomNum; - } -} - -int -VISU_PrsMergerPL -::GetGeometryNumber(VISU_PipeLine* theGeometry) -{ - TPipeLine aPipeLine = theGeometry; - TPipeLines::const_iterator aIter = myMeshGeometryList.begin(); - for(int i=0;aIter != myMeshGeometryList.end();aIter++,i++){ - if( theGeometry == (*aIter).GetPointer() ) - return i; - } - - return -1; -} - -void -VISU_PrsMergerPL -::RemoveGeometryById(int theId) -{ - if(theId >=0 && theId < myMeshGeometryList.size()){ - TPipeLines::iterator aIter = myMeshGeometryList.begin(); - for(;aIter != myMeshGeometryList.end();aIter++){ - if( myMeshGeometryList[theId] == (*aIter)){ - myMeshGeometryList.erase(aIter); - this->Execute(); - break; - } - } - } -} - -VISU_PipeLine* -VISU_PrsMergerPL -::GetGeometry(int theId) -{ - if(theId >=0 && theId < myMeshGeometryList.size()){ - return myMeshGeometryList[theId].GetPointer(); - } - else - return NULL; -} - -VISU_PipeLine* -VISU_PrsMergerPL -::GetScalars() -{ - return myScalars.GetPointer(); -} - -int -VISU_PrsMergerPL -::GetNbGeometry() -{ - return myMeshGeometryList.size(); -} - -bool -VISU_PrsMergerPL -::SetScalars(VISU_PipeLine* theInput,bool theUpdate) -{ - if(MYDEBUG) MESSAGE("VISU_PrsMergerPL::SetScalars()"); - if ( this->checkScalars( theInput ) ){ - myScalars = theInput; - VISU_ScalarMapPL* aScalarMap = dynamic_cast(this->GetScalars()); - myScalarRanges = aScalarMap->GetScalarRange(); - if(theUpdate) - this->Execute(); - return true; - } else - return false; -} - -void -VISU_PrsMergerPL -::Init() -{ - Superclass::Init(); - if(MYDEBUG) MESSAGE("VISU_PrsMergerPL::Init() this="<Execute(); -} - -void -VISU_PrsMergerPL -::Update() -{ - if(MYDEBUG) MESSAGE("VISU_PrsMergerPL::Update()"); - Superclass::Update(); - Execute(); -} - -void -VISU_PrsMergerPL -::Build() -{ - if(MYDEBUG) MESSAGE("VISU_PrsMergerPL::Build()"); - TSupperClass::Build(); // call DoHook method -} - -void -VISU_PrsMergerPL -::SetInitialRange() -{ - myMapper->UseLookupTableScalarRangeOff(); -} - -bool -VISU_PrsMergerPL -::checkGeometry(const VISU_PipeLine* thePipeLine) -{ - const VISU::PIDMapper& aMapper = thePipeLine->GetIDMapper(); - int aNbPoints = aMapper->GetVTKOutput()->GetNumberOfPoints(); -// if (this->GetNbGeometry() > 0){ -// const VISU::PIDMapper& aMapper2 = this->GetGeometry(0)->GetIDMapper(); -// int aNbPoints2 = aMapper2->GetVTKOutput()->GetNumberOfPoints(); -// if(aNbPoints2 != aNbPoints) -// return false; -// } else if (this->GetScalars()) { -// const VISU::PIDMapper& aMapper2 = this->GetScalars()->GetIDMapper(); -// int aNbPoints2 = aMapper2->GetVTKOutput()->GetNumberOfPoints(); -// if(aNbPoints2 != aNbPoints) -// return false; -// } - if(aNbPoints < 1) - return false; - return true; -} - -bool -VISU_PrsMergerPL -::checkScalars(const VISU_PipeLine* thePipeLine) -{ - const VISU::PIDMapper& aMapper = thePipeLine->GetIDMapper(); - int aNbPoints = aMapper->GetVTKOutput()->GetNumberOfPoints(); -// if (this->GetNbGeometry() > 0){ -// const VISU::PIDMapper& aMapper2 = this->GetGeometry(0)->GetIDMapper(); -// int aNbPoints2 = aMapper2->GetVTKOutput()->GetNumberOfPoints(); -// if(aNbPoints2 != aNbPoints) -// return false; -// } - if(aNbPoints < 1) - return false; - return true; -} - -void -VISU_PrsMergerPL -::Execute(){ - /* Where are next situations: - * 1. Timestamp on entity=NODE - * 1.1 Group Cell - OK - * 1.2 Group Cell + Point - ERR (remove points groups) - * 1.3 Group Node - ERR (remove points groups) - * 2. Timesatamp on entity=CELL - * 2.1 Group Cell - OK - * 2.2 Group Point - ERR (remove points groups) - */ - if(MYDEBUG) MESSAGE("VISU_PrsMergerPL::Execute()"); - - myAppendFilter->RemoveAllInputs(); - if(!myMeshGeometryList.empty()){ - const VISU::PIDMapper& aScalarsIDMapper = myScalars->GetIDMapper(); - VISU::TVTKOutput* aScalarsOutput = aScalarsIDMapper->GetVTKOutput(); - - // copy points to output from input first geometry - - VISU::TVTKOutput* aGeomOutput = NULL; - vtkIdType aNbGeoms = this->GetNbGeometry(); - for(vtkIdType aGeomId = 0; aGeomId < aNbGeoms; aGeomId++){ - VISU_PipeLine* aGeomPipeLine = this->GetGeometry(aGeomId); - const VISU::PIDMapper& aGeomIDMapper = aGeomPipeLine->GetIDMapper(); - aGeomOutput = aGeomIDMapper->GetVTKOutput(); - vtkIdType aNbCells = aGeomOutput->GetNumberOfCells(); -// if(aNbCells > 0) -// if(aGeomOutput->GetCell(0)->GetCellType() == VTK_VERTEX ) -// continue; - - myAppendFilter->AddInput(aGeomOutput); - } - - myAppendFilter->SetSharedPointsDataSet(aGeomOutput); - myAppendFilter->Update(); - - vtkUnstructuredGrid* aGeomDataSet = myAppendFilter->GetOutput(); - myMergeFilter->SetGeometry(aGeomDataSet); - - //copy array values - myMergeFilter->SetScalars(aScalarsOutput); - myMergeFilter->SetVectors(aScalarsOutput); - - myMergeFilter->RemoveFields(); - myMergeFilter->AddField("VISU_FIELD", aScalarsOutput); - myMergeFilter->AddField("VISU_CELLS_MAPPER", aScalarsOutput); - myMergeFilter->AddField("VISU_POINTS_MAPPER", aScalarsOutput); - - myMergeFilter->Update(); - SetInput(myMergeFilter->GetOutput()); - }else{ - if(myScalars != NULL){ - if(VISU_ScalarMapPL* aScalarMap = dynamic_cast(this->GetScalars())) - SetInput(aScalarMap->GetInput()); - } - } -} diff --git a/src/PIPELINE/VISU_PrsMergerPL.hxx b/src/PIPELINE/VISU_PrsMergerPL.hxx deleted file mode 100644 index 7dc0dac8..00000000 --- a/src/PIPELINE/VISU_PrsMergerPL.hxx +++ /dev/null @@ -1,194 +0,0 @@ -// VISU OBJECT : interactive object for VISU entities implementation -// -// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// -// This library is free software; you can redistribute it and/or -// modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either -// version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -// -// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -// -// -// File: VISU_PrsMergerPL.hxx -// Author: Eugeny Nikolaev -// Module : VISU - -#ifndef VISU_PrsMergerPL_HeaderFile -#define VISU_PrsMergerPL_HeaderFile - -#include "VISUPipeline.hxx" - -#include "VISU_ScalarMapPL.hxx" - -class VISU_AppendFilter; -class VISU_MergeFilter; - - -class VISU_PIPELINE_EXPORT VISU_PrsMergerPL : public VISU_ScalarMapPL -{ - typedef VISU_ScalarMapPL TSupperClass; - -protected: - VISU_PrsMergerPL(); - VISU_PrsMergerPL(const VISU_PrsMergerPL&); - - virtual - ~VISU_PrsMergerPL(); - -public: - - typedef TVTKSmartPtr TPipeLine; - typedef std::vector TPipeLines; - - vtkTypeMacro(VISU_PrsMergerPL,TSupperClass); - - static - VISU_PrsMergerPL* - New(); - - virtual - void - ShallowCopy(VISU_PipeLine *thePipeLine); - - /*! - * Add geometry of presentation to myMeshGeometryList. - * \params theGeometry - visu pipeline with geometry. - * \params theUpdate - update pipeline if true. - * \retval TRUE - if geometry and scalars on the common mesh, esle FALSE. - */ - virtual - bool - SetGeometry(VISU_PipeLine* theGeometry,bool theUpdate=true); - - /*! - * Add geometry to back of myMeshGeometryList. - * \params theInput - visu pipeline with geometry. - * \params theUpdate - update pipeline if true. - * \retval index of added geometry. (must be >= 0) - * \retval -1, if geometry not added. - */ - virtual - int - AddBackGeometry(VISU_PipeLine* theGeometry,bool theUpdate=true); - - /*! - * Get geometry id of myMeshGeometryList. - * \retval index of geometry. (must be >= 0) - * \retval -1 - if geometry not exists. - */ - virtual - int - GetGeometryNumber(VISU_PipeLine* theGeometry); - - /*! - * Remove geometry with id = theId from myMeshGeometryList. - * the id in [0,...] - */ - virtual - void - RemoveGeometryById(int theId); - - /*! Removes all geometries. - */ - virtual - void - RemoveAllGeom(); - - /*! - * Gets geometry of presentation by id. - * \retval VISU_MeshPL - pointer - * the id in [0,...] - */ - virtual - VISU_PipeLine* - GetGeometry(int theId=0); - - /*! - * Gets number of geometrys - * \retval int - number - */ - virtual - int - GetNbGeometry(); - - /*! - * Sets scalar values and ids by VISU_ScalarMapPL object. - * \params theInput - visu pipeline with scalar values - * \params theUpdate - update pipeline if true. - * \retval TRUE - if scalars and geometry on the common mesh, esle FALSE. - */ - virtual - bool - SetScalars(VISU_PipeLine* theInput,bool theUpdate=false); - - /*! - * Gets input VISU_ScalarMapPL, which contain scalar values and ids. - */ - virtual - VISU_PipeLine* - GetScalars(); - - virtual - void - Init(); - - virtual - void - Build(); - - /*! - * Calculate presentation, by merging of Geometry and Scalar Values. - */ - virtual - void - Update(); - - /*! - * Set ranges of scalar values by input myScalars ranges. - */ - void SetInitialRange(); - -protected: - TPipeLines myMeshGeometryList; - vtkSmartPointer myAppendFilter; - vtkSmartPointer myMergeFilter; - - vtkFloatingPointType* myScalarRanges; - TPipeLine myScalars; - -private: - - /*! - * Check if thePipeLine and "first element of list myMeshGeometryList" or - * "myScalars", has - * common DataPoints (simple check number of points). - * \retval TRUE - if has common points, esle FALSE. - */ - bool - checkGeometry(const VISU_PipeLine* thePipeLine); - - - /*! - * Check if thePipeLine and first element of list myMeshGeometryList, has - * common DataPoints (simple check number of points). - * \retval TRUE - if has common points, esle FALSE. - */ - bool - checkScalars(const VISU_PipeLine* thePipeLine); - - void - Execute(); -}; - -#endif diff --git a/src/PIPELINE/VISU_ScalarMapPL.cxx b/src/PIPELINE/VISU_ScalarMapPL.cxx index 44c0216d..14068d04 100644 --- a/src/PIPELINE/VISU_ScalarMapPL.cxx +++ b/src/PIPELINE/VISU_ScalarMapPL.cxx @@ -32,8 +32,10 @@ #include "VISU_AppendFilter.hxx" #include "VISU_MergeFilter.hxx" +#include "VISU_ConvertorUtils.hxx" #include +#include #include #include @@ -115,17 +117,18 @@ VISU_ScalarMapPL ::InsertCustomPL() { vtkDataSet* aDataSet = Superclass::InsertCustomPL(); - myMergeFilter->SetGeometry(myAppendFilter->GetOutput()); - myAppendFilter->SetSharedPointSet(GetFieldTransformFilter()->GetUnstructuredGridOutput()); + myAppendFilter->AddInput(aDataSet); + + vtkPointSet* aPointSet = GetDataSetMapperHolder()->GetUnstructuredGridInput(); + myAppendFilter->SetSharedPointSet(aPointSet); + myMergeFilter->SetGeometry(myAppendFilter->GetOutput()); myMergeFilter->SetScalars(aDataSet); myMergeFilter->SetVectors(aDataSet); - - myMergeFilter->RemoveFields(); myMergeFilter->AddField("VISU_FIELD", aDataSet); myMergeFilter->AddField("VISU_CELLS_MAPPER", aDataSet); myMergeFilter->AddField("VISU_POINTS_MAPPER", aDataSet); - + return myMergeFilter->GetOutput(); } diff --git a/src/VISUGUI/Makefile.am b/src/VISUGUI/Makefile.am new file mode 100644 index 00000000..8e193f5a --- /dev/null +++ b/src/VISUGUI/Makefile.am @@ -0,0 +1,122 @@ +# VISU VISUGUI : GUI of VISU component +# +# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# +# +# File : Makefile.am +# Author : Marc Tajchman (CEA) +# Module : VISU +# $Header$ + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +lib_LTLIBRARIES= libVISU.la + +salomeinclude_HEADERS= VisuGUI_Tools.h + +# .po files to transform in .qm +nodist_salomeres_DATA= \ + VISU_msg_en.qm VISU_images.qm + +dist_libVISU_la_SOURCES= \ + VisuGUI.cxx \ + VisuGUI_Factory.cxx \ + VisuGUI_Module.cxx \ + VisuGUI_Selection.cxx \ + VisuGUI_Tools.cxx \ + VisuGUI_ViewTools.cxx \ + VisuGUI_PopupTools.cxx \ + VisuGUI_NameDlg.cxx \ + VisuGUI_FileDlg.cxx \ + VisuGUI_CursorDlg.cxx \ + VisuGUI_TimeAnimation.cxx \ + VisuGUI_EditContainerDlg.cxx \ + VisuGUI_ClippingDlg.cxx \ + VisuGUI_DialogRunner.cxx \ + VisuGUI_OffsetDlg.cxx \ + VisuGUI_Prs3dDlg.cxx \ + VisuGUI_ScalarBarDlg.cxx \ + VisuGUI_Plot3DDlg.cxx \ + VisuGUI_GaussPointsDlg.cxx \ + VisuGUI_DeformedShapeDlg.cxx \ + VisuGUI_IsoSurfacesDlg.cxx \ + VisuGUI_CutLinesDlg.cxx \ + VisuGUI_CutPlanesDlg.cxx \ + VisuGUI_StreamLinesDlg.cxx \ + VisuGUI_VectorsDlg.cxx \ + VisuGUI_Displayer.cxx \ + VisuGUI_ScalarMapOnDeformedShapeDlg.cxx \ + VisuGUI_SetupPlot2dDlg.cxx \ + VisuGUI_BuildProgressDlg.cxx \ + VisuGUI_TransparencyDlg.cxx \ + VisuGUI_Timer.cxx \ + VisuGUI_Slider.cxx \ + VisuGUI_InputPane.cxx \ + VisuGUI_CacheDlg.cxx \ + VisuGUI_FieldFilter.cxx + +MOC_FILES= \ + VisuGUI_moc.cxx \ + VisuGUI_Module_moc.cxx \ + VisuGUI_Selection_moc.cxx \ + VisuGUI_NameDlg_moc.cxx \ + VisuGUI_FileDlg_moc.cxx \ + VisuGUI_CursorDlg_moc.cxx \ + VisuGUI_TimeAnimation_moc.cxx \ + VisuGUI_EditContainerDlg_moc.cxx \ + VisuGUI_ClippingDlg_moc.cxx \ + VisuGUI_DialogRunner_moc.cxx \ + VisuGUI_OffsetDlg_moc.cxx \ + VisuGUI_Prs3dDlg_moc.cxx \ + VisuGUI_ScalarBarDlg_moc.cxx \ + VisuGUI_Plot3DDlg_moc.cxx \ + VisuGUI_GaussPointsDlg_moc.cxx \ + VisuGUI_DeformedShapeDlg_moc.cxx \ + VisuGUI_IsoSurfacesDlg_moc.cxx \ + VisuGUI_CutLinesDlg_moc.cxx \ + VisuGUI_CutPlanesDlg_moc.cxx \ + VisuGUI_StreamLinesDlg_moc.cxx \ + VisuGUI_VectorsDlg_moc.cxx \ + VisuGUI_ScalarMapOnDeformedShapeDlg_moc.cxx \ + VisuGUI_SetupPlot2dDlg_moc.cxx \ + VisuGUI_BuildProgressDlg_moc.cxx \ + VisuGUI_TransparencyDlg_moc.cxx \ + VisuGUI_Slider_moc.cxx \ + VisuGUI_InputPane_moc.cxx \ + VisuGUI_CacheDlg_moc.cxx + +nodist_libVISU_la_SOURCES=$(MOC_FILES) + +# additionnal information to compil and link file +libVISU_la_CPPFLAGS= \ + -ftemplate-depth-32 $(QT_INCLUDES) $(VTK_INCLUDES) @CAS_CXXFLAGS@ @CAS_CPPFLAGS@ \ + $(PYTHON_INCLUDES) $(HDF5_INCLUDES) $(QWT_INCLUDES) \ + $(KERNEL_CXXFLAGS) \ + $(MED_CXXFLAGS) \ + $(BOOST_CPPFLAGS) \ + $(GUI_CXXFLAGS) \ + $(CORBA_CXXFLAGS) $(CORBA_INCLUDES) \ + -I$(srcdir)/../VVTK -I$(srcdir)/../OBJECT -I$(srcdir)/../VISU_I -I$(srcdir)/../GUITOOLS \ + -I$(top_builddir)/idl -I$(srcdir)/../CONVERTOR -I$(srcdir)/../PIPELINE -I$(top_builddir)/salome_adm/unix + +libVISU_la_LDFLAGS= $(QWT_LIBS) -lSalomeNS $(KERNEL_LDFLAGS) $(GUI_LDFLAGS) -lSVTK -lSPlot2d \ + ../VVTK/libVVTK.la ../OBJECT/libVisuObject.la ../VISU_I/libVISUEngineImpl.la ../GUITOOLS/libVISUGUITOOLS.la \ + ../../idl/libSalomeIDLVISU.la diff --git a/src/VISUGUI/Makefile.in b/src/VISUGUI/Makefile.in index 51f876d7..efed931f 100644 --- a/src/VISUGUI/Makefile.in +++ b/src/VISUGUI/Makefile.in @@ -1,3 +1,19 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + # VISU VISUGUI : GUI of VISU component # # Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, @@ -21,124 +37,1350 @@ # # # -# File : Makefile.in +# File : Makefile.am # Author : Marc Tajchman (CEA) # Module : VISU # $Header$ -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ +# +# ============================================================ +# This file defines the common definitions used in several +# Makefile. This file must be included, if needed, by the file +# Makefile.am. +# ============================================================ +# + + + +SOURCES = $(dist_libVISU_la_SOURCES) $(nodist_libVISU_la_SOURCES) -@COMMENCE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +DIST_COMMON = $(salomeinclude_HEADERS) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in \ + $(top_srcdir)/adm_local/unix/make_common_starter.am +subdir = ./src/VISUGUI +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_depend_flag.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_namespaces.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_option.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_use_std_iostream.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_linker_options.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/acx_pthread.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_Kernel.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_boost.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_cas.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_corba.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_hdf5.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_htmlgen.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_mpich.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_omniorb.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_opengl.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_qt.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_swig.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/enable_pthreads.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/production.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/python.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(salomeresdir)" \ + "$(DESTDIR)$(salomeincludedir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +libVISU_la_LIBADD = +dist_libVISU_la_OBJECTS = libVISU_la-VisuGUI.lo \ + libVISU_la-VisuGUI_Factory.lo libVISU_la-VisuGUI_Module.lo \ + libVISU_la-VisuGUI_Selection.lo libVISU_la-VisuGUI_Tools.lo \ + libVISU_la-VisuGUI_ViewTools.lo \ + libVISU_la-VisuGUI_PopupTools.lo libVISU_la-VisuGUI_NameDlg.lo \ + libVISU_la-VisuGUI_FileDlg.lo libVISU_la-VisuGUI_CursorDlg.lo \ + libVISU_la-VisuGUI_TimeAnimation.lo \ + libVISU_la-VisuGUI_EditContainerDlg.lo \ + libVISU_la-VisuGUI_ClippingDlg.lo \ + libVISU_la-VisuGUI_DialogRunner.lo \ + libVISU_la-VisuGUI_OffsetDlg.lo libVISU_la-VisuGUI_Prs3dDlg.lo \ + libVISU_la-VisuGUI_ScalarBarDlg.lo \ + libVISU_la-VisuGUI_Plot3DDlg.lo \ + libVISU_la-VisuGUI_GaussPointsDlg.lo \ + libVISU_la-VisuGUI_DeformedShapeDlg.lo \ + libVISU_la-VisuGUI_IsoSurfacesDlg.lo \ + libVISU_la-VisuGUI_CutLinesDlg.lo \ + libVISU_la-VisuGUI_CutPlanesDlg.lo \ + libVISU_la-VisuGUI_StreamLinesDlg.lo \ + libVISU_la-VisuGUI_VectorsDlg.lo \ + libVISU_la-VisuGUI_Displayer.lo \ + libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.lo \ + libVISU_la-VisuGUI_SetupPlot2dDlg.lo \ + libVISU_la-VisuGUI_BuildProgressDlg.lo \ + libVISU_la-VisuGUI_TransparencyDlg.lo \ + libVISU_la-VisuGUI_Timer.lo libVISU_la-VisuGUI_Slider.lo \ + libVISU_la-VisuGUI_InputPane.lo libVISU_la-VisuGUI_CacheDlg.lo \ + libVISU_la-VisuGUI_FieldFilter.lo +am__objects_1 = libVISU_la-VisuGUI_moc.lo \ + libVISU_la-VisuGUI_Module_moc.lo \ + libVISU_la-VisuGUI_Selection_moc.lo \ + libVISU_la-VisuGUI_NameDlg_moc.lo \ + libVISU_la-VisuGUI_FileDlg_moc.lo \ + libVISU_la-VisuGUI_CursorDlg_moc.lo \ + libVISU_la-VisuGUI_TimeAnimation_moc.lo \ + libVISU_la-VisuGUI_EditContainerDlg_moc.lo \ + libVISU_la-VisuGUI_ClippingDlg_moc.lo \ + libVISU_la-VisuGUI_DialogRunner_moc.lo \ + libVISU_la-VisuGUI_OffsetDlg_moc.lo \ + libVISU_la-VisuGUI_Prs3dDlg_moc.lo \ + libVISU_la-VisuGUI_ScalarBarDlg_moc.lo \ + libVISU_la-VisuGUI_Plot3DDlg_moc.lo \ + libVISU_la-VisuGUI_GaussPointsDlg_moc.lo \ + libVISU_la-VisuGUI_DeformedShapeDlg_moc.lo \ + libVISU_la-VisuGUI_IsoSurfacesDlg_moc.lo \ + libVISU_la-VisuGUI_CutLinesDlg_moc.lo \ + libVISU_la-VisuGUI_CutPlanesDlg_moc.lo \ + libVISU_la-VisuGUI_StreamLinesDlg_moc.lo \ + libVISU_la-VisuGUI_VectorsDlg_moc.lo \ + libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.lo \ + libVISU_la-VisuGUI_SetupPlot2dDlg_moc.lo \ + libVISU_la-VisuGUI_BuildProgressDlg_moc.lo \ + libVISU_la-VisuGUI_TransparencyDlg_moc.lo \ + libVISU_la-VisuGUI_Slider_moc.lo \ + libVISU_la-VisuGUI_InputPane_moc.lo \ + libVISU_la-VisuGUI_CacheDlg_moc.lo +nodist_libVISU_la_OBJECTS = $(am__objects_1) +libVISU_la_OBJECTS = $(dist_libVISU_la_OBJECTS) \ + $(nodist_libVISU_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) +depcomp = $(SHELL) $(top_srcdir)/salome_adm/unix/config_files/depcomp +am__depfiles_maybe = depfiles +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(dist_libVISU_la_SOURCES) $(nodist_libVISU_la_SOURCES) +DIST_SOURCES = $(dist_libVISU_la_SOURCES) +nodist_salomeresDATA_INSTALL = $(INSTALL_DATA) +DATA = $(nodist_salomeres_DATA) +salomeincludeHEADERS_INSTALL = $(INSTALL_HEADER) +HEADERS = $(salomeinclude_HEADERS) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ +BOOST_LIBS = @BOOST_LIBS@ +BOOST_LIBSUFFIX = @BOOST_LIBSUFFIX@ +BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@ +CAS_CPPFLAGS = @CAS_CPPFLAGS@ +CAS_CXXFLAGS = @CAS_CXXFLAGS@ +CAS_DATAEXCHANGE = @CAS_DATAEXCHANGE@ +CAS_KERNEL = @CAS_KERNEL@ +CAS_LDFLAGS = @CAS_LDFLAGS@ +CAS_LDPATH = @CAS_LDPATH@ +CAS_MATH = @CAS_MATH@ +CAS_MODELER = @CAS_MODELER@ +CAS_OCAF = @CAS_OCAF@ +CAS_OCAFVIS = @CAS_OCAFVIS@ +CAS_STDPLUGIN = @CAS_STDPLUGIN@ +CAS_TKTopAlgo = @CAS_TKTopAlgo@ +CAS_VIEWER = @CAS_VIEWER@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CORBA_CXXFLAGS = @CORBA_CXXFLAGS@ +CORBA_INCLUDES = @CORBA_INCLUDES@ +CORBA_IN_GUI = @CORBA_IN_GUI@ +CORBA_LIBS = @CORBA_LIBS@ +CORBA_ROOT = @CORBA_ROOT@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@ +CYGPATH_W = @CYGPATH_W@ +C_DEPEND_FLAG = @C_DEPEND_FLAG@ +DEFS = @DEFS@ +DEPCC = @DEPCC@ +DEPCXX = @DEPCXX@ +DEPCXXFLAGS = @DEPCXXFLAGS@ +DEPDIR = @DEPDIR@ +DOT = @DOT@ +DOXYGEN = @DOXYGEN@ +DOXYGEN_WITH_PYTHON = @DOXYGEN_WITH_PYTHON@ +DOXYGEN_WITH_STL = @DOXYGEN_WITH_STL@ +DVIPS = @DVIPS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GUI_CXXFLAGS = @GUI_CXXFLAGS@ +GUI_LDFLAGS = @GUI_LDFLAGS@ +GUI_ROOT_DIR = @GUI_ROOT_DIR@ +HAVE_SSTREAM = @HAVE_SSTREAM@ +HDF5_INCLUDES = @HDF5_INCLUDES@ +HDF5_LIBS = @HDF5_LIBS@ +HDF5_MT_LIBS = @HDF5_MT_LIBS@ +IDL = @IDL@ +IDLCXXFLAGS = @IDLCXXFLAGS@ +IDLPYFLAGS = @IDLPYFLAGS@ +IDL_CLN_CXX = @IDL_CLN_CXX@ +IDL_CLN_H = @IDL_CLN_H@ +IDL_CLN_OBJ = @IDL_CLN_OBJ@ +IDL_SRV_CXX = @IDL_SRV_CXX@ +IDL_SRV_H = @IDL_SRV_H@ +IDL_SRV_OBJ = @IDL_SRV_OBJ@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KERNEL_CXXFLAGS = @KERNEL_CXXFLAGS@ +KERNEL_LDFLAGS = @KERNEL_LDFLAGS@ +KERNEL_ROOT_DIR = @KERNEL_ROOT_DIR@ +KERNEL_SITE_DIR = @KERNEL_SITE_DIR@ +LATEX = @LATEX@ +LDEXPDYNFLAGS = @LDEXPDYNFLAGS@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_LOCATION_SUFFIX = @LIB_LOCATION_SUFFIX@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MACHINE = @MACHINE@ +MAKEINFO = @MAKEINFO@ +MED_CXXFLAGS = @MED_CXXFLAGS@ +MED_LDFLAGS = @MED_LDFLAGS@ +MED_ROOT_DIR = @MED_ROOT_DIR@ +MOC = @MOC@ +MODULE_NAME = @MODULE_NAME@ +MSG2QM = @MSG2QM@ +OBJEXT = @OBJEXT@ +OGL_INCLUDES = @OGL_INCLUDES@ +OGL_LIBS = @OGL_LIBS@ +OMNIORB_CXXFLAGS = @OMNIORB_CXXFLAGS@ +OMNIORB_IDL = @OMNIORB_IDL@ +OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ +OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ +OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@ +OMNIORB_IDL_CLN_H = @OMNIORB_IDL_CLN_H@ +OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@ +OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@ +OMNIORB_IDL_SRV_H = @OMNIORB_IDL_SRV_H@ +OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@ +OMNIORB_IDL_TIE_CXX = @OMNIORB_IDL_TIE_CXX@ +OMNIORB_IDL_TIE_H = @OMNIORB_IDL_TIE_H@ +OMNIORB_INCLUDES = @OMNIORB_INCLUDES@ +OMNIORB_LIBS = @OMNIORB_LIBS@ +OMNIORB_ROOT = @OMNIORB_ROOT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +PYTHON = @PYTHON@ +PYTHONHOME = @PYTHONHOME@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_LIBS = @PYTHON_LIBS@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_SITE = @PYTHON_SITE@ +PYTHON_SITE_EXEC = @PYTHON_SITE_EXEC@ +PYTHON_SITE_INSTALL = @PYTHON_SITE_INSTALL@ +PYTHON_SITE_PACKAGE = @PYTHON_SITE_PACKAGE@ +PYTHON_VERSION = @PYTHON_VERSION@ +QTDIR = @QTDIR@ +QT_INCLUDES = @QT_INCLUDES@ +QT_LIBS = @QT_LIBS@ +QT_MT_INCLUDES = @QT_MT_INCLUDES@ +QT_MT_LIBS = @QT_MT_LIBS@ +QT_ROOT = @QT_ROOT@ +QT_VERS = @QT_VERS@ +QWT_INCLUDES = @QWT_INCLUDES@ +QWT_LIBS = @QWT_LIBS@ +RANLIB = @RANLIB@ +ROOT_BUILDDIR = @ROOT_BUILDDIR@ +ROOT_SRCDIR = @ROOT_SRCDIR@ +RST2HTML = @RST2HTML@ +RST2HTML_IS_OK_FALSE = @RST2HTML_IS_OK_FALSE@ +RST2HTML_IS_OK_TRUE = @RST2HTML_IS_OK_TRUE@ +SETX = @SETX@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STDLIB = @STDLIB@ +STRIP = @STRIP@ +SWIG = @SWIG@ +SWIG_FLAGS = @SWIG_FLAGS@ +TEMP = @TEMP@ +UIC = @UIC@ +VERSION = @VERSION@ +VTKPY_MODULES = @VTKPY_MODULES@ +VTK_INCLUDES = @VTK_INCLUDES@ +VTK_LIBS = @VTK_LIBS@ +XVERSION = @XVERSION@ +YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +acx_pthread_config = @acx_pthread_config@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = $(prefix)/bin/@PACKAGE@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = $(prefix)/lib@LIB_LOCATION_SUFFIX@/@PACKAGE@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ -# header files -EXPORT_HEADERS= \ - VisuGUI_Tools.h +# Standard directory for installation +salomeincludedir = $(includedir)/@PACKAGE@ +purebindir = $(prefix)/bin +salomescriptdir = $(bindir) + +# Tests environment folders +testsenvirondir = $(prefix)/Tests/environ +testsenvironcshdir = $(prefix)/Tests/environ/csh + +# Directory for installing idl files +salomeidldir = $(prefix)/idl/@PACKAGE@ + +# Directory for installing resource files +salomeresdir = $(prefix)/share/@PACKAGE@/resources/@MODULE_NAME@ + +# Directories for installing admin files +admlocaldir = $(prefix)/adm_local +admlocalunixdir = $(admlocaldir)/unix +admlocalm4dir = $(admlocaldir)/unix/config_files + +# Shared modules installation directory +sharedpkgpythondir = $(pkgpythondir)/shared_modules + +# Documentation directory +docdir = $(datadir)/doc/@PACKAGE@ +EXTRA_DIST = $(MOC_FILES:%_moc.cxx=%.h) $(nodist_salomeres_DATA:%.qm=%.po) +lib_LTLIBRARIES = libVISU.la +salomeinclude_HEADERS = VisuGUI_Tools.h # .po files to transform in .qm -PO_FILES = \ - VISU_msg_en.po VISU_images.po - -# Libraries targets -LIB = libVISU.la -#LIB_SRC = VisuGUI_SweepPrefDlg.cxx -#LIB_MOC = VisuGUI_SweepPrefDlg.h - -LIB_SRC = VisuGUI.cxx \ - VisuGUI_Factory.cxx \ - VisuGUI_Module.cxx \ - VisuGUI_Selection.cxx \ - VisuGUI_Tools.cxx \ - VisuGUI_ViewTools.cxx \ - VisuGUI_PopupTools.cxx \ - VisuGUI_NameDlg.cxx \ - VisuGUI_FileDlg.cxx \ - VisuGUI_CursorDlg.cxx \ - VisuGUI_TimeAnimation.cxx \ - VisuGUI_EditContainerDlg.cxx \ - VisuGUI_ClippingDlg.cxx \ - VisuGUI_DialogRunner.cxx \ - VisuGUI_OffsetDlg.cxx \ - VisuGUI_Prs3dDlg.cxx \ - VisuGUI_ScalarBarDlg.cxx \ - VisuGUI_Plot3DDlg.cxx \ - VisuGUI_GaussPointsDlg.cxx \ - VisuGUI_DeformedShapeDlg.cxx \ - VisuGUI_IsoSurfacesDlg.cxx \ - VisuGUI_CutLinesDlg.cxx \ - VisuGUI_CutPlanesDlg.cxx \ - VisuGUI_StreamLinesDlg.cxx \ - VisuGUI_VectorsDlg.cxx \ - VisuGUI_Displayer.cxx \ - VisuGUI_ScalarMapOnDeformedShapeDlg.cxx \ - VisuGUI_SetupPlot2dDlg.cxx \ - VisuGUI_BuildProgressDlg.cxx \ - VisuGUI_TransparencyDlg.cxx \ - VisuGUI_Timer.cxx \ - VisuGUI_Slider.cxx \ - VisuGUI_InputPane.cxx \ - VisuGUI_CacheDlg.cxx \ - VisuGUI_FieldFilter.cxx - -LIB_MOC = VisuGUI.h \ - VisuGUI_Module.h \ - VisuGUI_Selection.h \ - VisuGUI_NameDlg.h \ - VisuGUI_FileDlg.h \ - VisuGUI_CursorDlg.h \ - VisuGUI_TimeAnimation.h \ - VisuGUI_EditContainerDlg.h \ - VisuGUI_ClippingDlg.h \ - VisuGUI_DialogRunner.h \ - VisuGUI_OffsetDlg.h \ - VisuGUI_Prs3dDlg.h \ - VisuGUI_ScalarBarDlg.h \ - VisuGUI_Plot3DDlg.h \ - VisuGUI_GaussPointsDlg.h \ - VisuGUI_DeformedShapeDlg.h \ - VisuGUI_IsoSurfacesDlg.h \ - VisuGUI_CutLinesDlg.h \ - VisuGUI_CutPlanesDlg.h \ - VisuGUI_StreamLinesDlg.h \ - VisuGUI_VectorsDlg.h \ - VisuGUI_ScalarMapOnDeformedShapeDlg.h \ - VisuGUI_SetupPlot2dDlg.h \ - VisuGUI_BuildProgressDlg.h \ - VisuGUI_TransparencyDlg.h \ - VisuGUI_Slider.h \ - VisuGUI_InputPane.h \ - VisuGUI_CacheDlg.h - -LIB_CLIENT_IDL = SALOME_Exception.idl \ - VISU_Gen.idl \ - MED_Gen.idl \ - MED.idl \ - SALOMEDS.idl \ - SALOME_GenericObj.idl \ - SALOME_ModuleCatalog.idl \ - SALOME_Component.idl \ - SALOMEDS_Attributes.idl \ - SALOME_Comm.idl - -LIB_SERVER_IDL = +nodist_salomeres_DATA = \ + VISU_msg_en.qm VISU_images.qm -# additionnal information to compil and link file +dist_libVISU_la_SOURCES = \ + VisuGUI.cxx \ + VisuGUI_Factory.cxx \ + VisuGUI_Module.cxx \ + VisuGUI_Selection.cxx \ + VisuGUI_Tools.cxx \ + VisuGUI_ViewTools.cxx \ + VisuGUI_PopupTools.cxx \ + VisuGUI_NameDlg.cxx \ + VisuGUI_FileDlg.cxx \ + VisuGUI_CursorDlg.cxx \ + VisuGUI_TimeAnimation.cxx \ + VisuGUI_EditContainerDlg.cxx \ + VisuGUI_ClippingDlg.cxx \ + VisuGUI_DialogRunner.cxx \ + VisuGUI_OffsetDlg.cxx \ + VisuGUI_Prs3dDlg.cxx \ + VisuGUI_ScalarBarDlg.cxx \ + VisuGUI_Plot3DDlg.cxx \ + VisuGUI_GaussPointsDlg.cxx \ + VisuGUI_DeformedShapeDlg.cxx \ + VisuGUI_IsoSurfacesDlg.cxx \ + VisuGUI_CutLinesDlg.cxx \ + VisuGUI_CutPlanesDlg.cxx \ + VisuGUI_StreamLinesDlg.cxx \ + VisuGUI_VectorsDlg.cxx \ + VisuGUI_Displayer.cxx \ + VisuGUI_ScalarMapOnDeformedShapeDlg.cxx \ + VisuGUI_SetupPlot2dDlg.cxx \ + VisuGUI_BuildProgressDlg.cxx \ + VisuGUI_TransparencyDlg.cxx \ + VisuGUI_Timer.cxx \ + VisuGUI_Slider.cxx \ + VisuGUI_InputPane.cxx \ + VisuGUI_CacheDlg.cxx \ + VisuGUI_FieldFilter.cxx + +MOC_FILES = \ + VisuGUI_moc.cxx \ + VisuGUI_Module_moc.cxx \ + VisuGUI_Selection_moc.cxx \ + VisuGUI_NameDlg_moc.cxx \ + VisuGUI_FileDlg_moc.cxx \ + VisuGUI_CursorDlg_moc.cxx \ + VisuGUI_TimeAnimation_moc.cxx \ + VisuGUI_EditContainerDlg_moc.cxx \ + VisuGUI_ClippingDlg_moc.cxx \ + VisuGUI_DialogRunner_moc.cxx \ + VisuGUI_OffsetDlg_moc.cxx \ + VisuGUI_Prs3dDlg_moc.cxx \ + VisuGUI_ScalarBarDlg_moc.cxx \ + VisuGUI_Plot3DDlg_moc.cxx \ + VisuGUI_GaussPointsDlg_moc.cxx \ + VisuGUI_DeformedShapeDlg_moc.cxx \ + VisuGUI_IsoSurfacesDlg_moc.cxx \ + VisuGUI_CutLinesDlg_moc.cxx \ + VisuGUI_CutPlanesDlg_moc.cxx \ + VisuGUI_StreamLinesDlg_moc.cxx \ + VisuGUI_VectorsDlg_moc.cxx \ + VisuGUI_ScalarMapOnDeformedShapeDlg_moc.cxx \ + VisuGUI_SetupPlot2dDlg_moc.cxx \ + VisuGUI_BuildProgressDlg_moc.cxx \ + VisuGUI_TransparencyDlg_moc.cxx \ + VisuGUI_Slider_moc.cxx \ + VisuGUI_InputPane_moc.cxx \ + VisuGUI_CacheDlg_moc.cxx -CPPFLAGS += -ftemplate-depth-32 $(QT_INCLUDES) $(VTK_INCLUDES) $(OCC_INCLUDES) \ +nodist_libVISU_la_SOURCES = $(MOC_FILES) + +# additionnal information to compil and link file +libVISU_la_CPPFLAGS = \ + -ftemplate-depth-32 $(QT_INCLUDES) $(VTK_INCLUDES) @CAS_CXXFLAGS@ @CAS_CPPFLAGS@ \ $(PYTHON_INCLUDES) $(HDF5_INCLUDES) $(QWT_INCLUDES) \ $(KERNEL_CXXFLAGS) \ $(MED_CXXFLAGS) \ - $(BOOST_CPPFLAGS) -CXXFLAGS += -ftemplate-depth-32 $(OCC_CXXFLAGS) \ - $(KERNEL_CXXFLAGS) \ - $(GUI_CXXFLAGS) + $(BOOST_CPPFLAGS) \ + $(GUI_CXXFLAGS) \ + $(CORBA_CXXFLAGS) $(CORBA_INCLUDES) \ + -I$(srcdir)/../VVTK -I$(srcdir)/../OBJECT -I$(srcdir)/../VISU_I -I$(srcdir)/../GUITOOLS \ + -I$(top_builddir)/idl -I$(srcdir)/../CONVERTOR -I$(srcdir)/../PIPELINE -I$(top_builddir)/salome_adm/unix + +libVISU_la_LDFLAGS = $(QWT_LIBS) -lSalomeNS $(KERNEL_LDFLAGS) $(GUI_LDFLAGS) -lSVTK -lSPlot2d \ + ../VVTK/libVVTK.la ../OBJECT/libVisuObject.la ../VISU_I/libVISUEngineImpl.la ../GUITOOLS/libVISUGUITOOLS.la \ + ../../idl/libSalomeIDLVISU.la + +all: all-am + +.SUFFIXES: +.SUFFIXES: .cxx .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/adm_local/unix/make_common_starter.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ./src/VISUGUI/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu ./src/VISUGUI/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libVISU.la: $(libVISU_la_OBJECTS) $(libVISU_la_DEPENDENCIES) + $(CXXLINK) -rpath $(libdir) $(libVISU_la_LDFLAGS) $(libVISU_la_OBJECTS) $(libVISU_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Displayer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Factory.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_FieldFilter.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_FileDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_FileDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_InputPane.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_InputPane_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Module.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Module_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_NameDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_NameDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_PopupTools.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Selection.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Selection_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Slider.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Slider_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Timer.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_Tools.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg_moc.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_ViewTools.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_la-VisuGUI_moc.Plo@am__quote@ + +.cxx.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cxx.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cxx.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +libVISU_la-VisuGUI.lo: VisuGUI.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI.Tpo" -c -o libVISU_la-VisuGUI.lo `test -f 'VisuGUI.cxx' || echo '$(srcdir)/'`VisuGUI.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI.cxx' object='libVISU_la-VisuGUI.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI.lo `test -f 'VisuGUI.cxx' || echo '$(srcdir)/'`VisuGUI.cxx + +libVISU_la-VisuGUI_Factory.lo: VisuGUI_Factory.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Factory.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Factory.Tpo" -c -o libVISU_la-VisuGUI_Factory.lo `test -f 'VisuGUI_Factory.cxx' || echo '$(srcdir)/'`VisuGUI_Factory.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Factory.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Factory.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Factory.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Factory.cxx' object='libVISU_la-VisuGUI_Factory.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Factory.lo `test -f 'VisuGUI_Factory.cxx' || echo '$(srcdir)/'`VisuGUI_Factory.cxx + +libVISU_la-VisuGUI_Module.lo: VisuGUI_Module.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Module.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Module.Tpo" -c -o libVISU_la-VisuGUI_Module.lo `test -f 'VisuGUI_Module.cxx' || echo '$(srcdir)/'`VisuGUI_Module.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Module.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Module.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Module.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Module.cxx' object='libVISU_la-VisuGUI_Module.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Module.lo `test -f 'VisuGUI_Module.cxx' || echo '$(srcdir)/'`VisuGUI_Module.cxx + +libVISU_la-VisuGUI_Selection.lo: VisuGUI_Selection.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Selection.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Selection.Tpo" -c -o libVISU_la-VisuGUI_Selection.lo `test -f 'VisuGUI_Selection.cxx' || echo '$(srcdir)/'`VisuGUI_Selection.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Selection.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Selection.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Selection.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Selection.cxx' object='libVISU_la-VisuGUI_Selection.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Selection.lo `test -f 'VisuGUI_Selection.cxx' || echo '$(srcdir)/'`VisuGUI_Selection.cxx + +libVISU_la-VisuGUI_Tools.lo: VisuGUI_Tools.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Tools.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Tools.Tpo" -c -o libVISU_la-VisuGUI_Tools.lo `test -f 'VisuGUI_Tools.cxx' || echo '$(srcdir)/'`VisuGUI_Tools.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Tools.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Tools.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Tools.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Tools.cxx' object='libVISU_la-VisuGUI_Tools.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Tools.lo `test -f 'VisuGUI_Tools.cxx' || echo '$(srcdir)/'`VisuGUI_Tools.cxx + +libVISU_la-VisuGUI_ViewTools.lo: VisuGUI_ViewTools.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_ViewTools.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_ViewTools.Tpo" -c -o libVISU_la-VisuGUI_ViewTools.lo `test -f 'VisuGUI_ViewTools.cxx' || echo '$(srcdir)/'`VisuGUI_ViewTools.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_ViewTools.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_ViewTools.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_ViewTools.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_ViewTools.cxx' object='libVISU_la-VisuGUI_ViewTools.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_ViewTools.lo `test -f 'VisuGUI_ViewTools.cxx' || echo '$(srcdir)/'`VisuGUI_ViewTools.cxx + +libVISU_la-VisuGUI_PopupTools.lo: VisuGUI_PopupTools.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_PopupTools.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_PopupTools.Tpo" -c -o libVISU_la-VisuGUI_PopupTools.lo `test -f 'VisuGUI_PopupTools.cxx' || echo '$(srcdir)/'`VisuGUI_PopupTools.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_PopupTools.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_PopupTools.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_PopupTools.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_PopupTools.cxx' object='libVISU_la-VisuGUI_PopupTools.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_PopupTools.lo `test -f 'VisuGUI_PopupTools.cxx' || echo '$(srcdir)/'`VisuGUI_PopupTools.cxx + +libVISU_la-VisuGUI_NameDlg.lo: VisuGUI_NameDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_NameDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_NameDlg.Tpo" -c -o libVISU_la-VisuGUI_NameDlg.lo `test -f 'VisuGUI_NameDlg.cxx' || echo '$(srcdir)/'`VisuGUI_NameDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_NameDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_NameDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_NameDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_NameDlg.cxx' object='libVISU_la-VisuGUI_NameDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_NameDlg.lo `test -f 'VisuGUI_NameDlg.cxx' || echo '$(srcdir)/'`VisuGUI_NameDlg.cxx + +libVISU_la-VisuGUI_FileDlg.lo: VisuGUI_FileDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_FileDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_FileDlg.Tpo" -c -o libVISU_la-VisuGUI_FileDlg.lo `test -f 'VisuGUI_FileDlg.cxx' || echo '$(srcdir)/'`VisuGUI_FileDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_FileDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_FileDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_FileDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_FileDlg.cxx' object='libVISU_la-VisuGUI_FileDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_FileDlg.lo `test -f 'VisuGUI_FileDlg.cxx' || echo '$(srcdir)/'`VisuGUI_FileDlg.cxx + +libVISU_la-VisuGUI_CursorDlg.lo: VisuGUI_CursorDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_CursorDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg.Tpo" -c -o libVISU_la-VisuGUI_CursorDlg.lo `test -f 'VisuGUI_CursorDlg.cxx' || echo '$(srcdir)/'`VisuGUI_CursorDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_CursorDlg.cxx' object='libVISU_la-VisuGUI_CursorDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_CursorDlg.lo `test -f 'VisuGUI_CursorDlg.cxx' || echo '$(srcdir)/'`VisuGUI_CursorDlg.cxx + +libVISU_la-VisuGUI_TimeAnimation.lo: VisuGUI_TimeAnimation.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_TimeAnimation.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation.Tpo" -c -o libVISU_la-VisuGUI_TimeAnimation.lo `test -f 'VisuGUI_TimeAnimation.cxx' || echo '$(srcdir)/'`VisuGUI_TimeAnimation.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_TimeAnimation.cxx' object='libVISU_la-VisuGUI_TimeAnimation.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_TimeAnimation.lo `test -f 'VisuGUI_TimeAnimation.cxx' || echo '$(srcdir)/'`VisuGUI_TimeAnimation.cxx + +libVISU_la-VisuGUI_EditContainerDlg.lo: VisuGUI_EditContainerDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_EditContainerDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg.Tpo" -c -o libVISU_la-VisuGUI_EditContainerDlg.lo `test -f 'VisuGUI_EditContainerDlg.cxx' || echo '$(srcdir)/'`VisuGUI_EditContainerDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_EditContainerDlg.cxx' object='libVISU_la-VisuGUI_EditContainerDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_EditContainerDlg.lo `test -f 'VisuGUI_EditContainerDlg.cxx' || echo '$(srcdir)/'`VisuGUI_EditContainerDlg.cxx + +libVISU_la-VisuGUI_ClippingDlg.lo: VisuGUI_ClippingDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_ClippingDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg.Tpo" -c -o libVISU_la-VisuGUI_ClippingDlg.lo `test -f 'VisuGUI_ClippingDlg.cxx' || echo '$(srcdir)/'`VisuGUI_ClippingDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_ClippingDlg.cxx' object='libVISU_la-VisuGUI_ClippingDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_ClippingDlg.lo `test -f 'VisuGUI_ClippingDlg.cxx' || echo '$(srcdir)/'`VisuGUI_ClippingDlg.cxx + +libVISU_la-VisuGUI_DialogRunner.lo: VisuGUI_DialogRunner.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_DialogRunner.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner.Tpo" -c -o libVISU_la-VisuGUI_DialogRunner.lo `test -f 'VisuGUI_DialogRunner.cxx' || echo '$(srcdir)/'`VisuGUI_DialogRunner.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_DialogRunner.cxx' object='libVISU_la-VisuGUI_DialogRunner.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_DialogRunner.lo `test -f 'VisuGUI_DialogRunner.cxx' || echo '$(srcdir)/'`VisuGUI_DialogRunner.cxx + +libVISU_la-VisuGUI_OffsetDlg.lo: VisuGUI_OffsetDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_OffsetDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg.Tpo" -c -o libVISU_la-VisuGUI_OffsetDlg.lo `test -f 'VisuGUI_OffsetDlg.cxx' || echo '$(srcdir)/'`VisuGUI_OffsetDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_OffsetDlg.cxx' object='libVISU_la-VisuGUI_OffsetDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_OffsetDlg.lo `test -f 'VisuGUI_OffsetDlg.cxx' || echo '$(srcdir)/'`VisuGUI_OffsetDlg.cxx + +libVISU_la-VisuGUI_Prs3dDlg.lo: VisuGUI_Prs3dDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Prs3dDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg.Tpo" -c -o libVISU_la-VisuGUI_Prs3dDlg.lo `test -f 'VisuGUI_Prs3dDlg.cxx' || echo '$(srcdir)/'`VisuGUI_Prs3dDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Prs3dDlg.cxx' object='libVISU_la-VisuGUI_Prs3dDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Prs3dDlg.lo `test -f 'VisuGUI_Prs3dDlg.cxx' || echo '$(srcdir)/'`VisuGUI_Prs3dDlg.cxx + +libVISU_la-VisuGUI_ScalarBarDlg.lo: VisuGUI_ScalarBarDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_ScalarBarDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg.Tpo" -c -o libVISU_la-VisuGUI_ScalarBarDlg.lo `test -f 'VisuGUI_ScalarBarDlg.cxx' || echo '$(srcdir)/'`VisuGUI_ScalarBarDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_ScalarBarDlg.cxx' object='libVISU_la-VisuGUI_ScalarBarDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_ScalarBarDlg.lo `test -f 'VisuGUI_ScalarBarDlg.cxx' || echo '$(srcdir)/'`VisuGUI_ScalarBarDlg.cxx + +libVISU_la-VisuGUI_Plot3DDlg.lo: VisuGUI_Plot3DDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Plot3DDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg.Tpo" -c -o libVISU_la-VisuGUI_Plot3DDlg.lo `test -f 'VisuGUI_Plot3DDlg.cxx' || echo '$(srcdir)/'`VisuGUI_Plot3DDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Plot3DDlg.cxx' object='libVISU_la-VisuGUI_Plot3DDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Plot3DDlg.lo `test -f 'VisuGUI_Plot3DDlg.cxx' || echo '$(srcdir)/'`VisuGUI_Plot3DDlg.cxx + +libVISU_la-VisuGUI_GaussPointsDlg.lo: VisuGUI_GaussPointsDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_GaussPointsDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg.Tpo" -c -o libVISU_la-VisuGUI_GaussPointsDlg.lo `test -f 'VisuGUI_GaussPointsDlg.cxx' || echo '$(srcdir)/'`VisuGUI_GaussPointsDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_GaussPointsDlg.cxx' object='libVISU_la-VisuGUI_GaussPointsDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_GaussPointsDlg.lo `test -f 'VisuGUI_GaussPointsDlg.cxx' || echo '$(srcdir)/'`VisuGUI_GaussPointsDlg.cxx + +libVISU_la-VisuGUI_DeformedShapeDlg.lo: VisuGUI_DeformedShapeDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_DeformedShapeDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg.Tpo" -c -o libVISU_la-VisuGUI_DeformedShapeDlg.lo `test -f 'VisuGUI_DeformedShapeDlg.cxx' || echo '$(srcdir)/'`VisuGUI_DeformedShapeDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_DeformedShapeDlg.cxx' object='libVISU_la-VisuGUI_DeformedShapeDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_DeformedShapeDlg.lo `test -f 'VisuGUI_DeformedShapeDlg.cxx' || echo '$(srcdir)/'`VisuGUI_DeformedShapeDlg.cxx + +libVISU_la-VisuGUI_IsoSurfacesDlg.lo: VisuGUI_IsoSurfacesDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_IsoSurfacesDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg.Tpo" -c -o libVISU_la-VisuGUI_IsoSurfacesDlg.lo `test -f 'VisuGUI_IsoSurfacesDlg.cxx' || echo '$(srcdir)/'`VisuGUI_IsoSurfacesDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_IsoSurfacesDlg.cxx' object='libVISU_la-VisuGUI_IsoSurfacesDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_IsoSurfacesDlg.lo `test -f 'VisuGUI_IsoSurfacesDlg.cxx' || echo '$(srcdir)/'`VisuGUI_IsoSurfacesDlg.cxx + +libVISU_la-VisuGUI_CutLinesDlg.lo: VisuGUI_CutLinesDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_CutLinesDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg.Tpo" -c -o libVISU_la-VisuGUI_CutLinesDlg.lo `test -f 'VisuGUI_CutLinesDlg.cxx' || echo '$(srcdir)/'`VisuGUI_CutLinesDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_CutLinesDlg.cxx' object='libVISU_la-VisuGUI_CutLinesDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_CutLinesDlg.lo `test -f 'VisuGUI_CutLinesDlg.cxx' || echo '$(srcdir)/'`VisuGUI_CutLinesDlg.cxx + +libVISU_la-VisuGUI_CutPlanesDlg.lo: VisuGUI_CutPlanesDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_CutPlanesDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg.Tpo" -c -o libVISU_la-VisuGUI_CutPlanesDlg.lo `test -f 'VisuGUI_CutPlanesDlg.cxx' || echo '$(srcdir)/'`VisuGUI_CutPlanesDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_CutPlanesDlg.cxx' object='libVISU_la-VisuGUI_CutPlanesDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_CutPlanesDlg.lo `test -f 'VisuGUI_CutPlanesDlg.cxx' || echo '$(srcdir)/'`VisuGUI_CutPlanesDlg.cxx + +libVISU_la-VisuGUI_StreamLinesDlg.lo: VisuGUI_StreamLinesDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_StreamLinesDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg.Tpo" -c -o libVISU_la-VisuGUI_StreamLinesDlg.lo `test -f 'VisuGUI_StreamLinesDlg.cxx' || echo '$(srcdir)/'`VisuGUI_StreamLinesDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_StreamLinesDlg.cxx' object='libVISU_la-VisuGUI_StreamLinesDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_StreamLinesDlg.lo `test -f 'VisuGUI_StreamLinesDlg.cxx' || echo '$(srcdir)/'`VisuGUI_StreamLinesDlg.cxx + +libVISU_la-VisuGUI_VectorsDlg.lo: VisuGUI_VectorsDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_VectorsDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg.Tpo" -c -o libVISU_la-VisuGUI_VectorsDlg.lo `test -f 'VisuGUI_VectorsDlg.cxx' || echo '$(srcdir)/'`VisuGUI_VectorsDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_VectorsDlg.cxx' object='libVISU_la-VisuGUI_VectorsDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_VectorsDlg.lo `test -f 'VisuGUI_VectorsDlg.cxx' || echo '$(srcdir)/'`VisuGUI_VectorsDlg.cxx + +libVISU_la-VisuGUI_Displayer.lo: VisuGUI_Displayer.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Displayer.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Displayer.Tpo" -c -o libVISU_la-VisuGUI_Displayer.lo `test -f 'VisuGUI_Displayer.cxx' || echo '$(srcdir)/'`VisuGUI_Displayer.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Displayer.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Displayer.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Displayer.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Displayer.cxx' object='libVISU_la-VisuGUI_Displayer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Displayer.lo `test -f 'VisuGUI_Displayer.cxx' || echo '$(srcdir)/'`VisuGUI_Displayer.cxx + +libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.lo: VisuGUI_ScalarMapOnDeformedShapeDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.Tpo" -c -o libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.lo `test -f 'VisuGUI_ScalarMapOnDeformedShapeDlg.cxx' || echo '$(srcdir)/'`VisuGUI_ScalarMapOnDeformedShapeDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_ScalarMapOnDeformedShapeDlg.cxx' object='libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg.lo `test -f 'VisuGUI_ScalarMapOnDeformedShapeDlg.cxx' || echo '$(srcdir)/'`VisuGUI_ScalarMapOnDeformedShapeDlg.cxx + +libVISU_la-VisuGUI_SetupPlot2dDlg.lo: VisuGUI_SetupPlot2dDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_SetupPlot2dDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg.Tpo" -c -o libVISU_la-VisuGUI_SetupPlot2dDlg.lo `test -f 'VisuGUI_SetupPlot2dDlg.cxx' || echo '$(srcdir)/'`VisuGUI_SetupPlot2dDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_SetupPlot2dDlg.cxx' object='libVISU_la-VisuGUI_SetupPlot2dDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_SetupPlot2dDlg.lo `test -f 'VisuGUI_SetupPlot2dDlg.cxx' || echo '$(srcdir)/'`VisuGUI_SetupPlot2dDlg.cxx + +libVISU_la-VisuGUI_BuildProgressDlg.lo: VisuGUI_BuildProgressDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_BuildProgressDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg.Tpo" -c -o libVISU_la-VisuGUI_BuildProgressDlg.lo `test -f 'VisuGUI_BuildProgressDlg.cxx' || echo '$(srcdir)/'`VisuGUI_BuildProgressDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_BuildProgressDlg.cxx' object='libVISU_la-VisuGUI_BuildProgressDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_BuildProgressDlg.lo `test -f 'VisuGUI_BuildProgressDlg.cxx' || echo '$(srcdir)/'`VisuGUI_BuildProgressDlg.cxx + +libVISU_la-VisuGUI_TransparencyDlg.lo: VisuGUI_TransparencyDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_TransparencyDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg.Tpo" -c -o libVISU_la-VisuGUI_TransparencyDlg.lo `test -f 'VisuGUI_TransparencyDlg.cxx' || echo '$(srcdir)/'`VisuGUI_TransparencyDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_TransparencyDlg.cxx' object='libVISU_la-VisuGUI_TransparencyDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_TransparencyDlg.lo `test -f 'VisuGUI_TransparencyDlg.cxx' || echo '$(srcdir)/'`VisuGUI_TransparencyDlg.cxx + +libVISU_la-VisuGUI_Timer.lo: VisuGUI_Timer.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Timer.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Timer.Tpo" -c -o libVISU_la-VisuGUI_Timer.lo `test -f 'VisuGUI_Timer.cxx' || echo '$(srcdir)/'`VisuGUI_Timer.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Timer.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Timer.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Timer.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Timer.cxx' object='libVISU_la-VisuGUI_Timer.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Timer.lo `test -f 'VisuGUI_Timer.cxx' || echo '$(srcdir)/'`VisuGUI_Timer.cxx + +libVISU_la-VisuGUI_Slider.lo: VisuGUI_Slider.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Slider.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Slider.Tpo" -c -o libVISU_la-VisuGUI_Slider.lo `test -f 'VisuGUI_Slider.cxx' || echo '$(srcdir)/'`VisuGUI_Slider.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Slider.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Slider.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Slider.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Slider.cxx' object='libVISU_la-VisuGUI_Slider.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Slider.lo `test -f 'VisuGUI_Slider.cxx' || echo '$(srcdir)/'`VisuGUI_Slider.cxx + +libVISU_la-VisuGUI_InputPane.lo: VisuGUI_InputPane.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_InputPane.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_InputPane.Tpo" -c -o libVISU_la-VisuGUI_InputPane.lo `test -f 'VisuGUI_InputPane.cxx' || echo '$(srcdir)/'`VisuGUI_InputPane.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_InputPane.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_InputPane.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_InputPane.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_InputPane.cxx' object='libVISU_la-VisuGUI_InputPane.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_InputPane.lo `test -f 'VisuGUI_InputPane.cxx' || echo '$(srcdir)/'`VisuGUI_InputPane.cxx + +libVISU_la-VisuGUI_CacheDlg.lo: VisuGUI_CacheDlg.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_CacheDlg.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg.Tpo" -c -o libVISU_la-VisuGUI_CacheDlg.lo `test -f 'VisuGUI_CacheDlg.cxx' || echo '$(srcdir)/'`VisuGUI_CacheDlg.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_CacheDlg.cxx' object='libVISU_la-VisuGUI_CacheDlg.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_CacheDlg.lo `test -f 'VisuGUI_CacheDlg.cxx' || echo '$(srcdir)/'`VisuGUI_CacheDlg.cxx + +libVISU_la-VisuGUI_FieldFilter.lo: VisuGUI_FieldFilter.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_FieldFilter.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_FieldFilter.Tpo" -c -o libVISU_la-VisuGUI_FieldFilter.lo `test -f 'VisuGUI_FieldFilter.cxx' || echo '$(srcdir)/'`VisuGUI_FieldFilter.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_FieldFilter.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_FieldFilter.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_FieldFilter.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_FieldFilter.cxx' object='libVISU_la-VisuGUI_FieldFilter.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_FieldFilter.lo `test -f 'VisuGUI_FieldFilter.cxx' || echo '$(srcdir)/'`VisuGUI_FieldFilter.cxx + +libVISU_la-VisuGUI_moc.lo: VisuGUI_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_moc.Tpo" -c -o libVISU_la-VisuGUI_moc.lo `test -f 'VisuGUI_moc.cxx' || echo '$(srcdir)/'`VisuGUI_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_moc.cxx' object='libVISU_la-VisuGUI_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_moc.lo `test -f 'VisuGUI_moc.cxx' || echo '$(srcdir)/'`VisuGUI_moc.cxx + +libVISU_la-VisuGUI_Module_moc.lo: VisuGUI_Module_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Module_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Module_moc.Tpo" -c -o libVISU_la-VisuGUI_Module_moc.lo `test -f 'VisuGUI_Module_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Module_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Module_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Module_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Module_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Module_moc.cxx' object='libVISU_la-VisuGUI_Module_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Module_moc.lo `test -f 'VisuGUI_Module_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Module_moc.cxx + +libVISU_la-VisuGUI_Selection_moc.lo: VisuGUI_Selection_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Selection_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Selection_moc.Tpo" -c -o libVISU_la-VisuGUI_Selection_moc.lo `test -f 'VisuGUI_Selection_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Selection_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Selection_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Selection_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Selection_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Selection_moc.cxx' object='libVISU_la-VisuGUI_Selection_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Selection_moc.lo `test -f 'VisuGUI_Selection_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Selection_moc.cxx + +libVISU_la-VisuGUI_NameDlg_moc.lo: VisuGUI_NameDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_NameDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_NameDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_NameDlg_moc.lo `test -f 'VisuGUI_NameDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_NameDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_NameDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_NameDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_NameDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_NameDlg_moc.cxx' object='libVISU_la-VisuGUI_NameDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_NameDlg_moc.lo `test -f 'VisuGUI_NameDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_NameDlg_moc.cxx + +libVISU_la-VisuGUI_FileDlg_moc.lo: VisuGUI_FileDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_FileDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_FileDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_FileDlg_moc.lo `test -f 'VisuGUI_FileDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_FileDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_FileDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_FileDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_FileDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_FileDlg_moc.cxx' object='libVISU_la-VisuGUI_FileDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_FileDlg_moc.lo `test -f 'VisuGUI_FileDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_FileDlg_moc.cxx + +libVISU_la-VisuGUI_CursorDlg_moc.lo: VisuGUI_CursorDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_CursorDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_CursorDlg_moc.lo `test -f 'VisuGUI_CursorDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_CursorDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_CursorDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_CursorDlg_moc.cxx' object='libVISU_la-VisuGUI_CursorDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_CursorDlg_moc.lo `test -f 'VisuGUI_CursorDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_CursorDlg_moc.cxx + +libVISU_la-VisuGUI_TimeAnimation_moc.lo: VisuGUI_TimeAnimation_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_TimeAnimation_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation_moc.Tpo" -c -o libVISU_la-VisuGUI_TimeAnimation_moc.lo `test -f 'VisuGUI_TimeAnimation_moc.cxx' || echo '$(srcdir)/'`VisuGUI_TimeAnimation_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_TimeAnimation_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_TimeAnimation_moc.cxx' object='libVISU_la-VisuGUI_TimeAnimation_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_TimeAnimation_moc.lo `test -f 'VisuGUI_TimeAnimation_moc.cxx' || echo '$(srcdir)/'`VisuGUI_TimeAnimation_moc.cxx + +libVISU_la-VisuGUI_EditContainerDlg_moc.lo: VisuGUI_EditContainerDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_EditContainerDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_EditContainerDlg_moc.lo `test -f 'VisuGUI_EditContainerDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_EditContainerDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_EditContainerDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_EditContainerDlg_moc.cxx' object='libVISU_la-VisuGUI_EditContainerDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_EditContainerDlg_moc.lo `test -f 'VisuGUI_EditContainerDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_EditContainerDlg_moc.cxx + +libVISU_la-VisuGUI_ClippingDlg_moc.lo: VisuGUI_ClippingDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_ClippingDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_ClippingDlg_moc.lo `test -f 'VisuGUI_ClippingDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_ClippingDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_ClippingDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_ClippingDlg_moc.cxx' object='libVISU_la-VisuGUI_ClippingDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_ClippingDlg_moc.lo `test -f 'VisuGUI_ClippingDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_ClippingDlg_moc.cxx + +libVISU_la-VisuGUI_DialogRunner_moc.lo: VisuGUI_DialogRunner_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_DialogRunner_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner_moc.Tpo" -c -o libVISU_la-VisuGUI_DialogRunner_moc.lo `test -f 'VisuGUI_DialogRunner_moc.cxx' || echo '$(srcdir)/'`VisuGUI_DialogRunner_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_DialogRunner_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_DialogRunner_moc.cxx' object='libVISU_la-VisuGUI_DialogRunner_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_DialogRunner_moc.lo `test -f 'VisuGUI_DialogRunner_moc.cxx' || echo '$(srcdir)/'`VisuGUI_DialogRunner_moc.cxx + +libVISU_la-VisuGUI_OffsetDlg_moc.lo: VisuGUI_OffsetDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_OffsetDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_OffsetDlg_moc.lo `test -f 'VisuGUI_OffsetDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_OffsetDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_OffsetDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_OffsetDlg_moc.cxx' object='libVISU_la-VisuGUI_OffsetDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_OffsetDlg_moc.lo `test -f 'VisuGUI_OffsetDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_OffsetDlg_moc.cxx + +libVISU_la-VisuGUI_Prs3dDlg_moc.lo: VisuGUI_Prs3dDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Prs3dDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_Prs3dDlg_moc.lo `test -f 'VisuGUI_Prs3dDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Prs3dDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Prs3dDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Prs3dDlg_moc.cxx' object='libVISU_la-VisuGUI_Prs3dDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Prs3dDlg_moc.lo `test -f 'VisuGUI_Prs3dDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Prs3dDlg_moc.cxx + +libVISU_la-VisuGUI_ScalarBarDlg_moc.lo: VisuGUI_ScalarBarDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_ScalarBarDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_ScalarBarDlg_moc.lo `test -f 'VisuGUI_ScalarBarDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_ScalarBarDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_ScalarBarDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_ScalarBarDlg_moc.cxx' object='libVISU_la-VisuGUI_ScalarBarDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_ScalarBarDlg_moc.lo `test -f 'VisuGUI_ScalarBarDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_ScalarBarDlg_moc.cxx + +libVISU_la-VisuGUI_Plot3DDlg_moc.lo: VisuGUI_Plot3DDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Plot3DDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_Plot3DDlg_moc.lo `test -f 'VisuGUI_Plot3DDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Plot3DDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Plot3DDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Plot3DDlg_moc.cxx' object='libVISU_la-VisuGUI_Plot3DDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Plot3DDlg_moc.lo `test -f 'VisuGUI_Plot3DDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Plot3DDlg_moc.cxx + +libVISU_la-VisuGUI_GaussPointsDlg_moc.lo: VisuGUI_GaussPointsDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_GaussPointsDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_GaussPointsDlg_moc.lo `test -f 'VisuGUI_GaussPointsDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_GaussPointsDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_GaussPointsDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_GaussPointsDlg_moc.cxx' object='libVISU_la-VisuGUI_GaussPointsDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_GaussPointsDlg_moc.lo `test -f 'VisuGUI_GaussPointsDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_GaussPointsDlg_moc.cxx + +libVISU_la-VisuGUI_DeformedShapeDlg_moc.lo: VisuGUI_DeformedShapeDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_DeformedShapeDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_DeformedShapeDlg_moc.lo `test -f 'VisuGUI_DeformedShapeDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_DeformedShapeDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_DeformedShapeDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_DeformedShapeDlg_moc.cxx' object='libVISU_la-VisuGUI_DeformedShapeDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_DeformedShapeDlg_moc.lo `test -f 'VisuGUI_DeformedShapeDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_DeformedShapeDlg_moc.cxx + +libVISU_la-VisuGUI_IsoSurfacesDlg_moc.lo: VisuGUI_IsoSurfacesDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_IsoSurfacesDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_IsoSurfacesDlg_moc.lo `test -f 'VisuGUI_IsoSurfacesDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_IsoSurfacesDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_IsoSurfacesDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_IsoSurfacesDlg_moc.cxx' object='libVISU_la-VisuGUI_IsoSurfacesDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_IsoSurfacesDlg_moc.lo `test -f 'VisuGUI_IsoSurfacesDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_IsoSurfacesDlg_moc.cxx + +libVISU_la-VisuGUI_CutLinesDlg_moc.lo: VisuGUI_CutLinesDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_CutLinesDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_CutLinesDlg_moc.lo `test -f 'VisuGUI_CutLinesDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_CutLinesDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_CutLinesDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_CutLinesDlg_moc.cxx' object='libVISU_la-VisuGUI_CutLinesDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_CutLinesDlg_moc.lo `test -f 'VisuGUI_CutLinesDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_CutLinesDlg_moc.cxx + +libVISU_la-VisuGUI_CutPlanesDlg_moc.lo: VisuGUI_CutPlanesDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_CutPlanesDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_CutPlanesDlg_moc.lo `test -f 'VisuGUI_CutPlanesDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_CutPlanesDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_CutPlanesDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_CutPlanesDlg_moc.cxx' object='libVISU_la-VisuGUI_CutPlanesDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_CutPlanesDlg_moc.lo `test -f 'VisuGUI_CutPlanesDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_CutPlanesDlg_moc.cxx + +libVISU_la-VisuGUI_StreamLinesDlg_moc.lo: VisuGUI_StreamLinesDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_StreamLinesDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_StreamLinesDlg_moc.lo `test -f 'VisuGUI_StreamLinesDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_StreamLinesDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_StreamLinesDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_StreamLinesDlg_moc.cxx' object='libVISU_la-VisuGUI_StreamLinesDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_StreamLinesDlg_moc.lo `test -f 'VisuGUI_StreamLinesDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_StreamLinesDlg_moc.cxx + +libVISU_la-VisuGUI_VectorsDlg_moc.lo: VisuGUI_VectorsDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_VectorsDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_VectorsDlg_moc.lo `test -f 'VisuGUI_VectorsDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_VectorsDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_VectorsDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_VectorsDlg_moc.cxx' object='libVISU_la-VisuGUI_VectorsDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_VectorsDlg_moc.lo `test -f 'VisuGUI_VectorsDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_VectorsDlg_moc.cxx + +libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.lo: VisuGUI_ScalarMapOnDeformedShapeDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.lo `test -f 'VisuGUI_ScalarMapOnDeformedShapeDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_ScalarMapOnDeformedShapeDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_ScalarMapOnDeformedShapeDlg_moc.cxx' object='libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_ScalarMapOnDeformedShapeDlg_moc.lo `test -f 'VisuGUI_ScalarMapOnDeformedShapeDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_ScalarMapOnDeformedShapeDlg_moc.cxx + +libVISU_la-VisuGUI_SetupPlot2dDlg_moc.lo: VisuGUI_SetupPlot2dDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_SetupPlot2dDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_SetupPlot2dDlg_moc.lo `test -f 'VisuGUI_SetupPlot2dDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_SetupPlot2dDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_SetupPlot2dDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_SetupPlot2dDlg_moc.cxx' object='libVISU_la-VisuGUI_SetupPlot2dDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_SetupPlot2dDlg_moc.lo `test -f 'VisuGUI_SetupPlot2dDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_SetupPlot2dDlg_moc.cxx + +libVISU_la-VisuGUI_BuildProgressDlg_moc.lo: VisuGUI_BuildProgressDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_BuildProgressDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_BuildProgressDlg_moc.lo `test -f 'VisuGUI_BuildProgressDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_BuildProgressDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_BuildProgressDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_BuildProgressDlg_moc.cxx' object='libVISU_la-VisuGUI_BuildProgressDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_BuildProgressDlg_moc.lo `test -f 'VisuGUI_BuildProgressDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_BuildProgressDlg_moc.cxx + +libVISU_la-VisuGUI_TransparencyDlg_moc.lo: VisuGUI_TransparencyDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_TransparencyDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_TransparencyDlg_moc.lo `test -f 'VisuGUI_TransparencyDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_TransparencyDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_TransparencyDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_TransparencyDlg_moc.cxx' object='libVISU_la-VisuGUI_TransparencyDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_TransparencyDlg_moc.lo `test -f 'VisuGUI_TransparencyDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_TransparencyDlg_moc.cxx + +libVISU_la-VisuGUI_Slider_moc.lo: VisuGUI_Slider_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_Slider_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_Slider_moc.Tpo" -c -o libVISU_la-VisuGUI_Slider_moc.lo `test -f 'VisuGUI_Slider_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Slider_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_Slider_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_Slider_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_Slider_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_Slider_moc.cxx' object='libVISU_la-VisuGUI_Slider_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_Slider_moc.lo `test -f 'VisuGUI_Slider_moc.cxx' || echo '$(srcdir)/'`VisuGUI_Slider_moc.cxx + +libVISU_la-VisuGUI_InputPane_moc.lo: VisuGUI_InputPane_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_InputPane_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_InputPane_moc.Tpo" -c -o libVISU_la-VisuGUI_InputPane_moc.lo `test -f 'VisuGUI_InputPane_moc.cxx' || echo '$(srcdir)/'`VisuGUI_InputPane_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_InputPane_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_InputPane_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_InputPane_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_InputPane_moc.cxx' object='libVISU_la-VisuGUI_InputPane_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_InputPane_moc.lo `test -f 'VisuGUI_InputPane_moc.cxx' || echo '$(srcdir)/'`VisuGUI_InputPane_moc.cxx + +libVISU_la-VisuGUI_CacheDlg_moc.lo: VisuGUI_CacheDlg_moc.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_la-VisuGUI_CacheDlg_moc.lo -MD -MP -MF "$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg_moc.Tpo" -c -o libVISU_la-VisuGUI_CacheDlg_moc.lo `test -f 'VisuGUI_CacheDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_CacheDlg_moc.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg_moc.Tpo" "$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg_moc.Plo"; else rm -f "$(DEPDIR)/libVISU_la-VisuGUI_CacheDlg_moc.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VisuGUI_CacheDlg_moc.cxx' object='libVISU_la-VisuGUI_CacheDlg_moc.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_la-VisuGUI_CacheDlg_moc.lo `test -f 'VisuGUI_CacheDlg_moc.cxx' || echo '$(srcdir)/'`VisuGUI_CacheDlg_moc.cxx + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-nodist_salomeresDATA: $(nodist_salomeres_DATA) + @$(NORMAL_INSTALL) + test -z "$(salomeresdir)" || $(mkdir_p) "$(DESTDIR)$(salomeresdir)" + @list='$(nodist_salomeres_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(nodist_salomeresDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(salomeresdir)/$$f'"; \ + $(nodist_salomeresDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(salomeresdir)/$$f"; \ + done + +uninstall-nodist_salomeresDATA: + @$(NORMAL_UNINSTALL) + @list='$(nodist_salomeres_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(salomeresdir)/$$f'"; \ + rm -f "$(DESTDIR)$(salomeresdir)/$$f"; \ + done +install-salomeincludeHEADERS: $(salomeinclude_HEADERS) + @$(NORMAL_INSTALL) + test -z "$(salomeincludedir)" || $(mkdir_p) "$(DESTDIR)$(salomeincludedir)" + @list='$(salomeinclude_HEADERS)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(salomeincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(salomeincludedir)/$$f'"; \ + $(salomeincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(salomeincludedir)/$$f"; \ + done + +uninstall-salomeincludeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(salomeinclude_HEADERS)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(salomeincludedir)/$$f'"; \ + rm -f "$(DESTDIR)$(salomeincludedir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/../../adm_local/unix + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(salomeresdir)" "$(DESTDIR)$(salomeincludedir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-nodist_salomeresDATA \ + install-salomeincludeHEADERS + +install-exec-am: install-libLTLIBRARIES + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-local + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \ + uninstall-nodist_salomeresDATA uninstall-salomeincludeHEADERS + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am \ + install-libLTLIBRARIES install-man \ + install-nodist_salomeresDATA install-salomeincludeHEADERS \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + mostlyclean-local pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-info-am uninstall-libLTLIBRARIES \ + uninstall-nodist_salomeresDATA uninstall-salomeincludeHEADERS + + +# common rules + +# moc-files generation +%_moc.cxx: %.h + $(MOC) $< -o $@ + +# qm-files generation +%.qm: %.po + $(MSG2QM) $< $@ -LDFLAGS += $(QWT_LIBS) -lSalomeNS \ - -lSVTK -lVVTK -lSPlot2d -lVisuObject -lVISUEngineImpl -lVISUGUITOOLS \ - $(KERNEL_LDFLAGS) \ - $(GUI_LDFLAGS) +mostlyclean-local: + rm -f @builddir@/*_moc.cxx + rm -f @builddir@/*.qm +# tests +tests: unittest -@CONCLUDE@ +unittest: $(UNIT_TEST_PROG) + @if test "x$(UNIT_TEST_PROG)" != "x"; then \ + $(UNIT_TEST_PROG); \ + fi; +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/VISUGUI/VISU_images.po b/src/VISUGUI/VISU_images.po index 5f65758f..4c05e2ae 100644 --- a/src/VISUGUI/VISU_images.po +++ b/src/VISUGUI/VISU_images.po @@ -54,7 +54,7 @@ msgid "ICON_ISO_SURFACES" msgstr "Visu_isosurfaces.png" msgid "ICON_CUT_PLANES" -msgstr "Visu_cutplane.png" +msgstr "Visu_cutplanes.png" msgid "ICON_CUT_LINES" msgstr "Visu_cutlines.png" @@ -65,6 +65,80 @@ msgstr "Visu_streamlines.png" msgid "ICON_PLOT2D" msgstr "Visu_plot2d.png" +# Tree icons for presentations + +msgid "ICON_TREE_RESULT" +msgstr "Visu_tree_result.png" + +msgid "ICON_TREE_TABLE" +msgstr "Visu_tree_table.png" + +msgid "ICON_TREE_CURVE" +msgstr "Visu_tree_curve.png" + +msgid "ICON_TREE_CONTAINER" +msgstr "Visu_tree_container.png" + +msgid "ICON_TREE_MESH" +msgstr "Visu_tree_mesh.png" + +msgid "ICON_TREE_SCALAR_MAP" +msgstr "Visu_tree_scalars.png" + +msgid "ICON_TREE_SCALAR_MAP_GROUPS" +msgstr "Visu_tree_scalars_gr.png" + +msgid "ICON_TREE_DEFORMED_SHAPE" +msgstr "Visu_tree_deformed.png" + +msgid "ICON_TREE_DEFORMED_SHAPE_GROUPS" +msgstr "Visu_tree_deformed_gr.png" + +msgid "ICON_TREE_SCALAR_MAP_ON_DEFORMED_SHAPE" +msgstr "Visu_tree_scalarmapondeformedshape.png" + +msgid "ICON_TREE_SCALAR_MAP_ON_DEFORMED_SHAPE_GROUPS" +msgstr "Visu_tree_scalarmapondeformedshape_gr.png" + +msgid "ICON_TREE_VECTORS" +msgstr "Visu_tree_vectors.png" + +msgid "ICON_TREE_VECTORS_GROUPS" +msgstr "Visu_tree_vectors_gr.png" + +msgid "ICON_TREE_ISO_SURFACES" +msgstr "Visu_tree_isosurfaces.png" + +msgid "ICON_TREE_ISO_SURFACES_GROUPS" +msgstr "Visu_tree_isosurfaces_gr.png" + +msgid "ICON_TREE_CUT_PLANES" +msgstr "Visu_tree_cutplanes.png" + +msgid "ICON_TREE_CUT_PLANES_GROUPS" +msgstr "Visu_tree_cutplanes_gr.png" + +msgid "ICON_TREE_CUT_LINES" +msgstr "Visu_tree_cutlines.png" + +msgid "ICON_TREE_CUT_LINES_GROUPS" +msgstr "Visu_tree_cutlines_gr.png" + +msgid "ICON_TREE_STREAM_LINES" +msgstr "Visu_tree_streamlines.png" + +msgid "ICON_TREE_STREAM_LINES_GROUPS" +msgstr "Visu_tree_streamlines_gr.png" + +msgid "ICON_TREE_PLOT_3D" +msgstr "Visu_tree_plot3d.png" + +msgid "ICON_TREE_PLOT_3D_GROUPS" +msgstr "Visu_tree_plot3d_gr.png" + +msgid "ICON_TREE_GAUSS_POINTS" +msgstr "Visu_tree_gauss_points.png" + # Representation menu msgid "ICON_POINTS" @@ -133,6 +207,12 @@ msgstr "Visu_recording_stop.png" msgid "ICON_LOAD_TEXTURE" msgstr "Visu_load_texture.png" +msgid "ICON_ADD" +msgstr "Visu_add.png" + +msgid "ICON_REMOVE" +msgstr "Visu_remove.png" + msgid "ICON_SLIDER_MORE" msgstr "Visu_slider_more.png" diff --git a/src/VISUGUI/VISU_msg_en.po b/src/VISUGUI/VISU_msg_en.po index d6447064..ac0d608f 100644 --- a/src/VISUGUI/VISU_msg_en.po +++ b/src/VISUGUI/VISU_msg_en.po @@ -58,6 +58,9 @@ msgstr "The object can't be built" msgid "ERR_CANT_CREATE_ACTOR" msgstr "Can't create actor for this presentation" +msgid "ERR_CANT_CREATE_ANIMATION" +msgstr "Can't create animation for these fields:\n number of time stamps or number of components is not the same!" + # Preferences for VISU module (VisuGUI.cxx) msgid "VISU_SCALAR_BAR" @@ -117,6 +120,12 @@ msgstr "Height:" msgid "VISU_PREF_SECOND_TAB" msgstr "Scalar range, Sweep, MED import, Shading" +msgid "PRS_ON_GROUPS" +msgstr "Build presentation on groups" + +msgid "NO_GROUPS" +msgstr "No groups in the mesh" + msgid "VISU_SCALAR_RANGE" msgstr "Scalar range" @@ -153,6 +162,27 @@ msgstr "Max:" msgid "VISU_SWEEPING_PREF" msgstr "Sweeping preferences" +msgid "VISU_LINEAR_SWEEP" +msgstr "Linear" + +msgid "VISU_COS_SWEEP" +msgstr "Cosinusoidal ( (1 - cos(t))/2 )" + +msgid "VISU_SIN_SWEEP" +msgstr "Sinusoidal ( sin( t - PI/2 ) )" + +msgid "VISU_SWEEPING_MODES" +msgstr "Mode of the sweeping " + +msgid "VISU_IS2PI" +msgstr "Parameter varies:" + +msgid "PERIOD_2PI" +msgstr "From -PI to PI" + +msgid "PERIOD_PI" +msgstr "From 0 to PI" + msgid "VISU_TIME_STEP" msgstr "Time step(second)" @@ -162,6 +192,9 @@ msgstr "Number of cycles" msgid "VISU_NB_STEPS" msgstr "Number of steps" +msgid "VISU_CUTLINE_PREF" +msgstr "CutLine preferences" + msgid "VISU_PREF_MED_IMPORT" msgstr "MED files import" @@ -174,6 +207,9 @@ msgstr "Representation properties" msgid "VISU_USE_SHADING" msgstr "Use Shading" +msgid "VISU_DISP_ONLY" +msgstr "Display only on creation" + msgid "VISU_SHRINK" msgstr "Shrink" @@ -233,8 +269,17 @@ msgstr "Representation Toolbar" msgid "VisuGUI::MEN_SHOW_ANIMATION" msgstr "Show..." -msgid "VisuGUI::MEN_ANIMATION" -msgstr "Animation..." +msgid "VisuGUI::MEN_PARALLEL_ANIMATION" +msgstr "Parallel Animation..." + +msgid "VisuGUI::MEN_SUCCCESSIVE_ANIMATION" +msgstr "Successive Animation..." + +msgid "PARALLEL_ANIMATION" +msgstr "Parallel Animation" + +msgid "SUCCESSIVE_ANIMATION" +msgstr "Successive Animation" msgid "VisuGUI::MEN_CELL_COLOR" msgstr "Cell color" @@ -484,6 +529,9 @@ msgstr "minimal and maximal" msgid "VisuGUI_CutLinesDlg::LBL_INVERT_CURVES" msgstr "Invert all curves" +msgid "VisuGUI_CutLinesDlg::LBL_ABSOLUTE_LENGTH" +msgstr "Use absolute length" + msgid "VisuGUI_CutLinesDlg::LBL_GENERATE_CURVES" msgstr "Generate Curves" @@ -914,6 +962,9 @@ msgstr "Error" msgid "VisuGUI_TimeAnimationDlg::MSG_NO_ANIMATIONDATA" msgstr "There is no data for animation" +msgid "VisuGUI_TimeAnimationDlg::MSG_NO_AVI_MAKER" +msgstr "Tool jpeg2yuv, necessary for AVI recording, is not available.\nPlease, refer to the documentation." + #: VisuGUI_VectorsDlg.cxx @@ -1832,6 +1883,9 @@ msgstr "Stop recording" msgid "VVTK_MainWindow::DSC_VVTK_RECORDING_STOP" msgstr "Stop recording" +msgid "VVTK_MainWindow::MSG_NO_AVI_MAKER" +msgstr "Tool jpeg2yuv, necessary for AVI recording, is not available.\nPlease, refer to the documentation." + msgid "VVTK_MainWindow1::LBL_TOOLBAR_GAUSS_LABEL" msgstr "Gauss Viewer Tools" @@ -2193,4 +2247,4 @@ msgid "VISU_PLOT3D" msgstr "Plot3D" msgid "VISU_SCALAR_MAP_ON_DEFORMED_SHAPE" -msgstr "Scalar Map on Def. Shape" \ No newline at end of file +msgstr "Scalar Map on Def. Shape" diff --git a/src/VISUGUI/VisuGUI.cxx b/src/VISUGUI/VisuGUI.cxx index a579baba..2a6282a6 100644 --- a/src/VISUGUI/VisuGUI.cxx +++ b/src/VISUGUI/VisuGUI.cxx @@ -152,6 +152,10 @@ static int MYDEBUG = 0; static int MYDEBUG = 0; #endif +#ifdef WIN32 +#define usleep(A) _sleep(A/1000) +#endif + ////////////////////////////////////////////////// // Class: VisuGUI ////////////////////////////////////////////////// @@ -395,6 +399,44 @@ VisuGUI Handle(SALOME_InteractiveObject) anIO = It.Value(); SALOMEDS::SObject_var aSObject = aStudy->FindObjectID(anIO->getEntry()); if (!aSObject->_is_nil()) { + + // try to load a component data from an opened (presumably) study + // The same in SUPERVISION: NPAL14522 + { + SALOMEDS::SComponent_ptr aSComp = aSObject->GetFatherComponent(); + //std::string aCompIOR; + CORBA::String_var aCompIOR; + if (!aSComp->ComponentIOR(aCompIOR)) { // not loaded + CORBA::String_var aCompDataType = aSComp->ComponentDataType(); + //std::string aCompDataType = aSComp->ComponentDataType(); + + // obtain a driver by a component data type + // like it is done in SALOMEDS_DriverFactory_i::GetDriverByType + SALOMEDS::Driver_var anEngine = SALOMEDS::Driver::_nil(); + SALOME_LifeCycleCORBA * LCC = getApp()->lcc(); + try { + CORBA::Object_var + //anEngineObj = LCC->FindOrLoad_Component("FactoryServer", aCompDataType.c_str()); + anEngineObj = LCC->FindOrLoad_Component("FactoryServer", aCompDataType); + if (CORBA::is_nil(anEngineObj)) + //anEngineObj = LCC->FindOrLoad_Component("FactoryServerPy", aCompDataType.c_str()); + anEngineObj = LCC->FindOrLoad_Component("FactoryServerPy", aCompDataType); + + if (!CORBA::is_nil(anEngineObj)) + anEngine = SALOMEDS::Driver::_narrow(anEngineObj); + + if (!CORBA::is_nil(anEngine)) { + // try to load + SALOMEDS::StudyBuilder_ptr aStudyBuilder = aStudy->NewBuilder(); + //aStudyBuilder->LoadWith(aSComp, aDriverIOR.in()); + aStudyBuilder->LoadWith(aSComp, anEngine); + } + } + catch (...) { + } + } + } + CORBA::Object_var anObject = VISU::SObjectToObject(aSObject); if (!CORBA::is_nil(anObject)) { SALOME_MED::MED_var aMED = SALOME_MED::MED::_narrow(anObject); @@ -1129,12 +1171,12 @@ VisuGUI int i = 0, nbSelected = aList.Extent(); if (nbSelected < 1) return; - const char* entries [nbSelected]; + std::vector anEntries(nbSelected); Handle(SALOME_InteractiveObject) anIO; for (SALOME_ListIteratorOfListIO it (aList); it.More(); it.Next()) { anIO = it.Value(); if (anIO->hasEntry()) - entries[i++] = anIO->getEntry(); + anEntries[i++] = anIO->getEntry(); } nbSelected = i; if (nbSelected < 1) return; @@ -1144,7 +1186,7 @@ VisuGUI aStudyBuilder->NewCommand(); for (i = 0; i < nbSelected; i++) { - VISU::TObjectInfo anObjectInfo = GetObjectByEntry(GetAppStudy(this), entries[i]); + VISU::TObjectInfo anObjectInfo = GetObjectByEntry(GetAppStudy(this), anEntries[i]); if(_PTR(SObject) aSObject = anObjectInfo.mySObject){ _PTR(SObject) aRefSObject; if (aSObject->ReferencedObject(aRefSObject)) { @@ -1576,12 +1618,30 @@ VisuGUI int aCycles = aResourceMgr->integerValue("VISU", "sweeping_number_cycles", 1); int aSteps = aResourceMgr->integerValue("VISU", "sweeping_number_steps", 40); + int aMode = aResourceMgr->integerValue("VISU", "sweeping_modes", 0); + + int is2Pi = aResourceMgr->integerValue("VISU", "sweeping_is2PI", 0); + // Sweep QApplication::setOverrideCursor(Qt::waitCursor); + for (int j = 0; j < aCycles; j++) { for (int i = 0; i <= aSteps; i++) { try { - float aPercents = float(i)/aSteps; + float aPercents; + float aT; + if( aMode >= 1 ) + aT = ( is2Pi == 1 ? -PI + 2. * PI * float(i)/aSteps : PI * float(i)/aSteps ); + if( aMode == 1 ){ //if selected Periodic cosinusoidal mode of sweeping + //This is necessary in order for animation to return to the initial picture + aPercents = (1.-cos( aT ))/2.; + } + else if( aMode == 2 ){ //if selected Periodic sinusoidal mode of sweeping + //This is necessary in order for animation to return to the initial picture + aPercents = sin( aT - PI/2 ); + } + else //if selected Linear mode of sweeping + aPercents = float(i)/aSteps; aScalarMap->SetMapScale(aPercents); aScalarMap->UpdateActor(anActor); aViewWindow->getRenderWindow()->Render(); @@ -1599,40 +1659,46 @@ VisuGUI //---------------------------------------------------------------------------- void VisuGUI -::OnTimeAnimation() +::OnTimeAnimation(int theMode) { if (!VISU::GetActiveViewWindow(this)) return; _PTR(Study) aCStudy = GetCStudy(GetAppStudy(this)); VisuGUI_TimeAnimationDlg* aAnimationDlg = - new VisuGUI_TimeAnimationDlg (this, aCStudy); + new VisuGUI_TimeAnimationDlg (this, aCStudy, theMode); LightApp_SelectionMgr* aSelectionMgr = GetSelectionMgr(this); SALOME_ListIO aListIO; aSelectionMgr->selectedObjects(aListIO); - bool isDefined = false; - long aNbTimes = 0; SALOME_ListIteratorOfListIO It (aListIO); for (; It.More(); It.Next()) { _PTR(SObject) aSObject = aCStudy->FindObjectID(It.Value()->getEntry()); - if (!aSObject) continue; - if (getValue(aSObject, "myComment") == QString("FIELD")) { - long aNumber = getValue(aSObject, "myNbTimeStamps").toLong(); - if (aNumber > 1) { - if (!isDefined) { - aNbTimes = aNumber; - aAnimationDlg->addField(aSObject); - isDefined = true; - } else if (aNbTimes == aNumber) { - aAnimationDlg->addField(aSObject); - } - } + if ( !aAnimationDlg->addField(aSObject) ) { + SUIT_MessageBox::warn1(GetDesktop(this), + tr("WRN_VISU"), + tr("ERR_CANT_CREATE_ANIMATION"), + tr("BUT_OK")); + delete aAnimationDlg; + return; } } - if (isDefined) aAnimationDlg->show(); - else delete aAnimationDlg; + aAnimationDlg->show(); +} + +void +VisuGUI:: +OnParallelTimeAnimation() +{ + OnTimeAnimation(0); +} + +void +VisuGUI:: +OnSucccessiveTimeAnimation() +{ + OnTimeAnimation(1); } //---------------------------------------------------------------------------- @@ -1659,9 +1725,9 @@ VisuGUI VISU::Storable::TRestoringMap aMap; _PTR(GenericAttribute) anAttr; - if (!aSObj->FindAttribute(anAttr, "AttributeComment")) return; + if (!aSObj->FindAttribute(anAttr, "AttributeString")) return; - _PTR(AttributeComment) aComment (anAttr); + _PTR(AttributeString) aComment (anAttr); string aComm = aComment->Value(); QString strIn (aComm.c_str()); VISU::Storable::StrToMap(strIn, aMap); @@ -2184,9 +2250,14 @@ VisuGUI this, SLOT(OnSelectionInfo())); aPixmap = aResourceMgr->loadPixmap("VISU",tr("ICON_TIMEANIMATION")); - createAction( VISU_ANIMATION, tr("MEN_ANIMATION"), QIconSet(aPixmap), - tr("MEN_ANIMATION"), "", 0, aParent, false, - this, SLOT(OnTimeAnimation())); + createAction( VISU_PARALLELANIMATION, tr("MEN_PARALLEL_ANIMATION"), QIconSet(aPixmap), + tr("MEN_PARALLEL_ANIMATION"), "", 0, aParent, false, + this, SLOT(OnParallelTimeAnimation())); + + aPixmap = aResourceMgr->loadPixmap("VISU",tr("ICON_TIMEANIMATION")); + createAction( VISU_SUCCCESSIVEANIMATION, tr("MEN_SUCCCESSIVE_ANIMATION"), QIconSet(aPixmap), + tr("MEN_SUCCCESSIVE_ANIMATION"), "", 0, aParent, false, + this, SLOT(OnSucccessiveTimeAnimation())); aPixmap = aResourceMgr->loadPixmap("VISU",tr("ICON_ERASE_ALL")); createAction( VISU_ERASE_ALL, tr("MEN_ERASE_ALL"), QIconSet(aPixmap), @@ -2375,7 +2446,8 @@ VisuGUI mgr->insert( action( VISU_FREE_SCALAR_BARS ), -1, -1, -1 ); mgr->insert( action( VISU_SWEEP ), -1, -1, -1 ); - mgr->insert( action( VISU_ANIMATION ), -1, -1, -1 ); + mgr->insert( action( VISU_PARALLELANIMATION ), -1, -1, -1 ); + mgr->insert( action( VISU_SUCCCESSIVEANIMATION ), -1, -1, -1 ); mgr->insert( separator(), -1, -1, -1 ); @@ -2458,12 +2530,12 @@ VisuGUI // 3D presentations commands QString aPrsType = " and $type in {'VISU::TMESH' " + aPrsAll + "}"; QString aInsideType = " and $type in {'VISU::TMESH' 'VISU::TSCALARMAP' 'VISU::TDEFORMEDSHAPE'}"; - QString aSurfFrameType = " and $type in {'VISU::TMESH'}"; - QString aSurfType = " and $type in {'VISU::TMESH' 'VISU::TSCALARMAP' 'VISU::TISOSURFACE' 'VISU::TDEFORMEDSHAPE' 'VISU::TCUTPLANES' " + QString aSurfFrameType = " and $type in {'VISU::TMESH' 'VISU::TSCALARMAP''VISU::TDEFORMEDSHAPE' 'VISU::TSCALARMAPONDEFORMEDSHAPE'}"; + QString aSurfType = " and $type in {'VISU::TMESH' 'VISU::TSCALARMAP' 'VISU::TSCALARMAP' 'VISU::TISOSURFACE' 'VISU::TDEFORMEDSHAPE' 'VISU::TCUTPLANES' " " 'VISU::TPLOT3D' 'VISU::TSCALARMAPONDEFORMEDSHAPE'}"; - QString aShrinkType = " and $type in {'VISU::TMESH' 'VISU::TSCALARMAP' 'VISU::TISOSURFACE' " + QString aShrinkType = " and $type in {'VISU::TMESH' 'VISU::TSCALARMAP' 'VISU::TSCALARMAP' 'VISU::TISOSURFACE' " "'VISU::TDEFORMEDSHAPE' 'VISU::TCUTPLANES' 'VISU::TCUTLINES' 'VISU::TPLOT3D' 'VISU::TSCALARMAPONDEFORMEDSHAPE'}"; - QString aLineType = " and $type in {'VISU::TMESH' 'VISU::TSCALARMAP' 'VISU::TISOSURFACE' 'VISU::TDEFORMEDSHAPE' " + QString aLineType = " and $type in {'VISU::TMESH' 'VISU::TSCALARMAP' 'VISU::TSCALARMAP' 'VISU::TISOSURFACE' 'VISU::TDEFORMEDSHAPE' " "'VISU::TCUTPLANES' 'VISU::TCUTLINES' 'VISU::TSTREAMLINES' 'VISU::TPLOT3D' 'VISU::TSCALARMAPONDEFORMEDSHAPE' }"; aRule = "selcount=1"; @@ -2549,11 +2621,19 @@ VisuGUI aRule += " and $type in {'VISU::TFIELD'}"; aRule += " and nbTimeStamps>1"; aRule += " and activeView in {'VTKViewer' 'VVTK'}"; - mgr->setRule( action( VISU_ANIMATION ), aRule, true ); + mgr->setRule( action( VISU_PARALLELANIMATION ), aRule, true ); + + aRule = "client='ObjectBrowser' and selcount>0"; + aRule += " and $type in {'VISU::TFIELD'}"; + aRule += " and nbTimeStamps>0"; + aRule += " and activeView in {'VTKViewer' 'VVTK'}"; + mgr->setRule( action( VISU_SUCCCESSIVEANIMATION ), aRule, true ); aRule = "client='ObjectBrowser' and $type in {'VISU::TENTITY' 'VISU::TFAMILY' 'VISU::TGROUP'}"; mgr->setRule( action( VISU_CREATE_PRS ), aRule + " and selcount=1", true ); mgr->setRule( action( VISU_CREATE_MANY_PRS ), aRule + " and selcount>1", true ); + mgr->setRule( action( VISU_EDIT_PLOT3D ), + "selcount=1 and type='VISU::TPLOT3D'", true ); //aRule = "client='ObjectBrowser' and type='MEDFIELD'"; //mgr->setRule( action( VISU_IMPORT_MED ), aRule, true ); @@ -2589,8 +2669,8 @@ void VisuGUI::contextMenuPopup( const QString& theClient, QPopupMenu* theMenu, Q CORBA::Object_var aCORBAObject = VISU::ClientSObjectToObject(aSObject); if (CORBA::is_nil(aCORBAObject)) { _PTR(GenericAttribute) anAttr; - if (aSObject->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (aSObject->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aComment (anAttr); string aComm = aComment->Value(); QString strIn (aComm.c_str()); VISU::Storable::TRestoringMap pMap; @@ -2629,8 +2709,8 @@ void VisuGUI::contextMenuPopup( const QString& theClient, QPopupMenu* theMenu, Q if ( !aSObject ) continue; _PTR(GenericAttribute) anAttr; - if (aSObject->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (aSObject->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aComment (anAttr); string aComm = aComment->Value(); QString strIn (aComm.c_str()); VISU::Storable::TRestoringMap pMap; @@ -2820,6 +2900,20 @@ extern "C" { void VisuGUI::createPreferences() { + // TAB: "MED import" + int importTab = addPreference( tr( "MED import" ) ); + + // group: "MED files import" + int importGr = addPreference( tr( "MED files import" ), importTab ); + setPreferenceProperty( importGr, "columns", 1 ); + addPreference( tr( "Use build progress" ), importGr, LightApp_Preferences::Bool, "VISU", "use_build_progress" ); + addPreference( tr( "Full MED loading" ), importGr, LightApp_Preferences::Bool, "VISU", "full_med_loading" ); + addPreference( tr( "Build at once" ), importGr, LightApp_Preferences::Bool, "VISU", "build_at_once" ); + addPreference( tr( "Build fields" ), importGr, LightApp_Preferences::Bool, "VISU", "build_fields" ); + addPreference( tr( "Build min/max" ), importGr, LightApp_Preferences::Bool, "VISU", "build_min_max" ); + addPreference( tr( "Build groups" ), importGr, LightApp_Preferences::Bool, "VISU", "build_groups" ); + addPreference( tr( "Close dialog at finish" ), importGr, LightApp_Preferences::Bool, "VISU", "close_at_finish" ); + // TAB: "Scalar Bar" int sbarTab = addPreference( tr( "VISU_SCALAR_BAR" ) ); @@ -2961,11 +3055,36 @@ void VisuGUI::createPreferences() int scalarBarGr = addPreference( tr( "Scalar bars default position" ), sbarTab ); addPreference( tr( "Arrange Scalar Bars" ), scalarBarGr, LightApp_Preferences::Bool, "VISU", "scalar_bars_default_position" ); - int srangeTab = addPreference( tr( "Sweep, MED import" ) ); + // TAB: "CutLines" + int cutLineTab = addPreference( tr( "CutLines" ) ); + // group: "CutLines preferences" + int cutLineGr = addPreference( tr( "VISU_CUTLINE_PREF" ), cutLineTab ); + setPreferenceProperty( cutLineGr, "columns", 1 ); + addPreference( tr( "Show preview" ), cutLineGr, LightApp_Preferences::Bool, "VISU", "show_preview" ); + addPreference( tr( "Invert all curves" ), cutLineGr, LightApp_Preferences::Bool, "VISU", "invert_all_curves" ); + addPreference( tr( "Use absolute length" ), cutLineGr, LightApp_Preferences::Bool, "VISU", "use_absolute_length" ); + addPreference( tr( "Generate data table" ), cutLineGr, LightApp_Preferences::Bool, "VISU", "generate_data_table" ); + addPreference( tr( "Generate curves" ), cutLineGr, LightApp_Preferences::Bool, "VISU", "generate_curves" ); + + // TAB: "Sweep, Animation" + int srangeTab = addPreference( tr( "Sweep, Animation" ) ); + // group: "Sweeping preferences" int sweepGr = addPreference( tr( "VISU_SWEEPING_PREF" ), srangeTab ); setPreferenceProperty( sweepGr, "columns", 1 ); + + int modeSw = addPreference( tr( "VISU_SWEEPING_MODES" ), sweepGr, LightApp_Preferences::Selector, "VISU", "sweeping_modes" ); + QStringList sweep_modes; + sweep_modes.append( tr( "VISU_LINEAR_SWEEP" ) ); + sweep_modes.append( tr( "VISU_COS_SWEEP" ) ); + sweep_modes.append( tr( "VISU_SIN_SWEEP" ) ); + indices.clear(); + indices.append( 0 ); + indices.append( 1 ); + indices.append( 2 ); + setPreferenceProperty( modeSw, "strings", sweep_modes ); + setPreferenceProperty( modeSw, "indexes", indices ); int timestep = addPreference( tr( "VISU_TIME_STEP" ), sweepGr, LightApp_Preferences::DblSpin, "VISU", "sweeping_time_step" ); @@ -2973,22 +3092,33 @@ void VisuGUI::createPreferences() LightApp_Preferences::IntSpin, "VISU", "sweeping_number_cycles" ); int nbsteps = addPreference( tr( "VISU_NB_STEPS" ), sweepGr, LightApp_Preferences::IntSpin, "VISU", "sweeping_number_steps" ); + int rangeSw = addPreference( tr( "VISU_IS2PI" ), sweepGr, LightApp_Preferences::Selector, "VISU", "sweeping_is2PI" ); + QStringList ranges; + ranges.append( tr( "PERIOD_PI" ) ); + ranges.append( tr( "PERIOD_2PI" ) ); + indices.clear(); + indices.append( 0 ); + indices.append( 1 ); + setPreferenceProperty( rangeSw, "strings", ranges ); + setPreferenceProperty( rangeSw, "indexes", indices ); + setPreferenceProperty( timestep, "min", 0.1 ); setPreferenceProperty( timestep, "step", 0.1 ); setPreferenceProperty( timestep, "max", 1000 ); setPreferenceProperty( nbcycles, "max", 100 ); - setPreferenceProperty( nbsteps, "max", 200 ); + setPreferenceProperty( nbsteps, "max", 200 ); - // group: "MED files import" - int importGr = addPreference( tr( "MED files import" ), srangeTab ); - setPreferenceProperty( importGr, "columns", 1 ); - addPreference( tr( "Use build progress" ), importGr, LightApp_Preferences::Bool, "VISU", "use_build_progress" ); - addPreference( tr( "Full MED loading" ), importGr, LightApp_Preferences::Bool, "VISU", "full_med_loading" ); - addPreference( tr( "Build at once" ), importGr, LightApp_Preferences::Bool, "VISU", "build_at_once" ); - addPreference( tr( "Build fields" ), importGr, LightApp_Preferences::Bool, "VISU", "build_fields" ); - addPreference( tr( "Build min/max" ), importGr, LightApp_Preferences::Bool, "VISU", "build_min_max" ); - addPreference( tr( "Build groups" ), importGr, LightApp_Preferences::Bool, "VISU", "build_groups" ); - addPreference( tr( "Close dialog at finish" ), importGr, LightApp_Preferences::Bool, "VISU", "close_at_finish" ); + // group: "Animation preferences" + int animationGr = addPreference( tr( "Animation preferences" ), srangeTab ); + setPreferenceProperty( animationGr, "columns", 1 ); + + int speed = addPreference( tr( "Speed" ), animationGr, LightApp_Preferences::IntSpin, "VISU", "speed" ); + addPreference( tr( "Cycled animation" ), animationGr, LightApp_Preferences::Bool, "VISU", "cycled_animation" ); + addPreference( tr( "Use proportional timing" ), animationGr, LightApp_Preferences::Bool, "VISU", "use_proportional_timing" ); + addPreference( tr( "Clean memory at each frame" ), animationGr, LightApp_Preferences::Bool, "VISU", "clean_memory_at_each_frame" ); + + setPreferenceProperty( speed, "min", 1 ); + setPreferenceProperty( speed, "max", 99 ); // TAB: Representation ; group: "Representation properties" int representationTab = addPreference( tr( "Representation" ) ); @@ -3009,14 +3139,14 @@ void VisuGUI::createPreferences() mesh_indices.append( 2 ); QStringList modes1 = mesh_modes; - modes1.remove( "Surfaceframe" ); + modes1.remove( "Insideframe" ); QValueList indices1 = mesh_indices; - indices1.remove( 4 ); + indices1.remove( 3 ); QStringList modes2 = modes1; - modes2.remove( "Insideframe" ); + modes2.remove( "Surfaceframe" ); QValueList indices2 = indices1; - indices2.remove( 3 ); + indices2.remove( 4 ); QStringList modes3 = modes2; modes3.remove( "Surface" ); @@ -3030,8 +3160,8 @@ void VisuGUI::createPreferences() addPreference( tr( "VISU_SHRINK" ), representGr, LightApp_Preferences::Bool, "VISU", "mesh_shrink" ); int scalar_map_represent = addPreference( tr( "VISU_SCALAR_MAP" ), representGr, LightApp_Preferences::Selector, "VISU", "scalar_map_represent" ); - setPreferenceProperty( scalar_map_represent, "strings", modes1 ); - setPreferenceProperty( scalar_map_represent, "indexes", indices1 ); + setPreferenceProperty( scalar_map_represent, "strings", mesh_modes ); + setPreferenceProperty( scalar_map_represent, "indexes", mesh_indices ); addPreference( tr( "VISU_SHRINK" ), representGr, LightApp_Preferences::Bool, "VISU", "scalar_map_shrink" ); int iso_surfaces_represent = addPreference( tr( "VISU_ISO_SURFACES" ), representGr, LightApp_Preferences::Selector, "VISU", "iso_surfaces_represent" ); @@ -3050,8 +3180,8 @@ void VisuGUI::createPreferences() addPreference( "", representGr, LightApp_Preferences::Space ); int deformed_shape_represent = addPreference( tr( "VISU_DEFORMED_SHAPE" ), representGr, LightApp_Preferences::Selector, "VISU", "deformed_shape_represent" ); - setPreferenceProperty( deformed_shape_represent, "strings", modes1 ); - setPreferenceProperty( deformed_shape_represent, "indexes", indices1 ); + setPreferenceProperty( deformed_shape_represent, "strings", mesh_modes ); + setPreferenceProperty( deformed_shape_represent, "indexes", mesh_indices ); addPreference( tr( "VISU_SHRINK" ), representGr, LightApp_Preferences::Bool, "VISU", "deformed_shape_shrink" ); int vectors_represent = addPreference( tr( "VISU_VECTORS" ), representGr, LightApp_Preferences::Selector, "VISU", "vectors_represent" ); @@ -3070,13 +3200,16 @@ void VisuGUI::createPreferences() addPreference( "", representGr, LightApp_Preferences::Space ); int scalar_def_represent = addPreference( tr( "VISU_SCALAR_MAP_ON_DEFORMED_SHAPE" ), representGr, LightApp_Preferences::Selector, "VISU", "scalar_def_represent" ); - setPreferenceProperty( scalar_def_represent, "strings", modes2 ); - setPreferenceProperty( scalar_def_represent, "indexes", indices2 ); + setPreferenceProperty( scalar_def_represent, "strings", modes1 ); + setPreferenceProperty( scalar_def_represent, "indexes", indices1 ); addPreference( tr( "VISU_SHRINK" ), representGr, LightApp_Preferences::Bool, "VISU", "scalar_def_shrink" ); addPreference( tr( "VISU_USE_SHADING" ), representGr, LightApp_Preferences::Bool, "VISU", "represent_shading" ); + addPreference( "", representGr, LightApp_Preferences::Space ); + addPreference( tr( "VISU_DISP_ONLY" ), representGr, + LightApp_Preferences::Bool, "VISU", "display_only" ); // TAB: 3D Cache ; group: "Cache properties" int cacheTab = addPreference( tr( "3D Cache" ) ); @@ -3174,7 +3307,7 @@ VisuGUI return getApp()->getViewManager(theType,theIsCreate); } -TViewToPrs3d +TViewToPrs3d& VisuGUI ::getScalarBarsMap() { diff --git a/src/VISUGUI/VisuGUI.h b/src/VISUGUI/VisuGUI.h index a22dc200..d15639ef 100644 --- a/src/VISUGUI/VisuGUI.h +++ b/src/VISUGUI/VisuGUI.h @@ -40,10 +40,11 @@ class SUIT_ViewManager; class SVTK_ViewWindow; class Prs3d_i; -namespace VISU{ -typedef std::pair TPrs3dToInd; // prs pointer and default index of scalar bar placement -typedef std::set TSetPrs3d; -typedef std::map TViewToPrs3d; +namespace VISU +{ + typedef std::pair TPrs3dToInd; // prs pointer and default index of scalar bar placement + typedef std::set TSetPrs3d; + typedef std::map TViewToPrs3d; } class VisuGUI: public SalomeApp_Module @@ -74,14 +75,15 @@ public: getViewManager(const QString& theType, const bool theIsCreate); - VISU::TViewToPrs3d getScalarBarsMap(); - VISU::TViewToPrs3d myScalarBarsMap; + VISU::TViewToPrs3d& + getScalarBarsMap(); void selectedObjects( SALOME_ListIO& theList ) const; public slots: virtual bool deactivateModule( SUIT_Study* ); virtual bool activateModule( SUIT_Study* ); + virtual void OnEraseAll(); protected slots: void OnImportFromFile(); @@ -115,7 +117,7 @@ protected slots: virtual void OnDisplayPrs(); virtual void OnDisplayOnlyPrs(); virtual void OnErasePrs(); - virtual void OnEraseAll(); + // virtual void OnEraseAll(); void OnMakeSurfaceframe(); void OnMakeInsideframe(); @@ -149,7 +151,8 @@ protected slots: void OnRename(); void OnClippingPlanes(); void OnSweep(); - void OnTimeAnimation(); + void OnParallelTimeAnimation(); + void OnSucccessiveTimeAnimation(); void OnShowAnimation(); void OnCopyPresentation(); @@ -165,6 +168,8 @@ protected slots: protected: virtual LightApp_Selection* createSelection() const; + void OnTimeAnimation(int theMode); + private: void createActions(); void createMenus(); @@ -172,8 +177,9 @@ private: void createPopupMenus(); private: - LightApp_Displayer* myDisplayer; - SALOME_ListIO mySelectedObjects; + LightApp_Displayer* myDisplayer; + SALOME_ListIO mySelectedObjects; + VISU::TViewToPrs3d myScalarBarsMap; }; #endif diff --git a/src/VISUGUI/VisuGUI_ActionsDef.h b/src/VISUGUI/VisuGUI_ActionsDef.h index ca414299..6d539707 100644 --- a/src/VISUGUI/VisuGUI_ActionsDef.h +++ b/src/VISUGUI/VisuGUI_ActionsDef.h @@ -96,7 +96,8 @@ #define VISU_CREATE_TABLE 4063 #define VISU_SWEEP 4064 #define VISU_SELECTION_INFO 4065 -#define VISU_ANIMATION 4066 +#define VISU_PARALLELANIMATION 4066 +#define VISU_SUCCCESSIVEANIMATION 4067 #define VISU_ERASE_ALL 4070 #define VISU_GLOBAL_SELECTION 4071 diff --git a/src/VISUGUI/VisuGUI_BuildProgressDlg.cxx b/src/VISUGUI/VisuGUI_BuildProgressDlg.cxx index c1c9988d..e1dace81 100644 --- a/src/VISUGUI/VisuGUI_BuildProgressDlg.cxx +++ b/src/VISUGUI/VisuGUI_BuildProgressDlg.cxx @@ -268,9 +268,15 @@ void VisuGUI_BuildProgressDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_ClippingDlg.cxx b/src/VISUGUI/VisuGUI_ClippingDlg.cxx index 2637de41..f6dac619 100644 --- a/src/VISUGUI/VisuGUI_ClippingDlg.cxx +++ b/src/VISUGUI/VisuGUI_ClippingDlg.cxx @@ -218,7 +218,8 @@ OrientedPlane::~OrientedPlane() myMapper->RemoveAllInputs(); myMapper->Delete(); - myPlaneSource->UnRegisterAllOutputs(); + // commented: porting to vtk 5.0 + //myPlaneSource->UnRegisterAllOutputs(); myPlaneSource->Delete(); } @@ -391,6 +392,7 @@ VisuGUI_ClippingDlg::VisuGUI_ClippingDlg (VisuGUI* theModule, VisuGUI_ClippingDlg::~VisuGUI_ClippingDlg() { // no need to delete child widgets, Qt does it all for us + SetPrs3d(NULL); std::for_each(myPlanes.begin(),myPlanes.end(),TSetVisiblity(false)); VISU::RenderViewWindow(VISU::GetActiveViewWindow(myVisuGUI)); } @@ -688,8 +690,15 @@ void VisuGUI_ClippingDlg::onSelectPlane(int theIndex) //================================================================================= void VisuGUI_ClippingDlg::ClickOnNew() { - if(!AutoApplyCheckBox->isChecked()) - ClickOnApply(); + VISU::TSelectionInfo aSelectionInfo = VISU::GetSelectedObjects(myVisuGUI); + if(aSelectionInfo.empty()) + return; + + const VISU::TSelectionItem& aSelectionItem = aSelectionInfo[0]; + if(!aSelectionItem.myObjectInfo.myBase) + return; + + SetCurrentPlaneParam(); if (!myPrs3d) return; @@ -801,6 +810,32 @@ void VisuGUI_ClippingDlg::Sinchronize() ButtonGroupIJKAxis ->setEnabled(anIsControlsEnable); SpinBoxIJKIndex ->setEnabled(anIsControlsEnable); CheckBoxIJKPlaneReverse->setEnabled(anIsControlsEnable); + //ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + if(myPrs3d){ + VISU_PipeLine* aPipeLine = myPrs3d->GetPipeLine(); + VISU::PIDMapper anIDMapper = aPipeLine->GetIDMapper(); + if(anIDMapper->IsStructured()){ + VISU::TIdTypeVector aVec = anIDMapper->GetStructure(); + switch(aVec.size()){ + case 1: + ButtonGroupIJKAxis->find(0)->setEnabled(true); + ButtonGroupIJKAxis->find(1)->setEnabled(false); + ButtonGroupIJKAxis->find(2)->setEnabled(false); + break; + case 2: + ButtonGroupIJKAxis->find(0)->setEnabled(true); + ButtonGroupIJKAxis->find(1)->setEnabled(true); + ButtonGroupIJKAxis->find(2)->setEnabled(false); + break; + case 3: + ButtonGroupIJKAxis->find(0)->setEnabled(true); + ButtonGroupIJKAxis->find(1)->setEnabled(true); + ButtonGroupIJKAxis->find(2)->setEnabled(true); + break; + } + } + } + //ENK: 23.11.2006 } //================================================================================= @@ -995,18 +1030,18 @@ void VisuGUI_ClippingDlg::SetCurrentPlaneIJKParam() static double aCoeff = 180.0/vtkMath::Pi(); for (i = 0; i < 2; ++i) { vtkFloatingPointType cosin = cos[ rotId[ i ]]; - if (maxCos < 0) - cosin = -cosin; +// if (maxCos < 0) +// cosin = -cosin; angle[ i ] = asin(cosin) * aCoeff; - if (maxCos < 0) - angle[ i ] += 180. * (angle[ i ] < 0 ? 1. : -1.); +// if (maxCos < 0) +// angle[ i ] += 180. * (angle[ i ] < 0 ? 1. : -1.); } if (CheckBoxIJKPlaneReverse->isChecked()) { angle[ 0 ] += 180. * (angle[ 0 ] < 0 ? 1. : -1.); distance = 1. - distance; } - if (maxCos < 0) - distance = 1. - distance; +// if (maxCos < 0) +// distance = 1. - distance; // set paramerets myIsSelectPlane = true; @@ -1041,18 +1076,30 @@ void VisuGUI_ClippingDlg::setIJKByNonStructured() double maxDot = 0; const vector *curValues, *values = 0; VISU::Result_i* result = myPrs3d->GetCResult(); - for (i = 0; i < 3; ++i) { + int aNbAxes = 3; + VISU_PipeLine* aPipeLine = myPrs3d->GetPipeLine(); + VISU::PIDMapper anIDMapper = aPipeLine->GetIDMapper(); + if(anIDMapper->IsStructured() && !anIDMapper->myType) + aNbAxes = (anIDMapper->GetStructure()).size(); + for (i = 0; i < aNbAxes; ++i) { VISU::Result_i::TAxis axis = (VISU::Result_i::TAxis) i; CORBA::String_var aMeshName = myPrs3d->GetMeshName(); curValues = result->GetAxisInfo(aMeshName.in(), axis, dir); if (curValues) { double dot = normal * dir; - if (Abs(dot) > Abs(maxDot)) { + //ENK: 23.11.2006 - PAL13176 + if(i==0){ + maxDot = dot; + gridDir = dir; + values = curValues; + gridAxId = i; + } else if (Abs(dot) >= Abs(maxDot)) { maxDot = dot; gridDir = dir; values = curValues; gridAxId = i; } + //ENK: 23.11.2006 } if (Abs (planeNormal[ maxAx ]) < Abs (planeNormal[ i ])) maxAx = i; @@ -1063,11 +1110,11 @@ void VisuGUI_ClippingDlg::setIJKByNonStructured() // find index value double v = SpinBoxDistance->value(); // reverse value? - bool reverse = (normal * axDir < 0); // normal and axis are opposite - if (gridDir * axDir < 0) // grid dir and axis are opposite - reverse = !reverse; - if (reverse) - v = 1. - v; +// bool reverse = (normal * axDir < 0); // normal and axis are opposite +// if (gridDir * axDir < 0) // grid dir and axis are opposite +// reverse = !reverse; +// if (reverse) +// v = 1. - v; for (i = 0; i < values->size(); ++i) if ((*values)[ i ] > v) break; @@ -1160,3 +1207,15 @@ void VisuGUI_ClippingDlg::keyPressEvent( QKeyEvent* e ) ClickOnHelp(); } } + +void VisuGUI_ClippingDlg::SetPrs3d(VISU::Prs3d_i* thePrs) +{ + if(thePrs != myPrs3d){ + if(myPrs3d) + myPrs3d->Destroy(); + if(thePrs) + thePrs->Register(); + myPrs3d = thePrs; + } else + return; +} diff --git a/src/VISUGUI/VisuGUI_ClippingDlg.h b/src/VISUGUI/VisuGUI_ClippingDlg.h index be9dcb20..4d8c8977 100644 --- a/src/VISUGUI/VisuGUI_ClippingDlg.h +++ b/src/VISUGUI/VisuGUI_ClippingDlg.h @@ -136,6 +136,9 @@ public: private: void keyPressEvent( QKeyEvent* e ); + + void SetPrs3d(VISU::Prs3d_i* thePrs); + private: diff --git a/src/VISUGUI/VisuGUI_CursorDlg.cxx b/src/VISUGUI/VisuGUI_CursorDlg.cxx index d309c740..45de30f6 100644 --- a/src/VISUGUI/VisuGUI_CursorDlg.cxx +++ b/src/VISUGUI/VisuGUI_CursorDlg.cxx @@ -26,6 +26,7 @@ // Module : VISU // $Header$ +#include using namespace std; #include "VisuGUI.h" @@ -135,9 +136,15 @@ void VisuGUI_CursorDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_CutLinesDlg.cxx b/src/VISUGUI/VisuGUI_CutLinesDlg.cxx index 38794bdc..eaa5a418 100644 --- a/src/VISUGUI/VisuGUI_CutLinesDlg.cxx +++ b/src/VISUGUI/VisuGUI_CutLinesDlg.cxx @@ -67,9 +67,6 @@ using namespace std; -bool VisuGUI_CutLinesDlg::MYGenerateTable = true; -bool VisuGUI_CutLinesDlg::MYGenerateCurve = true; - VisuGUI_CutLinesDlg::VisuGUI_CutLinesDlg (SalomeApp_Module* theModule) : VisuGUI_Prs3dDlg(theModule), myPreviewActor(0),myPreviewActorGlyphs(0) @@ -139,8 +136,12 @@ VisuGUI_CutLinesDlg::VisuGUI_CutLinesDlg (SalomeApp_Module* theModule) myAllCurvesInvertedCheck->setChecked(false); aPlaneLayout->addWidget(myAllCurvesInvertedCheck); + myUseAbsoluteLengthCheck = new QCheckBox(tr("LBL_ABSOLUTE_LENGTH"), aPlanePane); + myUseAbsoluteLengthCheck->setChecked(false); + aPlaneLayout->addWidget(myUseAbsoluteLengthCheck); + myCreateTable = new QCheckBox (tr("LBL_GENERATE_TABLE"), aPlanePane); - myCreateTable->setChecked(MYGenerateTable); + myCreateTable->setChecked(true); aPlaneLayout->addWidget( myCreateTable ); QHBox* aCheckPane = new QHBox(aPlanePane); @@ -148,8 +149,8 @@ VisuGUI_CutLinesDlg::VisuGUI_CutLinesDlg (SalomeApp_Module* theModule) aCheckPane->setStretchFactor(aLbl, 0); myCurvesCheck = new QCheckBox(tr("LBL_GENERATE_CURVES"), aCheckPane); aCheckPane->setStretchFactor(aCheckPane, 0); - myCurvesCheck->setChecked(MYGenerateCurve); - myCurvesCheck->setEnabled(MYGenerateTable); + myCurvesCheck->setChecked(true); + myCurvesCheck->setEnabled(true); QLabel* aLbl2 = new QLabel(" ", aCheckPane); aCheckPane->setStretchFactor(aLbl2, 1); aPlaneLayout->addWidget( aCheckPane ); @@ -506,6 +507,7 @@ void VisuGUI_CutLinesDlg::setBaseDefault (bool theUpdate) /* float aPos = myCutLines->GetBasePlanePosition(); myBasePlanePos->setText( QString::number(aPos) ); myBasePlanePos->setEnabled(false);*/ + myCutLines->SetDisplacement(myPosSpn->value()); SVTK_ViewWindow* aView = VISU::GetActiveViewWindow(); if (aView) { if (theUpdate && myPreviewCheck->isChecked() && (myCutLines != NULL)) { @@ -784,8 +786,6 @@ void VisuGUI_CutLinesDlg::accept() // reject(); // return; //} - MYGenerateTable = myCreateTable->isChecked(); - MYGenerateCurve = myCurvesCheck->isChecked(); // if (myScalarPane->check()) { /*jfa tmp:((QWidget*)sender())->setDisabled(true); storeToPrsObject(myPrsCopy); @@ -866,7 +866,6 @@ void VisuGUI_CutLinesDlg::accept() myScalarPane->deletePreview(); deletePlanes(); QDialog::accept(); - // } } void VisuGUI_CutLinesDlg::reject() @@ -955,9 +954,15 @@ void VisuGUI_CutLinesDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_CutLinesDlg.h b/src/VISUGUI/VisuGUI_CutLinesDlg.h index dfbc28dc..9e7405e7 100644 --- a/src/VISUGUI/VisuGUI_CutLinesDlg.h +++ b/src/VISUGUI/VisuGUI_CutLinesDlg.h @@ -118,14 +118,9 @@ private: SALOME_Actor* myPreviewActorGlyphs; QCheckBox* myPreviewCheck; QCheckBox* myAllCurvesInvertedCheck; + QCheckBox* myUseAbsoluteLengthCheck; SALOME::GenericObjPtr myPrsCopy; - - //jfa tmp:SUIT_ViewManager *myMgr; - //jfa tmp:SUIT_ViewWindow *myStudyWnd; - - static bool MYGenerateTable; - static bool MYGenerateCurve; }; #endif // VISUGUI_CUTLINESDLG_H diff --git a/src/VISUGUI/VisuGUI_CutPlanesDlg.cxx b/src/VISUGUI/VisuGUI_CutPlanesDlg.cxx index 804c545e..22ae148d 100644 --- a/src/VISUGUI/VisuGUI_CutPlanesDlg.cxx +++ b/src/VISUGUI/VisuGUI_CutPlanesDlg.cxx @@ -601,9 +601,15 @@ void VisuGUI_CutPlanesDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_DeformedShapeDlg.cxx b/src/VISUGUI/VisuGUI_DeformedShapeDlg.cxx index e60b0943..94a559a3 100644 --- a/src/VISUGUI/VisuGUI_DeformedShapeDlg.cxx +++ b/src/VISUGUI/VisuGUI_DeformedShapeDlg.cxx @@ -79,7 +79,7 @@ VisuGUI_DeformedShapeDlg::VisuGUI_DeformedShapeDlg (SalomeApp_Module* theModule) ScalFact = new QtxDblSpinBox (0.0, 1.0E+38, 0.1, TopGroup); ScalFact->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); - ScalFact->setPrecision(5); + ScalFact->setPrecision(38); ScalFact->setValue(0.1); TopGroupLayout->addWidget(ScalFact, 0, 1); @@ -202,9 +202,15 @@ void VisuGUI_DeformedShapeDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_EditContainerDlg.cxx b/src/VISUGUI/VisuGUI_EditContainerDlg.cxx index 52defc0a..9850d1f4 100644 --- a/src/VISUGUI/VisuGUI_EditContainerDlg.cxx +++ b/src/VISUGUI/VisuGUI_EditContainerDlg.cxx @@ -456,9 +456,15 @@ void VisuGUI_EditContainerDlg::onHelp() if (app) app->onHelpContextModule(myVisuGUI ? app->moduleName(myVisuGUI->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_Factory.cxx b/src/VISUGUI/VisuGUI_Factory.cxx index c7fe8352..5ef7af88 100644 --- a/src/VISUGUI/VisuGUI_Factory.cxx +++ b/src/VISUGUI/VisuGUI_Factory.cxx @@ -30,7 +30,18 @@ #include "CAM_Module.h" +#ifdef WNT +#ifdef VISU_VISUGUI_EXPORTS +#define VISU_VISUGUI_EXPORT __declspec(dllexport) +#else +#define VISU_VISUGUI_EXPORT __declspec(dllimport) +#endif +#else +#define VISU_VISUGUI_EXPORT +#endif + extern "C" { +VISU_VISUGUI_EXPORT CAM_Module* createModule() { diff --git a/src/VISUGUI/VisuGUI_FieldFilter.cxx b/src/VISUGUI/VisuGUI_FieldFilter.cxx index 3dd45bb1..50c42cdc 100644 --- a/src/VISUGUI/VisuGUI_FieldFilter.cxx +++ b/src/VISUGUI/VisuGUI_FieldFilter.cxx @@ -79,10 +79,10 @@ bool VisuGUI_FieldFilter::isOk( const SUIT_DataOwner* theDataOwner ) const return false; _PTR(GenericAttribute) anAttr; - if( !aSObject->FindAttribute( anAttr, "AttributeComment" ) ) + if( !aSObject->FindAttribute( anAttr, "AttributeString" ) ) return false; - _PTR(AttributeComment) aComment( anAttr ); + _PTR(AttributeString) aComment( anAttr ); string aComm = aComment->Value(); QString strIn( aComm.c_str() ); diff --git a/src/VISUGUI/VisuGUI_GaussPointsDlg.cxx b/src/VISUGUI/VisuGUI_GaussPointsDlg.cxx index 11688a78..6639a3d7 100644 --- a/src/VISUGUI/VisuGUI_GaussPointsDlg.cxx +++ b/src/VISUGUI/VisuGUI_GaussPointsDlg.cxx @@ -815,9 +815,15 @@ void VisuGUI_GaussPointsDlg::onHelp() if (app) app->onHelpContextModule(app->activeModule() ? app->moduleName(app->activeModule()->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_InputPane.cxx b/src/VISUGUI/VisuGUI_InputPane.cxx index f20c92f3..efdcdbdb 100644 --- a/src/VISUGUI/VisuGUI_InputPane.cxx +++ b/src/VISUGUI/VisuGUI_InputPane.cxx @@ -43,7 +43,7 @@ #include "SALOME_ListIO.hxx" -#include "SALOMEDSClient_AttributeComment.hxx" +#include "SALOMEDSClient_AttributeString.hxx" #include "SALOMEDSClient_AttributeName.hxx" #include @@ -145,10 +145,10 @@ void VisuGUI_InputPane::onSelectionChanged() VISU::Storable::TRestoringMap aMap; _PTR(GenericAttribute) anAttr; - if (!aSObject->FindAttribute(anAttr, "AttributeComment")) + if (!aSObject->FindAttribute(anAttr, "AttributeString")) return; - _PTR(AttributeComment) aComment (anAttr); + _PTR(AttributeString) aComment (anAttr); string aComm = aComment->Value(); QString strIn (aComm.c_str()); VISU::Storable::StrToMap(strIn, aMap); diff --git a/src/VISUGUI/VisuGUI_IsoSurfacesDlg.cxx b/src/VISUGUI/VisuGUI_IsoSurfacesDlg.cxx index c24f76a9..1963b443 100644 --- a/src/VISUGUI/VisuGUI_IsoSurfacesDlg.cxx +++ b/src/VISUGUI/VisuGUI_IsoSurfacesDlg.cxx @@ -285,9 +285,15 @@ void VisuGUI_IsoSurfacesDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_Module.cxx b/src/VISUGUI/VisuGUI_Module.cxx index 0406c812..af5fea40 100644 --- a/src/VISUGUI/VisuGUI_Module.cxx +++ b/src/VISUGUI/VisuGUI_Module.cxx @@ -1327,8 +1327,8 @@ namespace Storable::DataToStream(aStream,"mySubId",theSelection.mySubId); _PTR(GenericAttribute) anAttr; - anAttr = theStudyBuilder->FindOrCreateAttribute(aNewObj,"AttributeComment"); - _PTR(AttributeComment) aComment(anAttr); + anAttr = theStudyBuilder->FindOrCreateAttribute(aNewObj,"AttributeString"); + _PTR(AttributeString) aComment(anAttr); aComment->SetValue(aStream.str()); } @@ -1358,8 +1358,8 @@ namespace // To update selection _PTR(GenericAttribute) anAttr; - if(aChildSObject->FindAttribute(anAttr,"AttributeComment")){ - _PTR(AttributeComment) aComment(anAttr); + if(aChildSObject->FindAttribute(anAttr,"AttributeString")){ + _PTR(AttributeString) aComment(anAttr); QString aStream(aComment->Value().c_str()); Storable::TRestoringMap aMap; @@ -1431,8 +1431,8 @@ namespace Handle(SALOME_InteractiveObject) anIO = aListIter.Value(); _PTR(SObject) aSObject = aCStudy->FindObjectID(anIO->getEntry()); _PTR(GenericAttribute) anAttr; - if(aSObject->FindAttribute(anAttr,"AttributeComment")){ - _PTR(AttributeComment) aComment(anAttr); + if(aSObject->FindAttribute(anAttr,"AttributeString")){ + _PTR(AttributeString) aComment(anAttr); std::string aCommentValue(aComment->Value()); if(aCommentValue.compare("myComment=GAUSSVIEW") >= 0){ aComment->SetValue(aValue.c_str()); @@ -1486,8 +1486,8 @@ namespace _PTR(Study) aCStudy = GetCStudy(GetAppStudy(theModule)); _PTR(GenericAttribute) anAttr; - if(theSObject->FindAttribute(anAttr,"AttributeComment")){ - _PTR(AttributeComment) aComment(anAttr); + if(theSObject->FindAttribute(anAttr,"AttributeString")){ + _PTR(AttributeString) aComment(anAttr); QString aStream(aComment->Value().c_str()); Storable::TRestoringMap aMap; Storable::StrToMap(aStream,aMap); @@ -1533,8 +1533,8 @@ OnRestoreConfiguration() _PTR(SObject) aSObject = aCStudy->FindObjectID(anIO->getEntry()); myConfigSObject = aSObject; _PTR(GenericAttribute) anAttr; - if(aSObject->FindAttribute(anAttr,"AttributeComment")){ - _PTR(AttributeComment) aComment(anAttr); + if(aSObject->FindAttribute(anAttr,"AttributeString")){ + _PTR(AttributeString) aComment(anAttr); QString aStream(aComment->Value().c_str()); Storable::TRestoringMap aMap; Storable::StrToMap(aStream,aMap); diff --git a/src/VISUGUI/VisuGUI_NameDlg.cxx b/src/VISUGUI/VisuGUI_NameDlg.cxx index f0bf79f7..60b252af 100644 --- a/src/VISUGUI/VisuGUI_NameDlg.cxx +++ b/src/VISUGUI/VisuGUI_NameDlg.cxx @@ -151,9 +151,15 @@ void VisuGUI_NameDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_OffsetDlg.cxx b/src/VISUGUI/VisuGUI_OffsetDlg.cxx index eb86611a..eca719e7 100644 --- a/src/VISUGUI/VisuGUI_OffsetDlg.cxx +++ b/src/VISUGUI/VisuGUI_OffsetDlg.cxx @@ -243,9 +243,15 @@ void VisuGUI_OffsetDlg::onHelp() if (app) app->onHelpContextModule(myModule ? app->moduleName(myModule->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_Plot3DDlg.cxx b/src/VISUGUI/VisuGUI_Plot3DDlg.cxx index 70099107..08c5cb97 100644 --- a/src/VISUGUI/VisuGUI_Plot3DDlg.cxx +++ b/src/VISUGUI/VisuGUI_Plot3DDlg.cxx @@ -126,7 +126,8 @@ class TPlane : public SALOME_Actor ~TPlane() { myMapper->RemoveAllInputs(); myMapper->Delete(); - myPlaneSource->UnRegisterAllOutputs(); + // commented: porting to vtk 5.0 + //myPlaneSource->UnRegisterAllOutputs(); myPlaneSource->Delete(); }; // Not implemented. @@ -685,9 +686,15 @@ void VisuGUI_Plot3DDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_Prs3dTools.h b/src/VISUGUI/VisuGUI_Prs3dTools.h index 4ca72b11..f169e8fc 100644 --- a/src/VISUGUI/VisuGUI_Prs3dTools.h +++ b/src/VISUGUI/VisuGUI_Prs3dTools.h @@ -34,6 +34,8 @@ #include "VISU_ColoredPrs3dFactory.hh" #include "VISU_PipeLine.hxx" +#include + #include namespace VISU @@ -232,11 +234,18 @@ namespace VISU if (aPrs3d) { SUIT_ResourceMgr* aResourceMgr = GetResourceMgr(); int aValue = aResourceMgr->integerValue("VISU","BuildDefaultPrs3d",0); + if(aResourceMgr->booleanValue("VISU","display_only",false)){ + theModule->OnEraseAll(); + } + if (!aValue) { if (TDlg* aDlg = new TDlg(theModule)) { // dialog box in creation mode aDlg->initFromPrsObject(aPrs3d); if (runAndWait(aDlg,IsDlgModal) && (aDlg->storeToPrsObject(aPrs3d))) { + if(aResourceMgr->booleanValue("VISU","display_only",false)){ + if(SPlot2d_Viewer* aPlot2d = GetPlot2dViewer(theModule, false)) aPlot2d->EraseAll(); + } // Optionally, create table and curves for cut lines QApplication::setOverrideCursor(Qt::waitCursor); CreateCurves( theModule, diff --git a/src/VISUGUI/VisuGUI_ScalarBarDlg.h b/src/VISUGUI/VisuGUI_ScalarBarDlg.h index 56cd2849..761f3d3d 100644 --- a/src/VISUGUI/VisuGUI_ScalarBarDlg.h +++ b/src/VISUGUI/VisuGUI_ScalarBarDlg.h @@ -43,6 +43,7 @@ #include #include "QtxDblSpinBox.h" +#include "QtxListBox.h" class VisuGUI_InputPane; diff --git a/src/VISUGUI/VisuGUI_ScalarMapOnDeformedShapeDlg.cxx b/src/VISUGUI/VisuGUI_ScalarMapOnDeformedShapeDlg.cxx index 8fb375ef..816da47b 100644 --- a/src/VISUGUI/VisuGUI_ScalarMapOnDeformedShapeDlg.cxx +++ b/src/VISUGUI/VisuGUI_ScalarMapOnDeformedShapeDlg.cxx @@ -49,7 +49,7 @@ #include "SALOME_ListIO.hxx" -#include "SALOMEDSClient_AttributeComment.hxx" +#include "SALOMEDSClient_AttributeString.hxx" #include "SALOMEDSClient_AttributeName.hxx" #include @@ -66,7 +66,6 @@ VisuGUI_ScalarMapOnDeformedShapeDlg::VisuGUI_ScalarMapOnDeformedShapeDlg (Salome : VisuGUI_Prs3dDlg(theModule), myIsAnimation(false), myUpdateScalars(true), - myIteration(1), myVisuGUI(theModule) { setCaption(tr("DLG_TITLE")); @@ -95,7 +94,7 @@ VisuGUI_ScalarMapOnDeformedShapeDlg::VisuGUI_ScalarMapOnDeformedShapeDlg (Salome ScalFact = new QtxDblSpinBox (0.0, 1.0E+38, 0.1, TopGroup); ScalFact->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); - ScalFact->setPrecision(5); + ScalFact->setPrecision(38); ScalFact->setValue(0.1); TopGroupLayout->addWidget(ScalFact, 0, 1); @@ -176,12 +175,13 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::initFromPrsObject(VISU::ColoredPrs3d_i myTimeStampsCombo->setDisabled(myIsAnimation); myCurrMeshName = myPrsCopy->GetCMeshName(); - QString aFieldName(myPrsCopy->GetScalarFieldName().c_str()); + CORBA::String_var aMeshName = myPrsCopy->GetMeshName(); + CORBA::String_var aFieldName(myPrsCopy->GetScalarCFieldName()); float aIterFloat = GetFloatValueOfTimeStamp(aMeshName.in(), - myPrsCopy->GetScalarFieldName().c_str(), - myPrsCopy->GetScalarIteration(), - myPrsCopy->GetScalarEntity()); + aFieldName.in(), + myPrsCopy->GetScalarLIteration(), + myPrsCopy->GetScalarEEntity()); QString aIteration(QString("%1").arg(aIterFloat)); if (myMeshFieldsTimes.size() == 0) @@ -197,8 +197,8 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::initFromPrsObject(VISU::ColoredPrs3d_i _PTR(SObject) aSObject = aActiveStudy->FindObjectID(aIO->getEntry()); _PTR(GenericAttribute) anTmpAttr; - if (aSObject->FindAttribute(anTmpAttr, "AttributeComment")) { - _PTR(AttributeComment) aTmpComment (anTmpAttr); + if (aSObject->FindAttribute(anTmpAttr, "AttributeString")) { + _PTR(AttributeString) aTmpComment (anTmpAttr); string aTmpComm = aTmpComment->Value(); QString aTmpstrIn (aTmpComm.c_str()); VISU::Storable::TRestoringMap aTmpaMap; @@ -254,8 +254,8 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::initFromPrsObject(VISU::ColoredPrs3d_i for (aIter->InitEx(true); aIter->More(); aIter->Next()) { _PTR(SObject) aChildSObj = aIter->Value(); _PTR(GenericAttribute) anAttr; - if (aChildSObj->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (aChildSObj->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aComment (anAttr); string aComm = aComment->Value(); QString strIn (aComm.c_str()); VISU::Storable::TRestoringMap aMap; @@ -275,12 +275,12 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::initFromPrsObject(VISU::ColoredPrs3d_i QString aFieldName = VISU::getValue(aChildSObj, "myFieldName"); QString aTimeIter = VISU::getValue(aChildSObj, "myTimeStampId"); QString aEntity = VISU::getValue(aChildSObj, "myEntityId"); - VISU::TEntity anEntity; + VISU::Entity anEntity; switch (aEntity.toInt()) { - case 0: anEntity = VISU::NODE_ENTITY; break; - case 1: anEntity = VISU::EDGE_ENTITY; break; - case 2: anEntity = VISU::FACE_ENTITY; break; - case 3: anEntity = VISU::CELL_ENTITY; break; + case 0: anEntity = VISU::NODE; break; + case 1: anEntity = VISU::EDGE; break; + case 2: anEntity = VISU::FACE; break; + case 3: anEntity = VISU::CELL; break; } TFT &aFieldsMap = myMeshFieldsTimes[aMeshName.latin1()]; TFE aKey (aFieldName.latin1(), anEntity); @@ -298,7 +298,7 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::initFromPrsObject(VISU::ColoredPrs3d_i AddAllFieldNames(); } - myFieldsCombo->setCurrentText(aFieldName); + myFieldsCombo->setCurrentText(aFieldName.in()); AddAllTimes(myFieldsCombo->currentText()); myTimeStampsCombo->setCurrentText(aIteration); SetScalarField( false ); @@ -318,22 +318,20 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::initFromPrsObject(VISU::ColoredPrs3d_i myTabBox->setCurrentPage( 0 ); } -int VisuGUI_ScalarMapOnDeformedShapeDlg::storeToPrsObject(VISU::ColoredPrs3d_i* thePrs) +int +VisuGUI_ScalarMapOnDeformedShapeDlg +::storeToPrsObject(VISU::ColoredPrs3d_i* thePrs) { myPrsCopy->SetScale(getFactor()); - if (myIsAnimation) - myPrsCopy->SetCScalarField(myPrsCopy->GetScalarMeshName().c_str(), - getCurrentScalarFieldName().latin1(), - myIteration, - myPrsCopy->GetScalarEntity()); - else - myPrsCopy->SetCScalarField(myPrsCopy->GetScalarMeshName().c_str(), - getCurrentScalarFieldName().latin1(), - myTimeStampsCombo->currentItem() + 1, - myPrsCopy->GetScalarEntity()); + CORBA::String_var aMeshName = myPrsCopy->GetMeshName(); + myPrsCopy->SetScalarField(aMeshName.in(), + getCurrentScalarFieldName().latin1(), + myTimeStampID[ myTimeStampsCombo->currentItem() ], + myPrsCopy->GetScalarEEntity()); - if (myUpdateScalars) SetScalarField( false ); + if(myUpdateScalars) + SetScalarField( false ); myPrsCopy->ShowColored(true); @@ -363,8 +361,11 @@ int VisuGUI_ScalarMapOnDeformedShapeDlg::getCurrentScalarNbIterations(){ return myTimeStampsCombo->count(); } -VISU::TEntity VisuGUI_ScalarMapOnDeformedShapeDlg::getCurrentScalarEntity(){ - VISU::TEntity anEntity; +VISU::Entity +VisuGUI_ScalarMapOnDeformedShapeDlg +::getCurrentScalarEntity() +{ + VISU::Entity anEntity; TFT::const_iterator aIterField = myMeshFieldsTimes[myCurrMeshName].begin(); for(;aIterField != myMeshFieldsTimes[myCurrMeshName].end();aIterField++){ if (aIterField->first.first == myFieldsCombo->currentText()){ @@ -376,10 +377,15 @@ VISU::TEntity VisuGUI_ScalarMapOnDeformedShapeDlg::getCurrentScalarEntity(){ } void VisuGUI_ScalarMapOnDeformedShapeDlg::SetScalarField( const bool save_scalar_pane ){ - SetScalarField( myTimeStampsCombo->currentItem()+1, "", save_scalar_pane ); + SetScalarField( myTimeStampID[ myTimeStampsCombo->currentItem() ], "", save_scalar_pane ); } -void VisuGUI_ScalarMapOnDeformedShapeDlg::SetScalarField(int theIter,QString theFieldName, const bool save_scalar_pane ){ +void +VisuGUI_ScalarMapOnDeformedShapeDlg +::SetScalarField(int theIter, + QString theFieldName, + const bool save_scalar_pane ) +{ QString aFieldName; @@ -388,13 +394,13 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::SetScalarField(int theIter,QString the else aFieldName = theFieldName; - VISU::TEntity anEntity = getCurrentScalarEntity(); - - myPrsCopy->SetCScalarField(myCurrMeshName.latin1(), - aFieldName.latin1(), - theIter, - anEntity); - + VISU::Entity anEntity = getCurrentScalarEntity(); + + myPrsCopy->SetScalarField(myCurrMeshName.latin1(), + aFieldName.latin1(), + theIter, + anEntity); + if( save_scalar_pane ) { myScalarPane->storeToPrsObject(myPrsCopy); @@ -423,9 +429,15 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::onHelp() if (app) app->onHelpContextModule(myVisuGUI ? app->moduleName(myVisuGUI->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } @@ -451,9 +463,13 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::AddAllTimes(const QString& theFieldNam QString aFieldName = aIterField->first.first; if(theFieldName != aFieldName) continue; myTimeStampsCombo->clear(); + myTimeStampID.clear(); + myTimeStampID.reserve( (aIterField->second).size() ); TTL::const_iterator aTimeIter = (aIterField->second).begin(); - for(;aTimeIter != (aIterField->second).end(); aTimeIter++) + for(;aTimeIter != (aIterField->second).end(); aTimeIter++) { myTimeStampsCombo->insertItem(QString("%1").arg(aTimeIter->second)); + myTimeStampID.push_back(aTimeIter->first); + } return; } } @@ -483,14 +499,22 @@ void VisuGUI_ScalarMapOnDeformedShapeDlg::UpdateScalarField(){ myScalarPane->setRange(aDoubleRange[0],aDoubleRange[1],myScalarPane->isIRange()); } -float VisuGUI_ScalarMapOnDeformedShapeDlg::GetFloatValueOfTimeStamp(const char* theMeshName, - const char* theFieldName, - const int theIter, - const VISU::TEntity theEntity){ +float +VisuGUI_ScalarMapOnDeformedShapeDlg +::GetFloatValueOfTimeStamp(const char* theMeshName, + const char* theFieldName, + const int theIter, + const VISU::Entity theEntity) +{ float ret=1; + VISU::TEntity anEntity = VISU::TEntity(theEntity); VISU::Result_i* theResult = myPrsCopy->GetCResult(); - VISU::PField aField = theResult->GetInput()->GetField(theMeshName,theEntity,theFieldName); - if(!aField) return ret; + VISU::Result_i::TInput* anInput = theResult->GetInput(); + VISU::PField aField = anInput->GetField(theMeshName, + anEntity, + theFieldName); + if(!aField) + return ret; VISU::TValField& aValField = aField->myValField; VISU::TValField::const_iterator aIter = aValField.find(theIter); if(aIter != aValField.end()){ diff --git a/src/VISUGUI/VisuGUI_ScalarMapOnDeformedShapeDlg.h b/src/VISUGUI/VisuGUI_ScalarMapOnDeformedShapeDlg.h index f891508f..e6178bcd 100644 --- a/src/VISUGUI/VisuGUI_ScalarMapOnDeformedShapeDlg.h +++ b/src/VISUGUI/VisuGUI_ScalarMapOnDeformedShapeDlg.h @@ -31,7 +31,6 @@ #include "VisuGUI_Prs3dDlg.h" #include "VISUConfig.hh" -#include "VISU_Convertor.hxx" #include "QtxDblSpinBox.h" @@ -44,6 +43,7 @@ #include #include +#include class SalomeApp_Module; class VisuGUI_InputPane; @@ -66,17 +66,13 @@ public: void setFactor(double theFactor) { ScalFact->setValue(theFactor); } - void setAnimation( bool on ) { myIsAnimation = on; } - void setUpdateScalars( bool on ) { myUpdateScalars = on; } - void setIteration( int value ) { myIteration = value; } - virtual void initFromPrsObject(VISU::ColoredPrs3d_i* thePrs, bool theInit = true); virtual int storeToPrsObject(VISU::ColoredPrs3d_i* thePrs); int getCurrentScalarFieldNamePos(); QString getCurrentScalarFieldName(); int getCurrentScalarNbIterations(); - VISU::TEntity getCurrentScalarEntity(); + VISU::Entity getCurrentScalarEntity(); void SetScalarField(int theIter,QString theFieldName=QString(""), const bool = true ); private: @@ -100,7 +96,7 @@ private: QComboBox *myTimeStampsCombo; typedef std::map TTL; // Times map definition (iteration time, real value of time) - typedef std::pair TFE; // pair field name and entity + typedef std::pair TFE; // pair field name and entity typedef std::map TFT; // Field name and enity to Times typedef std::map TMF; // Mesh to fields map @@ -109,7 +105,7 @@ private: int myCurrScalarIter; bool myIsAnimation; bool myUpdateScalars; - int myIteration; + std::vector myTimeStampID; _PTR(SObject) mySelectionObj; SALOME::GenericObjPtr myPrsCopy; @@ -123,7 +119,7 @@ protected: float GetFloatValueOfTimeStamp(const char* theMeshName, const char* theFieldName, const int theIteration, - const VISU::TEntity theEntity); + const VISU::Entity theEntity); }; #endif // VISUGUI_DEFORMEDSHAPEDLS_H diff --git a/src/VISUGUI/VisuGUI_Selection.cxx b/src/VISUGUI/VisuGUI_Selection.cxx index 3a5c5bdf..710582ca 100644 --- a/src/VISUGUI/VisuGUI_Selection.cxx +++ b/src/VISUGUI/VisuGUI_Selection.cxx @@ -163,14 +163,26 @@ VisuGUI_SelectionDlg::VisuGUI_SelectionDlg (const SalomeApp_Module* theModule): myVectorValLbl = new QLabel ("", aDataGrp); myVectorValLbl->setMinimumWidth(150); - QGroupBox* aCoordGrp = new QGroupBox (2, Qt::Horizontal, "Coordinates", myPointsPane); + QGroupBox* aCoordGrp = new QGroupBox (4, Qt::Horizontal, "Coordinates", myPointsPane); aCoordGrp->layout()->setSpacing(6); new QLabel ("X:", aCoordGrp); myXValLbl = new QLabel ("", aCoordGrp); + //ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + new QLabel ("I:", aCoordGrp); + myIValLbl = new QLabel ("-", aCoordGrp); + //ENK: 23.11.2006 new QLabel ("Y:", aCoordGrp); myYValLbl = new QLabel ("", aCoordGrp); + //ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + new QLabel ("J:", aCoordGrp); + myJValLbl = new QLabel ("-", aCoordGrp); + //ENK: 23.11.2006 new QLabel ("Z:",aCoordGrp ); myZValLbl = new QLabel ("", aCoordGrp); + //ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + new QLabel ("K:", aCoordGrp); + myKValLbl = new QLabel ("-", aCoordGrp); + //ENK: 23.11.2006 myWidgetStack->addWidget(myPointsPane, 0); @@ -198,20 +210,26 @@ VisuGUI_SelectionDlg::VisuGUI_SelectionDlg (const SalomeApp_Module* theModule): myListPoints = new QTable (myCellsPane); myListPoints->setReadOnly(true); - myListPoints->setNumCols(6); + myListPoints->setNumCols(9); myListPoints->setNumRows(0); myListPoints->setColumnWidth(0, 40); myListPoints->setColumnWidth(1, 40); myListPoints->setColumnWidth(2, 40); myListPoints->setColumnWidth(3, 40); + myListPoints->setColumnWidth(4, 40);//ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + myListPoints->setColumnWidth(5, 40);//ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + myListPoints->setColumnWidth(6, 40);//ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing myListPoints->setSelectionMode(QTable::NoSelection); QHeader* aHeader = myListPoints->horizontalHeader(); aHeader->setLabel( 0, "ID" ); aHeader->setLabel( 1, "X" ); aHeader->setLabel( 2, "Y" ); aHeader->setLabel( 3, "Z" ); - aHeader->setLabel( 4, "Scalar" ); - aHeader->setLabel( 5, "Vector" ); + aHeader->setLabel( 4, "I" );//ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + aHeader->setLabel( 5, "J" );//ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + aHeader->setLabel( 6, "K" );//ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + aHeader->setLabel( 7, "Scalar" ); + aHeader->setLabel( 8, "Vector" ); aCellLayout->addWidget(myListPoints, 1, 0); @@ -397,8 +415,8 @@ void VisuGUI_SelectionDlg::onSelectionEvent() { VISU::Storable::TRestoringMap aMap; if (aSObject) { _PTR(GenericAttribute) anAttr; - if (aSObject->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (aSObject->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aComment (anAttr); std::string aString = aComment->Value(); QString strIn( aString.c_str() ); VISU::Storable::StrToMap(strIn, aMap); @@ -450,6 +468,23 @@ void VisuGUI_SelectionDlg::onSelectionEvent() { myIDValLbl->setText( QString::number(anID) ); myScalarValLbl->setText(getValue(aPntData, aVTKID)); myVectorValLbl->setText(getVector(aPntData, aVTKID)); + //ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + const VISU::PIDMapper& aMapper = aPrs3d->GetPipeLine()->GetIDMapper(); + VISU::TIdTypeVector aVec = aMapper->GetIndexesOfNode(anID); + switch(aVec.size()){ + case 3: + myKValLbl->setText(QString::number(aVec[2])); + case 2: + myJValLbl->setText(QString::number(aVec[1])); + case 1: + myIValLbl->setText(QString::number(aVec[0])); + break; + default: + myIValLbl->setText("-"); + myJValLbl->setText("-"); + myKValLbl->setText("-"); + } + //ENK: 23.11.2006 } break; case 1: @@ -482,16 +517,38 @@ void VisuGUI_SelectionDlg::onSelectionEvent() { myListPoints->setNumRows(aPointsMap.size()); PointsMap::const_iterator It = aPointsMap.begin(); + + const VISU::PIDMapper& aMapper = aPrs3d->GetPipeLine()->GetIDMapper(); for (int i = 0; It != aPointsMap.end() && i < myListPoints->numRows(); It++, i++) { myListPoints->verticalHeader()->setLabel(i, QString::number( i )); int id = It->first; + //ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + VISU::TIdTypeVector aVec = aMapper->GetIndexesOfNode(id); + QString aI,aJ,aK; + aI = "-"; + aJ = "-"; + aK = "-"; + switch(aVec.size()){ + case 3: + aK = QString::number(aVec[2]); + case 2: + aJ = QString::number(aVec[1]); + case 1: + aI = QString::number(aVec[0]); + break; + } + //ENK: 23.11.2006 + myListPoints->setText(i, 0, QString::number( id )); vtkFloatingPointType* aCoord = It->second; myListPoints->setText(i, 1, QString::number( aCoord[0] )); myListPoints->setText(i, 2, QString::number( aCoord[1] )); myListPoints->setText(i, 3, QString::number( aCoord[2] )); - myListPoints->setText(i, 4, getValue(aPntData, id)); - myListPoints->setText(i, 5, getVector(aPntData, id)); + myListPoints->setText(i, 4, aI);//ENK: 23.11.2006 - PAL13176 + myListPoints->setText(i, 5, aJ);//ENK: 23.11.2006 - PAL13176 + myListPoints->setText(i, 6, aK);//ENK: 23.11.2006 - PAL13176 + myListPoints->setText(i, 7, getValue(aPntData, id)); + myListPoints->setText(i, 8, getVector(aPntData, id)); } } } else { @@ -509,6 +566,9 @@ void VisuGUI_SelectionDlg::clearFields() { myXValLbl->setText( "" ); myYValLbl->setText( "" ); myZValLbl->setText( "" ); + myIValLbl->setText( "-" );//ENK: 23.11.2006 - PAL13176 + myJValLbl->setText( "-" );//ENK: 23.11.2006 - PAL13176 + myKValLbl->setText( "-" );//ENK: 23.11.2006 - PAL13176 myIDValLbl->setText( "" ); myScalarValLbl->setText(""); myVectorValLbl->setText(""); @@ -629,9 +689,15 @@ void VisuGUI_SelectionDlg::onHelp() if (app) app->onHelpContextModule(myModule ? app->moduleName(myModule->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_Selection.h b/src/VISUGUI/VisuGUI_Selection.h index a6517bc1..ef118b82 100644 --- a/src/VISUGUI/VisuGUI_Selection.h +++ b/src/VISUGUI/VisuGUI_Selection.h @@ -72,6 +72,11 @@ private slots: QLabel* myXValLbl; QLabel* myYValLbl; QLabel* myZValLbl; + //ENK: 23.11.2006 - PAL13176 - EDF228 VISU : Enhancement of structured datas processing + QLabel* myIValLbl; //!< used for structured mesh selection + QLabel* myJValLbl; //!< used for structured mesh selection + QLabel* myKValLbl; //!< used for structured mesh selection + //ENK: 23.11.2006 QLineEdit* myIDValLbl; QLabel* myScalarValLbl; diff --git a/src/VISUGUI/VisuGUI_SetupPlot2dDlg.cxx b/src/VISUGUI/VisuGUI_SetupPlot2dDlg.cxx index 81e8fcc1..5c46ede4 100644 --- a/src/VISUGUI/VisuGUI_SetupPlot2dDlg.cxx +++ b/src/VISUGUI/VisuGUI_SetupPlot2dDlg.cxx @@ -490,9 +490,15 @@ void VisuGUI_SetupPlot2dDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_StreamLinesDlg.cxx b/src/VISUGUI/VisuGUI_StreamLinesDlg.cxx index 6ed2d978..0a0e87fb 100644 --- a/src/VISUGUI/VisuGUI_StreamLinesDlg.cxx +++ b/src/VISUGUI/VisuGUI_StreamLinesDlg.cxx @@ -112,8 +112,8 @@ VisuGUI_StreamLinesDlg::VisuGUI_StreamLinesDlg (SalomeApp_Module* theModule) _PTR(SObject) aSObject = aActiveStudy->FindObjectID(aIO->getEntry()); _PTR(GenericAttribute) anTmpAttr; - if (aSObject->FindAttribute(anTmpAttr, "AttributeComment")) { - _PTR(AttributeComment) aTmpComment (anTmpAttr); + if (aSObject->FindAttribute(anTmpAttr, "AttributeString")) { + _PTR(AttributeString) aTmpComment (anTmpAttr); string aTmpComm = aTmpComment->Value(); QString aTmpstrIn (aTmpComm.c_str()); VISU::Storable::TRestoringMap aTmpaMap; @@ -187,8 +187,8 @@ VisuGUI_StreamLinesDlg::VisuGUI_StreamLinesDlg (SalomeApp_Module* theModule) } _PTR(GenericAttribute) anAttr; - if (aChildSObj->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (aChildSObj->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aComment (anAttr); string aComm = aComment->Value(); QString strIn (aComm.c_str()); VISU::Storable::TRestoringMap aMap; @@ -573,8 +573,8 @@ VISU::Mesh_ptr VisuGUI_StreamLinesDlg::createMesh (VISU::VISUType theType, QStri for (aIter->InitEx(true); aIter->More(); aIter->Next() ) { SALOMEDSClient_SObject* aChildSObj = aIter->Value(); SALOMEDSClient_GenericAttribute* anAttr; - if (aChildSObj->FindAttribute(anAttr, "AttributeComment")) { - SALOMEDSClient_AttributeComment* aComment = dynamic_cast( anAttr ); + if (aChildSObj->FindAttribute(anAttr, "AttributeString")) { + SALOMEDSClient_AttributeString* aComment = dynamic_cast( anAttr ); CORBA::String_var aComm = aComment->Value().c_str(); QString strIn(aComm.in()); aMap.clear(); @@ -656,9 +656,15 @@ void VisuGUI_StreamLinesDlg::onHelp() if (app) app->onHelpContextModule(myVisuGUI ? app->moduleName(myVisuGUI->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_TimeAnimation.cxx b/src/VISUGUI/VisuGUI_TimeAnimation.cxx index 70f7fc77..f44018d0 100644 --- a/src/VISUGUI/VisuGUI_TimeAnimation.cxx +++ b/src/VISUGUI/VisuGUI_TimeAnimation.cxx @@ -491,7 +491,14 @@ SetupDlg::SetupDlg (QWidget* theParent, double aMaxTime = myAnimator->getMaxTime(); double aMinTime = myAnimator->getMinTime(); - double aStep = (aMaxTime - aMinTime) / (myAnimator->getFieldData(0).myNbTimes - 1); + double aStep; + if ( myAnimator->getAnimationMode() == 0 ) + aStep = (aMaxTime - aMinTime) / (myAnimator->getFieldData(0).myNbTimes - 1); + else { // succcessive animation mode + std::pair aLastFieldFrame(myAnimator->getNbFields() - 1, + myAnimator->getFieldData(myAnimator->getNbFields() - 1).myNbTimes - 1); + aStep = (aMaxTime - aMinTime) / myAnimator->getAbsoluteFrameNumber(aLastFieldFrame); + } QLabel* aMinLbl = new QLabel("From", aRangeGrp); aMinLbl->setEnabled(myUseRangeChk->isChecked()); @@ -541,15 +548,26 @@ SetupDlg::SetupDlg (QWidget* theParent, // Find names of fields for (int i = 0; i < myAnimator->getNbFields(); i++) { _PTR(SObject) aSO = myAnimator->getFieldData(i).myField; - aFieldNames.append(VISU::getValue(aSO, "myName")); + QString aFieldName(VISU::getValue(aSO, "myName")); + if ( myAnimator->getAnimationMode() == 0 ) + aFieldNames.append(aFieldName); + else if ( myAnimator->getAnimationMode() == 1 ) { + QString aFileName(VISU::getValue(aSO->GetFather()->GetFather()->GetFather(),"myInitFileName")); + aFileName = aFileName.right(aFileName.length() - (aFileName.findRev("/") + 1)); + aFieldNames.append(aFileName + QString(" : ") + aFieldName); + } } myFieldLst->insertStringList(aFieldNames); - myFieldLst->setSelected(0, true); - connect( myFieldLst, SIGNAL( highlighted(int) ), - this, SLOT( onFieldChange(int) ) ); - - - QVBox* aSetupBox = new QVBox(aPropFrame); + + if ( myAnimator->getAnimationMode() == 0 ) { + myFieldLst->setSelected(0, true); + connect( myFieldLst, SIGNAL( highlighted(int) ), + this, SLOT( onFieldChange(int) ) ); + } + else if ( myAnimator->getAnimationMode() == 1 ) + myFieldLst->setSelectionMode(QListBox::NoSelection); + + QVBox* aSetupBox = new QVBox(aPropFrame); aSetupBox->setSpacing(5); QVGroupBox* aPropBox = new QVGroupBox("Properties", aSetupBox); @@ -567,7 +585,7 @@ SetupDlg::SetupDlg (QWidget* theParent, connect( myPropBtn, SIGNAL( clicked() ), this, SLOT( onPreferencesDlg() ) ); - if (myAnimator->getNbFields() > 1) { + if (myAnimator->getNbFields() > 1 && myAnimator->getAnimationMode() == 0) { myArrangeBtn = new QPushButton("Arrange...", aSetupBox); connect( myArrangeBtn, SIGNAL( clicked() ), this, SLOT( onArrangeDlg() ) ); } @@ -601,7 +619,6 @@ enum PrsComboItem { //------------------------------------------------------------------------ void SetupDlg::onFieldChange (int theIndex) { - FieldData& aData = myAnimator->getFieldData(theIndex); myTypeCombo->clear(); myTypeId2ComboId.clear(); myComboId2TypeId.clear(); @@ -627,9 +644,40 @@ void SetupDlg::onFieldChange (int theIndex) myTypeId2ComboId[TPLOT3D_ITEM] = myComboId2TypeId.size(); myComboId2TypeId.push_back(TPLOT3D_ITEM);; - _PTR(SObject) aSObject = aData.myField; - long aNumComp = VISU::getValue(aSObject, "myNumComponent").toLong(); - if (aNumComp > 1) { + bool anEnableItems = false; + bool anEnableGP = false; + VISU::VISUType aPrsType; + if ( myAnimator->getAnimationMode() == 0 ) { // parallel animation mode + + FieldData& aData = myAnimator->getFieldData(theIndex); + _PTR(SObject) aSObject = aData.myField; + long aNumComp = VISU::getValue(aSObject, "myNumComponent").toLong(); + anEnableItems = (aNumComp > 1); + + long anEntityId = VISU::getValue(aSObject, "myEntityId").toLong(); + anEnableGP = (anEntityId == VISU::CELL); + + aPrsType = aData.myPrsType; + + } + else if ( myAnimator->getAnimationMode() == 1 ) { // succcessive animation mode + + for (int i = 0; i < myAnimator->getNbFields(); i++) { + _PTR(SObject) aSO = myAnimator->getFieldData(i).myField; + long aNumComp = VISU::getValue(aSO, "myNumComponent").toLong(); + anEnableItems = (aNumComp > 1); + + long anEntityId = VISU::getValue(aSO, "myEntityId").toLong(); + anEnableGP = (anEntityId == VISU::CELL); + + if ( !anEnableItems && !anEnableGP ) break; + } + + aPrsType = myAnimator->getFieldData(0).myPrsType; + + } + + if (anEnableItems) { myTypeCombo->insertItem("Deformed Shape"); // item 5 myTypeId2ComboId[TDEFORMEDSHAPE_ITEM] = myComboId2TypeId.size(); myComboId2TypeId.push_back(TDEFORMEDSHAPE_ITEM);; @@ -647,14 +695,13 @@ void SetupDlg::onFieldChange (int theIndex) myComboId2TypeId.push_back(TSCALARMAPONDEFORMEDSHAPE_ITEM);; } - long anEntityId = VISU::getValue(aSObject, "myEntityId").toLong(); - if(anEntityId == VISU::CELL){ + if(anEnableGP){ myTypeCombo->insertItem("Gauss Points"); // item 8 myTypeId2ComboId[TGAUSSPOINTS_ITEM] = myComboId2TypeId.size(); myComboId2TypeId.push_back(TGAUSSPOINTS_ITEM);; } - switch (aData.myPrsType) { + switch (aPrsType) { case VISU::TSCALARMAP: //Scalar Map myTypeCombo->setCurrentItem(myTypeId2ComboId[TSCALARMAP_ITEM]); break; @@ -692,41 +739,50 @@ void SetupDlg::onFieldChange (int theIndex) //------------------------------------------------------------------------ void SetupDlg::onTypeChanged (int theIndex) { - FieldData& aData = myAnimator->getFieldData(myFieldLst->currentItem()); int aType = myComboId2TypeId[theIndex]; - switch (aType) { - case TSCALARMAP_ITEM: //Scalar Map - aData.myPrsType = VISU::TSCALARMAP; - break; - case TISOSURFACE_ITEM: //Iso Surfaces - aData.myPrsType = VISU::TISOSURFACE; - break; - case TCUTPLANES_ITEM: //Cut Planes - aData.myPrsType = VISU::TCUTPLANES; - break; - case TCUTLINES_ITEM: //Cut Lines - aData.myPrsType = VISU::TCUTLINES; - break; - case TPLOT3D_ITEM: //Plot 3D - aData.myPrsType = VISU::TPLOT3D; - break; - case TDEFORMEDSHAPE_ITEM: //Deformed Shape - aData.myPrsType = VISU::TDEFORMEDSHAPE; - break; - case TSCALARMAPONDEFORMEDSHAPE_ITEM: //Scalar Map on Deformed Shape - aData.myPrsType = VISU::TSCALARMAPONDEFORMEDSHAPE; - break; - case TVECTORS_ITEM: //Vectors - aData.myPrsType = VISU::TVECTORS; - break; - case TSTREAMLINES_ITEM: //Stream Lines - aData.myPrsType = VISU::TSTREAMLINES; - break; - case TGAUSSPOINTS_ITEM: //Gauss Points - aData.myPrsType = VISU::TGAUSSPOINTS; - break; + + for (int i = 0; i < myAnimator->getNbFields(); i++) { + FieldData& aData = ( myAnimator->getAnimationMode() == 0 ) ? + myAnimator->getFieldData(myFieldLst->currentItem()) : + myAnimator->getFieldData(i); + + switch (aType) { + case TSCALARMAP_ITEM: //Scalar Map + aData.myPrsType = VISU::TSCALARMAP; + break; + case TISOSURFACE_ITEM: //Iso Surfaces + aData.myPrsType = VISU::TISOSURFACE; + break; + case TCUTPLANES_ITEM: //Cut Planes + aData.myPrsType = VISU::TCUTPLANES; + break; + case TCUTLINES_ITEM: //Cut Lines + aData.myPrsType = VISU::TCUTLINES; + break; + case TPLOT3D_ITEM: //Plot 3D + aData.myPrsType = VISU::TPLOT3D; + break; + case TDEFORMEDSHAPE_ITEM: //Deformed Shape + aData.myPrsType = VISU::TDEFORMEDSHAPE; + break; + case TSCALARMAPONDEFORMEDSHAPE_ITEM: //Scalar Map on Deformed Shape + aData.myPrsType = VISU::TSCALARMAPONDEFORMEDSHAPE; + break; + case TVECTORS_ITEM: //Vectors + aData.myPrsType = VISU::TVECTORS; + break; + case TSTREAMLINES_ITEM: //Stream Lines + aData.myPrsType = VISU::TSTREAMLINES; + break; + case TGAUSSPOINTS_ITEM: //Gauss Points + aData.myPrsType = VISU::TGAUSSPOINTS; + break; + } + myAnimator->clearData(aData); + + if ( myAnimator->getAnimationMode() == 0 ) // parallel animation mode + break; } - myAnimator->clearData(aData); //myPropBtn->setEnabled(aData.myPrsType != VISU::TSCALARMAP); //myAnimator->generatePresentations(myFieldLst->currentItem()); } @@ -738,13 +794,21 @@ namespace template void EditPrs(VisuGUI* theModule, - FieldData& theData) + FieldData& theData, + VISU_TimeAnimation* theAnimator) { TDialog* aDlg = new TDialog(theModule); aDlg->initFromPrsObject(dynamic_cast(theData.myPrs[0])); - if (aDlg->exec()) + if (aDlg->exec()) { for (int i = 0; i < theData.myNbFrames; i++) aDlg->storeToPrsObject(dynamic_cast(theData.myPrs[i])); + if ( theAnimator->getAnimationMode() == 1 ) { + for (int i = 1; i < theAnimator->getNbFields(); i++) { + for (int j = 0; j < theAnimator->getFieldData(i).myNbFrames; j++) + aDlg->storeToPrsObject(dynamic_cast(theAnimator->getFieldData(i).myPrs[j])); + } + } + } delete aDlg; } } @@ -753,9 +817,26 @@ namespace void SetupDlg::onPreferencesDlg() { SUIT_OverrideCursor c; - FieldData& aData = myAnimator->getFieldData(myFieldLst->currentItem()); + + int id = ( myAnimator->getAnimationMode() == 0 ) ? myFieldLst->currentItem() : 0; + FieldData& aData = myAnimator->getFieldData(id); if (aData.myPrs.empty()) - myAnimator->generatePresentations(myFieldLst->currentItem()); + myAnimator->generatePresentations(id); + + if ( myAnimator->getAnimationMode() == 1 ) { + for (int i = 0; i < myAnimator->getNbFields(); i++) { + if ( i != id && myAnimator->getFieldData(i).myPrs.empty() ) myAnimator->generatePresentations(i); + } + } + + if(!aData.myNbFrames || !aData.myPrs[0]){ + QApplication::restoreOverrideCursor(); + SUIT_MessageBox::warn1(this, + tr("ERROR"), + VisuGUI_TimeAnimationDlg::tr("MSG_NO_ANIMATIONDATA"), + tr("&OK")); + return; + } if(!aData.myNbFrames || !aData.myPrs[0]){ QApplication::restoreOverrideCursor(); @@ -770,27 +851,27 @@ void SetupDlg::onPreferencesDlg() switch (aType) { case TSCALARMAP_ITEM: //Scalar Map c.suspend(); - EditPrs(myModule,aData); + EditPrs(myModule,aData,myAnimator); break; case TISOSURFACE_ITEM: //Iso Surfaces c.suspend(); - EditPrs(myModule,aData); + EditPrs(myModule,aData,myAnimator); break; case TCUTPLANES_ITEM: //Cut Planes c.suspend(); - EditPrs(myModule,aData); + EditPrs(myModule,aData,myAnimator); break; case TCUTLINES_ITEM: //Cut Lines c.suspend(); - EditPrs(myModule,aData); + EditPrs(myModule,aData,myAnimator); break; case TPLOT3D_ITEM: //Plot 3D c.suspend(); - EditPrs(myModule,aData); + EditPrs(myModule,aData,myAnimator); break; case TDEFORMEDSHAPE_ITEM: //Deformed Shape c.suspend(); - EditPrs(myModule,aData); + EditPrs(myModule,aData,myAnimator); break; case TSCALARMAPONDEFORMEDSHAPE_ITEM: //Scalar Map on Deformed Shape c.suspend(); @@ -798,7 +879,6 @@ void SetupDlg::onPreferencesDlg() typedef VisuGUI_ScalarMapOnDeformedShapeDlg DLG; typedef VISU::ScalarMapOnDeformedShape_i TYPE; DLG* aDlg = new DLG (myModule); - aDlg->setAnimation( true ); aDlg->initFromPrsObject(dynamic_cast(aData.myPrs[0])); if (aDlg->exec()) { @@ -809,8 +889,6 @@ void SetupDlg::onPreferencesDlg() aIter = i+1; if(i+1 > anbFrames) aIter=anbFrames; - aDlg->setUpdateScalars(false); - aDlg->setIteration(aIter); aDlg->storeToPrsObject(aCurrPrs_i); } } @@ -819,15 +897,15 @@ void SetupDlg::onPreferencesDlg() break; case TVECTORS_ITEM: //Vectors c.suspend(); - EditPrs(myModule,aData); + EditPrs(myModule,aData,myAnimator); break; case TSTREAMLINES_ITEM: //Stream Lines c.suspend(); - EditPrs(myModule,aData); + EditPrs(myModule,aData,myAnimator); break; case TGAUSSPOINTS_ITEM: //Gauss Points c.suspend(); - EditPrs(myModule,aData); + EditPrs(myModule,aData,myAnimator); break; } } @@ -994,24 +1072,25 @@ static const char * pauseIco[] = { static QPixmap MYpausePixmap(pauseIco); -VisuGUI_TimeAnimationDlg::VisuGUI_TimeAnimationDlg (VisuGUI* theModule, _PTR(Study) theStudy) : +VisuGUI_TimeAnimationDlg::VisuGUI_TimeAnimationDlg (VisuGUI* theModule, _PTR(Study) theStudy, int theMode) : QDialog(VISU::GetDesktop(theModule), "VisuGUI_TimeAnimationDlg", false, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose), myModule(theModule), - myStudy(theStudy), mySetupDlg(NULL) { - setCaption("Animation"); + if ( theMode == 0 ) + setCaption(tr("PARALLEL_ANIMATION")); + else if ( theMode == 1 ) + setCaption(tr("SUCCESSIVE_ANIMATION")); setSizeGripEnabled( TRUE ); - isClosing = false; myAnimator = new VISU_TimeAnimation (theStudy); - myAnimator->setSpeed(1); myAnimator->setViewer(VISU::GetActiveViewWindow(theModule)); connect(myAnimator, SIGNAL(frameChanged(long, double)), this, SLOT(onExecution(long, double))); connect(myAnimator, SIGNAL(stopped()), this, SLOT(onStop())); + myAnimator->setAnimationMode(theMode); QVBoxLayout* aMainLayout = new QVBoxLayout(this, 7, 6); aMainLayout->setSpacing(5); @@ -1085,12 +1164,13 @@ VisuGUI_TimeAnimationDlg::VisuGUI_TimeAnimationDlg (VisuGUI* theModule, _PTR(Stu QLCDNumber* aSpeedNum = new QLCDNumber( 2, myPlayFrame ); aSpeedNum->setSegmentStyle(QLCDNumber::Flat); - aSpeedNum->display(1); + aSpeedNum->display((int)myAnimator->getSpeed()); TopLayout->addWidget(aSpeedNum, 4, 3); QwtWheel* aWheel = new QwtWheel(myPlayFrame); aWheel->setOrientation(Qt::Vertical); aWheel->setRange(1, 99, 1); + aWheel->setValue((int)myAnimator->getSpeed()); connect( aWheel, SIGNAL(valueChanged(double)), aSpeedNum, SLOT(display(double)) ); connect( aWheel, SIGNAL(valueChanged(double)), @@ -1168,32 +1248,37 @@ VisuGUI_TimeAnimationDlg::VisuGUI_TimeAnimationDlg (VisuGUI* theModule, _PTR(Stu this, SLOT( onCheckDump(bool) )); aSaveLay->addMultiCellWidget(mySaveAVICheck, 3, 3, 0, 2); - QLabel* aPathAVILbl = new QLabel("Path:", aSaveBox); - aPathAVILbl->setEnabled(false); - connect(mySaveAVICheck, SIGNAL( toggled(bool)), - aPathAVILbl, SLOT( setEnabled(bool) )); - aSaveLay->addWidget(aPathAVILbl, 4, 0); + myPathAVILbl = new QLabel("Path:", aSaveBox); + myPathAVILbl->setEnabled(false); + //connect(mySaveAVICheck, SIGNAL( toggled(bool)), + // myPathAVILbl, SLOT( setEnabled(bool) )); + aSaveLay->addWidget(myPathAVILbl, 4, 0); myPathAVIEdit = new QLineEdit(aSaveBox); myPathAVIEdit->setReadOnly(true); myPathAVIEdit->setEnabled(false); - connect(mySaveAVICheck, SIGNAL( toggled(bool)), - myPathAVIEdit, SLOT( setEnabled(bool) )); + //connect(mySaveAVICheck, SIGNAL( toggled(bool)), + // myPathAVIEdit, SLOT( setEnabled(bool) )); aSaveLay->addWidget(myPathAVIEdit, 4, 1); - QPushButton* aBrowseAVIBtn = new QPushButton("Browse...", aSaveBox); - aBrowseAVIBtn->setEnabled(false); - connect(mySaveAVICheck, SIGNAL( toggled(bool)), - aBrowseAVIBtn, SLOT( setEnabled(bool) )); - connect(aBrowseAVIBtn, SIGNAL( clicked()), + myBrowseAVIBtn = new QPushButton("Browse...", aSaveBox); + myBrowseAVIBtn->setEnabled(false); + //connect(mySaveAVICheck, SIGNAL( toggled(bool)), + // myBrowseAVIBtn, SLOT( setEnabled(bool) )); + connect(myBrowseAVIBtn, SIGNAL( clicked()), this, SLOT( onBrowseAVI() )); - aSaveLay->addWidget(aBrowseAVIBtn, 4, 2); + aSaveLay->addWidget(myBrowseAVIBtn, 4, 2); mySaveAVICheck->setChecked(false); - mySaveAVICheck->setEnabled(myAnimator->checkAVIMaker()); + //mySaveAVICheck->setEnabled(myAnimator->checkAVIMaker()); TopLayout->addMultiCellWidget(aSaveBox, 7, 7, 0, 3); + QCheckBox* aCleanMemCheck = new QCheckBox("Clean memory at each frame",myPlayFrame); + aCleanMemCheck->setChecked(myAnimator->isCleaningMemoryAtEachFrame()); + connect(aCleanMemCheck, SIGNAL(toggled(bool)), myAnimator, SLOT(setCleaningMemoryAtEachFrameSlot(bool))); + TopLayout->addMultiCellWidget(aCleanMemCheck, 8, 8, 0, 3); + aMainLayout->addWidget(myPlayFrame); // Animation publishing in study @@ -1234,10 +1319,11 @@ VisuGUI_TimeAnimationDlg::VisuGUI_TimeAnimationDlg (VisuGUI* theModule, _PTR(Stu //------------------------------------------------------------------------ VisuGUI_TimeAnimationDlg::~VisuGUI_TimeAnimationDlg() { - if(myAnimator != NULL){ + if (myAnimator != NULL) { delete myAnimator; myAnimator = NULL; - VISU::GetActiveViewWindow(myModule)->Repaint(); + if ( VISU::GetActiveViewWindow(myModule) ) + VISU::GetActiveViewWindow(myModule)->Repaint(); } } @@ -1252,10 +1338,10 @@ void VisuGUI_TimeAnimationDlg::onTypeChange (int index) } //------------------------------------------------------------------------ -void VisuGUI_TimeAnimationDlg::addField (_PTR(SObject) theSObject) +bool VisuGUI_TimeAnimationDlg::addField (_PTR(SObject) theSObject) { myPlayFrame->setEnabled(false); - myAnimator->addField(theSObject); + return myAnimator->addField(theSObject); } //------------------------------------------------------------------------ @@ -1354,29 +1440,16 @@ void VisuGUI_TimeAnimationDlg::showEvent(QShowEvent* theEvent) mySetupDlg = new SetupDlg(this,myModule, myAnimator); } -void VisuGUI_TimeAnimationDlg::reject() -{ - close(); - QDialog::reject(); -} - //------------------------------------------------------------------------ void VisuGUI_TimeAnimationDlg::closeEvent (QCloseEvent* theEvent) { - if(myAnimator != NULL){ + if (myAnimator != NULL) { myAnimator->stopAnimation(); myAnimator->wait(500); if (myAnimator->running() && (! myAnimator->finished())) { - isClosing = true; - myEvent = theEvent; - // * Destroing data in myAnimator before study closed. - // * It needed for correcting destroing of myAnimator, which - // * depend from SVTK_RenderWindowInteractor() e.t.c. - if(theEvent->type() == QEvent::Close){ - for (int i = 0; i < myAnimator->getNbFields(); i++) - myAnimator->clearData(myAnimator->getFieldData(i)); - myAnimator->clearFieldData(); - } + theEvent->ignore(); + QCloseEvent* aNewCloseEvent = new QCloseEvent; + QApplication::postEvent( this, aNewCloseEvent ); } else { QDialog::closeEvent(theEvent); } @@ -1471,12 +1544,33 @@ void VisuGUI_TimeAnimationDlg::onCheckDump(bool) } else { myAnimator->dumpTo(""); } - mySaveAVICheck->setEnabled(!mySaveCheck->isChecked() && myAnimator->checkAVIMaker()); + //mySaveAVICheck->setEnabled(!mySaveCheck->isChecked() && myAnimator->checkAVIMaker()); + mySaveAVICheck->setEnabled(!mySaveCheck->isChecked()); } else if (source == mySaveAVICheck) { if (mySaveAVICheck->isChecked()) { - if (mySaveCheck->isChecked()) - mySaveCheck->setChecked(false); + if (!myAnimator->checkAVIMaker()) { + // AVI maker is not available + SUIT_MessageBox::warn1(this, tr("ERROR"), tr("MSG_NO_AVI_MAKER"), tr("&OK")); + mySaveAVICheck->setChecked(false); + } + else { + if (mySaveCheck->isChecked()) { + mySaveCheck->setChecked(false); + } + myPathAVILbl->setEnabled(true); + myPathAVIEdit->setEnabled(true); + myBrowseAVIBtn->setEnabled(true); + } + } + else { + // it is necessary in case of not available AVI maker, + // because otherwise they will stay enabled + // (??? slots, connected on SIGNAL(toggled(bool)) of mySaveAVICheck, + // works in wrong order ???) + myPathAVILbl->setEnabled(false); + myPathAVIEdit->setEnabled(false); + myBrowseAVIBtn->setEnabled(false); } mySaveCheck->setEnabled(!mySaveAVICheck->isChecked()); } @@ -1485,14 +1579,10 @@ void VisuGUI_TimeAnimationDlg::onCheckDump(bool) //------------------------------------------------------------------------ void VisuGUI_TimeAnimationDlg::onStop() { - if (isClosing) { - QDialog::closeEvent(myEvent); - } else { - myPlayBtn->setOn(false); - myPlayBtn->setIconSet(MYplayPixmap); - mySetupBtn->setEnabled(true); - myGenBtn->setEnabled(true); - } + myPlayBtn->setOn(false); + myPlayBtn->setIconSet(MYplayPixmap); + mySetupBtn->setEnabled(true); + myGenBtn->setEnabled(true); } //------------------------------------------------------------------------ @@ -1503,9 +1593,15 @@ void VisuGUI_TimeAnimationDlg::onHelp() if (app) app->onHelpContextModule(myModule ? app->moduleName(myModule->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } @@ -1530,6 +1626,8 @@ void VisuGUI_TimeAnimationDlg::restoreFromStudy(_PTR(SObject) theAnimation) { myAnimator->restoreFromStudy(theAnimation); mySaveBtn->setEnabled(myAnimator->isSavedInStudy()); + if ( myAnimator->getAnimationMode() == 1 ) + setCaption(tr("SUCCESSIVE_ANIMATION")); } //------------------------------------------------------------------------ @@ -1558,4 +1656,3 @@ void VisuGUI_TimeAnimationDlg::keyPressEvent( QKeyEvent* e ) onHelp(); } } - diff --git a/src/VISUGUI/VisuGUI_TimeAnimation.h b/src/VISUGUI/VisuGUI_TimeAnimation.h index dcaea8a0..70bd9952 100644 --- a/src/VISUGUI/VisuGUI_TimeAnimation.h +++ b/src/VISUGUI/VisuGUI_TimeAnimation.h @@ -150,10 +150,10 @@ class VisuGUI_TimeAnimationDlg: public QDialog { Q_OBJECT public: - VisuGUI_TimeAnimationDlg(VisuGUI* theModule, _PTR(Study) theStudy); + VisuGUI_TimeAnimationDlg(VisuGUI* theModule, _PTR(Study) theStudy, int theMode=0); ~VisuGUI_TimeAnimationDlg(); - void addField(_PTR(SObject) theField); + bool addField(_PTR(SObject) theField); void clearView(); void restoreFromStudy(_PTR(SObject) theAnimation); @@ -162,9 +162,8 @@ class VisuGUI_TimeAnimationDlg: public QDialog virtual void closeEvent(QCloseEvent* theEvent); virtual void showEvent(QShowEvent* theEvent); virtual void keyPressEvent(QKeyEvent* theEvent); - virtual void reject(); void stopAnimation(); - + private slots: void onTypeChange(int index); void onPlayPressed(); @@ -190,6 +189,11 @@ class VisuGUI_TimeAnimationDlg: public QDialog void onPathChanged(); private: + // Data + VisuGUI* myModule; + VISU_TimeAnimation* myAnimator; + + // widgets QSlider* mySlider; QComboBox* myTypeCombo; QPushButton* myPropBtn; @@ -200,18 +204,15 @@ class VisuGUI_TimeAnimationDlg: public QDialog QFrame* myPlayFrame; SetupDlg* mySetupDlg; - _PTR(Study) myStudy; - VisuGUI* myModule; - VISU_TimeAnimation* myAnimator; QCheckBox* mySaveCheck; QComboBox* myPicsFormat; QLineEdit* myPathEdit; - bool isClosing; - QCloseEvent* myEvent; - QCheckBox* mySaveAVICheck; - QLineEdit* myPathAVIEdit; + QCheckBox* mySaveAVICheck; + QLineEdit* myPathAVIEdit; + QLabel* myPathAVILbl; + QPushButton* myBrowseAVIBtn; QPushButton* myPublishBtn; QPushButton* mySaveBtn; diff --git a/src/VISUGUI/VisuGUI_Tools.cxx b/src/VISUGUI/VisuGUI_Tools.cxx index b3a939d3..da085f66 100644 --- a/src/VISUGUI/VisuGUI_Tools.cxx +++ b/src/VISUGUI/VisuGUI_Tools.cxx @@ -70,6 +70,8 @@ #include #include +#include + //============================================================================= namespace VISU @@ -216,8 +218,8 @@ namespace VISU Engines::Component_var aComponent = aLCC.FindOrLoad_Component("FactoryServer","VISU"); VISU_Gen_var aVISU = VISU_Gen::_narrow(aComponent); if(!CORBA::is_nil(aVISU)){ - aGen = VISU_Gen_i::GetVisuGenImpl(); - aGen->SetCurrentStudy(GetDSStudy(GetCStudy(GetAppStudy(theModule)))); + if((aGen = VISU_Gen_i::GetVisuGenImpl())) + aGen->SetCurrentStudy(GetDSStudy(GetCStudy(GetAppStudy(theModule)))); } } if(!aGen) @@ -248,8 +250,8 @@ namespace VISU VISU::Storable::TRestoringMap aMap; if (theSObject) { _PTR(GenericAttribute) anAttr; - if (theSObject->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (theSObject->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aComment (anAttr); std::string aValue = aComment->Value(); QString aString (aValue.c_str()); VISU::Storable::StrToMap(aString, aMap); @@ -346,8 +348,8 @@ namespace VISU { Storable::TRestoringMap aMap; _PTR(GenericAttribute) anAttr; - if(theSObject->FindAttribute(anAttr,"AttributeComment")){ - _PTR(AttributeComment) aComment (anAttr); + if(theSObject->FindAttribute(anAttr,"AttributeString")){ + _PTR(AttributeString) aComment (anAttr); std::string aValue = aComment->Value(); VISU::Storable::StrToMap(aValue.c_str(), aMap); } @@ -483,14 +485,17 @@ namespace VISU // (first sub-level) or is a child of such an object string aNAME, aVisuNAME = GetVisuGen(theModule)->ComponentDataType(); _PTR(GenericAttribute) anAttr; - _PTR(AttributeComment) aComment; + _PTR(AttributeString) aComment; bool isUnderVISU = false; _PTR(SObject) aFatherSObject = aSObject->GetFather(); - if (aFatherSObject->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (aFatherSObject->FindAttribute(anAttr, "AttributeName")) { + // mkr : 24.11.2006 : use AttributeName and module title for correct "Delete" + // popup item displaying in object browser popup + _PTR(AttributeName) aComment (anAttr); aNAME = aComment->Value(); - if (aNAME == aVisuNAME) { + QString aVisuTITLE = theModule->getApp()->moduleTitle(QString(aVisuNAME)); + if (!aVisuTITLE.compare(QString(aNAME))) { isUnderVISU = true; } } @@ -504,8 +509,8 @@ namespace VISU isUnderVISU = false; aFatherSObject = aFatherSObject->GetFather(); - if (aFatherSObject->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (aFatherSObject->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aComment (anAttr); aNAME = aComment->Value(); if (aNAME == aVisuNAME) { isUnderVISU = true; @@ -513,7 +518,7 @@ namespace VISU } if (!isUnderVISU) { // Father is not directly under VISU component - return false; + return false; } } } @@ -1114,6 +1119,7 @@ namespace VISU } } aPlot->Repaint(); + aPlot->fitAll(); } //------------------------------------------------------------ @@ -1220,6 +1226,10 @@ namespace VISU Utils_Timer timer; timer.Start(); #endif + if(GetResourceMgr()->booleanValue("VISU","display_only",false)){ + const VisuGUI* av = dynamic_cast(theModule); + if(av)(const_cast(av))->OnEraseAll(); + } PublishMeshInView(theModule, pPresent, theViewWindow); SetFitAll(theViewWindow); #ifdef CHECKTIME @@ -1236,6 +1246,9 @@ namespace VISU } } + SalomeApp_Module* aModule = (SalomeApp_Module*)theModule; + UpdateObjBrowser(aModule, false, aResultSObj); + theModule->application()->putInfo(QObject::tr("INF_DONE")); // Make "Save" button active theModule->getApp()->updateActions(); @@ -1271,7 +1284,7 @@ namespace VISU if (!CORBA::is_nil(aVisuObj)) { VISU::VISUType aType = aVisuObj->GetType(); switch (aType) { - case VISU::TSCALARMAP: + case VISU::TSCALARMAP: case VISU::TISOSURFACE: case VISU::TDEFORMEDSHAPE: case VISU::TCUTPLANES: @@ -1314,8 +1327,8 @@ namespace VISU } } else { _PTR(GenericAttribute) anAttr; - if (theObject->FindAttribute(anAttr, "AttributeComment")) { - _PTR(AttributeComment) aComment (anAttr); + if (theObject->FindAttribute(anAttr, "AttributeString")) { + _PTR(AttributeString) aComment (anAttr); string aComm = aComment->Value(); QString strIn (aComm.c_str()); VISU::Storable::TRestoringMap pMap; @@ -1397,7 +1410,7 @@ namespace VISU void AddScalarBarPosition (VisuGUI* theModule, SVTK_ViewWindow* theViewWindow, VISU::Prs3d_i* thePrs3d, int pos) { - TViewToPrs3d& aMap = theModule->myScalarBarsMap; + TViewToPrs3d& aMap = theModule->getScalarBarsMap(); TPrs3dToInd aPair; aPair.first = thePrs3d; aPair.second = pos; aMap[theViewWindow].insert(aPair); } @@ -1406,7 +1419,7 @@ namespace VISU void RemoveScalarBarPosition(VisuGUI* theModule, SVTK_ViewWindow* theViewWindow, VISU::Prs3d_i* thePrs3d) { - TViewToPrs3d& aMap = theModule->myScalarBarsMap; + TViewToPrs3d& aMap = theModule->getScalarBarsMap(); TSetPrs3d::iterator aIter = aMap[theViewWindow].begin(); for (; aIter != aMap[theViewWindow].end(); aIter++) if ((*aIter).first == thePrs3d) { diff --git a/src/VISUGUI/VisuGUI_TransparencyDlg.cxx b/src/VISUGUI/VisuGUI_TransparencyDlg.cxx index af6de916..4685b597 100644 --- a/src/VISUGUI/VisuGUI_TransparencyDlg.cxx +++ b/src/VISUGUI/VisuGUI_TransparencyDlg.cxx @@ -187,9 +187,15 @@ void VisuGUI_TransparencyDlg::ClickOnHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISUGUI/VisuGUI_VectorsDlg.cxx b/src/VISUGUI/VisuGUI_VectorsDlg.cxx index 11331d55..03ef0f9f 100644 --- a/src/VISUGUI/VisuGUI_VectorsDlg.cxx +++ b/src/VISUGUI/VisuGUI_VectorsDlg.cxx @@ -466,9 +466,15 @@ void VisuGUI_VectorsDlg::onHelp() app->onHelpContextModule(aVisuGUI ? app->moduleName(aVisuGUI->moduleName()) : QString(""), aHelpFileName); } else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VISU_I/VISUConfig.cc b/src/VISU_I/VISUConfig.cc index fc30bb21..c78fe7ec 100644 --- a/src/VISU_I/VISUConfig.cc +++ b/src/VISU_I/VISUConfig.cc @@ -333,7 +333,7 @@ namespace VISU{ std::string CreateAttributes(SALOMEDS::Study_ptr theStudyDocument, const std::string& theFatherEntry, - const std::string& theRefFatherEntry, + const std::string& theIconName, const std::string& theIOR, const std::string& theName, const std::string& thePersistentRef, @@ -342,38 +342,39 @@ namespace VISU{ { SALOMEDS::StudyBuilder_var aStudyBuilder = theStudyDocument->NewBuilder(); SALOMEDS::SObject_var aFather = theStudyDocument->FindObjectID(theFatherEntry.c_str()); - SALOMEDS::SObject_var newObj; - if (theCreateNew) newObj = aStudyBuilder->NewObject(aFather); - else newObj = aFather; + SALOMEDS::SObject_var aNewSObject; + if (theCreateNew) + aNewSObject = aStudyBuilder->NewObject(aFather); + else + aNewSObject = aFather; SALOMEDS::GenericAttribute_var anAttr; if(theIOR != ""){ - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeIOR"); - SALOMEDS::AttributeIOR_var anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr); - anIOR->SetValue(theIOR.c_str()); + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSObject, "AttributeIOR"); + SALOMEDS::AttributeIOR_var aCustomAttr = SALOMEDS::AttributeIOR::_narrow(anAttr); + aCustomAttr->SetValue(theIOR.c_str()); } if(theName != ""){ - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeName"); - SALOMEDS::AttributeName_var aName = SALOMEDS::AttributeName::_narrow(anAttr); - aName->SetValue(theName.c_str()); + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSObject, "AttributeName"); + SALOMEDS::AttributeName_var aCustomAttr = SALOMEDS::AttributeName::_narrow(anAttr); + aCustomAttr->SetValue(theName.c_str()); } if(thePersistentRef != ""){ - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributePersistentRef"); - SALOMEDS::AttributePersistentRef_var aPRef = SALOMEDS::AttributePersistentRef::_narrow(anAttr); - aPRef->SetValue(thePersistentRef.c_str()); + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSObject, "AttributePersistentRef"); + SALOMEDS::AttributePersistentRef_var aCustomAttr = SALOMEDS::AttributePersistentRef::_narrow(anAttr); + aCustomAttr->SetValue(thePersistentRef.c_str()); } if(theComment != ""){ - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeString"); - SALOMEDS::AttributeString_var aCmnt = SALOMEDS::AttributeString::_narrow(anAttr); - aCmnt->SetValue(theComment.c_str()); - if(MYDEBUG) INFOS("CreateAttributes - Comment = "<FindOrCreateAttribute(aNewSObject, "AttributeString"); + SALOMEDS::AttributeString_var aCustomAttr = SALOMEDS::AttributeString::_narrow(anAttr); + aCustomAttr->SetValue(theComment.c_str()); } - if(theRefFatherEntry != ""){ - SALOMEDS::SObject_var aRefFather = theStudyDocument->FindObjectID(theRefFatherEntry.c_str()); - SALOMEDS::SObject_var anObj = aStudyBuilder->NewObject(aRefFather); - aStudyBuilder->Addreference(anObj,newObj); + if(theIconName != ""){ + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSObject, "AttributePixMap"); + SALOMEDS::AttributePixMap_var aCustomAttr = SALOMEDS::AttributePixMap::_narrow(anAttr); + aCustomAttr->SetPixMap(theIconName.c_str()); } - CORBA::String_var anEntry = newObj->GetID(); - string aRet(anEntry); + CORBA::String_var anEntry = aNewSObject->GetID(); + std::string aRet(anEntry); if(MYDEBUG) INFOS("CreateAttributes - StudyId = "<StudyId()<<"; anEntry = "<NewBuilder(); _PTR(SObject) aFather = theStudyDocument->FindObjectID(theFatherEntry); - _PTR(SObject) newObj; + _PTR(SObject) aNewSObject; if (theCreateNew) - newObj = aStudyBuilder->NewObject(aFather); + aNewSObject = aStudyBuilder->NewObject(aFather); else - newObj = aFather; + aNewSObject = aFather; _PTR(GenericAttribute) anAttr; if (theIOR != "") { - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeIOR"); - _PTR(AttributeIOR) anIOR (anAttr); - anIOR->SetValue(theIOR); + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSObject, "AttributeIOR"); + _PTR(AttributeIOR) aCustomAttr (anAttr); + aCustomAttr->SetValue(theIOR); } if (theName != "") { - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeName"); - _PTR(AttributeName) aName (anAttr); - aName->SetValue(theName); + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSObject, "AttributeName"); + _PTR(AttributeName) aCustomAttr (anAttr); + aCustomAttr->SetValue(theName); } if (thePersistentRef != "") { - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributePersistentRef"); - _PTR(AttributePersistentRef) aPRef (anAttr); - aPRef->SetValue(thePersistentRef); + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSObject, "AttributePersistentRef"); + _PTR(AttributePersistentRef) aCustomAttr (anAttr); + aCustomAttr->SetValue(thePersistentRef); } if (theComment != "") { - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeString"); - _PTR(AttributeString) aCmnt (anAttr); - aCmnt->SetValue(theComment); - if (MYDEBUG) INFOS("CreateAttributes - Comment = " << theComment); + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSObject, "AttributeString"); + _PTR(AttributeString) aCustomAttr (anAttr); + aCustomAttr->SetValue(theComment); } - if (theRefFatherEntry != "") { - _PTR(SObject) aRefFather = theStudyDocument->FindObjectID(theRefFatherEntry); - _PTR(SObject) anObj = aStudyBuilder->NewObject(aRefFather); - aStudyBuilder->Addreference(anObj, newObj); + if (theIconName != "") { + anAttr = aStudyBuilder->FindOrCreateAttribute(aNewSObject, "AttributePixMap"); + _PTR(AttributePixMap) aCustomAttr (anAttr); + aCustomAttr->SetPixMap(theIconName); } - string aRet = newObj->GetID(); + std::string aRet = aNewSObject->GetID(); if (MYDEBUG) INFOS("CreateAttributes - StudyId = " << theStudyDocument->StudyId() << "; anEntry = " << aRet << "; IOR = '" << theIOR << "'"); diff --git a/src/VISU_I/VISUConfig.hh b/src/VISU_I/VISUConfig.hh index 48aeae5f..196cd0d6 100644 --- a/src/VISU_I/VISUConfig.hh +++ b/src/VISU_I/VISUConfig.hh @@ -218,7 +218,7 @@ namespace VISU std::string CreateAttributes(SALOMEDS::Study_ptr theStudyDocument, const std::string& theFatherEntry, - const std::string& theRefFatherEntry, + const std::string& theIconName, const std::string& theIOR, const std::string& theName, const std::string& thePersistentRef, @@ -229,7 +229,7 @@ namespace VISU std::string CreateAttributes(_PTR(Study) theStudyDocument, const std::string& theFatherEntry, - const std::string& theRefFatherEntry, + const std::string& theIconName, const std::string& theIOR, const std::string& theName, const std::string& thePersistentRef, @@ -249,7 +249,7 @@ namespace VISU VISU_I_EXPORT _PTR(SObject) - GetClientSObject(SALOMEDS::SObject_var, _PTR(Study)); + GetClientSObject(SALOMEDS::SObject_var, _PTR(Study)); VISU_I_EXPORT SALOMEDS::Study_var diff --git a/src/VISU_I/VISU_ColoredPrs3dCache_i.cc b/src/VISU_I/VISU_ColoredPrs3dCache_i.cc index 2e5f1983..7a5954ec 100644 --- a/src/VISU_I/VISU_ColoredPrs3dCache_i.cc +++ b/src/VISU_I/VISU_ColoredPrs3dCache_i.cc @@ -395,7 +395,7 @@ VISU::ColoredPrs3dCache_i VISU::ColoredPrs3dHolder_i* aHolder = new VISU::ColoredPrs3dHolder_i(*this); std::string aComment = std::string("myComment=") + aColoredPrs3d->GetComment(); std::string aName = aColoredPrs3d->GenerateName().latin1(); - aHolder->PublishInStudy(aName, aComment); + aHolder->PublishInStudy(aName, aColoredPrs3d->GetIconName(), aComment); RegisterInHolder(aColoredPrs3d, aHolder->GetEntry()); if( aRequiredMemory > 1.0 / VTK_LARGE_FLOAT ) ClearMemory( aRequiredMemory, aHolder->GetEntry() ); diff --git a/src/VISU_I/VISU_ColoredPrs3dHolder_i.cc b/src/VISU_I/VISU_ColoredPrs3dHolder_i.cc index cefa3e48..9927e98b 100644 --- a/src/VISU_I/VISU_ColoredPrs3dHolder_i.cc +++ b/src/VISU_I/VISU_ColoredPrs3dHolder_i.cc @@ -84,12 +84,20 @@ VISU::ColoredPrs3dHolder_i void VISU::ColoredPrs3dHolder_i ::PublishInStudy(const std::string& theName, + const std::string& theIconName, const std::string& theComment) { SetName(theName, false); CORBA::String_var anIOR = GetID(); std::string aFatherEntry = myCache.GetEntry(); - CreateAttributes(GetStudyDocument(), aFatherEntry, "", anIOR.in(), GetName(), "", theComment, true); + CreateAttributes(GetStudyDocument(), + aFatherEntry, + theIconName, + anIOR.in(), + GetName(), + "", + theComment, + true); } //---------------------------------------------------------------------------- @@ -196,7 +204,6 @@ CORBA::Float VISU::ColoredPrs3dHolder_i ::GetMemorySize() { - // tmp return GetDevice()->GetMemorySize(); } diff --git a/src/VISU_I/VISU_ColoredPrs3dHolder_i.hh b/src/VISU_I/VISU_ColoredPrs3dHolder_i.hh index 2b6a9c9d..2434272c 100644 --- a/src/VISU_I/VISU_ColoredPrs3dHolder_i.hh +++ b/src/VISU_I/VISU_ColoredPrs3dHolder_i.hh @@ -140,6 +140,7 @@ namespace VISU private: void PublishInStudy(const std::string& theName, + const std::string& theIconName, const std::string& theComment); VISU::ColoredPrs3dCache_i& myCache; diff --git a/src/VISU_I/VISU_ColoredPrs3d_i.cc b/src/VISU_I/VISU_ColoredPrs3d_i.cc index fa9ef352..35c6df03 100644 --- a/src/VISU_I/VISU_ColoredPrs3d_i.cc +++ b/src/VISU_I/VISU_ColoredPrs3d_i.cc @@ -1212,7 +1212,6 @@ VISU::ColoredPrs3d_i GetTimeStampNumber(), GetField()->myNbComp); std::string aResultEntry = GetCResult()->GetEntry(); - std::string aRefFatherEntry = GetCResult()->GetRefFatherEntry(); std::string anEntry = GetCResult()->GetEntry(aComment.latin1()); if(anEntry == "") throw std::runtime_error("There is no Entry for binding the presentation !!!"); @@ -1226,7 +1225,7 @@ VISU::ColoredPrs3d_i CORBA::String_var anIOR = GetID(); CreateAttributes(GetStudyDocument(), anEntry, - aRefFatherEntry, + GetIconName(), anIOR.in(), GetName(), "", @@ -1240,7 +1239,7 @@ VISU::ColoredPrs3d_i GetComment()); CreateAttributes(GetStudyDocument(), aFatherEntry, - "", + GetIconName(), anIOR.in(), GetName(), "", diff --git a/src/VISU_I/VISU_ColoredPrs3d_i.hh b/src/VISU_I/VISU_ColoredPrs3d_i.hh index 5426ac7f..f9539a32 100644 --- a/src/VISU_I/VISU_ColoredPrs3d_i.hh +++ b/src/VISU_I/VISU_ColoredPrs3d_i.hh @@ -233,6 +233,11 @@ namespace VISU std::string GetHolderEntry(); + //---------------------------------------------------------------------------- + virtual + const char* + GetIconName() = 0; + //---------------------------------------------------------------------------- public: /*! @@ -384,10 +389,6 @@ namespace VISU bool CheckIsPossible() = 0; - virtual - const char* - GetIconName() = 0; - /*! Creates proper instance of VTK pipeline. */ diff --git a/src/VISU_I/VISU_CutLines_i.cc b/src/VISU_I/VISU_CutLines_i.cc index 8bb713a6..1602d29a 100644 --- a/src/VISU_I/VISU_CutLines_i.cc +++ b/src/VISU_I/VISU_CutLines_i.cc @@ -85,6 +85,16 @@ VISU::CutLines_i return myComment.c_str(); } +//---------------------------------------------------------------------------- +const char* +VISU::CutLines_i +::GetIconName() +{ + if (!IsGroupsUsed()) + return "ICON_TREE_CUT_LINES"; + else + return "ICON_TREE_CUT_LINES_GROUPS"; +} //--------------------------------------------------------------- VISU::CutLines_i:: diff --git a/src/VISU_I/VISU_DeformedShape_i.cc b/src/VISU_I/VISU_DeformedShape_i.cc index f5f7cfd5..38afca52 100644 --- a/src/VISU_I/VISU_DeformedShape_i.cc +++ b/src/VISU_I/VISU_DeformedShape_i.cc @@ -273,6 +273,15 @@ VISU::DeformedShape_i } +//--------------------------------------------------------------- +void +VISU::DeformedShape_i +::SetMapScale(double theMapScale) +{ + myDeformedShapePL->SetMapScale(theMapScale); +} + + //--------------------------------------------------------------- VISU_Actor* VISU::DeformedShape_i diff --git a/src/VISU_I/VISU_DumpPython.cc b/src/VISU_I/VISU_DumpPython.cc index 27534607..49736c11 100644 --- a/src/VISU_I/VISU_DumpPython.cc +++ b/src/VISU_I/VISU_DumpPython.cc @@ -724,7 +724,6 @@ namespace VISU } break; case VISU::TSCALARMAP: - case VISU::TPRSMERGER: if(ScalarMap_i* aServant = dynamic_cast(GetServant(anObj).in())){ thePrefix = ScalarMapToPython(theSObject,aServant,theStr,aName,"ScalarMapOnField",theArgumentName,thePrefix); theStr< -#include -#include -#include - -using namespace VISU; -using namespace std; - -#ifdef _DEBUG_ -static int MYDEBUG = 0; -#else -static int MYDEBUG = 0; -#endif - -static int INCMEMORY = 4; - -int VISU::PrsMerger_i::IsPossible(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity, - const char* theFieldName, int theIteration, int isMemoryCheck) -{ - try{ - float aSize = INCMEMORY* - theResult->GetInput()->GetTimeStampSize(theMeshName,(VISU::TEntity)theEntity,theFieldName,theIteration); - bool aResult = true; - if(isMemoryCheck){ - aResult = VISU_PipeLine::CheckAvailableMemory(aSize); - MESSAGE("PrsMerger_i::IsPossible - CheckAvailableMemory = "<GetStudyDocument()), - Prs3d_i(theResult,theAddToStudy), - ColoredPrs3d_i(theResult,theAddToStudy), - ScalarMap_i(theResult,theAddToStudy), - myPrsMergerPL(NULL), - myScalarsPL(VISU_ScalarMapPL::New()) -{ -} - -VISU::PrsMerger_i:: -PrsMerger_i(Result_i* theResult, - SALOMEDS::SObject_ptr theSObject): - PrsObject_i(theResult->GetStudyDocument()), - Prs3d_i(theResult,theSObject), - ColoredPrs3d_i(theResult,theSObject), - ScalarMap_i(theResult,theSObject), - myPrsMergerPL(NULL), - myScalarsPL(VISU_ScalarMapPL::New()) -{ -} - -VISU::Storable* VISU::PrsMerger_i::Create(const char* theMeshName, VISU::Entity theEntity, - const char* theFieldName, int theIteration) -{ - if (MYDEBUG) MESSAGE("PrsMerger_i::Create"); - myIsColored = true; - myColor.R = myColor.G = myColor.B = 0.5; - VISU::Storable* aRes = TSuperClass::Create(theMeshName,theEntity,theFieldName,theIteration); - this->SetScalarMap(theMeshName,theEntity,theFieldName,theIteration); - - return aRes; -} - -VISU::Storable* VISU::PrsMerger_i::Restore(const Storable::TRestoringMap& theMap) -{ - if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::Restore"); - - TSuperClass::Restore(theMap); - - SetScalarMap(myMeshName.c_str(), - VISU::Entity(myEntity), - myFieldName.c_str(), - myIteration); - // myMeshName = VISU::Storable::FindValue(theMap,"myMeshName").latin1(); - QStringList aStrSubMeshName = QStringList::split("|",VISU::Storable::FindValue(theMap,"myGeomNameList") ); - QStringList aStrEntity = QStringList::split("|",VISU::Storable::FindValue(theMap,"myGeomEntityList") ); - int aC1 = aStrSubMeshName.count(); - int aC2 = aStrEntity.count(); - if(aC1 != aC2){ - // warning situation - return this; - } - if(aC1 == 1) - if(aStrSubMeshName[0] == QString("NULL")) - return this; - - for(int i=0;i < aC2;i++){ - std::string aSubMeshName = aStrSubMeshName[i]; - int aEntity = aStrEntity[i].toInt(); - if(aEntity == -1){ - // add group - AddMeshOnGroup(myMeshName.c_str(), - aSubMeshName.c_str()); - } else if (aEntity >= 0){ - // entity and family - if(aSubMeshName == ""){ - // entity - SetMeshOnEntity(myMeshName.c_str(), - VISU::Entity(aEntity)); - } else { - // family - SetFamilyOnEntity(myMeshName.c_str(), - VISU::Entity(aEntity), - aSubMeshName.c_str()); - } - - } - } - - return this; -} - -void -VISU::PrsMerger_i -::SetMapScale(double theMapScale) -{ - myPrsMergerPL->SetMapScale(theMapScale); -} - -void VISU::PrsMerger_i::ToStream(std::ostringstream& theStr) -{ - if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::ToStream:"); - TSuperClass::ToStream(theStr); - - QString aStrSubMeshName,aStrEntity; - TNameAndEntityList::iterator aIter = myGeomNameEntityList.begin(); - for(;aIter!=myGeomNameEntityList.end();aIter++){ - std::string aStr = aIter->first + "|"; - aStrSubMeshName.append(aStr.c_str()); - aStrEntity.append(QString::number(aIter->second) + "|"); - } - - Storable::DataToStream( theStr, "myMeshName", myMeshName.c_str() ); - Storable::DataToStream( theStr, "myGeomNameList", aStrSubMeshName.latin1()); - Storable::DataToStream( theStr, "myGeomEntityList", aStrEntity.latin1()); - -} - -void VISU::PrsMerger_i::clearMeshList() -{ - VISU_PrsMergerPL::TPipeLines::const_iterator aIter = myMeshPLList.begin(); - for(int i=0;aIter != myMeshPLList.end();aIter++,i++){ - ((*aIter).GetPointer())->Delete(); - } - myMeshPLList.clear(); - myGeomNameEntityList.clear(); -} - -void VISU::PrsMerger_i::RemoveAllGeom() -{ - clearMeshList(); - myPrsMergerPL->RemoveAllGeom(); - - UpdateIcon(); -} - - -VISU::PrsMerger_i::~PrsMerger_i(){ - if(MYDEBUG) if (MYDEBUG) MESSAGE("PrsMerger_i::~PrsMerger_i()"); - this->clearMeshList(); -} - -void -VISU::PrsMerger_i -::SameAs(const Prs3d_i* theOrigin) -{ - if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::SameAs: this="<(theOrigin)){ - PrsMerger_i* anOrigin = const_cast(aPrs3d); - if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::SameAs: theOrigin="<SetScalarMap(myMeshName.c_str(),VISU::Entity(myEntity),myFieldName.c_str(),myIteration); - string_array_var aGroupNames = anOrigin->getGroupNames(); - RemoveAllGeom(); - for(int i=0;ilength();i++){ - this->AddMeshOnGroup(myMeshName.c_str(),aGroupNames[i]); - } - Update(); - } -} - -void VISU::PrsMerger_i::Update() -{ - TSuperClass::Update(); -} - -VISU_Actor* -VISU::PrsMerger_i -::CreateActor(const Handle(SALOME_InteractiveObject)& theIO, bool toSupressShrinking) -{ - if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::CreateActor this="<GetInput()->GetMeshOnGroup(theMeshName,theGroupName); - - VISU_MeshPL* aTmpMesh = VISU_MeshPL::New(); - aTmpMesh->SetIDMapper(anIDMapper); - - if(myPrsMergerPL->SetGeometry(aTmpMesh)){ - this->clearMeshList(); - myMeshPLList.push_back(aTmpMesh); - TPairStringAndInt aPair((std::string)theGroupName,-1); - myGeomNameEntityList.push_back(aPair); - } - else - aTmpMesh->Delete(); - - UpdateIcon(); -} - -CORBA::Long -VISU::PrsMerger_i:: -AddMeshOnGroup(const char* theMeshName, - const char* theGroupName) -{ - if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::AddMeshOnGroup |"<< theGroupName <<"| this="<GetInput()->GetMeshOnGroup(theMeshName,theGroupName); - if(!anIDMapper) - MESSAGE("Warning: There are no mesh with group=|"<Delete(); -} - -void -VISU::PrsMerger_i:: -SetScalarMap(const char* theMeshName, - const VISU::Entity theEntity, - const char* theFieldName, - CORBA::Long theStampsNum) -{ - if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::SetScalarMap this="<GetInput()->GetTimeStampOnMesh(theMeshName,(VISU::TEntity)theEntity,theFieldName,int(theStampsNum)); - - myEntity = (VISU::TEntity)theEntity; - myFieldName = theFieldName; - myIteration = theStampsNum; - - myScalarsPL->SetIDMapper(anIDMapper); - myPrsMergerPL->SetScalars(myScalarsPL); -} - -void -VISU::PrsMerger_i:: -SetScalarMap(VISU_PipeLine* thePipeLine) -{ - if (MYDEBUG) MESSAGE("VISU::PrsMerger_i::SetScalarMap"); - VISU_ScalarMapPL* aInputScalars = dynamic_cast(thePipeLine); - VISU::PIDMapper anIDMapper = aInputScalars->GetIDMapper(); - myScalarsPL->SetIDMapper(anIDMapper); - if(aInputScalars) - myPrsMergerPL->SetScalars(myScalarsPL); -} - -void -VISU::PrsMerger_i:: -RemoveGeometryByName(const char* theName) -{ - // not implemented yet. -} - -void -VISU::PrsMerger_i:: -RemoveGeometryById(CORBA::Long theId) -{ - if(myGeomNameEntityList.size() != myMeshPLList.size()){ - // warning situation. Some information lost - // check myGeomNameEntityList and myMeshPLList - } - - if(theId >=0 && (int)theId < myMeshPLList.size()){ - VISU_PrsMergerPL::TPipeLines::iterator aIter = myMeshPLList.begin(); - for(;aIter != myMeshPLList.end();aIter++){ - if( myMeshPLList[theId] == (*aIter)){ - myMeshPLList.erase(aIter); - break; - } - } - } - if(theId >=0 && (int)theId < myGeomNameEntityList.size()){ - TNameAndEntityList::iterator aIter = myGeomNameEntityList.begin(); - for(;aIter != myGeomNameEntityList.end();aIter++){ - if( myGeomNameEntityList[theId] == (*aIter) ){ - myGeomNameEntityList.erase(aIter); - break; - } - } - } - myPrsMergerPL->RemoveGeometryById((int)theId); -} - -void -VISU::PrsMerger_i -::DoHook(){ - if(!myPipeLine) myPipeLine = VISU_PrsMergerPL::New(); - myPrsMergerPL = dynamic_cast(myPipeLine); - myPipeLine->GetMapper()->SetScalarVisibility(IsColored()); - TSuperClass::DoHook(); -} - -const char* -VISU::PrsMerger_i -::GetIconName() -{ - if (!IsGroupsUsed()) - return "ICON_TREE_SCALAR_MAP"; - else - return "ICON_TREE_SCALAR_MAP_GROUPS"; -} - -void VISU::PrsMerger_i -::UpdateIcon() -{ - if (mySObject->_is_nil()) - return; - - SALOMEDS::StudyBuilder_var aStudyBuilder = myStudy->NewBuilder(); - - // Check if the icon needs to be updated, update if necessary - SALOMEDS::GenericAttribute_var anAttr; - SALOMEDS::AttributePixMap_var aPixmap; - - anAttr = aStudyBuilder->FindOrCreateAttribute( mySObject, "AttributePixMap" ); - aPixmap = SALOMEDS::AttributePixMap::_narrow( anAttr ); - - if ( aPixmap->GetPixMap() != (std::string)GetIconName() ) - aPixmap->SetPixMap(GetIconName()); - - // Update Object Browser - SUIT_Session* aSession = SUIT_Session::session(); - QPtrList anApplications = aSession->applications(); - QPtrListIterator anIter (anApplications); - while (SUIT_Application* aSApp = anIter.current()) { - SalomeApp_Application* anApp = dynamic_cast(aSApp); - if (!anApp) return; - SalomeApp_Study* aStudy = dynamic_cast(anApp->activeStudy()); - if (!aStudy) return; - if (_PTR(Study) aCStudy = aStudy->studyDS()) { - if (myStudy->StudyId() == aCStudy->StudyId()) { - anApp->updateObjectBrowser(); - break; - } - } - ++anIter; - } -} - -CORBA::Long -VISU::PrsMerger_i -::GetNumberOfGeom() -{ - if(myPrsMergerPL) - return myPrsMergerPL->GetNbGeometry(); - else - return 0; -} - -string_array* -VISU::PrsMerger_i -::getGroupNames() -{ - string_array_var myseq = new string_array; - if(myPrsMergerPL){ - vector aGroupNames; - TNameAndEntityList::const_iterator aIter = myGeomNameEntityList.begin(); - for(;aIter!=myGeomNameEntityList.end();aIter++){ - TPairStringAndInt aPair = (*aIter); - if(aPair.second == -1) - aGroupNames.push_back(aPair.first); - } - myseq->length(aGroupNames.size()); - vector::const_iterator aNamesIter = aGroupNames.begin(); - for(int i=0;aNamesIter!=aGroupNames.end();i++,aNamesIter++){ - myseq[i] = CORBA::string_dup((*aNamesIter).c_str()); - } - } - return myseq._retn(); -} - -bool -VISU::PrsMerger_i -::CheckGroup(const char* theGroupName) -{ - if (MYDEBUG) MESSAGE("PrsMerger_i::CheckGroup :|"<GetInput()->GetMeshOnGroup(aMeshName,theGroupName); - if (MYDEBUG) MESSAGE("anIDMapper="<GetVTKOutput()->GetNumberOfCells(); - if(aNbCellsInGeom>0){ - int aVtkCellType = anIDMapper->GetVTKOutput()->GetCellType(0); - if (MYDEBUG) MESSAGE("CellType="< TPairStringAndInt; - typedef std::vector TNameAndEntityList; - - explicit - PrsMerger_i(Result_i* theResult, - bool theAddToStudy); - explicit - PrsMerger_i(Result_i* theResult, - SALOMEDS::SObject_ptr theSObject); - virtual void SameAs(const Prs3d_i* theOrigin); - virtual ~PrsMerger_i(); - - virtual VISU::VISUType GetType() { return VISU::TPRSMERGER;}; - - virtual CORBA::Boolean IsColored() { return myIsColored; } - virtual void ShowColored(CORBA::Boolean theColored) { myIsColored = theColored; } - - virtual SALOMEDS::Color GetColor() { return myColor;} - virtual void SetColor(const SALOMEDS::Color& theColor) { myColor = theColor;} - - VISU_PrsMergerPL* GetPrsMergerPL(){ return myPrsMergerPL;} - - virtual void Update(); - - protected: - virtual void DoHook(); - virtual const char* GetIconName(); - void UpdateIcon(); - void clearMeshList(); - - VISU_PrsMergerPL* myPrsMergerPL; - VISU_PrsMergerPL::TPipeLines myMeshPLList; - VISU_ScalarMapPL* myScalarsPL; - - SALOMEDS::Color myColor; - bool myIsColored; - - /*! Warning! This variable must be maked as list, if - * you we will need in different mesh entities (ENTITY,FAMILY,GROUP) as geometries. - */ - TNameAndEntityList myGeomNameEntityList; - - public: - static int IsPossible(Result_i* theResult, const char* theMeshName, VISU::Entity theEntity, - const char* theFieldName, int theIteration, int isMemoryCheck = true); - - virtual Storable* Create(const char* theMeshName, VISU::Entity theEntity, - const char* theFieldName, int theIteration); - - virtual void ToStream(std::ostringstream& theStr); - - virtual Storable* Restore(const Storable::TRestoringMap& theMap); - - virtual - void - SetMapScale(double theMapScale = 1.0); - - static const std::string myComment; - virtual const char* GetComment() const; - virtual QString GenerateName(); - - virtual - VISU_Actor* - CreateActor(const Handle(SALOME_InteractiveObject)& theIO = NULL); - - virtual - VISU_Actor* - CreateActor(const Handle(SALOME_InteractiveObject)& theIO, bool toSupressShrinking); - - virtual void UpdateActor(VISU_Actor* theActor) ; - - /*! - * Sets geometry of mesh as group - */ - virtual void SetMeshOnGroup(const char* theMeshName, - const char* theGroupName); - - /*! - * Add geometry of mesh as group - * \retval the id of added group. - */ - virtual CORBA::Long AddMeshOnGroup(const char* theMeshName, - const char* theGroupName); - - /*! - * Remove geometry from list by Name - */ - virtual void RemoveGeometryByName(const char* theName); - - /*! - * Removes geometry from list by id - * Note: theId number in [0,...] - * - * Waring: if you delete not 0 element, others indexes will be increased. - * Example: - * 0,1,2,3,4 - indexes - * remove 2 index - * new sequence: - * 0,1,2,3,4 , where are 0 = 0, 1 = 1, 3 = 2, 4 = 3. - */ - virtual void RemoveGeometryById(CORBA::Long theId); - - - /*! - * Sets geometry of mesh as family on entity - */ - virtual void SetFamilyOnEntity(const char* theMeshName, - const VISU::Entity theEntity, - const char* theFamilyName); - - /*! - * Sets geometry of mesh as mesh on entity - */ - virtual void SetMeshOnEntity(const char* theMeshName, - const VISU::Entity theEntity); - - - /*! - * Sets scalars as scalar map - */ - virtual void SetScalarMap(const char* theMeshName, - VISU::Entity theEntity, - const char* theFieldName, - CORBA::Long theStampsNum); - - /*! - * Get number of geometries. - */ - CORBA::Long GetNumberOfGeom(); - - - /*! - * Get group names. - */ - string_array* getGroupNames(); - - /*! - * Sets scalars as scalar map - */ - void SetScalarMap(VISU_PipeLine* thePipeLine); - - /*! - * Removes all geometries. - */ - virtual void RemoveAllGeom(); - - - /*! Warning! - * see \a myGeomNameEntityList - */ - virtual CORBA::Long GetMeshGeometryPlace(CORBA::Long theId){return CORBA::Long(1);};// must bee filled - - /*! - * Return true, if group is good, esle false. - * May be used, if SetScalarMap(...) olready . - */ - bool CheckGroup(const char* theGroupName); - - }; - -} - -#endif diff --git a/src/VISU_I/VISU_ScalarMapOnDeformedShape_i.cc b/src/VISU_I/VISU_ScalarMapOnDeformedShape_i.cc index fffd1ae1..3b34e977 100644 --- a/src/VISU_I/VISU_ScalarMapOnDeformedShape_i.cc +++ b/src/VISU_I/VISU_ScalarMapOnDeformedShape_i.cc @@ -112,6 +112,16 @@ VISU::ScalarMapOnDeformedShape_i return myComment.c_str(); } +//---------------------------------------------------------------------------- +const char* +VISU::ScalarMapOnDeformedShape_i +::GetIconName() +{ + if (!IsGroupsUsed()) + return "ICON_TREE_SCALAR_MAP_ON_DEFORMED_SHAPE"; + else + return "ICON_TREE_SCALAR_MAP_ON_DEFORMED_SHAPE_GROUPS"; +} //--------------------------------------------------------------- VISU::ScalarMapOnDeformedShape_i diff --git a/src/VISU_I/VISU_ScalarMap_i.hh b/src/VISU_I/VISU_ScalarMap_i.hh index a258a799..b5d1bc7d 100644 --- a/src/VISU_I/VISU_ScalarMap_i.hh +++ b/src/VISU_I/VISU_ScalarMap_i.hh @@ -94,12 +94,6 @@ namespace VISU GetBarOrientation(); //---------------------------------------------------------------------------- - //! Sets geometry of mesh as group - virtual - void - SetMeshOnGroup(const char* theMeshName, - const char* theGroupName); - //! Add geometry of mesh as group. \retval the id of added group. virtual void diff --git a/src/VISU_I/VISU_Table_i.cc b/src/VISU_I/VISU_Table_i.cc index 190a0642..adce191e 100644 --- a/src/VISU_I/VISU_Table_i.cc +++ b/src/VISU_I/VISU_Table_i.cc @@ -248,7 +248,7 @@ VISU::Storable* VISU::Table_i::Build( int theRestoring ) string anEntry = CreateAttributes( GetStudyDocument(), SO->GetID(),//SComponent->GetID(), - "", + "ICON_TREE_TABLE", GetID(), GetName(), "", @@ -264,13 +264,6 @@ VISU::Storable* VISU::Table_i::Build( int theRestoring ) //Builder->Addreference( refSO, SO ); } - // Set icon - SALOMEDS::AttributePixMap_var aPixmap; - - anAttr = Builder->FindOrCreateAttribute( mySObj, "AttributePixMap" ); - aPixmap = SALOMEDS::AttributePixMap::_narrow( anAttr ); - aPixmap->SetPixMap("ICON_TREE_TABLE"); - return this; } return NULL; diff --git a/src/VISU_I/VISU_TimeAnimation.cxx b/src/VISU_I/VISU_TimeAnimation.cxx index b2df6051..73c609b3 100644 --- a/src/VISU_I/VISU_TimeAnimation.cxx +++ b/src/VISU_I/VISU_TimeAnimation.cxx @@ -197,7 +197,7 @@ bool VISU_TimeAnimation::addField (_PTR(SObject) theField) FieldData aNewData; aNewData.myField = theField; aNewData.myNbFrames = 0; - aNewData.myPrsType = VISU::TPRSMERGER; + aNewData.myPrsType = VISU::TSCALARMAP; aNewData.myOffset[0] = aNewData.myOffset[1] = aNewData.myOffset[2] = 0; VISU::Storable::TRestoringMap aMap = getMapOfValue(aNewData.myField); if(VISU::Storable::FindValue(aMap,"myComment") != QString("FIELD")) @@ -449,7 +449,6 @@ void VISU_TimeAnimation::generatePresentations(CORBA::Long theFieldNum) { using namespace VISU; switch (aData.myPrsType) { case VISU::TSCALARMAP: - case VISU::TPRSMERGER: // ScalarMap GeneratePresentations(myStudy, aData, aResult, @@ -1479,7 +1478,6 @@ std::string GetPresentationComment (VISU::VISUType thePrsType) std::string aPrsCmt; switch (thePrsType) { case VISU::TSCALARMAP: - case VISU::TPRSMERGER: aPrsCmt = VISU::ScalarMap_i::myComment; break; case VISU::TISOSURFACE: @@ -1669,7 +1667,7 @@ void VISU_TimeAnimation::restoreFromStudy(_PTR(SObject) theField) QString strName (aStr.c_str()); if (strName == VISU::ScalarMap_i::myComment.c_str()) - aData.myPrsType = VISU::TPRSMERGER; + aData.myPrsType = VISU::TSCALARMAP; else if (strName == VISU::IsoSurfaces_i::myComment.c_str()) aData.myPrsType = VISU::TISOSURFACE; else if (strName == VISU::CutPlanes_i::myComment.c_str()) diff --git a/src/VISU_I/VISU_View_i.cc b/src/VISU_I/VISU_View_i.cc index 5f04b6ff..add80327 100644 --- a/src/VISU_I/VISU_View_i.cc +++ b/src/VISU_I/VISU_View_i.cc @@ -2310,7 +2310,6 @@ namespace VISU { { VISU::VISUType aType = myPrs->GetType(); if (aType != VISU::TSCALARMAP && - aType != VISU::TPRSMERGER && aType != VISU::TDEFORMEDSHAPE && aType != VISU::TSCALARMAPONDEFORMEDSHAPE) { myResult = "Insideframe representation is not available for this type of presentations."; diff --git a/src/VISU_SWIG/Makefile.am b/src/VISU_SWIG/Makefile.am new file mode 100644 index 00000000..dbf8e24b --- /dev/null +++ b/src/VISU_SWIG/Makefile.am @@ -0,0 +1,68 @@ +# VISU VISU_SWIG : binding of C++ implementation and Python +# +# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# +# File : Makefile.am +# Author : Paul RASCLE, EDF +# Module : VISU + +include $(top_srcdir)/adm_local/unix/make_common_starter.am + +lib_LTLIBRARIES= libVISU_Swigcmodule.la +dist_libVISU_Swigcmodule_la_SOURCES= VISU_Gen_s.cc +nodist_libVISU_Swigcmodule_la_SOURCES= libVISU_Swig_wrap.cxx + +SWIG_DEF = libVISU_Swig.i +SWIG_FLAGS= @SWIG_FLAGS@ -I$(srcdir) + +libVISU_Swig.py: libVISU_Swig_wrap.cxx +libVISU_Swig_wrap.cxx: $(SWIG_DEF) + $(SWIG) $(SWIG_FLAGS) -o $@ $< + +libVISU_Swigcmodule_la_CPPFLAGS= \ + -ftemplate-depth-32 \ + $(PYTHON_INCLUDES) \ + $(HDF5_INCLUDES) \ + $(QT_INCLUDES) \ + $(VTK_INCLUDES) \ + $(KERNEL_CXXFLAGS) \ + $(GUI_CXXFLAGS) \ + $(MED_CXXFLAGS) \ + $(BOOST_CPPFLAGS) \ + -I$(srcdir)/../CONVERTOR -I$(srcdir)/../PIPELINE + +libVISU_Swigcmodule_la_LDFLAGS= $(PYTHON_LIBS) ../CONVERTOR/libVisuConvertor.la ../PIPELINE/libVisuPipeLine.la + +dist_salomescript_DATA= libVISU_Swig.py batchmode_visu.py batchmode_visu_table.py batchmode_visu_view3d.py \ + visu_med.py visu_view3d.py visu.py visu_gui.py visu_prs_example.py \ + visu_table.py visu_big_table.py visu_view.py visu_delete.py \ + visu_swig_test.py visu_split_views.py \ + visu_succcessive_animation.py visu_apply_properties.py visu_apply_properties_successive.py \ + VISU_Example_01.py VISU_Example_02.py VISU_Example_03.py VISU_Example_04.py \ + VISU_Example_05.py VISU_Example_06.py VISU_Example_07.py +dist_sharedpkgpython_DATA= VISU_shared_modules.py + +CLEANFILES= libVISU_Swig.py libVISU_Swig_wrap.cxx + +install-exec-hook: $(libdir)/_libVISU_Swig.so + +$(libdir)/_libVISU_Swig.so: + ln -sf $(libdir)/libVISU_Swigcmodule.la $@ diff --git a/src/VISU_SWIG/Makefile.in b/src/VISU_SWIG/Makefile.in index 6f1cc70a..21067c69 100644 --- a/src/VISU_SWIG/Makefile.in +++ b/src/VISU_SWIG/Makefile.in @@ -1,3 +1,19 @@ +# Makefile.in generated by automake 1.9.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + # VISU VISU_SWIG : binding of C++ implementation and Python # # Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, @@ -20,36 +36,374 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # # -# File : Makefile.in +# File : Makefile.am # Author : Paul RASCLE, EDF # Module : VISU -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@:@top_srcdir@/idl +# +# ============================================================ +# This file defines the common definitions used in several +# Makefile. This file must be included, if needed, by the file +# Makefile.am. +# ============================================================ +# -@COMMENCE@ +SOURCES = $(dist_libVISU_Swigcmodule_la_SOURCES) $(nodist_libVISU_Swigcmodule_la_SOURCES) -# Libraries targets +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = ../.. +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +target_triplet = @target@ +DIST_COMMON = $(dist_salomescript_DATA) $(dist_sharedpkgpython_DATA) \ + $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ + $(top_srcdir)/adm_local/unix/make_common_starter.am +subdir = ./src/VISU_SWIG +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_depend_flag.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_have_sstream.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_namespaces.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_option.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_cxx_use_std_iostream.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/ac_linker_options.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/acx_pthread.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_Kernel.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_boost.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_cas.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_corba.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_hdf5.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_htmlgen.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_mpich.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_omniorb.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_opengl.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_qt.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/check_swig.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/enable_pthreads.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/production.m4 \ + $(top_srcdir)/salome_adm/unix/config_files/python.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_CLEAN_FILES = +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(salomescriptdir)" \ + "$(DESTDIR)$(sharedpkgpythondir)" +libLTLIBRARIES_INSTALL = $(INSTALL) +LTLIBRARIES = $(lib_LTLIBRARIES) +libVISU_Swigcmodule_la_LIBADD = +dist_libVISU_Swigcmodule_la_OBJECTS = \ + libVISU_Swigcmodule_la-VISU_Gen_s.lo +nodist_libVISU_Swigcmodule_la_OBJECTS = \ + libVISU_Swigcmodule_la-libVISU_Swig_wrap.lo +libVISU_Swigcmodule_la_OBJECTS = \ + $(dist_libVISU_Swigcmodule_la_OBJECTS) \ + $(nodist_libVISU_Swigcmodule_la_OBJECTS) +DEFAULT_INCLUDES = -I. -I$(srcdir) +depcomp = $(SHELL) $(top_srcdir)/salome_adm/unix/config_files/depcomp +am__depfiles_maybe = depfiles +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +SOURCES = $(dist_libVISU_Swigcmodule_la_SOURCES) \ + $(nodist_libVISU_Swigcmodule_la_SOURCES) +DIST_SOURCES = $(dist_libVISU_Swigcmodule_la_SOURCES) +dist_salomescriptDATA_INSTALL = $(INSTALL_DATA) +dist_sharedpkgpythonDATA_INSTALL = $(INSTALL_DATA) +DATA = $(dist_salomescript_DATA) $(dist_sharedpkgpython_DATA) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BOOST_CPPFLAGS = @BOOST_CPPFLAGS@ +BOOST_LIBS = @BOOST_LIBS@ +BOOST_LIBSUFFIX = @BOOST_LIBSUFFIX@ +BOOST_PROGRAM_OPTIONS_LIB = @BOOST_PROGRAM_OPTIONS_LIB@ +CAS_CPPFLAGS = @CAS_CPPFLAGS@ +CAS_CXXFLAGS = @CAS_CXXFLAGS@ +CAS_DATAEXCHANGE = @CAS_DATAEXCHANGE@ +CAS_KERNEL = @CAS_KERNEL@ +CAS_LDFLAGS = @CAS_LDFLAGS@ +CAS_LDPATH = @CAS_LDPATH@ +CAS_MATH = @CAS_MATH@ +CAS_MODELER = @CAS_MODELER@ +CAS_OCAF = @CAS_OCAF@ +CAS_OCAFVIS = @CAS_OCAFVIS@ +CAS_STDPLUGIN = @CAS_STDPLUGIN@ +CAS_TKTopAlgo = @CAS_TKTopAlgo@ +CAS_VIEWER = @CAS_VIEWER@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CORBA_CXXFLAGS = @CORBA_CXXFLAGS@ +CORBA_INCLUDES = @CORBA_INCLUDES@ +CORBA_IN_GUI = @CORBA_IN_GUI@ +CORBA_LIBS = @CORBA_LIBS@ +CORBA_ROOT = @CORBA_ROOT@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CXX_DEPEND_FLAG = @CXX_DEPEND_FLAG@ +CYGPATH_W = @CYGPATH_W@ +C_DEPEND_FLAG = @C_DEPEND_FLAG@ +DEFS = @DEFS@ +DEPCC = @DEPCC@ +DEPCXX = @DEPCXX@ +DEPCXXFLAGS = @DEPCXXFLAGS@ +DEPDIR = @DEPDIR@ +DOT = @DOT@ +DOXYGEN = @DOXYGEN@ +DOXYGEN_WITH_PYTHON = @DOXYGEN_WITH_PYTHON@ +DOXYGEN_WITH_STL = @DOXYGEN_WITH_STL@ +DVIPS = @DVIPS@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GUI_CXXFLAGS = @GUI_CXXFLAGS@ +GUI_LDFLAGS = @GUI_LDFLAGS@ +GUI_ROOT_DIR = @GUI_ROOT_DIR@ +HAVE_SSTREAM = @HAVE_SSTREAM@ +HDF5_INCLUDES = @HDF5_INCLUDES@ +HDF5_LIBS = @HDF5_LIBS@ +HDF5_MT_LIBS = @HDF5_MT_LIBS@ +IDL = @IDL@ +IDLCXXFLAGS = @IDLCXXFLAGS@ +IDLPYFLAGS = @IDLPYFLAGS@ +IDL_CLN_CXX = @IDL_CLN_CXX@ +IDL_CLN_H = @IDL_CLN_H@ +IDL_CLN_OBJ = @IDL_CLN_OBJ@ +IDL_SRV_CXX = @IDL_SRV_CXX@ +IDL_SRV_H = @IDL_SRV_H@ +IDL_SRV_OBJ = @IDL_SRV_OBJ@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KERNEL_CXXFLAGS = @KERNEL_CXXFLAGS@ +KERNEL_LDFLAGS = @KERNEL_LDFLAGS@ +KERNEL_ROOT_DIR = @KERNEL_ROOT_DIR@ +KERNEL_SITE_DIR = @KERNEL_SITE_DIR@ +LATEX = @LATEX@ +LDEXPDYNFLAGS = @LDEXPDYNFLAGS@ +LDFLAGS = @LDFLAGS@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_LOCATION_SUFFIX = @LIB_LOCATION_SUFFIX@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MACHINE = @MACHINE@ +MAKEINFO = @MAKEINFO@ +MED_CXXFLAGS = @MED_CXXFLAGS@ +MED_LDFLAGS = @MED_LDFLAGS@ +MED_ROOT_DIR = @MED_ROOT_DIR@ +MOC = @MOC@ +MODULE_NAME = @MODULE_NAME@ +MSG2QM = @MSG2QM@ +OBJEXT = @OBJEXT@ +OGL_INCLUDES = @OGL_INCLUDES@ +OGL_LIBS = @OGL_LIBS@ +OMNIORB_CXXFLAGS = @OMNIORB_CXXFLAGS@ +OMNIORB_IDL = @OMNIORB_IDL@ +OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ +OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ +OMNIORB_IDL_CLN_CXX = @OMNIORB_IDL_CLN_CXX@ +OMNIORB_IDL_CLN_H = @OMNIORB_IDL_CLN_H@ +OMNIORB_IDL_CLN_OBJ = @OMNIORB_IDL_CLN_OBJ@ +OMNIORB_IDL_SRV_CXX = @OMNIORB_IDL_SRV_CXX@ +OMNIORB_IDL_SRV_H = @OMNIORB_IDL_SRV_H@ +OMNIORB_IDL_SRV_OBJ = @OMNIORB_IDL_SRV_OBJ@ +OMNIORB_IDL_TIE_CXX = @OMNIORB_IDL_TIE_CXX@ +OMNIORB_IDL_TIE_H = @OMNIORB_IDL_TIE_H@ +OMNIORB_INCLUDES = @OMNIORB_INCLUDES@ +OMNIORB_LIBS = @OMNIORB_LIBS@ +OMNIORB_ROOT = @OMNIORB_ROOT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PDFLATEX = @PDFLATEX@ +PTHREAD_CC = @PTHREAD_CC@ +PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_LIBS = @PTHREAD_LIBS@ +PYTHON = @PYTHON@ +PYTHONHOME = @PYTHONHOME@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_INCLUDES = @PYTHON_INCLUDES@ +PYTHON_LIBS = @PYTHON_LIBS@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_SITE = @PYTHON_SITE@ +PYTHON_SITE_EXEC = @PYTHON_SITE_EXEC@ +PYTHON_SITE_INSTALL = @PYTHON_SITE_INSTALL@ +PYTHON_SITE_PACKAGE = @PYTHON_SITE_PACKAGE@ +PYTHON_VERSION = @PYTHON_VERSION@ +QTDIR = @QTDIR@ +QT_INCLUDES = @QT_INCLUDES@ +QT_LIBS = @QT_LIBS@ +QT_MT_INCLUDES = @QT_MT_INCLUDES@ +QT_MT_LIBS = @QT_MT_LIBS@ +QT_ROOT = @QT_ROOT@ +QT_VERS = @QT_VERS@ +QWT_INCLUDES = @QWT_INCLUDES@ +QWT_LIBS = @QWT_LIBS@ +RANLIB = @RANLIB@ +ROOT_BUILDDIR = @ROOT_BUILDDIR@ +ROOT_SRCDIR = @ROOT_SRCDIR@ +RST2HTML = @RST2HTML@ +RST2HTML_IS_OK_FALSE = @RST2HTML_IS_OK_FALSE@ +RST2HTML_IS_OK_TRUE = @RST2HTML_IS_OK_TRUE@ +SETX = @SETX@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STDLIB = @STDLIB@ +STRIP = @STRIP@ +SWIG = @SWIG@ +SWIG_FLAGS = @SWIG_FLAGS@ -I$(srcdir) +TEMP = @TEMP@ +UIC = @UIC@ +VERSION = @VERSION@ +VTKPY_MODULES = @VTKPY_MODULES@ +VTK_INCLUDES = @VTK_INCLUDES@ +VTK_LIBS = @VTK_LIBS@ +XVERSION = @XVERSION@ +YACC = @YACC@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +acx_pthread_config = @acx_pthread_config@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = $(prefix)/bin/@PACKAGE@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = $(prefix)/lib@LIB_LOCATION_SUFFIX@/@PACKAGE@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target = @target@ +target_alias = @target_alias@ +target_cpu = @target_cpu@ +target_os = @target_os@ +target_vendor = @target_vendor@ -LIB = libVISU_Swigcmodule.la -LIB_SRC = VISU_Gen_s.cc -SWIG_FLAGS += +# Standard directory for installation +salomeincludedir = $(includedir)/@PACKAGE@ +purebindir = $(prefix)/bin +salomescriptdir = $(bindir) -SWIG_DEF = libVISU_Swig.i -EXPORT_PYSCRIPTS = libVISU_Swig.py batchmode_visu.py batchmode_visu_table.py batchmode_visu_view3d.py \ - visu_med.py visu_view3d.py visu.py visu_gui.py visu_prs_example.py \ - visu_table.py visu_big_table.py visu_view.py visu_delete.py \ - visu_swig_test.py visu_split_views.py visu_change_input.py visu_cache.py \ - VISU_Example_01.py VISU_Example_02.py VISU_Example_03.py VISU_Example_04.py \ - VISU_Example_05.py VISU_Example_06.py VISU_Example_07.py -EXPORT_SHAREDPYSCRIPTS = VISU_shared_modules.py +# Tests environment folders +testsenvirondir = $(prefix)/Tests/environ +testsenvironcshdir = $(prefix)/Tests/environ/csh -LIB_CLIENT_IDL = +# Directory for installing idl files +salomeidldir = $(prefix)/idl/@PACKAGE@ -CPPFLAGS += -ftemplate-depth-32 \ +# Directory for installing resource files +salomeresdir = $(prefix)/share/@PACKAGE@/resources/@MODULE_NAME@ + +# Directories for installing admin files +admlocaldir = $(prefix)/adm_local +admlocalunixdir = $(admlocaldir)/unix +admlocalm4dir = $(admlocaldir)/unix/config_files + +# Shared modules installation directory +sharedpkgpythondir = $(pkgpythondir)/shared_modules + +# Documentation directory +docdir = $(datadir)/doc/@PACKAGE@ +EXTRA_DIST = $(MOC_FILES:%_moc.cxx=%.h) $(nodist_salomeres_DATA:%.qm=%.po) +lib_LTLIBRARIES = libVISU_Swigcmodule.la +dist_libVISU_Swigcmodule_la_SOURCES = VISU_Gen_s.cc +nodist_libVISU_Swigcmodule_la_SOURCES = libVISU_Swig_wrap.cxx +SWIG_DEF = libVISU_Swig.i +libVISU_Swigcmodule_la_CPPFLAGS = \ + -ftemplate-depth-32 \ $(PYTHON_INCLUDES) \ $(HDF5_INCLUDES) \ $(QT_INCLUDES) \ @@ -57,8 +411,403 @@ CPPFLAGS += -ftemplate-depth-32 \ $(KERNEL_CXXFLAGS) \ $(GUI_CXXFLAGS) \ $(MED_CXXFLAGS) \ - $(BOOST_CPPFLAGS) + $(BOOST_CPPFLAGS) \ + -I$(srcdir)/../CONVERTOR -I$(srcdir)/../PIPELINE + +libVISU_Swigcmodule_la_LDFLAGS = $(PYTHON_LIBS) ../CONVERTOR/libVisuConvertor.la ../PIPELINE/libVisuPipeLine.la +dist_salomescript_DATA = libVISU_Swig.py batchmode_visu.py batchmode_visu_table.py batchmode_visu_view3d.py \ + visu_med.py visu_view3d.py visu.py visu_gui.py visu_prs_example.py \ + visu_table.py visu_big_table.py visu_view.py visu_delete.py \ + visu_swig_test.py visu_split_views.py \ + visu_succcessive_animation.py visu_apply_properties.py visu_apply_properties_successive.py \ + VISU_Example_01.py VISU_Example_02.py VISU_Example_03.py VISU_Example_04.py \ + VISU_Example_05.py VISU_Example_06.py VISU_Example_07.py + +dist_sharedpkgpython_DATA = VISU_shared_modules.py +CLEANFILES = libVISU_Swig.py libVISU_Swig_wrap.cxx +all: all-am + +.SUFFIXES: +.SUFFIXES: .cc .cxx .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/adm_local/unix/make_common_starter.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ./src/VISU_SWIG/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu ./src/VISU_SWIG/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)" + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + if test -f $$p; then \ + f=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ + $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ + else :; fi; \ + done + +uninstall-libLTLIBRARIES: + @$(NORMAL_UNINSTALL) + @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + p=$(am__strip_dir) \ + echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ + $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ + done + +clean-libLTLIBRARIES: + -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) + @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ + dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ + test "$$dir" != "$$p" || dir=.; \ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +libVISU_Swigcmodule.la: $(libVISU_Swigcmodule_la_OBJECTS) $(libVISU_Swigcmodule_la_DEPENDENCIES) + $(CXXLINK) -rpath $(libdir) $(libVISU_Swigcmodule_la_LDFLAGS) $(libVISU_Swigcmodule_la_OBJECTS) $(libVISU_Swigcmodule_la_LIBADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_Swigcmodule_la-VISU_Gen_s.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVISU_Swigcmodule_la-libVISU_Swig_wrap.Plo@am__quote@ + +.cc.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cc.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cc.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +libVISU_Swigcmodule_la-VISU_Gen_s.lo: VISU_Gen_s.cc +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_Swigcmodule_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_Swigcmodule_la-VISU_Gen_s.lo -MD -MP -MF "$(DEPDIR)/libVISU_Swigcmodule_la-VISU_Gen_s.Tpo" -c -o libVISU_Swigcmodule_la-VISU_Gen_s.lo `test -f 'VISU_Gen_s.cc' || echo '$(srcdir)/'`VISU_Gen_s.cc; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_Swigcmodule_la-VISU_Gen_s.Tpo" "$(DEPDIR)/libVISU_Swigcmodule_la-VISU_Gen_s.Plo"; else rm -f "$(DEPDIR)/libVISU_Swigcmodule_la-VISU_Gen_s.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='VISU_Gen_s.cc' object='libVISU_Swigcmodule_la-VISU_Gen_s.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_Swigcmodule_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_Swigcmodule_la-VISU_Gen_s.lo `test -f 'VISU_Gen_s.cc' || echo '$(srcdir)/'`VISU_Gen_s.cc + +libVISU_Swigcmodule_la-libVISU_Swig_wrap.lo: libVISU_Swig_wrap.cxx +@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_Swigcmodule_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVISU_Swigcmodule_la-libVISU_Swig_wrap.lo -MD -MP -MF "$(DEPDIR)/libVISU_Swigcmodule_la-libVISU_Swig_wrap.Tpo" -c -o libVISU_Swigcmodule_la-libVISU_Swig_wrap.lo `test -f 'libVISU_Swig_wrap.cxx' || echo '$(srcdir)/'`libVISU_Swig_wrap.cxx; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/libVISU_Swigcmodule_la-libVISU_Swig_wrap.Tpo" "$(DEPDIR)/libVISU_Swigcmodule_la-libVISU_Swig_wrap.Plo"; else rm -f "$(DEPDIR)/libVISU_Swigcmodule_la-libVISU_Swig_wrap.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='libVISU_Swig_wrap.cxx' object='libVISU_Swigcmodule_la-libVISU_Swig_wrap.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVISU_Swigcmodule_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVISU_Swigcmodule_la-libVISU_Swig_wrap.lo `test -f 'libVISU_Swig_wrap.cxx' || echo '$(srcdir)/'`libVISU_Swig_wrap.cxx + +.cxx.o: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< + +.cxx.obj: +@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cxx.lo: +@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \ +@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: +install-dist_salomescriptDATA: $(dist_salomescript_DATA) + @$(NORMAL_INSTALL) + test -z "$(salomescriptdir)" || $(mkdir_p) "$(DESTDIR)$(salomescriptdir)" + @list='$(dist_salomescript_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_salomescriptDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(salomescriptdir)/$$f'"; \ + $(dist_salomescriptDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(salomescriptdir)/$$f"; \ + done + +uninstall-dist_salomescriptDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_salomescript_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(salomescriptdir)/$$f'"; \ + rm -f "$(DESTDIR)$(salomescriptdir)/$$f"; \ + done +install-dist_sharedpkgpythonDATA: $(dist_sharedpkgpython_DATA) + @$(NORMAL_INSTALL) + test -z "$(sharedpkgpythondir)" || $(mkdir_p) "$(DESTDIR)$(sharedpkgpythondir)" + @list='$(dist_sharedpkgpython_DATA)'; for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + f=$(am__strip_dir) \ + echo " $(dist_sharedpkgpythonDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(sharedpkgpythondir)/$$f'"; \ + $(dist_sharedpkgpythonDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(sharedpkgpythondir)/$$f"; \ + done + +uninstall-dist_sharedpkgpythonDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_sharedpkgpython_DATA)'; for p in $$list; do \ + f=$(am__strip_dir) \ + echo " rm -f '$(DESTDIR)$(sharedpkgpythondir)/$$f'"; \ + rm -f "$(DESTDIR)$(sharedpkgpythondir)/$$f"; \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(mkdir_p) $(distdir)/../../adm_local/unix + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(DATA) +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(salomescriptdir)" "$(DESTDIR)$(sharedpkgpythondir)"; do \ + test -z "$$dir" || $(mkdir_p) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-libtool distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +info: info-am + +info-am: + +install-data-am: install-dist_salomescriptDATA \ + install-dist_sharedpkgpythonDATA + +install-exec-am: install-libLTLIBRARIES + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook + +install-info: install-info-am + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool mostlyclean-local + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-dist_salomescriptDATA \ + uninstall-dist_sharedpkgpythonDATA uninstall-info-am \ + uninstall-libLTLIBRARIES + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libLTLIBRARIES clean-libtool ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am \ + install-dist_salomescriptDATA install-dist_sharedpkgpythonDATA \ + install-exec install-exec-am install-exec-hook install-info \ + install-info-am install-libLTLIBRARIES install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + mostlyclean-local pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-dist_salomescriptDATA \ + uninstall-dist_sharedpkgpythonDATA uninstall-info-am \ + uninstall-libLTLIBRARIES + + +# common rules + +# moc-files generation +%_moc.cxx: %.h + $(MOC) $< -o $@ + +# qm-files generation +%.qm: %.po + $(MSG2QM) $< $@ + +mostlyclean-local: + rm -f @builddir@/*_moc.cxx + rm -f @builddir@/*.qm + +# tests +tests: unittest + +unittest: $(UNIT_TEST_PROG) + @if test "x$(UNIT_TEST_PROG)" != "x"; then \ + $(UNIT_TEST_PROG); \ + fi; + +libVISU_Swig.py: libVISU_Swig_wrap.cxx +libVISU_Swig_wrap.cxx: $(SWIG_DEF) + $(SWIG) $(SWIG_FLAGS) -o $@ $< -LDFLAGS += $(PYTHON_LIBS) -lVisuConvertor -lVisuPipeLine +install-exec-hook: $(libdir)/_libVISU_Swig.so -@CONCLUDE@ +$(libdir)/_libVISU_Swig.so: + ln -sf $(libdir)/libVISU_Swigcmodule.la $@ +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/VISU_SWIG/VISU_Example_02.py b/src/VISU_SWIG/VISU_Example_02.py index a65f4e50..cfe0ab77 100644 --- a/src/VISU_SWIG/VISU_Example_02.py +++ b/src/VISU_SWIG/VISU_Example_02.py @@ -27,6 +27,7 @@ import visu_gui import SALOMEDS import VISU import os +import sys medFile = os.getenv("DATA_DIR") + "/MedFiles/fra.med" @@ -244,7 +245,12 @@ study_id = salome.myStudy._get_StudyId() print "OK" file_new = str+'/VISU_005_new.hdf' -command = "mv " + file + " " + file_new + +if not sys.platform == "win32": + command = "mv " + file + " " + file_new +else: + command = "move /Y " + file + " " + file_new + os.system(command) file = file_new @@ -375,5 +381,8 @@ if aRestoreRes != 1 : print "Error" else : print "OK" # Remove the study file -command = "rm -r " + file +if not sys.platform == "win32": + command = "rm -r " + file +else: + command = "del /F " + file os.system(command) diff --git a/src/VISU_SWIG/VISU_shared_modules.py b/src/VISU_SWIG/VISU_shared_modules.py index f802f0ac..e7d7f454 100644 --- a/src/VISU_SWIG/VISU_shared_modules.py +++ b/src/VISU_SWIG/VISU_shared_modules.py @@ -25,7 +25,9 @@ # see salome_shared_modules.py # (avoids incomplete import at run time) -print "============== import VISU =======================" +from launchConfigureParser import verbose + +if verbose(): print "============== import VISU =======================" import VISU diff --git a/src/VISU_SWIG/visu.py b/src/VISU_SWIG/visu.py index 7e7b0e71..6399836b 100644 --- a/src/VISU_SWIG/visu.py +++ b/src/VISU_SWIG/visu.py @@ -465,8 +465,8 @@ def CreatePrsForResult(theVisu, theResult, theView, thePrsTypeList, thePictureDi aFieldName = anAttr.Value() print " ", aFieldName - anAttr = aFieldSObj.FindAttribute("AttributeComment")[1] - anAttr = anAttr._narrow(SALOMEDS.AttributeComment); + anAttr = aFieldSObj.FindAttribute("AttributeString")[1] + anAttr = anAttr._narrow(SALOMEDS.AttributeString); aFieldComment = anAttr.Value() aMap = StrToMap(aFieldComment) @@ -481,8 +481,8 @@ def CreatePrsForResult(theVisu, theResult, theView, thePrsTypeList, thePictureDi aTimeStampName = anAttr.Value() print " ", aTimeStampName - anAttr = aTimeStampSObj.FindAttribute("AttributeComment")[1] - anAttr = anAttr._narrow(SALOMEDS.AttributeComment); + anAttr = aTimeStampSObj.FindAttribute("AttributeString")[1] + anAttr = anAttr._narrow(SALOMEDS.AttributeString); aTimeStampComment = anAttr.Value() aMap = StrToMap(aTimeStampComment) aMeshName = aMap["myMeshName"] @@ -643,6 +643,26 @@ def CreatePrsForResult(theVisu, theResult, theView, thePrsTypeList, thePictureDi aPrsObj.RemoveFromStudy() else : aVISUObjList.append(aPrsObj) + + if HasValue(thePrsTypeList,VISU.TGAUSSPOINTS) : + print " Creating GaussPointsOnField", + aPrsObj = theVisu.GaussPointsOnField(theResult,aMeshName,anEntity,aFieldName,aTimeStampId) + if aPrsObj is None : print "Error" + else : + print ",OK" + theView.DisplayOnly(aPrsObj) + theView.FitAll() + aPictureName = thePictureDir + aMeshNamePic + "_" + anEntityId + "_" + aFieldName + "_" + str(aTimeStampId) + "_TGAUSSPOINTS." + thePictureExt + aPictureName = re.sub("\s+","_", aPictureName) + theView.SavePicture(aPictureName) + if theIsAutoDelete : + aPrsObj.RemoveFromStudy() + pass + else : + aVISUObjList.append(aPrsObj) + pass + pass + pass return aVISUObjList @@ -953,7 +973,7 @@ def try_vectors_parameters(thePattern, theNum): return anObj -def dump_vetctors_parameters(theObject): +def dump_vectors_parameters(theObject): dump_deformedshape_parameters(theObject) @@ -986,6 +1006,96 @@ def dump_isosurfaces_parameters(theObject): dump_scalarmap_parameters(theObject) print "GetNbSurfaces() = "+ str(theObject.GetNbSurfaces()) +# ---------------------------- +# SCALAR MAP ON DEFORMED SHAPE +# ---------------------------- +def dump_scalarmapondeformedshape_parameters(theObject): + dump_scalarmap_parameters(theObject) + print "GetScale() =", theObject.GetScale() + print "GetScalarCMeshName ()=|",theObject.GetScalarCMeshName(),"|" + print "GetScalarCFieldName()=|",theObject.GetScalarCFieldName(),"|" + print "GetScalarEEntity() =",theObject.GetScalarEEntity() + print "GetScalarLIteration()=",theObject.GetScalarLIteration() + pass + +def try_scalarmapondeformedshape_parameters(thePattern): + + if thePattern is None : return None + import copy + import random + + anObj = try_scalarmap_parameters(thePattern) + + # --- SCALING --- + print + anObj.SetScale( anObj.GetScale()/random.random()*random.randint(1,10)) + + # --- Scalar Field --- + # not implemented yet. + + return anObj +# ---------------------- +# PLOT 3D +# ---------------------- +def dump_plot3d_parameters(theObject): + dump_scalarmap_parameters(theObject) + print "GetOrientationType()=",str(theObject.GetOrientationType()) + print "GetRotateX()=",theObject.GetRotateX() + print "GetRotateY()=",theObject.GetRotateY() + print "GetPlanePosition()=",theObject.GetPlanePosition() + print "IsPositionRelative()=",theObject.IsPositionRelative() + print "GetScaleFactor()=",theObject.GetScaleFactor() + print "GetIsContourPrs()=",theObject.GetIsContourPrs() + print "GetNbOfContours()=",theObject.GetNbOfContours() + pass + +def try_plot3d_parameters(thePattern): + if thePattern is None : return None + import random + + anObj = try_scalarmap_parameters(thePattern) + + ORIENT = [VISU.Plot3D.XY, VISU.Plot3D.YZ, VISU.Plot3D.ZX] + + theXAngle = random.random()*random.randint(-180,180) + theYAngle = random.random()*random.randint(-180,180) + + # ORIENTATION and ANGLES + anObj.SetOrientation(ORIENT[random.randint(0,2)],theXAngle,theYAngle) + + # Plane position (revative) + anObj.SetPlanePosition(random.random(),1) + + # SCALE FACTOR + anObj.SetScaleFactor(random.random()*random.randint(-10000,10000)) + + # CONTOUR PRS + anObj.SetContourPrs(random.randint(0,1)) + if anObj.GetIsContourPrs(): + anObj.SetNbOfContours(random.randint(1,999)) + pass + + pass + +# ---------------------- +# Gauss points +# ---------------------- +def dump_gausspoints_parameters(theObject): + + print "\tGetScalarMode() = " + str(anObj.GetScalarMode()) + print "\tGetMin() = " + str(anObj.GetMin()) + " GetMax() = " + str (anObj.GetMax()) + print "\tGetPosX() = ", str(anObj.GetPosX()) + " GetPosY() = ", str(anObj.GetPosY()) + print "\tGetWidth() = ", str ( anObj.GetWidth()) + " GetHeight() = " + str(anObj.GetHeight()) + print "\tGetNbColors() = " + str(anObj.GetNbColors()) + print "\tGetLabels() = " + str(anObj.GetLabels()) + print "\tGetTitle() = " + str(anObj.GetTitle()) + pass + +def try_plot3d_parameters(thePattern): + if thePattern is None : return None + import random + + pass # ---------------------- # TABLES AND CURVES diff --git a/src/VISU_SWIG/visu_apply_properties.py b/src/VISU_SWIG/visu_apply_properties.py new file mode 100644 index 00000000..cdf8b6f6 --- /dev/null +++ b/src/VISU_SWIG/visu_apply_properties.py @@ -0,0 +1,119 @@ +# VISU VISU_SWIG : binding of C++ implementation and Python +# +# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# File : visu_apply_properties.py +# Module : VISU + +import os +import time +import math +import VISU +import SALOMEDS +from visu_gui import * + +aDelay = 0 + +myViewManager = myVisu.GetViewManager(); + +myView = myViewManager.Create3DView(); +myView.SetTitle("The viewer for Animation") +print "myViewManager.Create3DView()" +time.sleep(aDelay) + +medFile = "TimeStamps.med" +myFieldName = "temperature" + +medFile = os.getenv('DATA_DIR') + '/MedFiles/' + medFile +myResult = myVisu.ImportFile(medFile) + +anAnim = myVisu.CreateAnimation(myView); + +aSObj = myStudy.FindObjectIOR(myResult.GetID()) +aSObj = aSObj.FindSubObject(1)[1] +aSObj = aSObj.FindSubObject(3)[1] +aSObj = aSObj.FindSubObject(1)[1] +print "addField 1 : ", anAnim.addField(aSObj) + +print "Generate presentations for ", anAnim.getNbFields(), " fields" +for i in range(0,anAnim.getNbFields()): + anAnim.setPresentationType(i,VISU.TPLOT3D) + anAnim.generatePresentations(i) + +print "Generate frames" +anAnim.generateFrames() + +print "Start Animation" +anAnim.setSpeed(22) +anAnim.startAnimation() +myView.FitAll() + +while 1: + time.sleep(1+aDelay) + if not anAnim.isRunning(): + anAnim.stopAnimation() + break + +anAnim.publishInStudy() +anAnim.saveAnimation() + +for i in range(0,anAnim.getNbFields()): + aPrs = anAnim.getPresentation(i,0) + aPlot3D = aPrs._narrow(VISU.Plot3D) + + if aPlot3D: + aNbLabels = aPlot3D.GetLabels() + aPlot3D.SetLabels(aNbLabels+3) + + aWidth = aPlot3D.GetWidth() + aHeight = aPlot3D.GetHeight() + aPlot3D.SetSize(aWidth+0.07,aHeight+0.07) + + print "Apply properties for all time stamps of ", i, " field." + try: + anAnim.ApplyProperties(i,aPlot3D) + except SALOME.SALOME_Exception, inst: + msg = "SALOME.SALOME_Exception caught, see details:" + msg+="\n******* text:\t" + inst.details.text + msg+="\n******* type:\t" + str(inst.details.type) + msg+="\n******* where:\t" + inst.details.sourceFile + ":" + \ + str(inst.details.lineNumber) + print msg + raise RuntimeError, "There are some errors were occured... For more info see ERRORs above..." + +print "Generate frames" +anAnim.generateFrames() + +print "Start Animation" +anAnim.startAnimation() +myView.FitAll() + +while 1: + time.sleep(1+aDelay) + if not anAnim.isRunning(): + anAnim.stopAnimation() + break + +anAnim.publishInStudy() +anAnim.saveAnimation() + +anAnim.clearFields() +print "The number of fields in animation after clearFields method is", anAnim.getNbFields() + diff --git a/src/VISU_SWIG/visu_apply_properties_successive.py b/src/VISU_SWIG/visu_apply_properties_successive.py new file mode 100644 index 00000000..b1f931a0 --- /dev/null +++ b/src/VISU_SWIG/visu_apply_properties_successive.py @@ -0,0 +1,135 @@ +# VISU VISU_SWIG : binding of C++ implementation and Python +# +# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# File : visu_apply_properties_consecutive.py +# Module : VISU + +import os +import time +import math +import VISU +import SALOMEDS +from visu_gui import * + +aDelay = 0 + +myViewManager = myVisu.GetViewManager(); + +myView = myViewManager.Create3DView(); +myView.SetTitle("The viewer for Animation") +print "myViewManager.Create3DView()" +time.sleep(aDelay) + +medFile = "TimeStamps.med" +myFieldName = "temperature" + +medFile = os.getenv('DATA_DIR') + '/MedFiles/' + medFile +myResult = myVisu.ImportFile(medFile) + +anAnim = myVisu.CreateAnimation(myView); +anAnim.setAnimationMode(VISU.Animation.SUCCCESSIVE) + +aSObj = myStudy.FindObjectIOR(myResult.GetID()) +aSObj = aSObj.FindSubObject(1)[1] +aSObj = aSObj.FindSubObject(3)[1] +aSObj = aSObj.FindSubObject(1)[1] +print "addField 1 : ", anAnim.addField(aSObj) + +medFile1 = "TimeStamps_import22.med" +myFieldName1 = "pression" + +medFile1 = os.getenv('DATA_DIR') + '/MedFiles/' + medFile1 +myResult1 = myVisu.ImportFile(medFile1) + +aSObj1 = myStudy.FindObjectIOR(myResult1.GetID()) +aSObj1 = aSObj1.FindSubObject(1)[1] +aSObj1 = aSObj1.FindSubObject(3)[1] +aSObj1 = aSObj1.FindSubObject(3)[1] +print "addField 2 : ", anAnim.addField(aSObj1) + +print "Generate presentations for ", anAnim.getNbFields(), " fields" +for i in range(0,anAnim.getNbFields()): + anAnim.setPresentationType(i,VISU.TPLOT3D) + anAnim.generatePresentations(i) + +print "Generate frames" +anAnim.generateFrames() + +print "Start Animation" +anAnim.setSpeed(22) +anAnim.startAnimation() +myView.FitAll() + +while 1: + time.sleep(1+aDelay) + if not anAnim.isRunning(): + anAnim.stopAnimation() + break + +anAnim.publishInStudy() +anAnim.saveAnimation() + +if anAnim.getAnimationMode() == VISU.Animation.SUCCCESSIVE: + print "End of succcessive animation for 2 fields with presentation type VISU.Animation.SUCCCESSIVE" + +#for i in range(0,anAnim.getNbFields()): +aPrs = anAnim.getPresentation(0,0) +aPlot3D = aPrs._narrow(VISU.Plot3D) + +if aPlot3D: + aNbLabels = aPlot3D.GetLabels() + aPlot3D.SetLabels(aNbLabels+3) + + aWidth = aPlot3D.GetWidth() + aHeight = aPlot3D.GetHeight() + aPlot3D.SetSize(aWidth+0.07,aHeight+0.07) + + print "Apply properties for all time stamps of all fields." + try: + anAnim.ApplyProperties(0,aPlot3D) + except SALOME.SALOME_Exception, inst: + msg = "SALOME.SALOME_Exception caught, see details:" + msg+="\n******* text:\t" + inst.details.text + msg+="\n******* type:\t" + str(inst.details.type) + msg+="\n******* where:\t" + inst.details.sourceFile + ":" + \ + str(inst.details.lineNumber) + print msg + raise RuntimeError, "There are some errors were occured... For more info see ERRORs above..." + +print "Generate frames" +anAnim.generateFrames() + +print "Start Animation" +anAnim.startAnimation() +myView.FitAll() + +while 1: + time.sleep(1+aDelay) + if not anAnim.isRunning(): + anAnim.stopAnimation() + break + +anAnim.publishInStudy() +anAnim.saveAnimation() + +anAnim.clearFields() +print "The number of fields in animation after clearFields method is", anAnim.getNbFields() + diff --git a/src/VISU_SWIG/visu_succcessive_animation.py b/src/VISU_SWIG/visu_succcessive_animation.py new file mode 100644 index 00000000..08509e01 --- /dev/null +++ b/src/VISU_SWIG/visu_succcessive_animation.py @@ -0,0 +1,95 @@ +# VISU VISU_SWIG : binding of C++ implementation and Python +# +# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# File : visu_view3d.py +# Module : VISU + +import os +import time +import math +import VISU +import SALOMEDS +from visu_gui import * + +aDelay = 0 + +myViewManager = myVisu.GetViewManager(); + +myView = myViewManager.Create3DView(); +myView.SetTitle("The viewer for Animation") +print "myViewManager.Create3DView()" +time.sleep(aDelay) + +medFile = "TimeStamps.med" +myFieldName = "temperature" + +medFile = os.getenv('DATA_DIR') + '/MedFiles/' + medFile +myResult = myVisu.ImportFile(medFile) + +anAnim = myVisu.CreateAnimation(myView); +anAnim.setAnimationMode(VISU.Animation.SUCCCESSIVE); + +aSObj = myStudy.FindObjectIOR(myResult.GetID()) +aSObj = aSObj.FindSubObject(1)[1] +aSObj = aSObj.FindSubObject(3)[1] +aSObj = aSObj.FindSubObject(1)[1] +print "addField 1 : ", anAnim.addField(aSObj) + +medFile1 = "TimeStamps_import22.med" +myFieldName1 = "pression" + +medFile1 = os.getenv('DATA_DIR') + '/MedFiles/' + medFile1 +myResult1 = myVisu.ImportFile(medFile1) + +aSObj1 = myStudy.FindObjectIOR(myResult1.GetID()) +aSObj1 = aSObj1.FindSubObject(1)[1] +aSObj1 = aSObj1.FindSubObject(3)[1] +aSObj1 = aSObj1.FindSubObject(3)[1] +print "addField 2 : ", anAnim.addField(aSObj1) + +print "Generate presentations for ", anAnim.getNbFields(), " fields" +for i in range(0,anAnim.getNbFields()): + anAnim.setPresentationType(i,VISU.TPLOT3D) + anAnim.generatePresentations(i) + +print "Generate frames" +anAnim.generateFrames() + +print "Start Animation" +anAnim.setSpeed(22) +anAnim.startAnimation() +myView.FitAll() + +while 1: + time.sleep(1+aDelay) + if not anAnim.isRunning(): + anAnim.stopAnimation() + break + +anAnim.publishInStudy() +anAnim.saveAnimation() + +if anAnim.getAnimationMode() == VISU.Animation.SUCCCESSIVE: + print "End of succcessive animation for 2 fields with presentation type VISU.Animation.SUCCCESSIVE" + +anAnim.clearFields() +print "The number of fields in animation after clearFields method is", anAnim.getNbFields() + diff --git a/src/VVTK/Makefile.in b/src/VVTK/Makefile.am similarity index 73% rename from src/VVTK/Makefile.in rename to src/VVTK/Makefile.am index 9032e4d0..da1bf6c0 100755 --- a/src/VVTK/Makefile.in +++ b/src/VVTK/Makefile.am @@ -22,16 +22,12 @@ # Module : VVTK # $Header: -top_srcdir=@top_srcdir@ -top_builddir=../.. -srcdir=@srcdir@ -VPATH=.:@srcdir@ +include $(top_srcdir)/adm_local/unix/make_common_starter.am - -@COMMENCE@ +lib_LTLIBRARIES= libVVTK.la # header files -EXPORT_HEADERS = \ +salomeinclude_HEADERS= \ VVTK.h \ VVTK_ViewManager.h \ VVTK_ViewModel.h \ @@ -47,10 +43,7 @@ EXPORT_HEADERS = \ VVTK_RecorderDlg.h \ VVTK_Recorder.h -# Libraries targets -LIB = libVVTK.la - -LIB_SRC = \ +dist_libVVTK_la_SOURCES= \ VVTK_ViewManager.cxx \ VVTK_ViewModel.cxx \ VVTK_InteractorStyle.cxx \ @@ -66,34 +59,33 @@ LIB_SRC = \ VVTK_RecorderDlg.cxx \ VVTK_Recorder.cxx -LIB_MOC = \ - VVTK_ViewWindow.h \ - VVTK_ViewModel.h \ - VVTK_ViewManager.h \ - VVTK_PickingDlg.h \ - VVTK_SegmentationCursorDlg.h \ - VVTK_RecorderDlg.h \ - VVTK_PrimitiveBox.h \ - VVTK_SizeBox.h \ - VVTK_MainWindow.h +MOC_FILES= \ + VVTK_ViewWindow_moc.cxx \ + VVTK_ViewModel_moc.cxx \ + VVTK_ViewManager_moc.cxx \ + VVTK_PickingDlg_moc.cxx \ + VVTK_SegmentationCursorDlg_moc.cxx \ + VVTK_RecorderDlg_moc.cxx \ + VVTK_PrimitiveBox_moc.cxx \ + VVTK_SizeBox_moc.cxx \ + VVTK_MainWindow_moc.cxx +nodist_libVVTK_la_SOURCES=$(MOC_FILES) -CPPFLAGS += \ +libVVTK_la_CPPFLAGS= \ $(QT_INCLUDES) \ - $(OCC_INCLUDES) \ + @CAS_CXXFLAGS@ @CAS_CPPFLAGS@ \ $(VTK_INCLUDES) \ $(BOOST_CPPFLAGS) \ $(KERNEL_CXXFLAGS) \ $(GUI_CXXFLAGS) \ - $(MED_CXXFLAGS) + $(MED_CXXFLAGS) \ + -I$(srcdir)/../OBJECT -I$(srcdir)/../PIPELINE -I$(srcdir)/../CONVERTOR -LDFLAGS += \ +libVVTK_la_LDFLAGS= \ $(QT_MT_LIBS) \ $(OCC_LIBS) \ $(VTK_LIBS) \ $(KERNEL_LDFLAGS) \ $(GUI_LDFLAGS) -LIBS+= -lsuit -lCAM -lSalomeObject -lSVTK -lOpUtil - - -@CONCLUDE@ +libVVTK_la_LIBADD= -lsuit -lCAM -lSalomeObject -lSVTK -lOpUtil diff --git a/src/VVTK/VVTK.h b/src/VVTK/VVTK.h index 285a0b34..5954601c 100755 --- a/src/VVTK/VVTK.h +++ b/src/VVTK/VVTK.h @@ -18,7 +18,7 @@ // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // #ifdef WNT -#ifdef SVTK_EXPORTS +#ifdef VISU_VVTK_EXPORTS #define VVTK_EXPORT __declspec(dllexport) #else #define VVTK_EXPORT __declspec(dllimport) diff --git a/src/VVTK/VVTK_MainWindow.cxx b/src/VVTK/VVTK_MainWindow.cxx index 4aa149fd..80a3345c 100644 --- a/src/VVTK/VVTK_MainWindow.cxx +++ b/src/VVTK/VVTK_MainWindow.cxx @@ -34,6 +34,7 @@ #include "VISU_GaussPtsAct.h" #include "VISU_Event.h" +#include "SVTK_ViewWindow.h" #include "SVTK_RenderWindowInteractor.h" #include "VVTK_Renderer.h" #include "VVTK_PickingDlg.h" @@ -46,6 +47,7 @@ #include "SUIT_ResourceMgr.h" #include "SUIT_ToolButton.h" #include "SUIT_Accel.h" +#include "SUIT_MessageBox.h" #include "QtxAction.h" #include @@ -114,9 +116,9 @@ VVTK_MainWindow connect( myStopAction, SIGNAL( activated() ), this, SLOT( OnStopRecording() ) ); myRecorder = VVTK_Recorder::New(); - myRecorder->CheckExistAVIMaker(); - if(myRecorder->ErrorStatus()) - myRecordingToolBar->setEnabled(false); + //myRecorder->CheckExistAVIMaker(); + //if(myRecorder->ErrorStatus()) + // myRecordingToolBar->setEnabled(false); } //---------------------------------------------------------------------------- @@ -190,17 +192,23 @@ VVTK_MainWindow //---------------------------------------------------------------------------- void VVTK_MainWindow::OnStartRecording() { - VVTK_RecorderDlg* aRecorderDlg = new VVTK_RecorderDlg( this, myRecorder ); + myRecorder->CheckExistAVIMaker(); + if (myRecorder->ErrorStatus()) { + SUIT_MessageBox::warn1(this, tr("ERROR"), tr("MSG_NO_AVI_MAKER"), tr("&OK")); + } + else { + VVTK_RecorderDlg* aRecorderDlg = new VVTK_RecorderDlg( this, myRecorder ); - if( !aRecorderDlg->exec() ) - return; + if( !aRecorderDlg->exec() ) + return; - myStartAction->setEnabled( false ); - myPlayAction->setEnabled( false ); - myPauseAction->setEnabled( true ); - myStopAction->setEnabled( true ); + myStartAction->setEnabled( false ); + myPlayAction->setEnabled( false ); + myPauseAction->setEnabled( true ); + myStopAction->setEnabled( true ); - myRecorder->Record(); + myRecorder->Record(); + } } //---------------------------------------------------------------------------- @@ -237,9 +245,6 @@ void VVTK_MainWindow::OnStopRecording() } //---------------------------------------------------------------------------- -int -convertAction( const int accelAction ); - void VVTK_MainWindow ::action( const int accelAction ) @@ -247,7 +252,7 @@ VVTK_MainWindow if ( accelAction == SUIT_Accel::ZoomFit ) onFitAll(); else { - int anEvent = convertAction( accelAction ); + int anEvent = SVTK::convertAction( accelAction ); InvokeEvent( anEvent, 0 ); } } diff --git a/src/VVTK/VVTK_PickingDlg.cxx b/src/VVTK/VVTK_PickingDlg.cxx index 3d0a5f4d..e59a57e9 100644 --- a/src/VVTK/VVTK_PickingDlg.cxx +++ b/src/VVTK/VVTK_PickingDlg.cxx @@ -394,9 +394,15 @@ void VVTK_PickingDlg::onClickHelp() if (app) app->onHelpContextModule(app->activeModule() ? app->moduleName(app->activeModule()->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VVTK/VVTK_PrimitiveBox.cxx b/src/VVTK/VVTK_PrimitiveBox.cxx index fc0aaa75..908d825b 100644 --- a/src/VVTK/VVTK_PrimitiveBox.cxx +++ b/src/VVTK/VVTK_PrimitiveBox.cxx @@ -43,7 +43,7 @@ #include #include -#include +#include using namespace std; diff --git a/src/VVTK/VVTK_PrimitiveBox.h b/src/VVTK/VVTK_PrimitiveBox.h index e5e8c6a3..722d17f2 100644 --- a/src/VVTK/VVTK_PrimitiveBox.h +++ b/src/VVTK/VVTK_PrimitiveBox.h @@ -28,6 +28,8 @@ #ifndef VVTK_PRIMITIVEBOX_H #define VVTK_PRIMITIVEBOX_H +#include "VVTK.h" + #include class QLabel; @@ -38,7 +40,7 @@ class QRadioButton; class QtxDblSpinBox; class QtxIntSpinBox; -class VVTK_PrimitiveBox : public QGroupBox +class VVTK_EXPORT VVTK_PrimitiveBox : public QGroupBox { Q_OBJECT diff --git a/src/VVTK/VVTK_Recorder.cxx b/src/VVTK/VVTK_Recorder.cxx index 873d4af5..f42b7252 100755 --- a/src/VVTK/VVTK_Recorder.cxx +++ b/src/VVTK/VVTK_Recorder.cxx @@ -44,7 +44,10 @@ #include #include +#ifndef WIN32 #include +#endif + #include #include @@ -351,7 +354,7 @@ VVTK_Recorder int aLastFrameIndex = myFrameIndexes.back(); if(aLastFrameIndex < 0){ myFrameIndexes.back() = abs(myFrameIndexes.back()); - double aPauseTime = fabs(aFrameIndex - myFrameIndex - 1) / myNbFPS; + double aPauseTime = fabs((double)(aFrameIndex - myFrameIndex - 1)) / myNbFPS; if(MYDEBUG) cout<<"VVTK_Recorder::DoRecord - aFrameIndex = "<resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VVTK/VVTK_Renderer.cxx b/src/VVTK/VVTK_Renderer.cxx index 8517d78d..8b56aede 100644 --- a/src/VVTK/VVTK_Renderer.cxx +++ b/src/VVTK/VVTK_Renderer.cxx @@ -249,7 +249,7 @@ VVTK_Renderer1::VVTK_Renderer1(): vtkProperty* aPlaneProperty = aPlanesWidget->GetPlaneProperty(); aPlaneProperty->SetOpacity(aSelectedPlaneProperty->GetOpacity()*1.5); // - myWidgetCtrl->Delete(); + //myWidgetCtrl->Delete(); } VVTK_Renderer1 @@ -334,7 +334,7 @@ VISU_WidgetCtrl* VVTK_Renderer1 ::GetWidgetCtrl() { - return myWidgetCtrl.GetPointer(); + return myWidgetCtrl;//.GetPointer(); } //---------------------------------------------------------------------------- diff --git a/src/VVTK/VVTK_Renderer.h b/src/VVTK/VVTK_Renderer.h index 6cf53326..45c7e949 100644 --- a/src/VVTK/VVTK_Renderer.h +++ b/src/VVTK/VVTK_Renderer.h @@ -125,7 +125,8 @@ class VVTK_EXPORT VVTK_Renderer1 : public VVTK_Renderer void AdjustWidgetCtrl(); - vtkSmartPointer myWidgetCtrl; + VISU_WidgetCtrl* myWidgetCtrl; + //vtkSmartPointer myWidgetCtrl; VISU_OutsideCursorSettings* myOutsideCursorSettings; vtkSmartPointer myTextActor; }; diff --git a/src/VVTK/VVTK_SegmentationCursorDlg.cxx b/src/VVTK/VVTK_SegmentationCursorDlg.cxx index 0c20ac64..55b1fb7a 100644 --- a/src/VVTK/VVTK_SegmentationCursorDlg.cxx +++ b/src/VVTK/VVTK_SegmentationCursorDlg.cxx @@ -80,7 +80,12 @@ namespace VISU { QFileInfo aFileInfo(theImageFileName); QString aFormat = aFileInfo.extension(FALSE); - QString aVTIName = QString("/tmp/") + getenv("USER") + "-" + aFileInfo.baseName(TRUE) + ".vti"; +#ifdef WIN32 + QString aTmpDir = getenv( "TEMP" ); +#else + QString aTmpDir = QString( "/tmp/" ) + getenv("USER"); +#endif + QString aVTIName = aTmpDir + "-" + aFileInfo.baseName(TRUE) + ".vti"; QString aCommand = QString( "VISU_img2vti " ) + aFormat + " " + theImageFileName + " " + aVTIName; if(system( aCommand.latin1() ) == 0) @@ -94,7 +99,11 @@ namespace VISU RemoveFile(const QString& theFileName) { if( !theFileName.isNull() ){ +#ifndef WNT QString aCommand = QString( "rm -fr " ) + theFileName; +#else: + QString aCommand = QString( "del /F " ) + theFileName; +#endif system( aCommand.latin1() ); } } @@ -830,9 +839,15 @@ void VVTK_SegmentationCursorDlg::onClickHelp() if (app) app->onHelpContextModule(app->activeModule() ? app->moduleName(app->activeModule()->moduleName()) : QString(""), aHelpFileName); else { + QString platform; +#ifdef WIN32 + platform = "winapplication"; +#else + platform = "application"; +#endif SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). - arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(aHelpFileName), + arg(app->resourceMgr()->stringValue("ExternalBrowser", platform)).arg(aHelpFileName), QObject::tr("BUT_OK")); } } diff --git a/src/VVTK/VVTK_SegmentationCursorDlg.h b/src/VVTK/VVTK_SegmentationCursorDlg.h index 082608ea..50d17609 100644 --- a/src/VVTK/VVTK_SegmentationCursorDlg.h +++ b/src/VVTK/VVTK_SegmentationCursorDlg.h @@ -24,6 +24,8 @@ #ifndef VVTK_SEGMENTATIONCURSORDLG_H #define VVTK_SEGMENTATIONCURSORDLG_H +#include "VVTK.h" + #include #include @@ -59,7 +61,7 @@ namespace VISU { typedef vtkSmartPointer TTextureValue; - TTextureValue + VVTK_EXPORT TTextureValue GetTexture(const QString& theMainTexture, const QString& theAlphaTexture); } diff --git a/src/VVTK/VVTK_SizeBox.h b/src/VVTK/VVTK_SizeBox.h index 1979ef7b..06e3971c 100644 --- a/src/VVTK/VVTK_SizeBox.h +++ b/src/VVTK/VVTK_SizeBox.h @@ -28,6 +28,8 @@ #ifndef VVTK_SIZEBOX_H #define VVTK_SIZEBOX_H +#include "VVTK.h" + #include class QLabel; @@ -39,7 +41,7 @@ class QGroupBox; class QtxDblSpinBox; class QtxIntSpinBox; -class VVTK_SizeBox : public QVBox +class VVTK_EXPORT VVTK_SizeBox : public QVBox { Q_OBJECT -- 2.39.2

The structure of MED - object has a tree-like form. It contains three main folders: Families, Groups, Fields.