From e180c20f73ffa96c2d039106f2a2a868c8bc0df1 Mon Sep 17 00:00:00 2001 From: jfa Date: Sat, 6 May 2006 08:44:32 +0000 Subject: [PATCH] Join modifications from branch OCC_debug_for_3_2_0b1 --- INSTALL | 6 +- Makefile.in | 20 + adm_local/Makefile.in | 19 + adm_local/unix/make_commence.in | 16 +- adm_local/unix/make_omniorb.in | 3 + bin/VERSION | 2 +- build_configure | 4 +- doc/Makefile.in | 19 + doc/salome/gui/GEOM/add_point_on_edge.htm | 48 +- doc/salome/gui/GEOM/arc.htm | 16 +- doc/salome/gui/GEOM/archimede.htm | 2 +- .../gui/GEOM/basic_geometrical_objects.htm | 2 +- doc/salome/gui/GEOM/basic_operations.htm | 2 +- doc/salome/gui/GEOM/blocks.htm | 116 - doc/salome/gui/GEOM/blocks_operations.htm | 2 +- doc/salome/gui/GEOM/boolean_operations.htm | 2 +- doc/salome/gui/GEOM/box.htm | 42 +- doc/salome/gui/GEOM/building_by_blocks.htm | 2 +- doc/salome/gui/GEOM/chamfer.htm | 33 +- .../gui/GEOM/changing_display_parameters.htm | 4 +- .../GEOM/changing_displaying_parameters.htm | 223 -- doc/salome/gui/GEOM/check_free_boundaries.htm | 37 +- doc/salome/gui/GEOM/check_free_faces.htm | 33 +- doc/salome/gui/GEOM/circle.htm | 15 +- doc/salome/gui/GEOM/close_contour.htm | 11 +- doc/salome/gui/GEOM/color.htm | 7 +- doc/salome/gui/GEOM/common.htm | 7 +- doc/salome/gui/GEOM/complex_objects.htm | 2 +- doc/salome/gui/GEOM/compound.htm | 2 +- doc/salome/gui/GEOM/cone.htm | 46 +- doc/salome/gui/GEOM/curve.htm | 27 +- doc/salome/gui/GEOM/cut.htm | 9 +- doc/salome/gui/GEOM/cylinder.htm | 29 +- doc/salome/gui/GEOM/edge.htm | 2 +- doc/salome/gui/GEOM/ellipse.htm | 6 +- doc/salome/gui/GEOM/explode.htm | 2 +- doc/salome/gui/GEOM/explode_on_blocks.htm | 2 +- doc/salome/gui/GEOM/extrusion.htm | 42 +- doc/salome/gui/GEOM/face.htm | 2 +- .../gui/GEOM/files/introduction_to_geom.htm | 21 +- .../files/salome2_sp3_basicgui_functions.htm | 885 ------ .../salome2_sp3_booleangui_functions.htm | 31 +- .../files/salome2_sp3_buildgui_functions.htm | 458 --- .../salome2_sp3_displaygui_functions.htm | 225 -- ...lome2_sp3_displaygui_functions_image55.gif | Bin 987 -> 0 bytes .../salome2_sp3_generationgui_functions.htm | 307 -- .../salome2_sp3_geomtoolsgui_functions.htm | 24 +- .../salome2_sp3_measuregui_functions.htm | 97 +- .../salome2_sp3_operationgui_functions.htm | 637 ----- .../salome2_sp3_primitivegui_functions.htm | 395 --- .../files/salome2_sp3_repairgui_functions.htm | 898 ------ ...alome2_sp3_transformationgui_functions.htm | 669 ----- doc/salome/gui/GEOM/fillet.htm | 24 +- doc/salome/gui/GEOM/filling.htm | 24 +- doc/salome/gui/GEOM/fuse.htm | 7 +- doc/salome/gui/GEOM/geom.log | 120 +- doc/salome/gui/GEOM/geometrical_objects.htm | 2 +- doc/salome/gui/GEOM/glue_faces.htm | 12 +- doc/salome/gui/GEOM/groups.htm | 2 +- doc/salome/gui/GEOM/image1.gif | Bin 0 -> 2197 bytes doc/salome/gui/GEOM/image1.jpg | Bin 0 -> 21241 bytes doc/salome/gui/GEOM/image10.jpg | Bin 3449 -> 0 bytes doc/salome/gui/GEOM/image11.gif | Bin 1646 -> 0 bytes doc/salome/gui/GEOM/image11.jpg | Bin 2844 -> 0 bytes doc/salome/gui/GEOM/image12.gif | Bin 1604 -> 0 bytes doc/salome/gui/GEOM/image12.jpg | Bin 3830 -> 0 bytes doc/salome/gui/GEOM/image121.jpg | Bin 3718 -> 0 bytes doc/salome/gui/GEOM/image122.jpg | Bin 4025 -> 0 bytes doc/salome/gui/GEOM/image124.jpg | Bin 6196 -> 0 bytes doc/salome/gui/GEOM/image127.jpg | Bin 3736 -> 0 bytes doc/salome/gui/GEOM/image128.jpg | Bin 1902 -> 0 bytes doc/salome/gui/GEOM/image129.jpg | Bin 1964 -> 0 bytes doc/salome/gui/GEOM/image13.gif | Bin 1499 -> 0 bytes doc/salome/gui/GEOM/image130.jpg | Bin 3272 -> 0 bytes doc/salome/gui/GEOM/image133.jpg | Bin 3685 -> 0 bytes doc/salome/gui/GEOM/image14.gif | Bin 1309 -> 0 bytes doc/salome/gui/GEOM/image147.jpg | Bin 4258 -> 0 bytes doc/salome/gui/GEOM/image149.jpg | Bin 3666 -> 0 bytes doc/salome/gui/GEOM/image15.gif | Bin 1790 -> 0 bytes doc/salome/gui/GEOM/image150.jpg | Bin 4622 -> 0 bytes doc/salome/gui/GEOM/image151.jpg | Bin 10219 -> 0 bytes doc/salome/gui/GEOM/image16.gif | Bin 1442 -> 0 bytes doc/salome/gui/GEOM/image163.jpg | Bin 6781 -> 0 bytes doc/salome/gui/GEOM/image164.jpg | Bin 5424 -> 0 bytes doc/salome/gui/GEOM/image17.gif | Bin 1721 -> 0 bytes doc/salome/gui/GEOM/image170.jpg | Bin 8878 -> 0 bytes doc/salome/gui/GEOM/image171.jpg | Bin 8023 -> 0 bytes doc/salome/gui/GEOM/image172.jpg | Bin 7109 -> 0 bytes doc/salome/gui/GEOM/image18.gif | Bin 0 -> 1053 bytes doc/salome/gui/GEOM/image18.jpg | Bin 3378 -> 0 bytes doc/salome/gui/GEOM/image188.jpg | Bin 18274 -> 0 bytes doc/salome/gui/GEOM/image189.jpg | Bin 24603 -> 0 bytes doc/salome/gui/GEOM/image19.gif | Bin 1801 -> 0 bytes doc/salome/gui/GEOM/image191.jpg | Bin 20633 -> 0 bytes doc/salome/gui/GEOM/image197.jpg | Bin 9273 -> 0 bytes doc/salome/gui/GEOM/image2.gif | Bin 0 -> 2550 bytes doc/salome/gui/GEOM/image20.gif | Bin 1628 -> 0 bytes doc/salome/gui/GEOM/image201.jpg | Bin 5193 -> 0 bytes doc/salome/gui/GEOM/image202.jpg | Bin 6377 -> 0 bytes doc/salome/gui/GEOM/image21.gif | Bin 1407 -> 0 bytes doc/salome/gui/GEOM/image22.gif | Bin 1450 -> 0 bytes doc/salome/gui/GEOM/image23.gif | Bin 1588 -> 0 bytes doc/salome/gui/GEOM/image24.gif | Bin 1119 -> 0 bytes doc/salome/gui/GEOM/image25.gif | Bin 1106 -> 0 bytes ...ygui_functions_image54.gif => image26.gif} | Bin 994 -> 1056 bytes doc/salome/gui/GEOM/image27.jpg | Bin 2716 -> 0 bytes doc/salome/gui/GEOM/image31.gif | Bin 5750 -> 0 bytes ...ygui_functions_image53.gif => image33.gif} | Bin 950 -> 1001 bytes doc/salome/gui/GEOM/image4.gif | Bin 0 -> 2715 bytes ...ngui_functions_image130.gif => image5.gif} | Bin 935 -> 938 bytes doc/salome/gui/GEOM/image52.jpg | Bin 2701 -> 0 bytes doc/salome/gui/GEOM/image53.jpg | Bin 4321 -> 0 bytes doc/salome/gui/GEOM/image54.jpg | Bin 4615 -> 0 bytes doc/salome/gui/GEOM/image6.gif | Bin 1938 -> 0 bytes doc/salome/gui/GEOM/image67.jpg | Bin 2823 -> 0 bytes doc/salome/gui/GEOM/image7.gif | Bin 1529 -> 0 bytes doc/salome/gui/GEOM/image76.jpg | Bin 3194 -> 0 bytes doc/salome/gui/GEOM/image78.jpg | Bin 3702 -> 0 bytes doc/salome/gui/GEOM/image79.jpg | Bin 3637 -> 0 bytes doc/salome/gui/GEOM/image8.gif | Bin 1675 -> 0 bytes doc/salome/gui/GEOM/image8.jpg | Bin 3262 -> 0 bytes doc/salome/gui/GEOM/image80.jpg | Bin 3884 -> 0 bytes doc/salome/gui/GEOM/image81.jpg | Bin 5230 -> 0 bytes doc/salome/gui/GEOM/image82.jpg | Bin 3527 -> 0 bytes doc/salome/gui/GEOM/image83.jpg | Bin 3741 -> 0 bytes doc/salome/gui/GEOM/image84.jpg | Bin 3512 -> 0 bytes doc/salome/gui/GEOM/image85.jpg | Bin 3785 -> 0 bytes doc/salome/gui/GEOM/image9.gif | Bin 1352 -> 0 bytes doc/salome/gui/GEOM/image9.jpg | Bin 2956 -> 0 bytes doc/salome/gui/GEOM/image94.jpg | Bin 2935 -> 0 bytes doc/salome/gui/GEOM/image95.jpg | Bin 3417 -> 0 bytes doc/salome/gui/GEOM/image96.jpg | Bin 3599 -> 0 bytes doc/salome/gui/GEOM/image97.jpg | Bin 3574 -> 0 bytes doc/salome/gui/GEOM/image98.jpg | Bin 2921 -> 0 bytes doc/salome/gui/GEOM/isos.htm | 2 +- doc/salome/gui/GEOM/line.htm | 6 +- .../gui/GEOM/local_coordinate_system.htm | 52 +- doc/salome/gui/GEOM/measurement_tools.htm | 2 +- doc/salome/gui/GEOM/mirror_image.htm | 37 +- doc/salome/gui/GEOM/modify_the_location.htm | 77 +- doc/salome/gui/GEOM/multi_rotation.htm | 37 +- doc/salome/gui/GEOM/multi_transformation.htm | 31 +- doc/salome/gui/GEOM/multi_translation.htm | 59 +- doc/salome/gui/GEOM/newentity_blocks.htm | 69 +- doc/salome/gui/GEOM/occ_viewer.htm | 201 ++ doc/salome/gui/GEOM/offset_surface.htm | 2 +- doc/salome/gui/GEOM/partition.htm | 27 +- doc/salome/gui/GEOM/pics/clipping.png | Bin 0 -> 12933 bytes doc/salome/gui/GEOM/pics/creategroup.png | Bin 15350 -> 0 bytes doc/salome/gui/GEOM/pics/export.png | Bin 14172 -> 0 bytes doc/salome/gui/GEOM/pics/geomcreategroup.png | Bin 0 -> 16179 bytes doc/salome/gui/GEOM/pics/geomexport.png | Bin 0 -> 15829 bytes doc/salome/gui/GEOM/pics/geomimport.png | Bin 0 -> 15403 bytes doc/salome/gui/GEOM/pics/image100.gif | Bin 0 -> 1040 bytes doc/salome/gui/GEOM/pics/image102.gif | Bin 0 -> 2409 bytes doc/salome/gui/GEOM/pics/image103.gif | Bin 0 -> 1046 bytes doc/salome/gui/GEOM/pics/image105.gif | Bin 0 -> 1038 bytes .../image106.gif} | Bin 946 -> 984 bytes doc/salome/gui/GEOM/pics/image77.gif | Bin 0 -> 1022 bytes doc/salome/gui/GEOM/pics/image86.gif | Bin 0 -> 1017 bytes .../image88.gif} | Bin 958 -> 1000 bytes doc/salome/gui/GEOM/pics/image89.gif | Bin 0 -> 1020 bytes .../image91.gif} | Bin 904 -> 1010 bytes doc/salome/gui/GEOM/pics/image95.gif | Bin 0 -> 2643 bytes doc/salome/gui/GEOM/pics/image96.gif | Bin 0 -> 1055 bytes doc/salome/gui/GEOM/pics/image97.gif | Bin 0 -> 1065 bytes doc/salome/gui/GEOM/pics/image98.gif | Bin 0 -> 1047 bytes doc/salome/gui/GEOM/pics/image99.gif | Bin 0 -> 1035 bytes doc/salome/gui/GEOM/pics/import.png | Bin 15937 -> 0 bytes doc/salome/gui/GEOM/pipe_creation.htm | 18 +- doc/salome/gui/GEOM/plane.htm | 70 +- doc/salome/gui/GEOM/point.htm | 47 +- doc/salome/gui/GEOM/primitives.htm | 2 +- doc/salome/gui/GEOM/propagate.htm | 2 +- doc/salome/gui/GEOM/repairing_operations.htm | 10 +- doc/salome/gui/GEOM/revolution.htm | 24 +- doc/salome/gui/GEOM/rotation.htm | 2 +- doc/salome/gui/GEOM/scale_transform.htm | 2 +- doc/salome/gui/GEOM/section.htm | 7 +- doc/salome/gui/GEOM/sewing.htm | 18 +- doc/salome/gui/GEOM/shape_processing.htm | 421 +-- doc/salome/gui/GEOM/shell.htm | 4 +- doc/salome/gui/GEOM/sketcher.htm | 4 +- doc/salome/gui/GEOM/sketcher_tui.htm | 2 +- doc/salome/gui/GEOM/solid.htm | 28 +- doc/salome/gui/GEOM/sphere.htm | 22 +- doc/salome/gui/GEOM/suppress_faces.htm | 17 +- doc/salome/gui/GEOM/suppress_holes.htm | 24 +- .../gui/GEOM/suppress_internal_wires.htm | 12 +- .../gui/GEOM/transformation_operations.htm | 2 +- doc/salome/gui/GEOM/translation.htm | 18 +- doc/salome/gui/GEOM/transparency.htm | 21 +- doc/salome/gui/GEOM/turus.htm | 21 +- doc/salome/gui/GEOM/vector.htm | 15 +- .../gui/GEOM/viewing_geometrical_objects.htm | 150 + doc/salome/gui/GEOM/whdata/whftdata0.htm | 12 +- doc/salome/gui/GEOM/whdata/whfts.htm | 4 +- doc/salome/gui/GEOM/whdata/whfwdata0.htm | 2513 +++++++++-------- doc/salome/gui/GEOM/whdata/whtdata0.htm | 30 +- doc/salome/gui/GEOM/whgdata/whlstf0.htm | 6 +- doc/salome/gui/GEOM/whgdata/whlstf1.htm | 4 +- doc/salome/gui/GEOM/whgdata/whlstf10.htm | 4 +- doc/salome/gui/GEOM/whgdata/whlstf11.htm | 8 +- doc/salome/gui/GEOM/whgdata/whlstf12.htm | 8 +- doc/salome/gui/GEOM/whgdata/whlstf13.htm | 9 +- doc/salome/gui/GEOM/whgdata/whlstf14.htm | 45 - doc/salome/gui/GEOM/whgdata/whlstf15.htm | 48 - doc/salome/gui/GEOM/whgdata/whlstf2.htm | 4 +- doc/salome/gui/GEOM/whgdata/whlstf3.htm | 6 +- doc/salome/gui/GEOM/whgdata/whlstf4.htm | 6 +- doc/salome/gui/GEOM/whgdata/whlstf5.htm | 6 +- doc/salome/gui/GEOM/whgdata/whlstf6.htm | 10 +- doc/salome/gui/GEOM/whgdata/whlstf7.htm | 8 +- doc/salome/gui/GEOM/whgdata/whlstf8.htm | 4 +- doc/salome/gui/GEOM/whgdata/whlstf9.htm | 6 +- doc/salome/gui/GEOM/whgdata/whlstfl0.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl1.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl10.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl11.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl12.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl13.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl14.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl15.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl16.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl17.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl18.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl19.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl2.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl20.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl21.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl22.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl23.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl24.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl25.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl26.htm | 45 + doc/salome/gui/GEOM/whgdata/whlstfl3.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl4.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl6.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl7.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl8.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstfl9.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstt0.htm | 2 +- doc/salome/gui/GEOM/whgdata/whlstt1.htm | 12 +- doc/salome/gui/GEOM/whgdata/whlstt10.htm | 29 +- doc/salome/gui/GEOM/whgdata/whlstt11.htm | 37 +- doc/salome/gui/GEOM/whgdata/whlstt12.htm | 35 +- doc/salome/gui/GEOM/whgdata/whlstt13.htm | 35 +- doc/salome/gui/GEOM/whgdata/whlstt14.htm | 31 +- doc/salome/gui/GEOM/whgdata/whlstt15.htm | 25 +- doc/salome/gui/GEOM/whgdata/whlstt16.htm | 30 +- doc/salome/gui/GEOM/whgdata/whlstt17.htm | 67 - doc/salome/gui/GEOM/whgdata/whlstt2.htm | 21 +- doc/salome/gui/GEOM/whgdata/whlstt3.htm | 35 +- doc/salome/gui/GEOM/whgdata/whlstt4.htm | 25 +- doc/salome/gui/GEOM/whgdata/whlstt5.htm | 34 +- doc/salome/gui/GEOM/whgdata/whlstt6.htm | 32 +- doc/salome/gui/GEOM/whgdata/whlstt7.htm | 29 +- doc/salome/gui/GEOM/whgdata/whlstt8.htm | 31 +- doc/salome/gui/GEOM/whgdata/whlstt9.htm | 24 +- doc/salome/gui/GEOM/whgdata/whnvl32.htm | 34 +- doc/salome/gui/GEOM/whskin_info.htm | 2 +- doc/salome/gui/GEOM/whxdata/whftdata0.xml | 12 +- doc/salome/gui/GEOM/whxdata/whfts.xml | 4 +- doc/salome/gui/GEOM/whxdata/whfwdata0.xml | 2513 +++++++++-------- doc/salome/gui/GEOM/whxdata/whtdata0.xml | 33 +- doc/salome/gui/GEOM/wire.htm | 2 +- doc/salome/gui/GEOM/wireframe_and_shading.htm | 41 +- doc/salome/gui/GEOM/working_plane.htm | 15 +- doc/salome/gui/GEOM/working_with_groups.htm | 20 +- doc/salome/tui/GEOM/doxyfile | 120 +- doc/salome/tui/GEOM/doxyfile_py | 126 +- doc/salome/tui/GEOM/sources/footer.html | 5 + doc/salome/tui/GEOM/sources/myheader.html | 12 - .../tui/GEOM/sources/static/doxygen.css | 153 +- doc/salome/tui/GEOM/sources/static/tree.js | 2 +- doc/salome/tui/Makefile.in | 49 +- idl/GEOM_Gen.idl | 53 +- idl/Makefile.in | 19 + resources/GEOMCatalog.xml | 4 +- resources/ImportExport | 6 +- resources/SalomeApp.xml | 17 + src/BREPExport/BREPExport.cxx | 4 +- src/BREPImport/BREPImport.cxx | 1 + src/BasicGUI/BasicGUI_ArcDlg.cxx | 20 +- src/BasicGUI/BasicGUI_ArcDlg.h | 6 +- src/BasicGUI/BasicGUI_CircleDlg.cxx | 24 +- src/BasicGUI/BasicGUI_CircleDlg.h | 14 +- src/BasicGUI/BasicGUI_CurveDlg.cxx | 26 +- src/BasicGUI/BasicGUI_CurveDlg.h | 9 +- src/BasicGUI/BasicGUI_EllipseDlg.cxx | 25 +- src/BasicGUI/BasicGUI_EllipseDlg.h | 10 +- src/BasicGUI/BasicGUI_LineDlg.cxx | 21 +- src/BasicGUI/BasicGUI_LineDlg.h | 6 +- src/BasicGUI/BasicGUI_MarkerDlg.cxx | 16 +- src/BasicGUI/BasicGUI_MarkerDlg.h | 5 +- src/BasicGUI/BasicGUI_PlaneDlg.cxx | 27 +- src/BasicGUI/BasicGUI_PlaneDlg.h | 8 +- src/BasicGUI/BasicGUI_PointDlg.cxx | 168 +- src/BasicGUI/BasicGUI_PointDlg.h | 8 +- src/BasicGUI/BasicGUI_VectorDlg.cxx | 23 +- src/BasicGUI/BasicGUI_VectorDlg.h | 12 +- src/BasicGUI/BasicGUI_WorkingPlaneDlg.cxx | 35 +- src/BasicGUI/BasicGUI_WorkingPlaneDlg.h | 6 +- src/BlocksGUI/BlocksGUI.cxx | 37 +- src/BlocksGUI/BlocksGUI_BlockDlg.cxx | 16 +- src/BlocksGUI/BlocksGUI_BlockDlg.h | 4 +- src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx | 7 +- src/BlocksGUI/BlocksGUI_ExplodeDlg.h | 4 +- src/BlocksGUI/BlocksGUI_PropagateDlg.cxx | 38 +- src/BlocksGUI/BlocksGUI_PropagateDlg.h | 12 +- src/BlocksGUI/BlocksGUI_QuadFaceDlg.cxx | 18 +- src/BlocksGUI/BlocksGUI_QuadFaceDlg.h | 9 +- src/BlocksGUI/BlocksGUI_TrsfDlg.cxx | 24 +- src/BlocksGUI/BlocksGUI_TrsfDlg.h | 5 +- src/BooleanGUI/BooleanGUI.cxx | 2 +- src/BooleanGUI/BooleanGUI_Dialog.cxx | 11 +- src/BooleanGUI/BooleanGUI_Dialog.h | 5 +- src/BuildGUI/BuildGUI.cxx | 12 +- src/BuildGUI/BuildGUI_CompoundDlg.cxx | 8 +- src/BuildGUI/BuildGUI_CompoundDlg.h | 5 +- src/BuildGUI/BuildGUI_EdgeDlg.cxx | 8 +- src/BuildGUI/BuildGUI_EdgeDlg.h | 7 +- src/BuildGUI/BuildGUI_FaceDlg.cxx | 8 +- src/BuildGUI/BuildGUI_FaceDlg.h | 5 +- src/BuildGUI/BuildGUI_ShellDlg.cxx | 10 +- src/BuildGUI/BuildGUI_ShellDlg.h | 5 +- src/BuildGUI/BuildGUI_SolidDlg.cxx | 10 +- src/BuildGUI/BuildGUI_SolidDlg.h | 5 +- src/BuildGUI/BuildGUI_WireDlg.cxx | 8 +- src/BuildGUI/BuildGUI_WireDlg.h | 5 +- src/DlgRef/DlgRef_Skeleton_QTD.cxx | 67 +- src/DlgRef/DlgRef_Skeleton_QTD.h | 36 +- src/DlgRef/UIFiles/DlgRef_Skeleton_QTD.ui | 10 +- src/DlgRef/UIFiles/ui_to_cxx | 38 +- src/EntityGUI/EntityGUI.cxx | 474 +--- src/EntityGUI/EntityGUI.h | 23 +- src/EntityGUI/EntityGUI_Skeleton_QTD.cxx | 83 +- src/EntityGUI/EntityGUI_Skeleton_QTD.h | 42 +- src/EntityGUI/EntityGUI_SketcherDlg.cxx | 35 +- src/EntityGUI/EntityGUI_SketcherDlg.h | 13 +- src/EntityGUI/EntityGUI_SubShapeDlg.cxx | 22 +- src/EntityGUI/EntityGUI_SubShapeDlg.h | 9 +- .../UIFiles/EntityGUI_Skeleton_QTD.ui | 8 + src/EntityGUI/UIFiles/ui_to_cxx | 38 +- src/GEOM/GEOM_Engine.cxx | 2 +- src/GEOM/Makefile.in | 19 + src/GEOMBase/GEOMBase.cxx | 17 - src/GEOMBase/GEOMBase.h | 63 +- src/GEOMBase/GEOMBase_Helper.cxx | 3 +- src/GEOMBase/GEOMBase_Skeleton.cxx | 56 +- src/GEOMBase/GEOMBase_Skeleton.h | 33 +- src/GEOMContext/GEOM_icons.po | 19 + src/GEOMContext/GEOM_msg_en.po | 19 + src/GEOMContext/GEOM_msg_fr.po | 19 + src/GEOMGUI/GEOM_images.po | 19 + src/GEOMGUI/GEOM_msg_en.po | 29 +- src/GEOMGUI/GEOM_msg_fr.po | 19 + src/GEOMGUI/GeometryGUI.cxx | 18 +- src/GEOMGUI/GeometryGUI_Swig.cxx | 317 +-- src/GEOMGUI/GeometryGUI_Swig.hxx | 1 + src/GEOMGUI/GeometryGUI_Swig.i | 1 + src/GEOMGUI/Makefile.in | 3 +- src/GEOMImpl/GEOMImpl_Block6Explorer.cxx | 93 +- src/GEOMImpl/GEOMImpl_ExportDriver.cxx | 13 +- src/GEOMImpl/GEOMImpl_IImportExport.hxx | 13 +- src/GEOMImpl/GEOMImpl_IInsertOperations.cxx | 48 +- src/GEOMImpl/GEOMImpl_ILocalOperations.cxx | 23 +- src/GEOMImpl/GEOMImpl_IShapesOperations.cxx | 158 ++ src/GEOMImpl/GEOMImpl_IShapesOperations.hxx | 10 +- src/GEOMImpl/GEOMImpl_ImportDriver.cxx | 13 +- src/GEOMImpl/GEOMImpl_MirrorDriver.cxx | 18 +- src/GEOMImpl/GEOMImpl_ScaleDriver.cxx | 24 +- src/GEOMImpl/Makefile.in | 19 + src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.cxx | 34 +- src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.h | 4 + .../GEOMToolsGUI_TransparencyDlg.cxx | 36 +- .../GEOMToolsGUI_TransparencyDlg.h | 2 + src/GEOM_I/GEOM_DumpPython.cc | 2 +- src/GEOM_I/GEOM_IMeasureOperations_i.cc | 2 +- src/GEOM_I/GEOM_IShapesOperations_i.cc | 70 + src/GEOM_I/GEOM_IShapesOperations_i.hh | 8 + src/GEOM_I/GEOM_Object_i.cc | 4 +- src/GEOM_I/GEOM_Object_i.hh | 2 +- src/GEOM_I_Superv/GEOM_Superv_i.cc | 330 ++- src/GEOM_I_Superv/GEOM_Superv_i.hh | 17 +- src/GEOM_I_Superv/Makefile.in | 4 +- src/GEOM_SWIG/GEOM_Nut.py | 19 + src/GEOM_SWIG/GEOM_TestMeasures.py | 19 + src/GEOM_SWIG/GEOM_TestOthers.py | 2 +- src/GEOM_SWIG/GEOM_cyl2complementary.py | 24 +- src/GEOM_SWIG/GEOM_example3.py | 38 +- src/GEOM_SWIG/GEOM_example4.py | 2 +- src/GEOM_SWIG/GEOM_shared_modules.py | 19 + src/GEOM_SWIG/GEOM_shellSolid.py | 19 + src/GEOM_SWIG/GEOM_tube_geom.py | 19 + src/GEOM_SWIG/GEOM_tube_geom_gg2.py | 48 +- src/GEOM_SWIG/PAL_MESH_019_020_geometry.py | 19 + src/GEOM_SWIG/PAL_MESH_028_geometry.py | 19 + src/GEOM_SWIG/PAL_MESH_030_geometry.py | 19 + src/GEOM_SWIG/PAL_MESH_033_geometry.py | 19 + src/GEOM_SWIG/PAL_MESH_035_geometry.py | 19 + src/GEOM_SWIG/geompy.py | 14 +- src/GenerationGUI/GenerationGUI.cxx | 2 +- .../GenerationGUI_FillingDlg.cxx | 17 +- src/GenerationGUI/GenerationGUI_FillingDlg.h | 7 +- src/GenerationGUI/GenerationGUI_PipeDlg.cxx | 8 +- src/GenerationGUI/GenerationGUI_PipeDlg.h | 7 +- src/GenerationGUI/GenerationGUI_PrismDlg.cxx | 56 +- src/GenerationGUI/GenerationGUI_PrismDlg.h | 6 +- src/GenerationGUI/GenerationGUI_RevolDlg.cxx | 14 +- src/GenerationGUI/GenerationGUI_RevolDlg.h | 7 +- src/GroupGUI/GroupGUI.cxx | 43 +- src/GroupGUI/GroupGUI_GroupDlg.cxx | 16 +- src/GroupGUI/GroupGUI_GroupDlg.h | 6 +- src/IGESExport/IGESExport.cxx | 45 +- src/IGESImport/IGESImport.cxx | 1 + src/MeasureGUI/MeasureGUI.cxx | 49 +- src/MeasureGUI/MeasureGUI_BndBoxDlg.cxx | 21 +- src/MeasureGUI/MeasureGUI_BndBoxDlg.h | 25 +- src/MeasureGUI/MeasureGUI_CenterMassDlg.cxx | 15 +- src/MeasureGUI/MeasureGUI_CenterMassDlg.h | 10 +- .../MeasureGUI_CheckCompoundOfBlocksDlg.cxx | 192 +- .../MeasureGUI_CheckCompoundOfBlocksDlg.h | 44 +- src/MeasureGUI/MeasureGUI_CheckShapeDlg.cxx | 2 + src/MeasureGUI/MeasureGUI_DistanceDlg.cxx | 2 + src/MeasureGUI/MeasureGUI_InertiaDlg.cxx | 2 + src/MeasureGUI/MeasureGUI_MaxToleranceDlg.cxx | 2 + src/MeasureGUI/MeasureGUI_PointDlg.cxx | 2 + src/MeasureGUI/MeasureGUI_PropertiesDlg.cxx | 2 + src/MeasureGUI/MeasureGUI_Skeleton.cxx | 25 +- src/MeasureGUI/MeasureGUI_Skeleton.h | 3 + src/MeasureGUI/MeasureGUI_Skeleton_QTD.cxx | 70 +- src/MeasureGUI/MeasureGUI_Skeleton_QTD.h | 40 +- src/MeasureGUI/MeasureGUI_WhatisDlg.cxx | 2 + .../UIFiles/MeasureGUI_Skeleton_QTD.ui | 29 +- src/MeasureGUI/UIFiles/ui_to_cxx | 38 +- src/OBJECT/GEOM_AISShape.cxx | 4 +- src/OBJECT/GEOM_AISShape.jxx | 2 +- src/OBJECT/GEOM_Actor.cxx | 16 +- src/OBJECT/GEOM_Actor.h | 8 +- src/OBJECT/GEOM_VTKTrihedron.cxx | 28 +- src/OBJECT/GEOM_VTKTrihedron.hxx | 12 +- src/OperationGUI/OperationGUI.cxx | 32 +- .../OperationGUI_ArchimedeDlg.cxx | 22 +- src/OperationGUI/OperationGUI_ArchimedeDlg.h | 6 +- src/OperationGUI/OperationGUI_ChamferDlg.cxx | 42 +- src/OperationGUI/OperationGUI_ChamferDlg.h | 12 +- src/OperationGUI/OperationGUI_ClippingDlg.cxx | 77 +- src/OperationGUI/OperationGUI_ClippingDlg.h | 15 +- src/OperationGUI/OperationGUI_FilletDlg.cxx | 102 +- src/OperationGUI/OperationGUI_FilletDlg.h | 16 +- src/OperationGUI/OperationGUI_MaterialDlg.cxx | 39 +- src/OperationGUI/OperationGUI_MaterialDlg.h | 10 +- .../OperationGUI_PartitionDlg.cxx | 149 +- src/OperationGUI/OperationGUI_PartitionDlg.h | 20 +- src/PrimitiveGUI/PrimitiveGUI_BoxDlg.cxx | 35 +- src/PrimitiveGUI/PrimitiveGUI_BoxDlg.h | 11 +- src/PrimitiveGUI/PrimitiveGUI_ConeDlg.cxx | 20 +- src/PrimitiveGUI/PrimitiveGUI_ConeDlg.h | 7 +- src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.cxx | 16 +- src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.h | 6 +- src/PrimitiveGUI/PrimitiveGUI_SphereDlg.cxx | 14 +- src/PrimitiveGUI/PrimitiveGUI_SphereDlg.h | 8 +- src/PrimitiveGUI/PrimitiveGUI_TorusDlg.cxx | 19 +- src/PrimitiveGUI/PrimitiveGUI_TorusDlg.h | 13 +- src/RepairGUI/RepairGUI.cxx | 44 +- src/RepairGUI/RepairGUI_CloseContourDlg.cxx | 45 +- src/RepairGUI/RepairGUI_CloseContourDlg.h | 8 +- src/RepairGUI/RepairGUI_DivideEdgeDlg.cxx | 34 +- src/RepairGUI/RepairGUI_DivideEdgeDlg.h | 5 +- src/RepairGUI/RepairGUI_FreeBoundDlg.cxx | 40 +- src/RepairGUI/RepairGUI_FreeBoundDlg.h | 20 +- src/RepairGUI/RepairGUI_FreeFacesDlg.cxx | 38 +- src/RepairGUI/RepairGUI_FreeFacesDlg.h | 26 +- src/RepairGUI/RepairGUI_GlueDlg.cxx | 40 +- src/RepairGUI/RepairGUI_GlueDlg.h | 8 +- src/RepairGUI/RepairGUI_RemoveHolesDlg.cxx | 35 +- src/RepairGUI/RepairGUI_RemoveHolesDlg.h | 12 +- src/RepairGUI/RepairGUI_RemoveIntWiresDlg.cxx | 56 +- src/RepairGUI/RepairGUI_RemoveIntWiresDlg.h | 12 +- src/RepairGUI/RepairGUI_SewingDlg.cxx | 35 +- src/RepairGUI/RepairGUI_SewingDlg.h | 12 +- src/RepairGUI/RepairGUI_ShapeProcessDlg.cxx | 44 +- src/RepairGUI/RepairGUI_ShapeProcessDlg.h | 45 +- src/RepairGUI/RepairGUI_SuppressFacesDlg.cxx | 39 +- src/RepairGUI/RepairGUI_SuppressFacesDlg.h | 26 +- src/STEPExport/STEPExport.cxx | 4 +- src/STEPImport/STEPImport.cxx | 1 + src/TransformationGUI/TransformationGUI.cxx | 76 +- .../TransformationGUI_MirrorDlg.cxx | 38 +- .../TransformationGUI_MirrorDlg.h | 8 +- .../TransformationGUI_MultiRotationDlg.cxx | 92 +- .../TransformationGUI_MultiRotationDlg.h | 9 +- .../TransformationGUI_MultiTranslationDlg.cxx | 57 +- .../TransformationGUI_MultiTranslationDlg.h | 9 +- .../TransformationGUI_OffsetDlg.cxx | 32 +- .../TransformationGUI_OffsetDlg.h | 11 +- .../TransformationGUI_PositionDlg.cxx | 44 +- .../TransformationGUI_PositionDlg.h | 10 +- .../TransformationGUI_RotationDlg.cxx | 32 +- .../TransformationGUI_RotationDlg.h | 8 +- .../TransformationGUI_ScaleDlg.cxx | 36 +- .../TransformationGUI_ScaleDlg.h | 10 +- .../TransformationGUI_TranslationDlg.cxx | 55 +- .../TransformationGUI_TranslationDlg.h | 8 +- 505 files changed, 8017 insertions(+), 12179 deletions(-) delete mode 100755 doc/salome/gui/GEOM/blocks.htm delete mode 100755 doc/salome/gui/GEOM/changing_displaying_parameters.htm delete mode 100755 doc/salome/gui/GEOM/files/salome2_sp3_basicgui_functions.htm delete mode 100755 doc/salome/gui/GEOM/files/salome2_sp3_buildgui_functions.htm delete mode 100755 doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions.htm delete mode 100755 doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image55.gif delete mode 100755 doc/salome/gui/GEOM/files/salome2_sp3_generationgui_functions.htm delete mode 100755 doc/salome/gui/GEOM/files/salome2_sp3_operationgui_functions.htm delete mode 100755 doc/salome/gui/GEOM/files/salome2_sp3_primitivegui_functions.htm delete mode 100755 doc/salome/gui/GEOM/files/salome2_sp3_repairgui_functions.htm delete mode 100755 doc/salome/gui/GEOM/files/salome2_sp3_transformationgui_functions.htm create mode 100755 doc/salome/gui/GEOM/image1.gif create mode 100755 doc/salome/gui/GEOM/image1.jpg delete mode 100755 doc/salome/gui/GEOM/image10.jpg delete mode 100755 doc/salome/gui/GEOM/image11.gif delete mode 100755 doc/salome/gui/GEOM/image11.jpg delete mode 100755 doc/salome/gui/GEOM/image12.gif delete mode 100755 doc/salome/gui/GEOM/image12.jpg delete mode 100755 doc/salome/gui/GEOM/image121.jpg delete mode 100755 doc/salome/gui/GEOM/image122.jpg delete mode 100755 doc/salome/gui/GEOM/image124.jpg delete mode 100755 doc/salome/gui/GEOM/image127.jpg delete mode 100755 doc/salome/gui/GEOM/image128.jpg delete mode 100755 doc/salome/gui/GEOM/image129.jpg delete mode 100755 doc/salome/gui/GEOM/image13.gif delete mode 100755 doc/salome/gui/GEOM/image130.jpg delete mode 100755 doc/salome/gui/GEOM/image133.jpg delete mode 100755 doc/salome/gui/GEOM/image14.gif delete mode 100755 doc/salome/gui/GEOM/image147.jpg delete mode 100755 doc/salome/gui/GEOM/image149.jpg delete mode 100755 doc/salome/gui/GEOM/image15.gif delete mode 100755 doc/salome/gui/GEOM/image150.jpg delete mode 100755 doc/salome/gui/GEOM/image151.jpg delete mode 100755 doc/salome/gui/GEOM/image16.gif delete mode 100755 doc/salome/gui/GEOM/image163.jpg delete mode 100755 doc/salome/gui/GEOM/image164.jpg delete mode 100755 doc/salome/gui/GEOM/image17.gif delete mode 100755 doc/salome/gui/GEOM/image170.jpg delete mode 100755 doc/salome/gui/GEOM/image171.jpg delete mode 100755 doc/salome/gui/GEOM/image172.jpg create mode 100755 doc/salome/gui/GEOM/image18.gif delete mode 100755 doc/salome/gui/GEOM/image18.jpg delete mode 100755 doc/salome/gui/GEOM/image188.jpg delete mode 100755 doc/salome/gui/GEOM/image189.jpg delete mode 100755 doc/salome/gui/GEOM/image19.gif delete mode 100755 doc/salome/gui/GEOM/image191.jpg delete mode 100755 doc/salome/gui/GEOM/image197.jpg create mode 100755 doc/salome/gui/GEOM/image2.gif delete mode 100755 doc/salome/gui/GEOM/image20.gif delete mode 100755 doc/salome/gui/GEOM/image201.jpg delete mode 100755 doc/salome/gui/GEOM/image202.jpg delete mode 100755 doc/salome/gui/GEOM/image21.gif delete mode 100755 doc/salome/gui/GEOM/image22.gif delete mode 100755 doc/salome/gui/GEOM/image23.gif delete mode 100755 doc/salome/gui/GEOM/image24.gif delete mode 100755 doc/salome/gui/GEOM/image25.gif rename doc/salome/gui/GEOM/{files/salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image54.gif => image26.gif} (66%) delete mode 100755 doc/salome/gui/GEOM/image27.jpg delete mode 100755 doc/salome/gui/GEOM/image31.gif rename doc/salome/gui/GEOM/{files/salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image53.gif => image33.gif} (70%) create mode 100755 doc/salome/gui/GEOM/image4.gif rename doc/salome/gui/GEOM/{files/salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image130.gif => image5.gif} (75%) delete mode 100755 doc/salome/gui/GEOM/image52.jpg delete mode 100755 doc/salome/gui/GEOM/image53.jpg delete mode 100755 doc/salome/gui/GEOM/image54.jpg delete mode 100755 doc/salome/gui/GEOM/image6.gif delete mode 100755 doc/salome/gui/GEOM/image67.jpg delete mode 100755 doc/salome/gui/GEOM/image7.gif delete mode 100755 doc/salome/gui/GEOM/image76.jpg delete mode 100755 doc/salome/gui/GEOM/image78.jpg delete mode 100755 doc/salome/gui/GEOM/image79.jpg delete mode 100755 doc/salome/gui/GEOM/image8.gif delete mode 100755 doc/salome/gui/GEOM/image8.jpg delete mode 100755 doc/salome/gui/GEOM/image80.jpg delete mode 100755 doc/salome/gui/GEOM/image81.jpg delete mode 100755 doc/salome/gui/GEOM/image82.jpg delete mode 100755 doc/salome/gui/GEOM/image83.jpg delete mode 100755 doc/salome/gui/GEOM/image84.jpg delete mode 100755 doc/salome/gui/GEOM/image85.jpg delete mode 100755 doc/salome/gui/GEOM/image9.gif delete mode 100755 doc/salome/gui/GEOM/image9.jpg delete mode 100755 doc/salome/gui/GEOM/image94.jpg delete mode 100755 doc/salome/gui/GEOM/image95.jpg delete mode 100755 doc/salome/gui/GEOM/image96.jpg delete mode 100755 doc/salome/gui/GEOM/image97.jpg delete mode 100755 doc/salome/gui/GEOM/image98.jpg create mode 100755 doc/salome/gui/GEOM/occ_viewer.htm create mode 100755 doc/salome/gui/GEOM/pics/clipping.png delete mode 100755 doc/salome/gui/GEOM/pics/creategroup.png delete mode 100755 doc/salome/gui/GEOM/pics/export.png create mode 100755 doc/salome/gui/GEOM/pics/geomcreategroup.png create mode 100755 doc/salome/gui/GEOM/pics/geomexport.png create mode 100755 doc/salome/gui/GEOM/pics/geomimport.png create mode 100755 doc/salome/gui/GEOM/pics/image100.gif create mode 100755 doc/salome/gui/GEOM/pics/image102.gif create mode 100755 doc/salome/gui/GEOM/pics/image103.gif create mode 100755 doc/salome/gui/GEOM/pics/image105.gif rename doc/salome/gui/GEOM/{files/salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image51.gif => pics/image106.gif} (71%) create mode 100755 doc/salome/gui/GEOM/pics/image77.gif create mode 100755 doc/salome/gui/GEOM/pics/image86.gif rename doc/salome/gui/GEOM/{files/salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image52.gif => pics/image88.gif} (70%) create mode 100755 doc/salome/gui/GEOM/pics/image89.gif rename doc/salome/gui/GEOM/{files/salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image28.gif => pics/image91.gif} (69%) create mode 100755 doc/salome/gui/GEOM/pics/image95.gif create mode 100755 doc/salome/gui/GEOM/pics/image96.gif create mode 100755 doc/salome/gui/GEOM/pics/image97.gif create mode 100755 doc/salome/gui/GEOM/pics/image98.gif create mode 100755 doc/salome/gui/GEOM/pics/image99.gif delete mode 100755 doc/salome/gui/GEOM/pics/import.png create mode 100755 doc/salome/gui/GEOM/viewing_geometrical_objects.htm delete mode 100755 doc/salome/gui/GEOM/whgdata/whlstf14.htm delete mode 100755 doc/salome/gui/GEOM/whgdata/whlstf15.htm create mode 100755 doc/salome/gui/GEOM/whgdata/whlstfl26.htm delete mode 100755 doc/salome/gui/GEOM/whgdata/whlstt17.htm create mode 100755 doc/salome/tui/GEOM/sources/footer.html create mode 100644 resources/SalomeApp.xml diff --git a/INSTALL b/INSTALL index 0d561d36b..7ea5b07c3 100644 --- a/INSTALL +++ b/INSTALL @@ -1,4 +1,4 @@ -This is the version 3.2.0a2 of GEOM +This is the version 3.2.0b1 of GEOM Compatible with : - - KERNEL 3.2.0a2 - - GUI 3.2.0a2 + - KERNEL 3.2.0b1 + - GUI 3.2.0b1 diff --git a/Makefile.in b/Makefile.in index b552694e5..59fff7112 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,3 +1,22 @@ +# 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/ +# # -* Makefile *- # # Author : Patrick GOLDBRONN (CEA) @@ -21,6 +40,7 @@ GEOM_en.xml \ GEOM_fr.xml \ GEOM.config \ GEOMCatalog.xml \ +SalomeApp.xml \ GEOMDS_Resources \ ImportExport \ ShHealing \ diff --git a/adm_local/Makefile.in b/adm_local/Makefile.in index 9b5e810db..734bc820a 100644 --- a/adm_local/Makefile.in +++ b/adm_local/Makefile.in @@ -1,3 +1,22 @@ +# 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/ +# # source path top_srcdir=@top_srcdir@ top_builddir=.. diff --git a/adm_local/unix/make_commence.in b/adm_local/unix/make_commence.in index 9955f5d6a..3fca6a6d8 100644 --- a/adm_local/unix/make_commence.in +++ b/adm_local/unix/make_commence.in @@ -171,6 +171,8 @@ CXXFLAGS+= $(CORBA_CXXFLAGS) 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@ @@ -229,7 +231,13 @@ all: Makefile: $(top_builddir)/config.status $(srcdir)/Makefile.in cd $(top_builddir) ; ./config.status -$(top_builddir)/config.status: $(top_srcdir)/configure +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 :-) @@ -244,7 +252,7 @@ $(top_srcdir)/configure.in: $(top_srcdir)/configure.in.base cd $(top_srcdir) && ./build_configure -ACLOCAL_SRC = \ +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 \ @@ -257,7 +265,7 @@ ACLOCAL_GUI = \ check_vtk.m4 check_opengl.m4 check_qt.m4 \ check_GUI.m4 check_corba_in_GUI.m4 -$(top_srcdir)/aclocal.m4: $(ACLOCAL_SRC:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%) \ +$(top_srcdir)/aclocal.m4: $(ACLOCAL_KERNEL:%=@KERNEL_ROOT_DIR@/salome_adm/unix/config_files/%) \ $(ACLOCAL_GUI:%=@GUI_ROOT_DIR@/adm_local/unix/config_files/%) - cd $(top_srcdir) ; aclocal --acdir=adm_local/unix/config_files -I @KERNEL_ROOT_DIR@/salome_adm/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 diff --git a/adm_local/unix/make_omniorb.in b/adm_local/unix/make_omniorb.in index 84679a9ea..aace887c0 100644 --- a/adm_local/unix/make_omniorb.in +++ b/adm_local/unix/make_omniorb.in @@ -19,6 +19,9 @@ %$(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): ${top_srcdir}/idl/%.idl $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< diff --git a/bin/VERSION b/bin/VERSION index cc3c6a31f..8f29be47a 100755 --- a/bin/VERSION +++ b/bin/VERSION @@ -1 +1 @@ -THIS IS SALOME - GEOM VERSION: 3.2.0a2 +THIS IS SALOME - GEOM VERSION: 3.2.0b1 diff --git a/build_configure b/build_configure index 19c078a46..7e516789c 100755 --- a/build_configure +++ b/build_configure @@ -131,9 +131,9 @@ 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 \\" >> 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 \\" >> 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 diff --git a/doc/Makefile.in b/doc/Makefile.in index 7295ede75..59e6c5962 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,3 +1,22 @@ +# 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/ +# # -* Makefile *- # diff --git a/doc/salome/gui/GEOM/add_point_on_edge.htm b/doc/salome/gui/GEOM/add_point_on_edge.htm index 2134b248d..4e8e4cd24 100755 --- a/doc/salome/gui/GEOM/add_point_on_edge.htm +++ b/doc/salome/gui/GEOM/add_point_on_edge.htm @@ -16,26 +16,25 @@ if (navigator.appName !="Netscape") - - - - - - - - -

Building of blocks

- -

 

- - - -

 

- -

 

- -

To use these options:

- -

 

- -

In the main menu select Blocks - submenu.

- -

 

- -

 

- -

 

- -

 

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/GEOM/blocks_operations.htm b/doc/salome/gui/GEOM/blocks_operations.htm index a040a5b4c..dd9f31a7e 100755 --- a/doc/salome/gui/GEOM/blocks_operations.htm +++ b/doc/salome/gui/GEOM/blocks_operations.htm @@ -46,7 +46,7 @@ if (window.gbWhTopic) { if (window.addTocInfo) { - addTocInfo("GEOM module\nTUI Scripts\nTransformation\nBlocks Operations"); + addTocInfo("Geometry module\nTUI Scripts\nTransformation\nBlocks Operations"); addButton("show",BTN_TEXT,"Show","","","","",0,0,"","",""); } diff --git a/doc/salome/gui/GEOM/boolean_operations.htm b/doc/salome/gui/GEOM/boolean_operations.htm index 8593ee771..8e40f39d1 100755 --- a/doc/salome/gui/GEOM/boolean_operations.htm +++ b/doc/salome/gui/GEOM/boolean_operations.htm @@ -46,7 +46,7 @@ if (window.gbWhTopic) { if (window.addTocInfo) { - addTocInfo("GEOM module\nTUI Scripts\nTransformation\nBoolean Operations"); + addTocInfo("Geometry module\nTUI Scripts\nTransformation\nBoolean Operations"); addButton("show",BTN_TEXT,"Show","","","","",0,0,"","",""); } diff --git a/doc/salome/gui/GEOM/box.htm b/doc/salome/gui/GEOM/box.htm index d03a7cf81..27267cd21 100755 --- a/doc/salome/gui/GEOM/box.htm +++ b/doc/salome/gui/GEOM/box.htm @@ -17,14 +17,15 @@ if (navigator.appName !="Netscape") img_whs1 { width:20px; height:20px; border-style:none; } p.whs2 { font-size:12pt; } p.whs3 { font-style:italic; } -img_whs4 { border:none; width:312px; height:324px; float:none; border-style:none; } -p.whs5 { font-weight:normal; } -img_whs6 { border:none; width:312px; height:332px; float:none; border-style:none; } -p.whs7 { font-size:12pt; font-weight:bold; } -p.whs8 { font-size:12pt; font-weight:bold; font-style:normal; } -p.whs9 { font-size:12pt; font-style:normal; font-weight:bold; } -p.whs10 { font-size:12pt; font-style:normal; font-weight:normal; } -img_whs11 { border:none; width:267px; height:280px; float:none; border-style:none; } +p.whs4 { margin-left:40px; } +img_whs5 { border:none; width:312px; height:324px; float:none; border-style:none; } +p.whs6 { font-weight:normal; } +p.whs7 { font-size:12pt; margin-left:40px; } +img_whs8 { border:none; width:312px; height:332px; float:none; border-style:none; } +p.whs9 { font-size:12pt; font-weight:bold; } +p.whs10 { font-size:12pt; font-weight:bold; font-style:normal; } +p.whs11 { font-size:12pt; font-style:normal; font-weight:bold; } +img_whs12 { border:none; width:267px; height:280px; float:none; border-style:none; } --> -

Changing Display Parameters

+

Viewing Geometrical Objects

Changing Display Mode

diff --git a/doc/salome/gui/GEOM/changing_displaying_parameters.htm b/doc/salome/gui/GEOM/changing_displaying_parameters.htm deleted file mode 100755 index 683769b8c..000000000 --- a/doc/salome/gui/GEOM/changing_displaying_parameters.htm +++ /dev/null @@ -1,223 +0,0 @@ - - - - - -Changing displaying parameters - - - - - - - - - - - -

Changing displaying parameters

- -

In GEOM you can set different - displaying parameters for visualization of geometrical objects in the - viewer:

- -

 

- - - -

 

- -

To set displaying parameters of a geometrical object:

- -

 

- -

Right-click on this geometrical object in - the viewer and from the pop-up menu select Properties.

- -

 

- -

 

- -

Wireframe/Shading

- -

 

- -

This - option is relevant for viewing 3D objects. Wireframe mode means that  

- -

 

- -

Description: - Set the display mode of the selected shape.

- -

 

- -

TUI - Command: gg.setDisplayMode(ID, Short)

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

 

- -

Color

- -

 

- -

Description: - Change the color of a shape.

- -

 

- -

TUI Command: - gg.setColor(ID, Short, Short, Short)

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

 

- -

 

- -

Transparency

- -

 

- -

Description: - Change the transparency (between 0 & 1) of a shape.

- -

 

- -

TUI Command: - gg.setTransparency(ID, Double)

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/GEOM/check_free_boundaries.htm b/doc/salome/gui/GEOM/check_free_boundaries.htm index d5da15b92..549ae0551 100755 --- a/doc/salome/gui/GEOM/check_free_boundaries.htm +++ b/doc/salome/gui/GEOM/check_free_boundaries.htm @@ -16,10 +16,10 @@ if (navigator.appName !="Netscape") - - -

Introduction to GEOM

+

Introduction to Geometry

-

GEOM module of - SALOME is destined for:

+

Geometry module + of SALOME is destined for:

 

@@ -103,7 +102,7 @@ else -

 

-

There is a general TUI command covering +

There is a general TUI command covering all these operations, which can be used alongside with separate commands for each operation.

-

geompy.MakeBoolean(Shape1, +

geompy.MakeBoolean(Shape1, Shape2, Operation), where Shape1 is the first argument and Shape2 is the second argument of Boolean operation, Operation is a type of the Boolean operation (1 – Common, 2 – Cut, 3 – Fuse, 4 – Section).

diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_buildgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_buildgui_functions.htm deleted file mode 100755 index 42c0ee8ea..000000000 --- a/doc/salome/gui/GEOM/files/salome2_sp3_buildgui_functions.htm +++ /dev/null @@ -1,458 +0,0 @@ - - - - - -Titre - - - - - - - - - - - -

Building geometrical objects

- -

In GEOM you can create basic and advanced geometrical objects - (2D & 3D elements) using the following building functions:

- -

 

- - - -

 

- -

 

- -

 

- -

To use Explode:

- -

 

- -

In the main menu select New - Entity > Explode.

- -

 

- -

Explode

- -

 

- -

Description: - Returns a list of subshapes (vertices, edges, wires etc.) of the given - shape.

- -

 

- -

Result : - List of GEOM_Objects.

- -

 

- -

TUI Command: -

- - - -

 

- -

Arguments: - 1 SHAPE + 1 type of SubShape.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

 

- -

To use building functions:

- -

 

- -

In the main menu select - New Entity > Build - submenu.

- -

 

- -

Edge

- -

 

- -

Description: - Creates an edge.

- -

 

- -

Result: GEOM_Object - (EDGE).

- -

 

- -

TUI Command: - geompy.MakeEdge(Vertex1, Vertex2), - where Vertex1 and Vertex2 are correspondingly the first and the last vertex - of the edge.

- -

 

- -

Arguments: - Name + 2 vertices.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

- -

 

- -

Wire

- -

 

- -

Description: - Creates a wire.

- -

 

- -

Result: GEOM_Object - (WIRE).

- -

 

- -

TUI Command : - geompy.MakeWire(ListOfShape), - where ListOfShape is a list of edges and/or wires from which the wire - to be constructed.

- -

 

- -

Arguments: - Name + List of connected wires or edges..

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

- -

 

- -

Face

- -

 

- -

Description: - Creates a face.

- -

 

- -

Result: GEOM_Object - (FACE).

- -

 

- -

TUI Command: - geompy.MakeFace(Wire, WantPlanarFace), - where Wire is a wire and if boolean parameter WantPlanarFace is planar - then only a planar face or no face is constructed.

- -

 

- -

Arguments: - Name + 1 wire.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

- -

 

- -

Shell

- -

 

- -

Description: - Creates a shell.

- -

 

- -

Result: GEOM_Object - (SHELL).

- -

 

- -

TUI Command: - geompy.MakeShell(ListOfShape), - where ListOfShape is a list of faces and (or) shells from which the shell - is constructed.

- -

 

- -

Arguments: - Name + List of faces having connected edges.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

- -

 

- -

Solid

- -

 

- -

Description: - Creates a solid - closed geometrical 3D element.

- -

 

- -

Result: GEOM_Object - (SOLID).

- -

 

- -

TUI Command: - geompy.MakeSolid(ListOfShape), - where ListOfShape is a list of shells from which the solid is constructed.

- -

 

- -

Arguments: - Name + A closed shell or a list of shells.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

 

- -

Compound

- -

 

- -

Description: - Creates a compound.

- -

 

- -

Result: GEOM_Object - (COMPOUND).

- -

 

- -

TUI Command: - geompy.MakeCompound(ListOfShape), - where ListOfShape is a list of shapes from which the compound is constructed.

- -

 

- -

Arguments: - Name + List of shapes.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions.htm deleted file mode 100755 index ff0ba882b..000000000 --- a/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions.htm +++ /dev/null @@ -1,225 +0,0 @@ - - - - - -Titre - - - - - - - - - - - -

Displaying/hiding objects

- -

Visualization is available in both viewers, OCC and VTK - . These viewers work independently, i.e. visibility of objects and their - graphic attributes may differ in OCC and VTK viewer. It - is reasonable to use the OCC viewer for GEOM module.

- -

 

- -

Displaying\hiding - different geometrical objects in the viewer is possible using the following - operations:

- -

 

- - - -

 

- -

To display\hide one or several objects in the viewer:

- -

 

- -

In the main menu select View - or right-click on the necessary object in the Object Browser and - from the associated pop-up menu choose the required operation.

- -

 

- -

 

- -

DisplayAll -

- -

 

- -

Description: - Displays all geometrical objects which have been created or imported in - the current study.

- -

 

- -

TUI - Command: sg.DisplayAll()

- -

 

- -

 

- -

EraseAll

- -

 

- -

Description: - Erases all shapes displayed in the viewer.

- -

 

- -

TUI - Command: sg.EraseAll()

- -

 

- -

 

- -

Display

- -

 

- -

Description: - Displays an object in 3D viewer.

- -

 

- -

TUI - Command:

- -

 

- -

 

- -

DisplayOnly

- -

 

- -

Description: - Displays only the selected geometrical element.

- -

 

- -

TUI - Command: sg.DisplayOnly(ID)

- -

 

- -

 

- -

Erase

- -

 

- -

Description - : Erases only the selected shape.

- -

 

- -

TUI - Command : sg.EraseOnly(ID)

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image55.gif b/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image55.gif deleted file mode 100755 index 4890bda6c1cb65cd1262ceba43e392b484df9506..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 987 zcmZ?wbh9u|6k!ly_|5)u^^o2OlB znRe~Skt4^BAN&6wsCE>LhQRO%0mYvzV9)4)NKl?|;Ml<+%^~AapuoV!!>5+RkZ_QR ziAkEN;K2e1=XM4G6^$7W4!E`}7>XGjxS-fLS)I`)f>WUZsGCE{fMH|Gi3tpDxAt@z zIxw^{upQYGG5O)CsiKTBHzY2m1kY3QGz*x(@YH>tqEH&+j{$`QShtgX#KpS8pyzPFfMjeJ-SD Y@<)eNsm9UIDh@O}KR=(Jg@wTy0I>FIp8x;= diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_generationgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_generationgui_functions.htm deleted file mode 100755 index 322971bfa..000000000 --- a/doc/salome/gui/GEOM/files/salome2_sp3_generationgui_functions.htm +++ /dev/null @@ -1,307 +0,0 @@ - - - - - -Titre - - - - - - - - - - - -

Generating complex objects

- -

Generation operations in GEOM are used to create advanced - geometrical objects (3D elements). They are:

- -

 

- - - -

 

- -

To use generation operations:

- -

 

- -

In the main menu select New - Entity > Generation.

- -

 

- -

Extrusion

- -

Description: - Creates an extruded shape.

- -

 

- -

Result: GEOM_Object - (edge, face, solid or compsolid).

- -

 

- -

TUI Command : - geompy.MakePrism(baseShape, Vector, - Height), where baseShape is a basis of the prism, Vector is a normal - of the prism and Height is a height of the prism.

- -

 

- -

Arguments: - Name + 1 shape (vertex, edge, wire, face or shell) serving as base object - + 1 vector (for direction) + 1 value (dimension).

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

Revolution

- -

- -

Description: - Creates an extruded shape by revolution.

- -

 

- -

Result: GEOM_Object - (edge, face, solid or compsolid).

- -

 

- -

TUI Command: - geompy.MakeRevolution(Shape, Axis, - Angle), where Shape is a shape to rotate, Axis is the axis of the - revolution and Angle is an angle by which Shape has to be rotated around - Axis.

- -

 

- -

Arguments: - Name + 1 shape (vertex, edge, wire, face or shell) serving as base object - + 1 vector (for direction) + 1 value (angle).

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

Filling

- -

 

- -

Description: - Creates a curving face using several curves.

- -

 

- -

Result: GEOM_Object - (face).

- -

 

- -

TUI Command: - geompy.MakeFilling(Shape, MinDegree, - MaxDegree, Tol2D, Tol3D, NbIter), where Shape is a shape to fill, - MinDegree and MaxDegree are correspondingly maximal and minimal degree, - Tol2D is a tolerance for 2D and Tol3D is a tolerance for 3D, NbIter is - a number of iterations.

- -

 

- -

Arguments: - Name + 1 List of edges + 5 Parameters (Min. degree, Max. degree, Number - of iterations, 2D tolerance, 3D tolerance).

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

Pipe

- -

- -

Description: - Creates an extruded shape.

- -

 

- -

Result: GEOM_Object - (edge, face, solid or compsolid).

- -

 

- -

TUI Command: - geompy.MakePipe(baseShape, pathShape), - where baseShape is a shape to be extruded, pathShape is a path along which - baseShape is extruded.

- -

 

- -

Arguments: - Name + 1 shape (vertex, edge, wire, face or shell) serving as base object - + 1 shape (edge, face or shell) for definition of the path.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_geomtoolsgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_geomtoolsgui_functions.htm index 566fc05e7..ea1d1af6f 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_geomtoolsgui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_geomtoolsgui_functions.htm @@ -17,8 +17,8 @@ if (navigator.appName !="Netscape") p.whs1 { font-size:12pt; } img_whs2 { border:none; float:none; width:30px; height:30px; border-style:none; } p.whs3 { margin-left:40px; } -img_whs4 { border:none; width:557px; height:274px; float:none; border-style:none; } -img_whs5 { border:none; width:529px; height:272px; float:none; border-style:none; } +img_whs4 { border:none; width:425px; height:269px; float:none; border-style:none; } +img_whs5 { border:none; width:436px; height:269px; float:none; border-style:none; } -->

Importing/exporting geometrical objects

-

In GEOM you can import - and export geometrical objects from/into BREP, IGES, STEP In Geometry module you + can import and export geometrical objects from/into BREP, IGES, STEP files. The mechanisms of import and export are implemented via plug-ins, which gives you the opportunity to expand the range of available formats by adding more plug-ins (for example, CATIA @@ -98,14 +98,14 @@ else

 

-

+

 

Select the required file and click Open. Your file will be imported into - GEOM and its contents (geometrical object) will be displayed in the Object Browser.

+ style="font-weight: bold;">Open. Your file will be imported in + the module and its contents (geometrical object) will be displayed in + the Object Browser.

 

@@ -118,13 +118,13 @@ else

Select the object you wish to export, then from the File menu choose Export. In the opening dialog box Export define the required format the - name and the location of the file for exportation. + style="font-weight: bold;"> Export define the required format, + the name and the location of the file for exportation.

 

-

+

 

diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_measuregui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_measuregui_functions.htm index 0740b8917..e5b80916d 100755 --- a/doc/salome/gui/GEOM/files/salome2_sp3_measuregui_functions.htm +++ b/doc/salome/gui/GEOM/files/salome2_sp3_measuregui_functions.htm @@ -85,7 +85,7 @@ if (window.gbWhTopic) { if (window.addTocInfo) { - addTocInfo("GEOM module\nUsing measurement tools"); + addTocInfo("Geometry module\nUsing measurement tools"); addButton("show",BTN_TEXT,"Show","","","","",0,0,"","",""); } @@ -185,17 +185,6 @@ else

 

-

 

- -

Arguments: - 1 point.

- -

 

- -

Dialog Box:

- -

 

-

 

@@ -226,15 +215,6 @@ else

 

-

Arguments: - 1 shape.

- -

 

- -

Dialog Box:

- -

 

-

 

@@ -263,15 +243,6 @@ else

 

-

Arguments: - 1 shape.

- -

 

- -

Dialog Box:

- -

 

-

 

@@ -310,15 +281,6 @@ else Shape is a shape for which a matrix of inertia and moment of inertia are returned.

-

 

- -

Arguments: - 1 shape.

- -

 

- -

Dialog Box:

-

 

@@ -351,15 +313,6 @@ else

 

-

Arguments: - 1 shape.

- -

 

- -

Dialog Box:

- -

 

-

 

@@ -388,15 +341,6 @@ else

 

-

Arguments: - 2 shapes.

- -

 

- -

Dialog Box:

- -

 

-

 

@@ -426,15 +370,6 @@ else

 

-

Arguments: - 1 shape.

- -

 

- -

Dialog Box:

- -

 

-

 

@@ -463,15 +398,6 @@ else

 

-

Arguments: - 1 shape.

- -

 

- -

Dialog Box:

- -

 

-

 

@@ -500,15 +426,6 @@ else

 

-

Arguments: - 1 shape.

- -

 

- -

Dialog Box:

- -

 

-

 

@@ -565,20 +482,12 @@ else

 

-

TUI Command: geompy.CheckCompoundOfBlocks(Compound). +

TUI Command: + geompy.CheckCompoundOfBlocks(Compound). Checks if the shape is a valid compound of blocks. If it is true, then the validity flag is returned, and encountered errors are printed in the python console.

-

 

- -

Arguments: - 1 shape.

- -

 

- -

Dialog Box:

-

 

diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_operationgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_operationgui_functions.htm deleted file mode 100755 index d67650a0a..000000000 --- a/doc/salome/gui/GEOM/files/salome2_sp3_operationgui_functions.htm +++ /dev/null @@ -1,637 +0,0 @@ - - - - - -Titre - - - - - - - - - - - - -

Basic operations

- -

In GEOM you can perform - basic operations with geometrical objects aimed at creation of more complex - shapes. These operations are:

- -

 

- - - -

 

- -

To perform basic operations on geometrical objects:

- -

 

- -

In the main menu select Operations.

- -

 

- -

 

- -

Partition

- -

 

- -

Description: - Builds a shape by intersection.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.MakePartition(ListOfShapes, - ListOfTools, ListOfKeepInside, ListOfRemoveInside, Limit, RemoveWebs, - ListOfMaterials), where ListOfShapes is a list of shapes to be - intersected, ListOfTools is a list of shapes to intersect the shapes from - ListOfShapes, ListOfKeepInside is a list of shapes outside which the results - will be deleted, ListOfRemoveInside is a list of shapes inside which the - results will be deleted, Limit is a type of the result shapes, if RemoveWebs - is True the Glue 3D algorithm will be performed on the results, ListOfMaterials - is a list of materials indices for each shape, it makes sense only if - RemoveWebs is True.

- -

 

- -

Arguments: - Up to 4 shapes + reconstruction limit.

- -
    - -
  • 1st - Constructor: Name + 2 shapes (first shape will be intersected by the - second shape) + reconstruction limit.

  • - -
  • 2nd - Constructor: Name + 1 shape which will be intersected + 1 cutting - face.

  • -
- -

 

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

Archimede

- -

 

- -

Description: - Creates a plane corresponding to the modeled water-line of the object - plunged into the water (in Z direction).

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.Archimede(Shape,Weight,WaterDensity,MeshingDeflection), - where Shape is a shape to put into the water, Weight is a weight of the - shape, WaterDensity  is - density of water, MeshingDeflection is a deflection of the mesh, using - to compute the section.

- -

 

- -

GUI Arguments: - Name + 1 shape  + - 3 values (Weight, Water Density & Meshing Deflection).

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

   

- -

 

- -

 

- -

Fillet

- -

 

- -

Description: - Make fillets of the edges of a shape.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.MakeFillet(Shape, Radius, - ShapeType, ListOfShapeID), where Shape is a shape to create a fillet - on, Radius is a radius of the fillet, ShapeType is a type of shapes to - be processed, ListOfShapeID is a list of subshapeÂ’s Ids to be processed.

- -

 

- -

Arguments:

- -
    - -
  • 1st - Constructor: Name + 1 shape + 1 value (fillet radius).

  • - -
  • 2nd - Constructor: Name + 1 shape + 1 Selection of edges + 1 value (Fillet - radius).

  • - -
  • 3rd - Constructor: Name + 1 shape + 1 Selection of faces + 1 value (Fillet - radius).

  • -
- -

 

- -

Dialog Box:

- -

 

- -

   

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

 

- -

Chamfer

- -

 

- -

Description: - Makes chamfer of the edges of a Shape.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: -

- -
    - -
  • geompy.MakeChamferEdge(Shape, - D1, D2, Face1, Face2), where Shape is a shape to create a chamfer - on, D1 is a chamfer size along Face1, D2 is a chamfer size along Face2, - Face1 and Face2 are indices of faces in Shape.

  • - -
  • geompy.MakeChamferFace(Shape, - D1, D2, ListOfFaceID), where Shape is a shape to create chamfer - on, D1 is a chamfer size along a face from  ListOfFaceID, -  D2 is a - chamfer size along two faces connected to the edge to which the chamfer - is applied, ListOfFaceID is a list of indices of faces in Shape.

  • -
- -

 

- -

Arguments:

- -

 

- -
    - -
  • 1st - Constructor : Name + 1 SHAPE + 1 value (Chamfer dimension).

  • - -
  • 2nd - Constructor : Name + 1 SHAPE + 2 faces + 2 values (Chamfer dimensions).

  • - -
  • 3rd - Constructor : Name + 1 SHAPE + 1 Selection of faces + 2 values (Chamfer - dimensions).

  • -
- -

 

- -

Dialog Box:

- -

 

- -

   

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

 

- -

 

- -

 

- -

 

- -

Block - multi-transformation

- -

 

- -

Description: - Makes several translations of a block (solid) in one - or two directions depending on - the arguments specified by the user.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: -

- -
    - -
  • geompy. - MakeMultiTransformation1D(Block, DirFaceID1, DirFaceID2, NbTimes), - where Block is a block to be transformed, DirFaceID1 is an ID of the face - which defines the first direction of transformation, DirFaceID2 is an - ID of the face which defines the second direction of transformation, NbTimes - is a numeber of transformations.

  • - -
  • geompy. - MakeMultiTransformation2D(Block, DirFaceID1U, DirFaceID2U, NbTimesU, DirFaceID1V, - DirFaceID2V, NbTimesV), where Block is a block to be transformed, - DirFaceID1U and DirFace1V are IDÂ’s of the faces, which define directions - of the first transformation, DirFaceID1V and DirFaceID2V are IDÂ’s of the - faces which define directions of the second transformation, NbTimesU and - NbTimesV are numbers of transformations.

  • -
- -

 

- -

Arguments:

- -

 

- -
    - -
  • 1D - transformation: Name + 1 hexahedral - solid + 1 or 2 faces + 1 integer (number of blocks)

  • - -
  • 2D - transformation: Name + 1 hexahedral - solid +

  • - -
      - -
    • 2 - faces and 1 integer, or

    • - -
    • 3 or 4 faces and 2 integers

    • -
    -
- -

 

- -

Dialog Box:

- - --- - - - -
-

-

- -

 

- -

Example:

- -

 

- -

    

- -

 

- -

 

- -

Explode - on Blocks

- -

 

- -

Description: - Returns blocks of the given compound. The user may define the type blocks - to be extracted by setting the minimum and maximum number of faces in - the target block. By checking the corresponding box the user may also - interactively choose the blocks from a compound .

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.MakeBlockExplode(Compound, - MinNbFaces, MaxNbFaces), where Compound is a compound to be exploded - into the blocks, MinNbFaces, MaxNbFaces are correspondingly the minimal - and  the - maximal number of faces of the resulting blocks.

- -

 

- -

Arguments: 1 compound + 1 integer (min. and max. number - of faces in the block to be extracted).

- -

 

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

- -

 

- -

 

- -

 

- -

Propagate

- -

 

- -

Description: - Breaks a multitude of edges of a shape into groups (builds all possible - propagation groups).

- -

 

- -

Result: List - of GEOM_Objects. Each Geom Object will contain a group of edges.

- -

 

- -

TUI Command: - geompy.Propagate(Shape), - where Shape is a shape to build propagation groups on.

- -

 

- -

Arguments: 1 Shape.

- -

 

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

     

- - - - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_primitivegui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_primitivegui_functions.htm deleted file mode 100755 index 96c0d677f..000000000 --- a/doc/salome/gui/GEOM/files/salome2_sp3_primitivegui_functions.htm +++ /dev/null @@ -1,395 +0,0 @@ - - - - - -Titre - - - - - - - - - - - -

Constructing primitives

- -

In - GEOM you can create different types of primitive geometrical objects (3D - elements):

- -

 

- - - -

 

- -

To construct primitive geometrical objects:

- -

 

- -

In the main menu select New - Entity > Primitives.

- -

 

- -

Box

- -

 

- -

Description: Creates a box.

- -

 

- -

Result: GEOM_Object (SOLID).

- -

 

- -

TUI Command : geompy.MakeBox(X1, - Y1, Z1, X2, Y2, Z2),  where - (X1, Y1, X2) and (X2, Y2, Z2) are coordinates of two points which define - a diagonal of the box.

- -

 

- -

Arguments:

- -
    - -
  • 1st Constructor - : Name + 2 vertices (opposite - corners of the box).

  • - -
  • 2nd Constructor - : Name + 3 values (dimensions - at origin).

  • -
- -

 

- -

Dialog Box:

- -

 

- -

 

- -

 

- -

Example:

- -

 

- -

- -

 

- -

 

- -

Cylinder

- -

 

- -

Description: Creates a cylinder.

- -

 

- -

Result: GEOM_Object (solid).

- -

 

- -

TUI Command: geompy.MakeCylinder(Point, - Axis, Radius, Height), where Point is a central point of the cylinder - base, Axis (vector value) is an axis of the cylinder, Radius and Height - are correspondingly a radius and a height of the cylinder.

- -

 

- -

Arguments:

- -
    - -
  • 1st Constructor: - Name + 1 vertex + 1 vector + 2 values - (Dimensions: radius and height).

  • - -
  • 2nd Constructor: - Name + 2 values (Dimensions at origin: - radius and height).

  • -
- -

 

- -

Dialog Box:

- -

 

- -

 

- -

 

- -

Example:

- -

 

- -

- -

 

- -

 

- -

Sphere

- -

 

- -

Description: Creates a sphere.

- -

 

- -

Result: GEOM_Object (solid).

- -

 

- -

TUI Command: geompy.MakeSphere(Point, - Radius), where Point is a center of the sphere and Radius is a - radius of the sphere.

- -

 

- -

Arguments:

- -
    - -
  • 1st Constructor - : Name + 1 vertex + 1 value - (Radius).

  • - -
  • 2nd Constructor - : Name + 1  value - (Radius from the origin).

  • -
- -

 

- -

Dialog Box:

- -

 

- -

 

- -

 

- -

Example:

- -

 

- -

- -

 

- -

 

- -

Torus

- -

 

- -

Description: Creates a torus.

- -

 

- -

Result: GEOM_Object (solid).

- -

 

- -

TUI Command: geompy.MakeTorus(Point, - Vector, RadiusMajor, RadiusMinor), where Point is a central point - of the torus, Vector is an axis of symmetry, RadiusMajor and RadiusMinor -  are correspondingly - a major and minor radiuses of the torus.

- -

 

- -

Arguments:

- -
    - -
  • 1st Constructor: - Name + 1 vertex + 1 vector (for - direction) + 2 values (1 & 2 Radius).

  • - -
  • 2nd Constructor: - Name + 2 values (1 & 2 Radius - from the origin).

  • -
- -

 

- -

Dialog Box:

- -

 

- -

 

- -

 

- -

Example:

- -

 

- -

- -

 

- -

 

- -

Cone

- -

 

- -

Description: Creates a cone.

- -

 

- -

Result: GEOM_Object (SOLID).

- -

 

- -

TUI Command: geompy.MakeCone(Point, - Axis, Radius1, Radius2), where Point is a central point of the - cone base, Axis (vector value) is an axis of the cone, Radius1 and Radius2 - are correspondingly the first and the second radiuses of the cone

- -

 

- -

Arguments:

- -
    - -
  • 1st Constructor: - Name + 1 vertex + 1 vector (for - direction) + 3 values (Radius of the base part, radius of the upper part, - height).

  • - -
  • 2nd Constructor: - Name + 3 values (Radius of the base - part, radius of the upper part, height).

  • -
- -

 

- -

Dialog Box:

- -

 

- -

 

- -

 

- -

Example:

- -

 

- -

- - - - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_repairgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_repairgui_functions.htm deleted file mode 100755 index 56d2c9c22..000000000 --- a/doc/salome/gui/GEOM/files/salome2_sp3_repairgui_functions.htm +++ /dev/null @@ -1,898 +0,0 @@ - - - - - -Titre - - - - - - - - - - - - -

Repairing geometrical objects

- -

Repairing operations are - used for adjustment and modification of created geometrical shapes. The - are:

- -

 

- - - -

 

- -

The operations Suppress - faces, Close contour, Suppress internal wires, Suppress holes and - Add point on edge are - available only if you are using OCC - viewer.

- -

 

- -

To apply repairing operations:

- -

 

- -

In the main menu select Repair - submenu.

- -

 

- -

Shape - processing

- -

 

- -

Description: - Processes a shape using various operators.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.ProcessShape(Shape, Operators, - Parameters, Values), where Shape is a processed shape, Operators - is a list of names of operators ("FixShape", "SplitClosedFaces", - etc.), Parameters is a list of names of parameters (“FixShape.Tolerance3d”, - etc), Values is a list of values of parameters in the same order as the - Parameters list.

- -

 

- -

Arguments: - 1 or more shapes.

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

1

-

SplitAngle – - this operator is intended for splitting faces based on conical surfaces, - surfaces of revolution and cylindrical surfaces by angle

-

SplitAngle.Angle – angle (in radians) defining - size of result segments.

-

SplitAngle.MaxTolerance – maximal possible - tolerance on result shape

-

2

-

SplitClosedFaces - – this operator is intended for dividing all closed faces in the shape - according to the number of points.

-

SplitClosedFaces.NbSplitPoints – number of - points for cutting each closed faces.

-

3

-

FixFaceSize - – this operator is intended for removing small faces (case of the spot - face and strip face)

-

FixFaceSize.Tolerance – work tolerance defining - which faces will be removed.

-

4

-

DropSmallEdges - – this operator is intended for removing small edges or merging with neigbour. -  

-

DropSmallEdges.Tolerance3d – work tolerance - for detection and removing small edges.

-

5

-

BsplineRestriction - –this operator is intended for re-approximation BSplines curves and surfaces - or conversion of the curves and surfaces to BSplines with specified parameters. -

-

BSplineRestriction.SurfaceMode - mode of approximation - of surfaces if restriction is necessary

-

BSplineRestriction.Curve3dMode -mode of conversion - of any 3D curve to BSpline and approximation.

-

BSplineRestriction.Curve2dMode - mode of conversion - of any 2D curve to BSpline and approximation

-

BSplineRestriction.Tolerance3d – work tolerance - for definition of the possibility of the approximation of the surfaces - and 3D curves with specified parameters.

-

BSplineRestriction.Tolerance2d - work tolerance - for definition of the possibility of the approximation of the 2D curves - with specified parameters.

-

BSplineRestriction.Continuity3d – desired continuity - of the resultant surfaces and 3D curves.

-

BSplineRestriction.Continuity2d – desired continuity - of the resultant 2D curves.

-

BSplineRestriction.RequiredDegree - required - degree of the resultant BSplines

-

BSplineRestriction.RequiredNbSegments - required - maximum number of segments of resultant BSplines.

-

6

-

SplitContinuity - – this operator is intended for splitting shapes to achieve continuities - of curves and surfaces less than specified ones.

-

SplitContinuity.Tolerance3d - 3D tolerance - for correction of geometry.

-

SplitContinuity.SurfaceContinuity - required - continuity for surfaces.

-

SplitContinuity.CurveContinuity - required - continuity for curves.

-

7

-

ToBezier - this - operator is intended for conversion of the curves and surfaces of the - all types into Bezier curves and surfaces.

-

ToBezier.SurfaceMode - mode of conversion of - the surfaces.

-

ToBezier.Curve3dMode – mode for conversion - of the 3D curves.

-

ToBezier.Curve2dMode – mode for conversion - of the 2D curves.

-

ToBezier.MaxTolerance – max possible tolerance - on the resultant shape.

-

8

-

FixShape – this - operator is intended for correction of the invalid shapes

-

FixShape.Tolerance3d – work tolerance for detection - of the problems and correction of them.

-

FixShape.MaxTolerance3d - maximal possible - tolerance of the shape after correction.

-

9

-

SameParameter - – this operator is intended for fixing edges having not same parameter - 2D and 3D curves.

-

SameParameter.Tolerance3d – tolerance for detection - and fix problems.

- -

 

- -

 

- -

Dialog Box:

- -

 

- -

 

- -

 

- -

Example:

- -

 

- -

Shape before applying Shape Processing (FixShape - operator).

- -

 

- -

   

- -

 

- -

The - same shape after applying Shape Processing.

- -

 

- -

- -

 

- -

 

- -

Suppress faces

- -

 

- -

Description: - Suppresses a face of a shape.

- -

 

- -

Result: GEOM_Object - (ListOfGeomShapes).

- -

 

- -

TUI Command: - geompy.SuppressFaces(Shape, ListOfID), - where Shape is a shape to be processed, ListOfID is a list of faces ID's - to be removed.

- -

 

- -

Arguments: - Name + Faces which should be removed (you can select them in the 3D viewer).

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

Close contour

- -

 

- -

Description : - Closes an open contour and modifies the underlying face (if needed) in - accordance with user specified mode:

- -
    - -
  • By common vertex – a - vertex is created between the end points of the contour and its tolerance - is increased to a value of the gap between the ends of the contour;

  • - -
  • By new edge – a new edge - is inserted between the end points of the contour.

  • -
- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.CloseContour(Shape, Wires, - IsCommonVertex), where Shape is a shape to be processed, Wires - is a list of edges or wires IDÂ’s which has to be closed within the shape - (if the list contains only one element = -1, the shape itself is considered - as a wire),  IsCommonVertex - if this parameter is True a closure has to be done by creation of a common - vertex, otherwise an edge is added between the end vertices.

- -

 

- -

Arguments: Name + 1 shape + contour (Wire, - or a set of Edges) + mode of closure (by vertex or by edge)

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

Suppress - internal wires

- -

 

- -

Description : - Removes all internal wires or specified internal wires from user specified - faces.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.SuppressInternalWires(Shape, - Wires), where Shape is a shape where wires are to be removed, Wires - is a list of wires IDÂ’s to be removed; if the list is empty then all internal - wires are removed.

- -

 

- -

 

- -

Arguments:

- -
    - -
  • Name of the resulting - object

  • - -
  • User specified face

  • - -
  • User specified internal - wires (lying on this face except for its boundary), or, in case the Remove all internal wires box is checked, - all internal wires

  • -
- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

   

- -

 

- -

 

- -

Suppress - holes

- -

 

- -

Description : -

- -
    - -
  • 1st - Constructor : Suppresses a hole in a shape.

  • - -
  • 2nd - Constructor : Suppresses a hole in a face.

  • -
- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.SuppressHoles(Shape, - ListOfWireID), where Shape is a - shape where holes must be removed, ListOfWireID is a list of wire sub - shapes IDÂ’s. If it is empty, then all holes are removed.

- -

 

- -

Arguments: Name - + 1 shape + Wires which should be removed.

- -

Remove all - holes checkbox allows to fill all holes of a definite shape.

- -

Detect button - allows to display the number of free boundaries in your shape:

- -

 

- -

- -

 

- -

Dialog Box:

- -

 

- -

 

- -

  

- -

Example:

- -

 

- -

   

- -

 

- -

 

- -

 

- -

Sewing

- -

 

- -

Description: - Sew several  shapes.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command : - geompy.MakeSewing(ListOfShape, Precision), - where ListOfShape is list of shapes to be sewed, Precision is a precision - for sewing.

- -

 

- -

Arguments: - Name + 1 or more shapes + 1 value (sew precision).

- -

Detect - button allows to display the number of free boundaries in your - shape:

- -

 

- -

- -

 

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

 

- -

 

- -

Add point on edge

- -

 

- -

Description: - Splits an edge in two in accordance with the specified mode (by length - or by parameter) and a value specifying the position of the point on edge - (for example val =0.5; mode = Length).

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command : - geompy.DivideEdge(Shape, EdgeID, - Value, IsByParameter), where Shape is a shape which contains an - edge to be divided, EdgeID is the ID of the edge to be divided, if it - = -1, then Shape is an edge, Value is a paramter on the edge or a length. - IsByParameter if it is True then Value is the edge parameter in the range - [0:1] otherwise it is a length of the edge in the range [0:1]

- -

 

- -

Arguments: - Name + 1 Edge + 1 value setting the position of the point according to - one of the selected modes

- -

 

- -

Dialog - Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

     

- -

 

- -

 

- -

 

- -

Glue faces

- -

 

- -

Description: - Glues faces that are coincident with respect to the given tolerance

- -

value.

- -

 

- -

Result: - GEOM_Object.

- -

 

- -

TUI Command - : geompy.MakeGlueFaces(theShape, - theTolerance), where theShape is a compound of shapesto be glued, - theTolerance is a maximum distance between two faces, which can be considered - as coincident.

- -

 

- -

Arguments: - Name + 1 Compound - + Tolerance value

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

  

- -

 

- -

 

- -

 

- -

Check free boundaries

- -

 

- -

Description: - Detects wires and edges that correspond to the shape's boundary, and highlights - it

- -

 

- -

Result: GEOM_Object. -

- -

 

- -

TUI Command : (NoError, ClosedWires, OpenWires) = geompy.GetFreeBoundary(Shape), - where Shape is a shape to be checked, NoError is false if an error occurred - while checking free boundaries, ClosedWires is a list of closed free boundary - wires, OpenWires is a list of open free boundary wires.

- -

 

- -

Arguments: - Shape

- -

 

- -

Dialog - Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

  

- -

 

- -

 

- -

 

- -

Check free - faces

- -

 

- -

Description: - Retrieves all free faces from a given shape. A free face is - a face not shared between two shells of the shape.

- -

 

- -

Result: GEOM_Object. - Returns a list of IDs of all free faces, contained in the shape.

- -

 

- -

TUI Command : GetFreeFacesIDs(Shape), where - Shape is a shape to be checked.

- -

 

- -

Arguments: - Shape

- -

 

- -

Dialog - Box:

- -

 

- -

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_transformationgui_functions.htm b/doc/salome/gui/GEOM/files/salome2_sp3_transformationgui_functions.htm deleted file mode 100755 index 956e7ec71..000000000 --- a/doc/salome/gui/GEOM/files/salome2_sp3_transformationgui_functions.htm +++ /dev/null @@ -1,669 +0,0 @@ - - - - - -Titre - - - - - - - - - - - - -

Using transformation operations

- -

In GEOM there is a set - of operations allowing to transform the initial geometrical object into - other objects, which will be also created. These operations are

- -

 

- - - -

 

- -

All these operations are accessible in the - main menu, via Operations / Transformation.

- -

 

- -

Translation

- -

 

- -

Description: - Makes a translation of a shape.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.MakeTranslation(Shape, DX, - DY, DZ), where Shape is a shape to be translated, DX, DY, DZ are - components of translation vector.

- -

 

- -

Arguments: -

- -
    - -
  • 1st - Constructor: Name + 1 shape - + 3 values (coordinates).

  • - -
  • 2st - Constructor: Name + 1 shape - + 2 vertices.

  • - -
  • 3st - Constructor: Name + 1 shape - + 1 vector.

  • -
- -

 

- -

Create a copy - checkbox allows to keep the initial object, otherwise it will be - removed.

- -

 

- -

Dialog Box:

- -

 

- -

   

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

Rotation -

- -

 

- -

Description: - Rotates the initial shape.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.MakeRotation(Shape, Axis, - Angle), where Shape is a shape to be rotated, Axis is an axis of - rotation, Angle is an angle of rotation.

- -

 

- -

Arguments: - 1 shape + 1 vector for direction of rotation + 1 angle.

- -

Reverse checkbox - allows to specify the direction of rotation.

- -

Create a copy - checkbox allows to keep the initial object, otherwise it will be - removed.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

 

- -

Modify the Location

- -

 

- -

Description: - Modification of location of an object.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.MakePosition(theObject, theStartLCS, theEndLCS), where theObject - is a shape, location of which is modified, theStartLCS is a location to - move the shape from, theEndLCS is a location to move the shape to.

- -

 

- -

Arguments: - Name + 1 GEOM_Object + [Starting Coordinate System] + End Coordinate System.

- -

Create a copy - checkbox allows to keep the initial object, otherwise it will be - removed.

- -

 

- -

Dialog Box:

- -

 

- -

  

- -

 

- -

Example:

- -

 

- -

- -

 

- -

 

- -

 

- -

Mirror -

- -

 

- -

Description: - Symmetrical copy of a shape.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.MakeMirrorByPlane(Shape, - Plane), where Shape is a shape to be mirrored, Plane is a plane - of symmetry.

- -

 

- -

Arguments: -

- -
    - -
  • 1st - Constructor: Name + 1 shape - + 1 vertex.

  • - -
  • 2st - Constructor: Name + 1 shape - + 1 vector.

  • - -
  • 3st - Constructor: Name + 1 shape - + 1 plane.

  • -
- -

Create a copy - checkbox allows to keep the initial object, otherwise it - will be removed.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

Scale transform -

- -

 

- -

Description: - Creates a scaled shape basing on the initial shape.

- -

 

- -

Result: GEOM_Object.

- -

 

- -

TUI Command: - geompy.MakeScaleTransform(Shape, - CenterOfScale, Factor), where Shape is a shape to be scaled, CenterOfScale - is a center point of scale, Factor is a factor of the scale.

- -

 

- -

Arguments: - Name + 1 shape(s) + 1 vertex + 1 Scale Factor.

- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

 

- -

 

- -

 

- -

Offset surface

- -

 

- -

Description: - Each point is translated along a local normal by a given distance (signed - number, negative value meaning inner offset). Offset operation is applicable - to faces, shells and solids.

- -

 

- -

Result: GEOM_Object -

- -

 

- -

TUI Command: - geompy.MakeOffset(Shape, Offset), - where Shape is a shape which has to be an offset, Offset is a value of - the offset.

- -

 

- -

Arguments:

- -
    - -
  • Name of the resulting - object

  • - -
  • GEOM_Object (face, shell, - solid, compound)

  • - -
  • offset value

  • -
- -

 

- -

Dialog Box:

- -

 

- -

- -

 

- -

Example:

- -

- -

 

- -

 

- -

Multi-Translation

- -

 

- -

Description: - Makes several translations of a shape in one - or two directions.

- -

 

- -

Result: GEOM_Object - (compound).

- -

 

- -

TUI Command:

- -
    - -
  • geompy.MakeMultiTranslation1D(Shape, - Dir, Step, NbTimes), where Shape is a shape to be translated, Dir - is a direction of translation, Step is a step of the translation, NbTimes - is a number of times the shape must be moved.

  • - -
  • geompy.MakeMultiTranslation2D(Shape, - Dir1, Step1, NbTimes1, Dir2, Step2, NbTimes2), where Shape is a - shape to be translated, Dir1 is the first direction of translation, Step1 - of the first translation, NbTimes1 is a number of translations to be done - along, Dir2 is the second direction of translation, Step2 of the second - translation, NbTimes2 is a number of translations to be done along Dir2.

  • -
- -

 

- -

Arguments:

- -
    - -
  • 1st - Constructor (in one direction): - Name + 1 shape + 1 vector (for direction) + 1 step value + 1 value (repetition).

  • - -
  • 2nd - Constructor (in two directions): - Name + 1 shape + 2 vectors defining the direction + 2 step values + 2 - values (repetitions).

  • -
- -

 

- -

Dialog Box:

- -

 

- -

 

- -

 

- -

Example:

- -

 

- -

One direction:

- -

 

- -

 

- -

 

- -

Two directions:

- -

 

- -

 

- -

 

- -

 

- -

Multi-Rotation

- -

 

- -

Description: - Creates several rotated geometrical objects in one - or two directions - basing on the initial geometrical object.

- -

 

- -

Result: GEOM_Object - (compound).

- -

 

- -

TUI Command:

- -
    - -
  • geompy.MakeMultiRotation1D(Shape, - Axis, NbTimes), where Shape is a shape to be rotated, Axis is an - Axis of rotation, NbTimes is a number of the shape must be rotated.

  • - -
  • geompy.MakeMultiRotation2D(Shape, - Axis, Angle, NbTimes1, Step, NbTimes2), where Shape is a shape - to be rotated, Axis is an axis of rotation, Angle is an angle of rotation, - NbTimes1 is a number of rotation, Step is a step of translation, NbTimes2 - is a number of translation.

  • -
- -

 

- -

Arguments:

- -
    - -
  • 1st - Constructor (in one direction): - Name + 1 shape + 1 vector for direction + 1 value (repetition).

  • - -
  • 2nd - Constructor (in two directions): - Name + 1 shape + 1 vector for direction + 1 angle + 1 value (repetition) - + 1 step value + 1 value (repetition); Reverse - checkbox allows to set the direction of rotation.

  • -
- -

 

- -

Dialog Box:

- -

 

- -

 

- -

 

- -

Example:

- -

 

- -

One direction:

- -

 

- -

 

- -

 

- -

Two directions:

- -

 

- -

 

- -

 

- -

 

- - - - diff --git a/doc/salome/gui/GEOM/fillet.htm b/doc/salome/gui/GEOM/fillet.htm index cfcad978c..569f96b9a 100755 --- a/doc/salome/gui/GEOM/fillet.htm +++ b/doc/salome/gui/GEOM/fillet.htm @@ -16,10 +16,10 @@ if (navigator.appName !="Netscape") - - + + + + + + + + +

OCC 3D Viewer

+ +

OCC (Open CasCade) 3D viewer + has been developed on the basis of Open CASCADE Technology. This is the + default viewer for Geometry Module, providing good representation of construction + and transformation of geometrical objects. Only this viewer allows to + work with groups and sub-shapes. This viewer can also work in Mesh module, + however, it doesn't allow to visualize meshes.

+ +

 

+ +

The functions of OCC 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.

  • + +
  • Memorise + view - saves the current position of objects in the scene

  • + +
  • Restore + view - restores the saved + position of objects in the scene

  • + +
  • Clone + view - opens a new duplicate scene.

  • + +
  • Clipping + - allows to create cross-section views (clipping planes) of geometrical + objects.

  • +
+ +

 

+ +

+ +

 

+ +
    + +
  • Base + point - allows to define the coordinates of the base point for + the clipping plane. Click

  • + +
  • Reset + - returns the base point to coordinate origin.

  • + +
  • Direction + - allows to define the orientation of the clipping plane.

  • + +
  • Invert + - allows to select which part of the object will be removed and which + will remain after clipping.

  • + +
  • Preview + - allows to see the results of clipping in the viewer.

  • +
+ +

 

+ + + + diff --git a/doc/salome/gui/GEOM/offset_surface.htm b/doc/salome/gui/GEOM/offset_surface.htm index 204a067b7..27634183a 100755 --- a/doc/salome/gui/GEOM/offset_surface.htm +++ b/doc/salome/gui/GEOM/offset_surface.htm @@ -64,7 +64,7 @@ if (window.gbWhTopic) { if (window.addTocInfo) { - addTocInfo("GEOM module\nTransforming geometrical objects\nTransformation Operations\nOffset Surface"); + addTocInfo("Geometry module\nTransforming geometrical objects\nTransformation Operations\nOffset Surface"); addButton("show",BTN_TEXT,"Show","","","","",0,0,"","",""); } diff --git a/doc/salome/gui/GEOM/partition.htm b/doc/salome/gui/GEOM/partition.htm index 49cd51c2c..6236bfd32 100755 --- a/doc/salome/gui/GEOM/partition.htm +++ b/doc/salome/gui/GEOM/partition.htm @@ -19,9 +19,9 @@ p.whs2 { font-size:12pt; } p.whs3 { font-size:12pt; font-weight:normal; } p.whs4 { font-weight:bold; font-size:14pt; } p.whs5 { font-size:12pt; font-weight:bold; } -img_whs6 { border:none; width:312px; height:483px; float:none; border-style:none; } -img_whs7 { border:none; width:448px; height:302px; float:none; border-style:none; } -p.whs8 { font-size:12pt; margin-left:40px; } +p.whs6 { font-size:12pt; margin-left:40px; } +img_whs7 { border:none; width:312px; height:483px; float:none; border-style:none; } +img_whs8 { border:none; width:448px; height:302px; float:none; border-style:none; } img_whs9 { border:none; float:none; width:297px; height:245px; border-style:none; } img_whs10 { border:none; float:none; width:273px; height:245px; border-style:none; } --> @@ -55,7 +55,7 @@ if (window.gbWhTopic) { if (window.addTocInfo) { - addTocInfo("GEOM module\nTransforming geometrical objects\nBasic Operations\nPartition"); + addTocInfo("Geometry module\nTransforming geometrical objects\nBasic Operations\nPartition"); addButton("show",BTN_TEXT,"Show","","","","",0,0,"","",""); } @@ -82,8 +82,9 @@ else

 Partition

To produce - a Partition in the Main Menu select - Operations - > Partition

+ a Partition in the Main + Menu select Operations - > + Partition

 

@@ -119,11 +120,11 @@ else

 

-

+

 

-

+

 

@@ -145,19 +146,19 @@ else

 

-

+

-

 

+

 

-

 

+

 

Example:

 

-

 

+

 

-

 

+

 

Our TUI Scripts provide you with useful examples of the use of Basic Operations. diff --git a/doc/salome/gui/GEOM/pics/clipping.png b/doc/salome/gui/GEOM/pics/clipping.png new file mode 100755 index 0000000000000000000000000000000000000000..6d738558ef738fb4d486114723a367e9821e145e GIT binary patch literal 12933 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≦A_M`WPjHj}!S>k!+JZm1?0HG4G)G}7Ve?=%NFdTgTycXZ zoSW0n&rWvcOicm$gaT}>d-Vd~u$;U+MZ+{8>4eXBFs>slEq~3;a}IjWA>CO<_lnCz zPlSq{sRyM_Ku5(S7X)af58XgD=)bp#BrdWm~ax)OkNY__Ck z`tr7{PTscQxvib)bxVz&^g+|ZC7zDwCm8td*&4u64wWx|zFNz4z|4GmtrGZx1LOnd zZD9{>_UZNX!I;X|n>-=xXR^>7u$SDw zWOuPMP$0vb-t=Dpze+1SUqB;qwmTdhP2CNAS?zi~0V#b~z2|^&ca=So|K*R*nl&|C zx2sTFo)5K>bk+?&L01A+&n@d3y{M0~gJv8!jaqtTi1?CQYH;Mn*;R)I-N zic?GD@JaNlRi8qLeL$r!+`W9$!G zgb4^s+AR6aYbJUt(+iMLZuJOEt zZ$RMY%(u(c2QBwRUeonBG3753$6nz0ghy>Io;|V@KMlhNwtRnzAl^(*0_P(jWyi+G zuy!`So7$PWY-{6HEDs(=0_6^xmaDYQX5VnFB?MoSV1?g*_#gx9lfl`*3NCi}pVAJP zbyAVrji^lZbEDuRy}XkDVc*t@H2jrMwtBDZfIrvvw6p7Kr$t?u z_u6!V^LcPE1fbwbwNtP>jJJN;TK76d(11+o11tq^rTTqUrHFee}dY%SyX!N&c7dCnp7gh@77Y;1} zQTtWQv4msoV}(vhYqr>=h_*q2v!r?;ht89#OGPW@;ZtM>WU^9dSJ2m7Z4$quIFLO5 z9lQJs!~V%=ii~*E(nk?U7^dx1 z|JqQF(9-+kDMi+ob%sU6d+jISD;|tEH=pVLRDJ(cCj3%GmprAQ1fkocC(?K_=wxlu zt(W^0^f%j`yw?eVPZc*k0w-kZq@YKONt3Rf3?8dvaey>-Cfx^dTu#<%8qPtUfW$Ze zfN_t(PSy!vk+8ukVvyQhC8mCFKPh=I`8qQ*vl9Wtft8*uscazNjmF&}WrvCC7!ZGf zlOp=n4m1Gxz-f_&^ouw}Msu)xJbn-1r}lTKOP^h70mj?NYUNi^lD!BA$6KU{f6Vgo zOIks@b^uG%k6zvcw7r<&zmC)5AmqNcq7!tqNaX~&KbL_lxB_H!TP`<11ZI+8Jvax5 zd#MU(^5sc9Td+Heqd<+Pw)K}bNdB!V4&%`%W&onSWA%+&`N13@S$XVNa zd7IOUCcnf=^?==u;{zVtclW1a)LD~U;cF0O$y_|?*RXA!19{EmL?R_GK0eR_{B`SK z%A1K(xA+bVOWT?RI`Du2D2RT+Qcytw;G?>Z7+{`nNF4@)Is@56%UHPutRbCQ=b2G} zQDlemo|bKEb|uiTZHT~=Ya}FA-5*#b&JX7qiyFMv#&=gy@iYR~Kbri#S4K;)<@NG~ zZyUdT{`}Q|qhB=Y9fP>rObbrE_lC)g2Uv~|@$n!{A-E$bD2Vob4FZgzYDYs5=O_a5 zh^p#4J2@DJ+o&UJFW;0~bOu-fv{kQhnmU||;(fYZC0CeGdnf|B8@F!@YUHBeJ}U+J zpM)G~L9Ym}#Ts62*-Z|*@i@y9HM}60cS|q@3}kL@UOEdz_?(Lf1T&kv>dqwZyWP!x z`Koi7#hsDZc<8yJou{6e0doLb4RjsrUdiXMX=;q9fVH}$aFDR^z5H?6XnLZq&d$X} z9Q7U5-VEB<(M-}A!svioZG11M>IFfj?%CfAhLER{{3QhW{=;R2v@K$ zcfiXmYX^V}WdjdziiJb;VdP|SJw=*p1`$e&S>d=()j&~oE5_0!HG+!$puV3F%8csS zOADR;z|O2Gn1Ia)o$llW?|$3e|9@w!|5EIXbq{!%nOkrDy6iRStd#v=kpS^+Gw`mA zv!Ka!_B-veNA3}*9vCn1FV!{=U{Vx*I|Mu@!>Hu`irKqMuUsyz7)Smj8pI~I%3xA zZyWs%*84$k2=a2cp2Qu~mkVt^U!7`5+QAG8tcSS12@U%R>@F#j6mbg?Z(|FnJY&yG z!RU-Q$}4*35ZZqc`~AY~`!)rnFI^z%*}*$pv%w5W;DmnHH%CP%>0q|nG*CEk0{7p# zOR>O!$@x*J!wCVKscvn5;?M(=|K`n`f3#v+N~aq1caNDfe2-}$VI*`4BZ>C@H=jLw zMocHfWjYnwk1jD3MjWqjLJ(*Bh95qB0R70BA{ZhYM6#^sq|D5}Zd=Kp&UT3 z%pqBbR>+}?lgQNdmoRXzdUcYS8+X~*It0@`e!9{EWMmIe`A2Jg&PKH^A%KfOQ+k^_ zzwAhSYBUnyb7GMmY;J8{wNs5j^mNVq^2SSpnWn27VCkoP9&yo=Di-YDcguixiBETS zb_zPwOho>jshOexTvm8ubq6xUdjT8~8L64?`1|_)EH)6BMsG?Pudm328;Wgyr!sZf z#>7_wn<<9|O)jymL-Vhz!L=E(>fb5;(JpBtK#0y9(@Sxssiq2-gYOI@X3(5FYVgE% zq&g#>fOzQlXbIg$;|^)fw4Z&!K=Wmz!OHEogTYn&mRI;hht?OuyChiUK}Jd6vpuBo zFvzSGHD8c_`}XY-$T-_~ys^_UAcS_q7<&)Zx>^JT1TK#@872oYfeIU73D0uyN>y~K zjS^+lD&E4u!QnEluKeNWwKlC|$spg4Zt!+iOP5-tJqHN&)&U-&q^hw}27-@WIdEDf zhn&+>e>p1{tV|~3GoF9f*Z7y3`$MpQmrcSk>3VlOn}0R~=*ucFv#=;l5lSRlrRF#@ zE+RetalaJgclYH@GS{K%&nrJf|Ch$ipWEwJ zkwmFW9lZfjA87MSXqtkiEa=EZe1yeHpMMI$yLuU61$sN5pF*J>PBnPXVanO#Vc+v& zQi0b3!9_uKDl;?1JrH0+xy}jf(ZMWCOHtuX5UOH z%Y1j1jD|0r9}u^oSzz_o1x}inXQBRZMPU8B7RZ=ZX{Ql^;^5tb23{6sp4fQk~hrbD%HI4?rxG4+a#v zM=~#cadZPXKzuWxFQaM1^H!TbMtmHLV^Li8FwB3EkS^-ZX3-gKgugh!N zol|z0u1Gd+@GjqzbBG2Eg0Cp2Yb%-GNv*(7Vj zxy-1}OgDJtNw*rwrR$)bCGnldH)9329ziL2fDl6CX6KNV~ynM_A{2}OCqZ(}m z&d<*wt49GhE)6Siln=D>Tz(Jb654wE7QDBSO~?ftSZ*`O2-*;D&8f#6goxYB_R~<* zVY6{olmFdUF&62`NfZGa3+C$+Fa>b!JuZX#H=y4{Mnlu>k40O6nHXF1%FfQ-1fhq9 zJ!g$wjm>5KuQwf->_g$1umfm+$OZjO2c7c*0716|RD~}QBvr^U+rFl>Zi(0Kc{L@s z;mq1v|F%^xXj*!p0ze{F1-$6?>ZHxz+&|I?qIZ6N{_TXd(WZ&2J?K1Jy~o;I3ME+d zSVqZD0yd=50T+0Xe*|qhOTYm2Y!_+QUXI0fo{dd4l~u-K?d*IQE!-oP2&a+e4T z8V#Zj`?gKdYrOb2B@r1x#xmAuB>)h|YTsBc$K!Z!L-DB{;f=`)NOH9b|BwJUQ~k|B z2*WAM_+e=YteEr%rv)>iD8Mc-b8f&fDUu(8}S4iBm z0%dI7WN%%)L9-fnEZ4p>*_5p1oW_-GM@6|FgtNVV_qO+QwT6qT202Iaxb1wt&0;(6 z%cC6<>i^ZrEpd~!AtNJuHXU_4?y1tmtHRvLwmBeVIX2|qDzWZ%%n5VUU)RK4q@}DE zdn}h@H}roZ%0I{KK&GhItVKm=J5vTbW(E+xQ!h7G#0P$Y(dh$VgUW8Ld<&sc5<|$< z8_?Ut1P|D5VUdZe3>8~8bCTnKfdex>XNqSyrm1+r&{M}e0WSLK7}uGW1*}e14A37v z-;Bg>D!PT)kKwu;_vyFKm97BzMU9@Qu+M68KuEd>qdr!uK!yZLF=_yD3!H`o97-J^lI!4H z&D+P9vwdV`jGu6M0EyYjpv5ASDlIsyI313~2U8~hez z?-lACcAJ|N!=KttUbq_bCTQ)OM9!YZhTw(ci3uMI?_@x$izk2tWPRj60H>Eg)3ree zuFiD9xd-psH#mz7xl)q`G*-+p3vzOuHuj4UD>bC`s1wYmw^37v!8OAl?=z?28ASEf z;}Pq5h-|kZE{@QCikMz1j_#Tc4W4YEs8ygQogWW+jbqD>o^ivL>qA&L`RF~zPrG&M zSWct|nkXiXK|)GOMCw66X;HdckPzusNhzsKmxMHkG;BgpV$^&w0;%@4e?60~mwNT5GN~*PQ?VuLydpD1(dr7#jkC;L5(1dT>PaT`;=45@x?6j@ZE3kiliHBWO2o*fBqn@ zo`IK@$P||D&E(bLhe6)bVk@u%PI-6g4@-wL(aD6X7N%Z3^^NLlw$30BhsD;*U|%>~ zO02A`Jd=}_{>p#Djts$e?u2IPW6}DF*}fm1;&_I45=@l5)SR(pn=1`7f8^+NFGYpI zSBzykNw49a+iAk5M@+f7#p-;DY-!HxT@0ZFdf)X67aZNtM6;X&Ij69ArZ||`9=Pta z;l2I6EVf^qaXhIU{W$Lo6Q0bVEx^l9XN)NAoxbhaGJhcLi((NoB4U85i1}eSx2RWWQyt6Yee==U&v{YDshmy!mAA92yTH0c=;uk|tnVA@wl8Iw0 zR4Z~MdNCdw#ic)+t9JrpN3G*M!;M3|dOU%`B<Q%C!%zrQOERw3Ms}TOB_R$GD4VF7J^m@9+5R zX^(evb=qq73M>>j+$TM4`v(Das_0;f&{VZO<01pm?8o%YxP_nDZC}d&j95;M_w<s4svKRDj|EkJH_>tVwLPfr^aQ0^gI#86d@@TuRR!#F9n^R(kE4x-~YdF-E` z8JvEt2D^A3kY4xEfuGV}rg9`-hZwzw1`ekz^Hvc)$2Q*e>BkP#_Rku zPhs_y$*7da^{(vpAUH0cMNz)MlVc5Zejbb!05fzo< z$B%#E$;^tZVff<3GNDY zm3Qd0FnW_oDIqoW;82E4vASjw3&nwHoc8uJAC$D3j#ZJX-$x01wyFd&4SV8edy`Gx z9tH<0?eBX&Qu#XUKXgp%!QyS!F`t$e(9ru6r;|1C>*9it?W)l9_vV8>4_l$>2G=k1 za|ePJ^N*Cy;_h!)1U08kd_l#iZ~5N1yRg7+9NK73qY<$qqvfC6WrH^DNWC7WR-53U z@EB65HxVK9i*Ux{*adeyf47m1x~WWSuo!{hf+1@=IpWhbPxAxN-lY7>gvZ;nHKuYg zb9UbzL42>Eoo2s3IMrai+;X|B-`x>enbj&Xkz&wL94I(;?GKh$&+j&TKd+gdAuotr z<377p9nSQ8n4Y1vl!1wZ-@0lCCi9D8Rx6kl>*3=m3ypm_;^{#@f)vQ8J)As_;grmYib_9yC>*SJ|&gy}5t%nj*UANF!yb5qU(Np7He?6j|ziGo{mZF1Pe{ zkKvYcU2LvI>0{4DY4v^sVzPJ}a%^zz=jBybHBh5Gi@2JOd_>lLHK=d;wnKh^BC&0W z&roq7p{Z+nE^BSY&2x3L))_iwP>sCp)J#3bHDse`_qi;+Tu!aDQ6Id8px{OY53(<4 z%gq?91gfxfMsa%yikG9yeKTxqMzn&CxeA5XsksGG-sh2DJnquGJY^NEm%afHvKS|egwpoMafZaZ?D)_eB_PrdR_MeY7=l?&YxD&Lq#7_aObrOo{(ann!e<D?iB^TeT5G4^cIrltAY)ui z!SM8n?HB(3i`h08jkRGhdisW~;OJ>6lUv6;lG*{=S@mLhMz4;`3lrj6-_Tw{LDbys zT`Eu)lg+47$hBPAd$n)a@e3KSl}9_LDy`OSs+tUiGLKtM1sG5*Os$h1cI6_Pi96Fg zXRECpup>lnd6k3aZoW`O1f+(m+T5tMPBn_efgWblPNMOiS)}Eq7gcvx5~+>N`eWB~ z*^k5JbCD`x%c@yV1mDeV)Rf1$AeQUvE{1z&&S#t^p|+AIPg;hZDlgU%v8T?0*Y0IL zID@i_&PGfU@7(MTUh{F0G+xDlF8b4{aD#u}el%N|*bjdRR(8+xwtVkM{9bFJzvI=} zW)Rqwi#Ejra`}NPdw=+?mdXtO0jGD3% z;94Pt1teA@8EeY--!i!Zyft) zJ3Z6<^Mf^++H5MTm3n`qf0UW|6Q+IllBAHqGYqv|V`}$XiWHYU7hSmrk;+4Tt|yf8 zrU|zEv+gx}i~tW#mK5$G>UJxpAGyw%)wFjUt#{5fKZ?=JlBY#wJuixhY~*@4T`zEn zjy`E&9vB!1S%?jA;;z z+Y5WS8wo6aSd7+)uGHin?Pr^}y+=<+Cvn4deKxWeAD#)Pk~=QRVf*uCfFL}5V>8n6 z<%btHkPDYx;&&Yl;q^-d^oV(xA@YMNN(X9=@IWewXM6{=XGel3A7+OF+CMViM#lf_ z4U(<#$w;DNs6)`CyG2+#%(}AvxQ;7Vy-oB@$CnsN3Y4vZ4cDoikQb-v>v*oUH8lR% zP{^iY6dJKUtgJMfKrUtTD;mvweulVIQB{*tCLSo!4bH70i0GA`SrBE?*aF8nGu{x#bC&AI?Q*Xm?36>K&V`=FP>~^ye1|@=qBV5lS7Whm`33vvDDcg&b=~y|!+lf`?n`!rDn>ze^}aYS$D_ z0Az{K!d*}H91P@ku|K7PV{;Ql335*=5Vk0(sU3yD$tQVY%Wms8hBEHcGs-=C&U$Eo zx$nSVJZ1Sr#1jTkJ^>L?E4V>%c?TZh>yIM)Ua`{)-jBUIGv2+`RWP?>`Gi(yOh!Vg ztf?8;yDF|stjk6=Ha2#5vP1wLAth0NAR(PLOYMsn1-lPznx8H*@MjET3*3)T{TBVG zKkc@@=%fPjR#{mLEF8Q5-^9enq0)5EpFh{NX-40`WdP68*}H!$YWr!#>E3y)-X43c zQtI4>13wcJQ_+;==;-KMJ-smf!YnW3t**n66gZ`%QLyRzc?FM-qX!tXB#6n+Oc(jn zTE2!MtS?G~^itY-Vb(7+G*mKc68VfKcqn5#~iiJiQm?*lHol$nmfv79lSn>5jtv_gGG@J zdatbYS~Fwu()yX47Pt`U6;aUo5ts(wgAs_AJ{BxkTQ67f8N#FW zN!YSw3XXHAi5ir&npMg1CrEz@Pc@$Nu)%0|t2LnY!~Aesx-%+V<*17d?jTwAhDD${ z2o8HPD%*ucE3UE2a=b7tIrg0Kvl&}bj(Fg2HGy75beO)60w&>=xoJYwA3E?1n6{^- zeUP+cp2Rg&3Q5of!Gb2BcW?u~33 zHAmq*;&(91oomh0D!pi>zHMqJGw7?`Z|FT-?$j!?QLf$klq2FtkRO$ttk7KSGs3i7 zhBh$qE%V}WmEEe`oF~GnpmEQ2X=%9%d5e&J{rZ62>6n%0IF8TjgD4WE?&RnVF$qaA zc!~#<{Lx28b{JXsCIc`&NGPR1>}ABD>F%F$!Gk6=_tP?1MWTf{c(72 zwlt10#TivfS+mhoNQFUZu`^lZY90UaE6iWx%Hf1`(nUMv#*#8J8KVLME*JEzD37?z ziJj(b86mY!`zE7ZDu|&ISD}2ak8PM#ZaXg=_vaKOCGW|~%I+4dJ0O?9x>pQ9*L_3E zqUk;L(PXmd!->LPh@!^%c#B-UMAb;9qTz9De_Lm#{m$fzInBebUUTEDI^B;FnmfWM z$T{9aAZYjTjM{@qex4}(NK5mE!C>l@3RxpBO!^*~%)Io?%Tq~;r__re_^Sw&)P}w8 z0u^8Agn%Ift8%(OeVvS}_IkH+ejvJAg+r(BL~cV$4oR$D*MNFpjlrf{MUXqz)8dbV zqIuo&5lpeHrsgB=q_C+{)5;u=<&LoB|#SOj=aN_b5EzF~5vKO8wqGx~@NdWM;XR+Rzr2Ww(3ws719cUos<4{wz~z|{b#|`u za+MjS^TSN>M%R_uoG3I1h^uzLw9|Jx}NZc&;@4EC9RJ=rb6h^<_ zEPod+^wW3wS3ChHvrkHMBRvnk-+gWHied52v)hcp)xrk$nHqnKp0)-@1Shx~>IOtZ z8M@Y+b2AXlA1hw*73R(qh%BJQL7ifeWZ7^iwdzJKqpr*hys8vORm4xc3aTpd>fHb9 zz|F6{jX|(^7K46?aK{UuE3Ly!-blRp&8@tReCRPE2+z`6g`Tn7sqoiOo8$Zv-puwi z+j)cgXu_mj3FN|1xuvn38JDmv1O zu$r5HC}*(KarL920u1_fI$HELQ@@We4cUcv6X9_D)CM{8sG> zutSzatj%kJSx~cwnK*0TK zP)V!YoFw&T-ZbyVob|35_j{XO&Ol4x{$ECJbm51Ns>k7Z;1O9m;x&TY*=?wa+zw zA*%_FN|vJW`ap7YOw8d-%X-y83l4=CQeK(F@on>TdZDJ*OK$pLUUZ?Yn(V72!TiGYe4 z13!ZP-hlz(-6R)>uA7C#TH|-k#i-#=_{5R7Hz-|G-&%jlMqM9!d_lKaRnsW>(29|A z;iY7=`77>7VSs1GY2M?mwD*sTIPPeI(vn(kF>%y{hX1Pix}Rsh&#H2^qsn&qdL%eF zSo5go;a5CLITsf`-;w(WG`xifuWP#VIXCtkw0DIKkL?thPq>-??}`zNB{ZTN4~y6AwnDbv?R>523)%xJ!T87w>F);LBF4<=t=?)U zud-FIJj8p#+f?+S6;kDV(f(x8D^1J=4j;e#*N$KswabwpKV#F1Yvkq3d;&Mt!}IW1@aTX}Qd07*ic0HoNb30@h0`)`$1F!Ub3s-5 z0RPm~6wCi=A4ygrLuOB3zKr_ZaEakP{kbvuc~sW>iulc#-yzYr&-0u;(7|BV6|i=8 z788Im{QUhtlupG92^8Iz_ak6c;pF5T-5kk^N=)n-|J-QUA*2O83n_oPy_bhKMLwxt zjxUHwTlPb!`r`|oXKZX3?{_tjCf&X4{^)jZMv@~? z{|OW#|1Vu(Megf>^xg@rq|LpnbZ<6t8yY7BK|1p{1yulc|7An}v%RP{p(#?$Gx}jh zr-d%?_bww;)mFze3|8xo2Mj@1hk;i%W7|m?9UXn|mk?WA$jQk`+9<0ZDLVavd&GXO z)l`XbXtm`7q7J2n#Cg5e5han`RDh73w{o(ouHd-|!XEskCId@7#TwtCPNa8;YsoK2 z{*lNRTb@wE^S#-8>rSvWFBW|9H7l(t=RFau0**U0+}yFBMlzw3ZdUo{^Ioa;1AGB9 zGc(>3tbXd~tCI7g!VQIdIAm-qQA)zJ+}xxG!sHf*OYP8DWnzD=Qj=nFHSv8eog90X$Q&SVRmQp4ZNy(uUjo z%9umxY4>z#sOKl{2+|9)-!u>a4tirW^fyyA5JP^A$eVpI3@&^9$wR}A(8b)shL1-p z-8+-T8B<4vwR`-e?D~C;x2NoTHQNOyai8DR`V-_6mAxrvP=s~mSI%r9UH*)IvYabP zxVUf*rxfU*V4gEm$HF%C%EdXiePghQK?OybOTM;WAFwKdDQ3|L2_=V7@Sq-m62;+s02T<~ z0z8=YxD?!wgVPCvs95!L+6nQ%m+T94RevHbl1>6-<*!R)2>#01NXJI^Z3n^}Uw49s|llnU-KEob=m~%hw z2VT~9i^BSf0e+xkvPB4;Jz8B|1uv~m&x%;Q%pk5l2@}Te&0#T~$3J2b!QzpW-1-&Q z5KK>4>~Uq|O+WG~h%x1$@pjt)`DcxLY`%{~yew6>+ve+oM;vL*Wvn_CY0u<*ksT4# z)PAJcKRonY?>RAmA-LkX-7jp&e_#=ca{2%arXKfzw>qhiKu;oWMiO^LXwjdbd4yiZ zMm(@U>_38Q(5|3{^8JQ8me>C2K1}!QDIi;SUAcsjR??LIj?expy8CZ;>c0cQJa2Ru zKxT^pR0S`0!OxD56=hZW79N-Fao2lW^R~-X6xCn{YE@e6)%I*+7P7eb{}h%59HiW3 zHuKM)8HB|fKC9iAKN5m4j=#V(W28SOFZADa_j_X{mEGxwe8rua#yJgN9m~QgW^8fjC zUw3>~tAD@%v@_&3VO;q8kq(8>$3nrZNtHI;fp0Eu5&K#dmgM`$8;_->rR=;sqZ8wd zgqNmxkmon=y4brqKUQ!czD&8_dZk9Cqzr_x*H5Ogsl*4JZco^cDDXsr&&Uisl}&FA zBZNCL6_Q>nDXssCGcYgF51DEi%~82?vW$(51uGBu*y;|%&vvIf>#C36s*z-kbo(%p zaX4)J#@L-Kw;%(wW(GQ;H{)?W3q>s`KEEpVI z8UVZFi+B147+i|W8M!B7dfqY7)6L^@J5Rqpv8(GfV4c;V-yCO&++dkq+S8Y@3kV=i zKCgiV|Dypk@vZTEov}E5{d81wPchG2WbI~V(&*YnEZQhQ1n{U^4%vS8E{)Iir|QuD zKU_>{x0`z+ITqsu%EvfIWA%u$@lU?{Txp*5dlsjnb6*&ytE_MMPY1f4;G3J9<{e!R zpr@U=+tJ6THHBloB9teE^Q!gUHGrXVHPRS(Ad)M`nk6uDFVQcz_|{<=)?HI+Yh)|A z289T1N@T+m1&pCI8xU45r#GZ1=C-!Q+Pb=V4UI?C=D>9R^C2la zU-l2Ui6|$U2;jKcov(8mbrC@R3$RGk_4=JA_DpW%_;<}Su$h-{s=B3rvEAG!z z^6u_}o#B+rVI-elReRe1ZyfoN+|6lHuG4mGzENo3d%#FRIf8h9LAzh_u^s!}Ro2_L zZ$%Xq6@9raCyTz=4+_Oq&bv??d>y8AnrXf%-9Mi&Xr#Pr7T`=>$0=jWxw7in{Xvt` z!(R5r(S$WO>UsBLT;E{~6psBNmp(TK{ojb)(m~-DQPDiS3g+I2c`de+IdA+3 z;2>A1nzbesYRsNmO@fovO(Q`sZZj`0u~`&{kTw>@gFXC^l=N%Ai6Ll9xINbgt@sJN zpVE=*;H?u;QubFMEtk{h^+(MF03_5h8BFO9DQ34j`#fMhf%vb8EY;(TJcN`rJw4sW zKZLZRdZxocwNZ2U*yOp3W_~M^>?JflLker1uCx$kg!rdyJAA3@BNIr>zRo zcH;MV7l49>FQR(h{1?8+iA||Mm&bPbc$|TI_kO`GB~N&5WNu+iB6NGaJQwzMShK2o z4Nf4&+g0R&a0Ie2hA&E7Z##e_+PdrO5+ao~*8t}n{_lca*2s!tevS>1_`MHA(6(Q6 zlVwA0`?vqIu0u3IQNLq|euqR=YfcjfCnHLT3E9m!ROiON5Hj|)t=xjOIr4LE?S|)l zZD87S3JMqi&|q)4P9M1Lr1A*OEvO47KkqZExGUrt$5gAC6rY!lUc{Axx(vB1<84?( z2^^lN%hr!N_hxGaik$vr{<1lybS6m8#ddC*<=vAO*1jQx0M_^dY!bAz?Ce1LLY75e ze36BlnEm775O%Jb+dF;;k5E5szEAy%-wOz8JJXdB+l93$vQZ4S8^3?>AAfFGH4(mD zF%$+Xm~@*Gkl$Qk?RE)#kv24ZK}b`do9WStiqcVY0QEs%=^)4PTte0u^)5Xf53M%o zfx_tjy~bHwVV(J6;F_Odox7dytOBGWs!TjyXfOy=tqa@r2!(=q-TGE`a=fN&<&3K1 zZ~>IbdN-a7>F^`=jEU{(gFS(-en|jV9(bz|`@e{bSUkLpcx*(5uZD^R)^Jso~ zVWXp?gQQSdHNIlN-9Ti~%;eTjoao~8U7v6BZKMomc5zy88V0=+U zMI4sg6s4wv*2}f~ybrC#U$Lj5tRpxxPn13ty{u~h;^=3N#$V8;+U{z{-9IMVg&@IE z9q~$gf2P`A>$+tL!x-kaSM7e?-5C~3{Tf`LOuj(MO1#nY#%I<~dX;Pi!K1=z65O(z(egK;@?!uZ`w;&_8`>T+ySp(J3Z!s9B(u(}SU04XMiRm{IF3d+hNikO|0%~Q zj6%Bm`W}ECyJ7cq0o4d-7I)07=E;;K$$y~Qpa|g)z|8QBpyFj(K&S~>XX#n5y3rnK zqc-4bGC62RV|Kza|k=lPC0LnIvz0=a_2JGc>HO_$7eSnSr}D0sJ86 zIs&Qnn}zs(lb)U)2w=YqOiXaKQ)+fWMIdB+`t%6`HP|2gm6!J*qEn(!zy9$J0gnco z=v=cPP)F|KV3yn}@3h6GT+l(P3mgLIgsrXZ%G%m+y_?exm*WgoWutKI?3@`gIyUxW zx%SX=evsZ68X7v;7+Ma!-V;|V60zqxyYsPt`*yeO%fvpZs#OXGKOlK%Q+^`5C84H9 zLjQ|?1M2E}wj---O9=XThEl5V(>6xnX7zumL;Lyj=Yj)2%4A$Eerfy6`&*z96=|}7 zz5?d)#RhI$d%Lo#s^pfpDjW{aE>bVkY>eO=+G&*Rf|)V!@WlCD+yj8RNL`c9{elDS z-Teg{UhUHc^SGpM-tkDTY_ zDj5I^HWvqr(ul08s`!&KhZ?8-@ZQ~}i{fQTDXDVvmwCCEXQl<|bv`LVt{-1LK6Dmr z-un7d8nu8_Cd_wFsAdEto#45-Q>nG7C(WCayN*XkM_s+WXmwuD+IEMG3&|G?vk_nd zDf*mvpTraOt7jF3>w$mprRls_>k>5}>^1V#c?_q~E!jos1N?%U1TTAp9Oem%K4 zeFld=oMt^M^ODgf>KlZ?;hOpCz*N1PCx}$LR9joyt4V4y_|paR=S*yWF)?As_4~uK+5dylhQ>S-e>I0SuNUP@(%Jz z+viqtHA2=qj&8|Nun>y`b^yC20>GvDJ&iDJ3JMwq0SSr!$mU8`s;7B{ZrZ?oei4yW zuvO9rgFCD%OY0rnGENiZ8A34(qi$5Rw1R$B`v2^D`ULO3fYaVjw}`#08@J)_?>*PR z6l3AzulpRci)M`|YpHbuopB@PH;%8sUKc)UJkC53>iT)H`QQP%HW>f8}Vip z$RbLWs+<9SV53FH#4XxYzm`*M**vmt0Wa^`D?f?3@y;wxI(b7ht z3<|Hl^OM}Mt$g<9SaH2$M#x7GFz{~NF(DDt67J%Hvxc?yI~T={*N$b+<5R1Tg6+V* z2pZY^`LnD|WcHkV7!|8Z`!71Wps=u0PfXSQvXUdtmey8TMa45Dy(%$!?ihlMjg>WQ zV`D>lT}D#!+xPF{^70ShTeIZ4>iW{azFAscvgM_O;?47@iFmhL-pM+?bKdoZvj&xX zL-J547r-XTiW=*0eka;_+-Ej#43CIlWZ=ih7z&(T?pQt}Af=Ml*QeV2v;Ew0WzmJM+EBFH;r4!rZK*}eBX z5`pSb-b7aKG*ut%FklXu|BEUoiqC0eVuDe^Pdk8l`6M9R8w2Q3WDIQyf2A(}rcKKJ zf4D2w+Hsp`-pS3h_$A0nOzdtkFLy>{jBIiwhTg6wCC;h6 zZo(oIXX;_zn95+3&LE8FTu$}8zOd~JGI2fMRQUAixm(ZqD}nmlZ{9?INdgmh%=}kb zS#)avKH6JVT}iOIKv)5o%!cLKw$)0zNfzd=8nh^kl7ZO(ZVC#*K-+^PE6NzF(bqce zrfZ0^gW{o{OH$h!p5L=(kd?Ek=MP{%Z8}KrrUfeEBj>!v{?E5FUCbHUKn3*#Dp_e;bYeLUR7O zJpUm@fwfG_|7B)I7a#>u^tetbOG_4^nsZFYQt=cpbIEP(t!y2e4ofz?cS?`!R+J=w zC`Cym!{FIBB!iWR4Recs@N5JLGbe&26pS4LGA3#<`t`1aq@)r1=tz#SD8u1DCMY$*4U+DAeCIKe#e2lYxDV0e$2 z8?P56x1ENzT31HJ#mRtr1PM<6&6-Kk&KQgWl767`pom&lYGQ|Aqh#mg05cXqs-{gx zuxc`ODy=~S4yWRi1M&e?WdI;HrNALJ*~T;mGw<+ML&yas-u)LtFXH7H1_aIp!K@ce z??%VQfX2R^x9nI;Q5Oy(bZ|H}Fv>u^WQfAbXbuFCIWx|8-wZ@8&ov!_3)G-~cbk)+ zHd!%X_5R7}4WS_`KX!EojgP>P0`*(P`B z^ORHfTUR1_@7wSvD~uENtjJ;fcTR@y1MxCtfT@d;XtZU)rMR(I4ENhMu_hVJ9UUFh z;19(yX}sxpUBZ77{PlZ<#up@g{@qdk_l3R%w&2Pz36N(U{-7{wJiAN!jNtKBi;H0n zX>|+VrHB6gl)wG@@lVuJ{WSu)bbo-_3pFw|O+C|kOlg;12*Uw|_cbN-P&8n6NMj&? zNZf(D1plAx;{R;x{5?)?tKx|jZphTbuB}(hAdEDrK=9Yod#@HCs%p3nF^Q203EgnD z+(f+&Kr!B0lraM13Q*opj^vy3XBG-b$1?BxPr8itOcPJ`6XfojO#4Sh+J;v2N-pp$ zl28}(Tf@V252Jfzs6Pw+%u?C-d{oq8ND2!VfY)O;TRvgCI>~&wP2qK#>Nhi0P_@xV zSEUhKC;l$=DFE?`xv+up_2xClT9-Sg$h~h>_qf*L;^wq*J%HNtU@-31JUI=vfzwPG zQ&+r%+n{?)52&}4gTpIefXF9sq7zpwhYR?O7i2n&69SCrUUo%i4J1?H%L^g~rGzIt z44*o3-x#bOEVjBIu97_plLkS)YG6zQyf2o8b2X($oAD-mLEq~JO67HJo1T$@5*QTp z;r9Bn?)GXM8mj}mYn3ed_C=d}83~@r(0i2@6Knu~S8W&6ZV77jf2=szsFSJQ>`1!1 zcgyLD{HaahQj`9V0L((_5PP*O+GWpdK4(U`Aa*MgKnMuj0c3c1_ySlF!JW&8?4>|( zxyuW6n1-)kZ5NmVegUa#xQ5<+#-JGARX(BHJN)a-ROM%CB1ULNj2lP2Z)brm8c^ReQ3&Ph664uq1 zq<|_wYz`L0kaa*4DA~$T6FfPPxCXxO}x5*cU}c78Hn@MW|j+31ur`9BWc{!xP#O0L=eHt z(J1$W#ruNCJ1;?$$wYKssmP(5P#4%$mz!CsTk-@W9`x1WKKHC_4nJb)_1z9?kL8WpXUVg)R`ebsc<=7d*O1F_aIoWlG-u%j<_syuty~ujEvm+oveT$FZFks-~iUBi==bf)p$q9^Zh%jR3 zWs1uhd2C|?>^`;ow;YwsyU+iN0bbj&=JgwoQ`h;{UktHy<@j~pc{waTlmVEaM2re~ zrBS-d#CJY8$X<2cX|F9IK0LwLCI(!qt@t8FOFvbTzWD|`VBqIZv_c+Myc7^f0{RS~ zeOgsEKfJ0lGZCQ_JmF4ro&gpG^=o~NL5e%TE?muFOkE1@Eu`V+f9yNdWYMdCydQ?3Bi@CYEGjQA?n*XlWa**lTpu994c*?@^0JwcSQ>DJA#8pY2M6Jw%mO(dJ?Km3iK{+d66MVfPb2HjsiRk*(SBtqn}%8-H_wPppg zfIckQkhrgQ!?B~md`~bB{BKbCr<%c|)m|46M(NUznccC|6SKczc5<+;2Nljj))WDO zf@77at^U;IOkFz7Ldn3lhFj9l=gGS-AHi!@lt(_6u<;r?$q$)(dQ0vv#OKStuQBym$I$X7^du z+47PfXr};=BWai|)>4O`xDJ z(aN~6C(SXjV`-=#VhF{|DhR}16#{vA*EcuY;q5zhG*Ns-3|RjjYSW_SU;+s0*{+o_ z%(#mPz^uJezUac~{WjYEJhTqG3u-vXSz+-YTfG&jgiindo!<(#GP6KR?Jga1eK4); zEu141&;2g^CpNA4peaIOXL>(9FB=lE@SoM1S`^BZS zSMa$PHWM6sy)%D3sFNC}ua-dE3QqVLerVkxa6q#I% z5$V$LC)wDOy%v*5i7)4-#Ki47+3<%-va0&YY3Z04s(fYbZJvoO7sAm#yy1KiYAJ5yyFLitZ0TFkuxYPE9&ad!Ct1v#Ic(QMRfusqu?T5uPTXiRg3c_ihL ScmLrFk(E-EED(S1^FILjP@mEO diff --git a/doc/salome/gui/GEOM/pics/export.png b/doc/salome/gui/GEOM/pics/export.png deleted file mode 100755 index 7e441f93a4ae1c59a9501c1d8a9b724d2bae6032..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14172 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 diff --git a/doc/salome/gui/GEOM/pics/geomcreategroup.png b/doc/salome/gui/GEOM/pics/geomcreategroup.png new file mode 100755 index 0000000000000000000000000000000000000000..f51ab22fd4fb0d57eb5dd64a19e3cb6f79a9a6eb GIT binary patch literal 16179 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 Ux+)5M7#<=g4SQZFrT_l_12wWEMgRZ+ literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/pics/geomexport.png b/doc/salome/gui/GEOM/pics/geomexport.png new file mode 100755 index 0000000000000000000000000000000000000000..c37713941297964547663c1cd0891e9d6357156f GIT binary patch literal 15829 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/pics/geomimport.png b/doc/salome/gui/GEOM/pics/geomimport.png new file mode 100755 index 0000000000000000000000000000000000000000..516a819bd1b416f1a551d421384390d76ae2bc36 GIT binary patch literal 15403 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 literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/pics/image103.gif b/doc/salome/gui/GEOM/pics/image103.gif new file mode 100755 index 0000000000000000000000000000000000000000..be534c39ed6e4fcb2c89d35d36d61fe594218977 GIT binary patch literal 1046 zcmZ?wbh9u|lwy!z_|5d-onYcI@80d(WRg zfB*jd_wV2T|7Z9Q#G_y|1cp%v=z#nJ$_oq}zZv8?WNs{2;K;@ytQT=2;NXFFHhwji z6B`~LZe(O)Us&o|{w7Phx74yWlxxxhEs1kVb0M#ut}YFmTCOJa9-1Zgk5PyKw5OdeeNqRhxLM z%3d=vaLPz%Bs^H&$jqH-XJIhyO(UCaVOFVu*?Z^h(aKCKtP>orF|lw-?E9gRbZ`wH zn+Su#^mk9Xr!nTc{SJPe-Z9NwN}*vU10(Zt&Zx8klh+L=HnO&*9hhF4e0D>4(7oP- ky!f>oMd9<#G8|-l%r;5;zHP|cf@dMRas3@d=?)Cm0A1#YBme*a literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/pics/image105.gif b/doc/salome/gui/GEOM/pics/image105.gif new file mode 100755 index 0000000000000000000000000000000000000000..4f6173f828f6a0cc9c921e2241ad06185d1d8f45 GIT binary patch literal 1038 zcmZ?wbh9u|lwy!%_|5OSa6V)Ls%=~gu%fB?QHyNE+;lT zbZ!!q^jQ)S*m$^`Pb%fkjs=U|C-4TzdE9JRaY<8Ry z84e8x&h;6vGVRcGU}#vx+@s}E^)Zu~k%i&HmdY(jLG1opH>s>DUUhwyH+zJv!2*Zy z?u=Tyvs&Br76my!9W5G3^O~x literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image51.gif b/doc/salome/gui/GEOM/pics/image106.gif similarity index 71% rename from doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image51.gif rename to doc/salome/gui/GEOM/pics/image106.gif index 83388cc3d2f2ed2d18e837c5036474f8d0c611aa..2bbcb4d94f3cc0890a91aac9e669445ba6907579 100755 GIT binary patch literal 984 zcmZ?wbh9u|lx2`&_|5utp~0;~#gdEz_<+l#G(2 zAu#+xfRTYw@h1x-1H*p?9gy!pdBTCCpW#2JjK_ur2OAmqm;x9Q92%L~1sP^|Y<$ST z#3mr&Q}IE*ftgc8OTb~%5{5QDMXfa!8%XM_|+^D z7BmDdW^>pT^J>y!Ulzsibu|)G7X;6C2#pdwA(Vctm%Fygcjw0?5sdNGU0Wr#Jh;Hb Y!ggY+cf+dFEF63{{8#!K=A+j|NjjCfp`>*hQJUE0UeN=L3x3J<1vFi zhm6OD1qYisgtcN$Y*=`>T|n6@CSu{DqurvyDhEz%WNPhKaFkk5u)wjAnVqX8=H#S9 zO-yV&bEae}ENx`hjg;GPp!i@TyN&LQlm`sy=lYpA1SA*^9%5L^!om~a@a2U&0~41< ztLB32Fcxm9h@}l*Ra%&t_tf!PZ+pW$C2+48gZ8zon=>&-kkn#8!pM*}pgoaH`tP3PfDhg(PWM=1;$OyZ;p!DLUrT*p> hyt}u(y}d))`^MSb+uz^cr_3Smw`a%4M~sXN)&K>ViW2|; literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/pics/image86.gif b/doc/salome/gui/GEOM/pics/image86.gif new file mode 100755 index 0000000000000000000000000000000000000000..339733193ef3faf4e1ff413ba156f244f33f5502 GIT binary patch literal 1017 zcmZ?wbh9u|lwpu%_|5$6Dudv zACr|^)Pv`9&SPTjn)r%gwe#GxyI$L#g)d4J_cP_b_QGuv7xRj(H@7Ws*v&M@iTA+t z^@pZ~@p8!7EZA_PwdnsXnKcO;k`E?rot66MhT++EUCr>e9+SsO2Yb!Ak9qIILrGiT1yrAybYUAuMb*1dc89y@mIIS{;m{{H>@??CYX z`~Uw8|ABZEjE2DQ3IQFEcR+c8f#WQLEQgH8h6M+kIfS)hPHb3sxLrWltfON?qboC; zOvIdy36015YpwZklc&&M@O^xUw0u+|{&u8E;;ZSHu zzrg6q`6ouJ_&~s9wx($+7ba^4EN5IGW>9&lA#{NgtAIj5LQ3PR_+&QL4IAH{+LF~Q zwpa7YGtV6c>96K?URf4CpNolGY)@!IA_Jq4v+S828yhFZd-qfBsR6N$$N;* zP+)B87T{%C5%JN%t%<=btmQ!A!sf~9&a2kEP;m6_)=0L>aG1Qzi-9-9%wxmm1B@&} z*<5QY7dV`lV_Eo)$7)Mv;8G8BubKb`$IA;j7AT#K3~V^R+IgW}$1DX01}3%xT&xF7 zULIqJ<6n_$5So2r6C+y)>+NqVZf`1_Z6x7SVZgLl`|K;%fE^njFJg9@)%$vfQ6h^! zJBL8Sw2e=X@pCY1crEyxenCiIS|j1W=a+{T>dXK5xog{7)*Z#K@13pQ-gN&!Gq=3n KpT&n77_0&5X@{Et literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/files/salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image28.gif b/doc/salome/gui/GEOM/pics/image91.gif similarity index 69% rename from doc/salome/gui/GEOM/files/salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image28.gif rename to doc/salome/gui/GEOM/pics/image91.gif index 0667288b69cbf0bee91f3b101cf2d87c2e3bd751..9e93c1c720f198df9a35fa5f0cc90246341a5d08 100755 GIT binary patch literal 1010 zcmZ?wbh9u|lwy!#_|5d-onYcI-J2ynp`w z{rm4g@c;Y&{|x_ucod9=z;Fox9gs&rd4YlBI)fsIjK_ur2b(#BwPH?eSm@lwFQ-=H zAjo*MLr9UqjWIKpPcU2 zWLuHL@Hure6O)DA1ItghH_Ho7i90*%VAJ&t$*1S(MmN5_y`%W`xw(dk4h+@+U?hNy literal 904 zcmZ?wbhEHb6k!ly_|5(lNgTy1P62||G85StHbn?j7 zUGexN&(Ov1Y4)W;@Ud670yoo)lSa=D%~CBEbD3G3=H9Iu-*-i0OX{&jX1q#QITBVL TW3q2gbI}Y{_M6Md$Y2csO0_n= diff --git a/doc/salome/gui/GEOM/pics/image95.gif b/doc/salome/gui/GEOM/pics/image95.gif new file mode 100755 index 0000000000000000000000000000000000000000..b734add2203cb84abae2df9993060b49cdd1241c GIT binary patch literal 2643 zcmeH{|2NZ%AIIPOVnoeS`8qXPjBrLmLZjxpkuPDS$@THAh9==k+gf2$x#jC6EzFQ< zW8_QRxoS1@y-O;|M>5G;MfuVxANSmU;`76OoYy(8AD_?jIOp|p^KiAZjob^;2UdW8 zU;qpNfj}4-7+6|by12Ob`};>lMI|I8P$(1zgOQh)S5Qz;US7`OaCkgkOG`^vSC?2U z9v>f{nwpYrqL3*Rij_?^RyF`&V`FnR_rLsW;Q!r#+1~~Kz6C&K15gjqcIUHuF01S? z4S&kN+nbHp>sjtDsC>-Q-lN+8R8aNg2I?pi>CrSzgJS~f!zE1|X)!jcuiT@#W}wWD zvM?!Wj`5}&UsToi6xNPZx!*FC11WXSxPDchw~0cNv3nuSnm+lPi9CNE{jub3Lw^&J zT=Uu^a&fp3n9gd^35=$8rY+5ILW^rB;BaJ{W2X)0d9Uff__6)Ye|ifsCVsJtCA?W_ z$$8D9_l5hz;gp1L___znuayqC{Q>10Soi-y?YG;^RvHTepHXen9!aYSOhQ_1S%HYo7H9MfEVBeH1h`ze7ttvcun+mlgJU(fZITfw4J3FB95GP&N z42uqc+%D*;$gF%SyYs7IJ`IdOvZ-KYpnm?&$~)OEa-=JNz7lW;KuRO;UH6{T@K(hr zx80UFL)L!GnN(#*=bI|&_~nz%R~T*>qm%|EOimFO96wvTt$eNOGE*Eh4aHZO#5HCv zti_Z~m7e&W+cy^<0aGhya+OBbU-VSNkyHSDmCgbxRZ^IXjqXOVv-c6G&X~mExQ?(( z-M3Za$=x?qL4xJd4{=cSG){dzu;}3&%FT$bDOC-?CKSm#?kzy7V3VYjp1#MCzin|9 z(H@O_l$^ObI2R-8IQy@r4~U{18pZk_dUG?-5S~+d&M6!-oqW*(BLzN%+77C5wyZPd84X8ruc0aLBu^>lB2;xM^$ z5vG3zC3xhJ(C03Q>+p=?r^ExR9NW>v$+Orf#`GT3Q=j_{OcBHNQbl zd*!!mYUfz^V<4Kw3JqwJ0o;qepk01A(9>Y2rpHWMi1(}Zepl2a*8B*e>NsQ+UoPG{ z1Uh_1SH9u&&7#U2mnwfY1|0f?BzhQ8H6YsgsVYLeK*7v29E4vCIsymR`@BgGn6g7V z`u2DSS%isncC~al#z`5<`J%gqZru>vNL(jnXL7z6=irG;DS0_S#<2B}7N)U_8t`s{ zaj)-jl^_5ew5PfCm;f|Lc{-rEGTNz_9;K&}{UCZQoHVf4d#CZ>td}9vK?Sa+>u{%Xf|=(H2Wl z(E=hlbNTRKm-KWX%jk=}J8uqipA2@7u@3+{`g=+XD-4maxm-}e@KVLH!{+-#ZCHSj zH9-G}hLbWAWCDW$feqW86_P41eYqRWnV5p+`)!>S+u~i+uBE&!W6mtyfHHr1?vP=_ zkIV%*RAZc_bXpUpprYV&EWTKL7`}R)ZES!M7_lAZ?xG79XAy+MsAuWFD?`*i)jE9E zDPg(*F;nN@l>CrDf_=_!ru*I}(qDKu&$!oIYxhY6hNZchUn_tQg;cf&xjb`mqF7#$VMZQtDRDEVytc02p$+$9A8Wp%2>ioHPp| z=I=~LbK3RRNjCRS8IIliq#8gq5aNk_3oe3SRL)7w=ICVexM)*6V*|DwoXNvzzp?=%NJK1)pl(XQOin!b+`yc~>t+(&b!XwXsiJH3E$S4*w5Ta+e1H literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/pics/image96.gif b/doc/salome/gui/GEOM/pics/image96.gif new file mode 100755 index 0000000000000000000000000000000000000000..4580d5b5cee7f763d12c01f5fd3d4c79d2c6e580 GIT binary patch literal 1055 zcmZ?wbh9u|lwc5N_|5ILrGiT1yrAybYUAuMb*1dc89y@mI+O=!FKb$ffMA2?WG>^jBOMnN8kpI*1QZw+G%!w3(6!6?X{6RPpM$}~ zARzGI(MBGhUn&L(4Gfc6yW~_k4lppXuyCD7;bLICIMpNj-x;gov~U))QahhpTVFCT zvGL8=^D9jE(h?396Ws!bb&ZT1OgtO7FQ(jMEQ}ZXv2wbB=VWHTSuLL1S0*oQ*f?#k z*5yqX+r8E+o!|-44rVHI{$HZKp!D+0OndG%w-UDA-fk?N@>gp&qucHEzR&mVGILrGiT1yrAybYUAuMb*1dc89y@mI+O=!d`3n$PHcR9lud(iMaqIrPn)JOXvLKILrGiT1yrAybYUAuMb*1dc89y@mI+O=!CP|H$9SasZvkEAy8SI#_ z@Nk=;YS5Y!50sAeaH)wsxp7hX!~|(krih)N6g?&~NuLO*JmA2{#KItAP$2ZoVV0R7 zhwFmL>2C8m!`V~~5*iw&vc?6mBs4HEF|pILrGiT1yrAybYUAuMb*1dc89y@mI`Sa)R-@pI<{rms_ z4F7?66pV(za0~$*kf%U-fq~-#gCvK{iUkV}vTz71MeHb0aBOB3)=KF(u+X7{RouhJ zVdEm#9&RTogN6-@UD*T}Wg;9JR6Qrlb2H7@nb2^Si7mluN+kmWBLgD~&w-VbA2czu zG4MnP99Y)K>dGo-8sPASm+0OMUZtu%qUyn9*^XEVF__)MzRd(UDH?qRtBbZd$jlc93 QD!+evlt1r{gaCsz0F~i_6#xJL literal 0 HcmV?d00001 diff --git a/doc/salome/gui/GEOM/pics/import.png b/doc/salome/gui/GEOM/pics/import.png deleted file mode 100755 index 8039e55a36902dda3d7c63d25633693add4508a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15937 zcmch;by$>L*Ec+%Vo)Lqh=huOGzbEcDu~jGC^fVQhzup2iqe9Lbg7g`H$!)bgmiZZ zLw5}Dt@FCB`~IFfp7;IhJr098Ib-jA?zPr0*7!bDx=(tB_6!PzB9(n0t%5=ka-mQJ z=S~s95k9WzFcj)CN>=)gs`|UdVMmwqo8w2Ty;Edo$wHX!d|*QRsRzha9{=#rU(@}~ zZE?SF6pQXP59usbv9q|>SA9Hg3n%zI;gHRLio1Z}xSq0l`}NhZ*OsT>>Mbqc57q6O zSfczFSW3nZT*Uq?wf>srkL&OHB^tN;%b287Alo-EP~zy0w6t_Wta*P9F3;X?&Ahj@d4>xah`dLpY;%&M04e+B z%HDxHj~=Suexy&q%*?#Avvc0r2`&2*!zk$Jq%VyU`uQo6#jPdQsyGgZy*odNo0PwE=SqKna(4LhbX>tSg_gwW zmFZd}#*GreEz@DTN+ouSr_Y?JZfNkH_++rQzSdV_ z&v=sjP$5+?-E>6Y?Uq*)kFme7-H#u|$IzNW54nSAy!7cwZ3GMd47pm$?52Bg;Dt~u zhi*iQZ(L32rsSjQS?6BOW$p+al9u_G&+PnWa>*VHV$6wrw6>1RD;a-o7Zv}94$o8G zRF+&YS^`Ve_0az;qlg#LIl3u$Be$kzrmZ%+%l@=~J$86_7@p*78mULKgEnZ-G2-AZ z+fXUrUlM&oNNCa{@RlsyPuMNzLo`}G(RMakT+4J=;!rVFyYNX0+JOGD4R>B&Ltc2e z*Xu_!GKbY;=PGOSXwK6eos8jW`)a?xC1BA>UeR;V)O-{&>HT=uX!&{I@~ziFLF5fL z_)U7!_%vkH+*-I2l6p!VIO3CB)hDfQb{`ct_veXsF78uMP^6ft*_lYEQdNCc_iK`f zQG}H=87&tt^Dfgi#rDQ7)VD=Q+B7kTwHG9kM>P1|vaYrwE6lOA|I_~3ZgD_Al11FT z!Ygy+;!@T@`s$Iv;OPAoTxNy!%B*Le$?tE~#RSd_eDbylI|TShW6}#mL`nJv;ep~@ zqf?vt729m{mA#S-dh3N2?dv}?v8A3(tGYS6cz=tX@nn9QMb@#-9qXYbVZ>oFDqf%d_iW6yh$zmVujOG?K70PWbd;d^ zbxuy}zWTN{?+Js3*ubahnja$~nj#kX^NRAA7d5r|)>W=09yFdWNZS=h zJ&Hd(aa%`+flI648b5zJ{m6)(iv}K+_GKYV!HWRbm}j1Pi83}mvqbZ zZ55S#z8t|2jS-;oB@DlbI#_iYytp=)VBm0-m_{p8x*fy%Vba7$CqRet@ z&Tl-yWlhp+bm)Y~qe9!Unq{8S_YnB8*VBv)2|WqfxVf)fzfQx*$hfw)cIwQ^bPY3~ zI%iLo0Sysz=(#oP^&-PH>Sz($GyZjV^&b%^O40r<2zi(5c<)J1OjHzcxJxu$O$&KK ze~q7hrKC>a)NGu4QdU;h&th{Uh1{-~mcG04I(&MXJQpK~Xu3<>ug8^3>#Us^bep>^ z``TG)Z+CY7VBNEVDa+_uNx751nFXEFRs`B@Z)p_8>839x`D~B!g4KzjBgb>`3?tPY z$tTO4}y2nETS(0sHH{b6wjK~GcixOo0**(spOvbX_K>k2Z?wk3x)*OvhoK_%Y z`UDB|z&8qlLxSVSkE?s$)xQGSZHhY7a_c3xn;Q|8|GPJD?!x4S?QZny^t6pKy1V1j ze}-urWXA=?bZe`q7-SC4==y&v+N^3pl^(uQcDuDo?4>`pysT?9>>(bcE~-L8()unG z|Ax54#l|LVd2U$Ho4l~RO`}4GTJ`>uwY7BJ%GbwE7VZ6HL%AHpsb-W<8|@2T62c@% zP1WGh9sUf%CE3n6Ymv9&^@GiftQ$X^Z_Nw_GYl8!;QSNOw{|p~BUZl8ZHWw^Z8KeU zk*s~^kuUk3J9m!n?Ay$|By-%|Rc}4vZ&)$ao|nBD`V7a+6wLCTkf5(Svs)0ug> zOiX&8{q-n3zjt3$gran2Af5U7){ybAwa&Jl>4H5@D&j-M5|QB`AD;(OmVeX<)X;8h z5)u;Usi-uarC(=Yz5RvI=C-y5C@@dc2OmB(8TT&hC!1~anp zDs71)qlmCmKsH9L{Lp@8qt1YBd?$M{@5OK=MEV(Ah7ZMs3q}lQ{L)vc$Jqq&w%641 z%w-y?nsFs;uvr=EAd`A8FSi_XFYbf~WF~QyX!XjF<7?%tdS&t@F?Kbbe6U7z4ddeZ2HsLF~=skCj3Z7n_ ze!nP;Ny8Iu?!?C>GXlh?$99^;?3N|#pvW2y_juwhj!Zd|G~R2hwdHox)Bg_D8P@E; zx=!2ne!dHn_i=bvu$#J)vMd8X`>1;Vee6U<4)K<&V1~rN6?p#>Ul!6owX~XWuBXk- zv%SG^PM19;pie368Xcd@j%8T)lS@YHz6We=J-qQ5RDhzKz4Y~7%#&JugCQx+TfFg2 zaYGJY@Hb6al~mqM9SMH>&a2y=QcNnsW#Xh>Rc&5hM}R~8)YO!9^TgyN?kn?E>ugb{ z4HH+PD(2`D-ZdKDxM!ob`HaeHf^h(zoL18JUIurmSX<|GdZ_%irugW!G-y$t*n6{# zyU0b|geD1_H)LINDmC~v1(l}Ieu{6-l_kp_eQ%>yiQcFE@XQaq&xOaw$6xNRaR??R z_BgSs*tedf^xW83l$J&tyT1<-irK34aMG7f7~k89vM_rxVmEO!;H_M*=;J6#+qo|) z#j(VvdA+O-?JG<}k6d-Tos6UNzb@QRJDJ{9n7)YTG^Zz~F12>Mj4>~|O7S$AOj#i| z_S;Ln>~axu)~2Q=+6|Vgq#cE$F7ggxmRooW<@9;0o@SL0zq^6_txjAo#V@q#@Vqsx zAFT0x^aAg_Xz%_6M?biKcp`t?vS*Q6HRCGxX)ar%(L>kG;p0J1B(hZTXIhU8Ioa68 zR~r~-`;Ft$t=(^uieKo~ej=K==u zyJa(Dx!xkwyCXc5^3Bl3Nbl8jw$smT7Ej zmA&spDUj5B=Pg2CZx}gmT;b2Is~eeG)9}t(%cQBXaV+~{5TH+KH#dnkv3-(Ww2k7s zW^UtFa2^il0f}_^!w#VPQSMI zl-0{Hx3o<8*RMJ{Io#j-d@m|jj1v4^;ePaDQIv-#Q^q`9b~sTnMkM5S{C$4A1@)(C z>UUIB&YAUQ7>$%V4!NwiD8!0IESK*GUXk*$1P-FPn3~bGQIZ zXX%B}G5NV|qwYNF`X0{-zcK5>4$A1b=e3sV#*d>=kGq-U=5@}or%Tl5eV#68|0KZd zn|!n;AT;8@q$Ox^g^kTOFE8&**s;=st-;cxwrxlAZnK^JeKpOa^uiH27Z)+@>XJUG z=DPFhFMo&%)=^n@bQT_)Q!12|m!E86jXR!JM&N$99=E$Q88kPL&jAqV*|TSs-A~lA zpSRFL-F4iZ4s(PzWI9yDck9-z0J>YB?syWdj(L)IKvs+tFs%lrp|n2JvS@2DTpaTD z?QwX~G7d$PJQr$s!*7~V!3uDTJ8w;8x*u?unwoOzl+t*JE){v+XK+03L2!%+c@{x? zp6O%A>l|WagSux6w%2FdczTz#FxYoZ!K{XnEcfo+<5bV`7{$*BZCO7~QqZq@a{`i) z@MoYFn)&5N9WYQn#m>3ar(H7_IG$$N%qrp`x-Nacc%5&%X@=Pf$$~LL^ja#3=0+z1U zU)tK_fBs9a`^S@n#Kdg<8X}S!y`dtj(v@oBG~J5WlBHsQ^TC2!UE-J_;pc6!El_`p z_LoYU^Cw$Hm!E+ikfu{c>(QC4jF3fC`?q_RZg^0Tj z4#LNXNGyeW0NVAt3#L9zpE%rKws(rYuvjQE8rAr&xSi6%cC$E1ExjR2wN@Z(KuT_I zJO8nxUiN0GYS-f@+KDwj`ZQba-P*cO)lI@{Dsq~mUF~ibZsxu9_FnH+)BT;PD_LMZ zC=~0~d-4$1;c{2eUTu4N z`LNKVAPlUc^!@vyoFx-}9MR>4yRb_gR_mynT3dm82El9*#=p0TJ6ZYtQ9P zDMr-(93|zkN+1-?-Hy{CY9jcTQ9>351)uA znPsUCE^YYY#fy;NYRcbdW@bw5!d@2UQqwXDD*PsR$*U^hBLAPkLZ179bOdxkwqupA zuQ4-!{P^)syv%z@22zQOTqUD^W;3JZikp==zLY z%x1PV@k#2_Em6QffkQ*+twm8upFxch=Z!yiUc6w}E`D`|pTEX1_e56gD`&vbi~ZupKk1 zIi2R8y|M4lmleHi?wk2kPowx1+v(HOM>QO5Y-~a+SoXz%{CL2h0v03D(b04eQHskW zWf8(wS6d=)##>F+r)lQ<(Tm#k;dJ22)zww8^?1a}9{m z8ZXk+N6zwca@>Drc_w^cR@HT*ZD-rD1K&+8Q&PM{lIs4FMuQkF;?S6mTIrx@;=0fg zv21hOD^_<6-YKu7nGj-sUb}Y9BsP?&)*$;sbhLtu43T^&XUg(S|NQ<N?t|KbRyWbPQeQt9sJ4<^~Hbu+zx- z@D6MTLc?_3A^;0y>DPFP3}-&jV7ecWw#iHk*ox=ln)upf zrm}sNiAj9MSy@i*DjQo$dDInZtk+sYu&8pW?dHiM(fT|G!gm1vtWGPRUhS}C%X9Gc zt4GvSkIjx(QpxQT%xFGdMIf6=IiAliu@|=ZZ~$1Hko!x*ow#sb6Us|1$Mrk}w5omI zyggKV+Bd_*8$Jo>!RE;?PpM_LC!e!J1Kza~(q=dZ|7U(_M*y!*6<2WcE$4Ylmr{F) z+1qdF>zCJ#eB_yiGyEQ(*=@cp4VOx29g!0n0wh74=_73kBFA!00R>LzM zJVCoTUcY*kkk{Ae%TTIq3}Dn}BsJ}wcMz(ff}!;>`w$zeldcAL`8aPWZ^Gtm`aS30 zpHeV-*@3oyJtETS@0om0M$midn}0q!yi}IoUK)-mr-mE&2RF}}W-DDTJpX`Iyi6ps zbrBN4oHJaH6~+qW)iyL3(nLBV*Q48}#knH;pTdtrRf_x*elXUe(0?cjvfLD_XZ~41 zw8UBJmxbb@enCO@4H0j_R5#{2y<^3lZ&*!8pE+~pMUUT^=d;@RFP^-gM;2&r z_P4U*NU<%)V1YRk6O(6Yso3+@=($f@b#-;v1O_-IMU-Lx^K1tmj}PZFBr@ws8{c29 z0NKL}pbiB+y&^;i3NQ)ljT@iB!)Y)@<3u_xtM{CD0fl)|Fv&c8_^=YH6amO&6RDZy zSK+iMOtEicxh{m2KECux&qRUYKn)DHH2{=m@|Ay|V~!s_~s=vl!RSIa66>UCne6 zetv$_&Lq-*6|te-UTP0=i5(AWU6+pw3ol_YeBQr5p$DjfPT0}|k9WZz9MI3>0q6Vr z`4L_g5s74U+o>wYRC*AgNEpPzq4wyk*dzQjWBh_R7f6Cgy2P&rxhDYKUl=L7)G4sL zI~%8wZEymWl9B>QFg)L^cWoiJ?S?_^Db&*pv@GD&An`4AtW$~oaw`a*WR;;@T6ERz z0CZ656>j3g#kQ&4+sHHWXMc-x!K)8XYUF#;GtQ>`zhY1el| zYUQro+5x?~>QSj-D?$jqG@@sOPm8;8#{$|2fG1NmE5eP!|g&pu(0Is=@iz zA1xh~<*lu6z$LW}tiq)_f9R0NxjHrxOQoe}bto|VzlU1OZ6q5$vF^N$25!3XqD*A{ z_kBi+ix*{|J-gj`jNpW$;q#9I$WCN;r6_|uj0IDg=CXlOmX z{SZMV{8I%mw%I(_Zc!5kiD+vOF)YHuMMHv2_XDQ}Eh^G`Bp_wevIi}grpV37^8s;S z1{(!dw&SbRN$)nX4is9n0bHX0xj0f51*&7%U~-*-esd_7LZraytgWTKo_>WGk!}g1B$zL(|FJ-V zq`Zj<1IRtdwwer*WP#$IqziSo@m>|z*Tm=ITp4^oev*{qly`l)CI%KmQe86?cR;&cM#lMhcqyRa8h?R2&qz2FUlza~8A}SawvnyAu);Hnz2~ z3JMmWO|lo);cfnk5vBHk%*F4pqE|`#^rzEYVi@FGBS4;@-RD5&-!F!x%LOVM%BfKe z!06QJ(_g=T_vzJjFB=ks@FbK`RsDR+4ewB0Q`5gSt)>te-Z-9CW9rWG2Zf@?BfS9K z8JDf@0zP8%SfATZWx8_Z&N_l<1S~b~=lm!$2gQn2DH=7Fn`g_3Uhy+?)&vzShRhC0 zH7Q(Sx(q5o09kyBJpZrKkJ>DOCz50?SpDzGC*bSrEt$Cty(@Vzr>qbs5regv9SCE-c8%Ato&?c14iEOR zfc8(HK20!IFo-b(b;o6;>Lg(36^NFi$t3rZ3}mfL|7gzn5I5eU=TTm+E;6>}VWeey?s1yr50 z^zFL^U{CR|YfS0y2 z6|C&A)o;wf2@IAd)_LhxPo{1gf16lMU$!Cr7C&StM1MjKYTFOjfu@0k_U~`^(zFT# zndL)4hnfw{L=1-)ja=(_U4JJP?3(?EBP*ip!B$4RB*2mbWbJi1CCJ%~GPT)ufTgj>7#1IS*QnvtUAi1wdy1?mk!5!5vr zK7->t75JQ*wUdl4AI59EZ2%Qe($dO-y5j(lAY8yy1$%=-E#uilt*^j~E+2s90Kn!R z_O4Ag{|63Udbo#sh3k1=R3r?#R8vcf5xj(@9Y0vS1g`*C2pjy)DhNoqi_Mwg0(>7q zv`^K(GXV@%MFln6xvh5p?%g*trZ6_sF`%YgY}M4EkCZSV|?4*QKBiH(qs z=__#8f0L>IMn{2me)Qr7yQe&={W4vv2s(9b9+_eaQK!J>GU3s%<7^D~?#1uPb)L*h z4}eL7uM`8ov{13(tEt3%*j<0`&M8-T($iuwBoFG``C3OzherC zN1+bGeBamjgM-!>(cPLxNnY#P2VNt5pFx-r=AwirgO0m1+)`ndDcF5&Rd5&Y)_?2p2R3I?qscJ6W@@SA` zD9)WDyxp0k=s2H}tPXORp7^r(Zf)?;tpz2bVF90wjaOgR*3)urQiZHFl;!8VWyK}; z9c6+T7PAh&Hj!sr{=SP;<9st}xc}}(u5wI|EiSzfK)!O=3OC{~Gz2js5((P2`w0M^ z&Uj~X2u954At;lEYg0{c?a5}FGs_e1`BS|*y<82@k9}x%hAT?j_7A)!ZW{olBDV8W zS)5{G(Q)L5FOS3kKg33Eo{w|gx)>z3b_yi+C$YxOv07yxoA1g$F??#b(0AwP&*4^E zd3pH-%pgRvH_q;0Z_{w@Q{vmVZ}oOQSH#*wXo|Y(2D<{GcX$KoDhEI_e#=Cu(?k6?4m@n66IT zL}E0r95RSP=PSoD>H#VXQDs&*>*mdTnME>U(n;WtD3{QJz<0ztDJ8L?^Vh}03k59p z$B{(*-LLhXAic<|?@?Y3mxIo5oq@(h>+DW!mO*6wDDj_;4{*|5|NAh$6eMDO97uv7 zJOjn_E0Hpo{8s>`ctI-dwWs8E`YTAgKSV}qjw%-YVMBnO>K*$H2O`qHxZ=OmsQ)=7 z6+1)qNua$u__oKMvb1MqyhfwQL_Zz($YfOywk{6gojR<{%ys7cer8E)dx`B6;~RJ+ zDRI1qMDvlTiZ=kf+oA|WP^yhrSCD_-96-m{LCQs;9FIT=hS@*A&FLHmnP0wqL1TeYtpb%)E4CP{070-nEX*zaeL})D zGJ26`N72wZCeKq=3kJ(A*S%NRt)fm)9vpVYy@!j*A^k+k*XM!FYqgl)J0MvINIoPp z{Tio00Mv!W%wF)s%0K&A80uRB36b`IyNVnt4*d3?s zr54xiVYNBC#OdkjZv5rwz5?@0AP(f25B8KVG=5|PmEaTUCBdv`P3J&lSo-Ap6JuNeKxF zGSh##Uz8reWn=%FU-m0bGEQjJB^Z_~I5@ZlMjRn%9w{YGOvO2d*f;912to)R0M-`G z&<04S66he1zVo07kAvX>4k0gKXFwWmU%r3;j&>%g8ADiB#nA!u_r*Tz&oPpgkqJ#b zLM$lo<-md}mKpW+=?YvV*EMdw^ri+&ww%yWD6J?O3zND$x`T{?aA;|`LG>cAoL@2jj+gA{@A9Y1U1bv`LNCQgP zOld7LTsYh?*O}~S)#?wGR8`adm8w8g;Y+(&{hp|fuzMrm#GdI**T_w(w*8v}=MEJE zn92dH^J38%%ncUb&QBi4?@QyKkV56Q|Hc~QO4h(hRjslhy&UgDye+L4`5dSGZcP;nA&n@ zWt_dOYNYZXQ$QK$>|i4Darf!?v^A-^LFO58lmEWloz0P?!)T1+VBF>$SBx z<2aFY9P}>~yzH;uKXQrd=lL}Q@iPkmJF$(_)nR|J(07Tk#W>Ej-lk3bzNRLvl$%h3 zrmb@nsO1-0eavWxl1vRES&nww+-V>SgZ^Tpelp8--_Gr5f7AxBr!|iKM=tvXb7L(G z4G|P5GVz=6FDN{@AYMMr)KLT%&dtpYoR%A)?sz-7xVo~jv;WxArG{1_b#)&g+b2$( z5HRg{`|aD+{o+rb&H>YoE=bPFNeub?`79011K@!91J|xnw;E_hkF25ljRIh72}wx< z?m}3@;)8aLH( z!E#@==i%>z#W+`2SB~Lw@SlD~-wFmabC!-y0XlzCJ_}}x#ml1=l7{8_UdBJYnT+yboIsI}*CgYYR}uLL?>36HVMUx+J=cd< zDqZ83%+Ag>iA13@n zne_&`9qfU%Z)0t39WL%{ht1*R;{)zz1G2eVanL`KN+qpVtkXOjLIQzpqz*G==}1J~ zvSI1(??;Ttx$?vP(Ic>hA1_W)Q>6GhA35-}iLH}la=V29rgg)Q-ydo%26ewb|78dyTU&g)=*~F&h{ud;phFM8egj2&s zY}vt-*9Tv?w0zGNgWaUs-vhKh^D9CMRBObq&shR*FA*|;QSbEB6#5}H5(6>gJPeP; znkOm6`~*pfBi$XS6cnVKpY6~&(|s!mmr>Gc>Rd@{@&nnT08LVdl%%KbB8@4tv95vP zclZDSj?FGNd`gsG+1>_y>VL*mN;pKGLc9@BE)qdc;Z!g3064COqg$9mpVMTY&&lN~ zEGyq`+y0Se);!xo>0f7XMO-`vY4rH=rYoNQ{ zU;$E6JzZT4%+SN7r~ZOcZZcAe#n@9(6t1qXPp+~u%)(!u!lmp6Mw=acS6cGIvV5Go z`Eq8-p@_ucl%e;HkQmmoxtyr`;?CbUJVscJC7M3f$v*&Oel{OC?PfcB3ONY<1~Ci9 zux*}TIswiCJAWr)^4`aT!R`8m_3!N}f{U=7g3jFS) zzm{!7Pg9+2=YnIF-weX|urw*at*~b2kfu3{1O)M@kQVq3Bpm)l?^LA}lfP2;c832a zPwYR_xc|Z&3&ns8sY;ndwF9o|rIm0glE++B`+ot)*#B1W&9e|amo2sDE6BMBC$l(t z6sl!`4FSt5lt(MjH1bI(DKTm4@3jFW^ABsfYY##P3kana$dv@RWt`ukW63>Y>fcLi zcHoYbR+|sG#%>hY7^X`#|GdDlyAvEFdvKqf@o-;i#C2O+Vt0cQf?3C?-*tbx+itsC zaQZ8oZ9!)7htN;M=r~8n>}O}qC!0)d7S@&4L*2qD))Jd!EVm_*Th#&90%plIpzWjFl2`_51^5F zvwwfI4Zza^?(t*jbs0Ja@~y}MKOj!lIEPQ7-os5_qKH1m#*$TbB+6q=#}ol3f70?A zs)lSwuHMO6`HR(f02jVHrGPnHY*C05ZYt*#VJ|Mwy&nS_c$Gmm(iT51_+R^iE<>yW zNzBF!i-10S7mbdViU8F=rn0iqdRlJTqU-x3q@f6fv@n2~IXYMVa;bD(Nf0yCINzN* zyl&+4z*9}|i-WTs!4BX+)7}hvAm3!cK1s>Rl$4Y;Szl|wwUi5KmbdA}{toUE$)gi_ zWV_SblFZ`X5hsy@MHMATABfe`+3%(jNsK9d1{6h+R`n#;*{sO{`^~f^U1W1uqlb1v15q&Dic6c1qta-e=h6a4(72MUgQIG zQpEhL7stu{*h#WyQ0$N(?0r=xNQ2Y>1kqOL#VP)HAy|d zuK;VK;R1ce^}_UAD{fKyr77q!K9)wVn$y2m_w)uoKil=|mILu;`-RSVfSSzDf+0cu zM+UAc!EXResLXDw7N8}AJKoCM2#duo4B8)BYe5%{KQ#}_<;xyr&f6WSYCItC{r{~s z!Ek}M2s9^0heq8n@^f{E-hYydH{K#miGY>QY};-vXx!#k_4C0Ae69o&188Fe$z!B-DQ0o&!1c3dphGqIH+UHn7{k^#%c3K-deI?11zU zT_2GG0FQ&s_On~JU?{guqWL4!eY!3C?P2>|;9_2+m!6K712x4$#j?1LSm9q6e2?+qe7fxUHmMubA(@LSa*Bd`+PDku)J#o6urpkste<7Ew z`EaYSqJMOda0IG*goy16?3z}=ODoOHbn3Kk)`IXon{=&0YnU-59Ua;k2Z|EeD?Y(?nN*3pw~S;evBxb;Dw1_S(uUZf}! zlY)jWT2Mwehe;?*D>qhZh;8_yFO{vm_C4C2ko?Ocw>qZG_;|dD+sh_i%?m25X}G|l zB73|sxg)Rgr8cA#$8~j1REaqvy2%6W$4J3W@#>)b;^+LX;IwV=5cyb5kOaXxrQCd; zESx?PpH#T;^WAB4$`|B5zU1No7Ae{NZm2?1`eRAPlS0xG~RxiN{yh$~x| z8qTR2&_^H44_)keUG)66Jm(?Ts_9UYnd zX%Vdjot9H+aH-RJUV)%NX~udZ42=vVrE@p@_E`UzlSu(6Mref}XOMvyw^CWJy^=tM zS#sx1T{wU2p?X5ZU!6m)KPc5-#u59=EnGaYv499bDNHv{bGH7iVh?s-%jz>`pgf%D{Il8IeH4V5k;|Njil`gA8t0x#5PT-8`(gi^8vr2QP#~ z6&z)6ji_gyv69#j9(t=v65-9S?fw=X+HrYjKc+$-`!Y0ZmPBhw_$V}5JTnWd8Jvk` tZkKrb@87=zg`|-$SadOIK|Mcu^!usgY^kvod^H>;drwI^ @@ -51,7 +51,7 @@ if (window.gbWhTopic) { if (window.addTocInfo) { - addTocInfo("GEOM module\nCreating geometrical objects\nGeneration of Complex Objects\nPipe"); + addTocInfo("Geometry module\nCreating geometrical objects\nCreating Complex Objects\nPipe"); addButton("show",BTN_TEXT,"Show","","","","",0,0,"","",""); } @@ -108,17 +108,17 @@ else

 

-

+

-

 

+

 

Example:

 

-

 

+

 

-

 

+

 

Our TUI Scripts provide you with useful examples of creation of Complex Geometric @@ -126,9 +126,9 @@ else

 

-

 

+

 

-

 

+

 

- + - - - - - -

1 - -

SplitAngle – - this operator is intended for splitting faces based on conical surfaces, - surfaces of revolution and cylindrical surfaces by angle

-

SplitAngle.Angle – angle (in radians) defining - size of result segments.

-

SplitAngle.MaxTolerance – maximal possible - tolerance on result shape - - - -

2 - -

SplitClosedFaces - – this operator is intended for dividing all closed faces in the shape - according to the number of points.

-

SplitClosedFaces.NbSplitPoints – number of - points for cutting each closed faces. - - - -

3 - -

FixFaceSize - – this operator is intended for removing small faces (case of the spot - face and strip face)

-

FixFaceSize.Tolerance – work tolerance defining - which faces will be removed. - - - -

4 - -

DropSmallEdges - – this operator is intended for removing small edges or merging with neigbour. -  

-

DropSmallEdges.Tolerance3d – work tolerance - for detection and removing small edges. - - - -

5 - -

BsplineRestriction - –this operator is intended for re-approximation BSplines curves and surfaces - or conversion of the curves and surfaces to BSplines with specified parameters. -

-

BSplineRestriction.SurfaceMode - mode of approximation - of surfaces if restriction is necessary

-

BSplineRestriction.Curve3dMode -mode of conversion - of any 3D curve to BSpline and approximation.

-

BSplineRestriction.Curve2dMode - mode of conversion - of any 2D curve to BSpline and approximation

-

BSplineRestriction.Tolerance3d – work tolerance - for definition of the possibility of the approximation of the surfaces - and 3D curves with specified parameters.

-

BSplineRestriction.Tolerance2d - work tolerance - for definition of the possibility of the approximation of the 2D curves - with specified parameters.

-

BSplineRestriction.Continuity3d – desired continuity - of the resultant surfaces and 3D curves.

-

BSplineRestriction.Continuity2d – desired continuity - of the resultant 2D curves.

-

BSplineRestriction.RequiredDegree - required - degree of the resultant BSplines

-

BSplineRestriction.RequiredNbSegments - required - maximum number of segments of resultant BSplines. - - - -

6 - -

SplitContinuity - – this operator is intended for splitting shapes to achieve continuities - of curves and surfaces less than specified ones.

-

SplitContinuity.Tolerance3d - 3D tolerance - for correction of geometry.

-

SplitContinuity.SurfaceContinuity - required - continuity for surfaces.

-

SplitContinuity.CurveContinuity - required - continuity for curves. - - - -

7 - -

ToBezier - this - operator is intended for conversion of the curves and surfaces of the - all types into Bezier curves and surfaces.

-

ToBezier.SurfaceMode - mode of conversion of - the surfaces.

-

ToBezier.Curve3dMode – mode for conversion - of the 3D curves.

-

ToBezier.Curve2dMode – mode for conversion - of the 2D curves.

-

ToBezier.MaxTolerance – max possible tolerance - on the resultant shape. - - - -

8 - -

FixShape – this - operator is intended for correction of the invalid shapes

-

FixShape.Tolerance3d – work tolerance for detection - of the problems and correction of them.

-

FixShape.MaxTolerance3d - maximal possible - tolerance of the shape after correction. - - - -

9 - -

SameParameter - – this operator is intended for fixing edges having not same parameter - 2D and 3D curves.

-

SameParameter.Tolerance3d – tolerance for detection - and fix problems. - - +

In this dialog box you can select the object + that you need to process, define its name and operators applied to it + during processing.

+ +

 

+ +

+ +

 

+ +

Operators and Parameters (TUI names are given in brackets)

 

+
    + +
  • Fix + Shape (FixShape) - corrects invalid shapes.

  • + +
  • 3D Tolerance (FixShape.Tolerance3d) + - work tolerance for detection of the problems and correction of them.

  • + +
  • Max 3D Tolerance (FixShape.MaxTolerance3d) +  - maximal + possible tolerance of the shape after correction.

  • + +
  • Fix Face Size (FixFaceSize) - removes + small faces, such as spots and strips.

  • + +
  • Tolerance (FixFaceSize.Tolerance) - + defines minimum possible face size.

  • + +
  • Drop Small Edges (DropSmallEdges) - + removes edges, which merge with neighbouring edges.

  • + +
  • 3D Tolerance (DropSmallEdges.Tolerance3d) + - defines minimum possible distance between two parallel edges.

  • + +
  • Split Angle (SplitAngle) - splits faces + based on conical surfaces, surfaces of revolution and cylindrical surfaces + in segments using a certain angle .  

  • + +
  • Angle (SplitAngle.Angle) - the central + angle of the resulting segments (i.e. we obtain two segments if Angle=180, + four if Angle=90, etc).

  • + +
  • Max. Tolerance (SplitAngle.MaxTolerance) + - maximum possible tolerance among the resulting segments.

  • + +
  • Split Closed Faces + (SplitClosedFaces) - splits + closed faces in segments. The number of segments depends on the number + of splitting points.

  • + +
  • Number of splitting points (SplitClosedFaces.NbSplitPoints) + - the number of splitting points.

  • + +
  • Split Continuity (SplitContinuity) - splits shapes to reduce + continuities of curves and surfaces.

  • + +
  • 3D Tolerance + (SplitContinuity.Tolerance3d) - 3D tolerance for correction of geometry.

  • + +
  • Surface Continuity (SplitContinuity.SurfaceContinuity) - required + continuity for surfaces.

  • + +
  • Curve Continuity (SplitContinuity.CurveContinuity) + - required continuity for curves.

  • +
+ +

This and the previous parameters can + take the following values:

+ +

Parametric Continuity +

+ +

C0 + (Positional Continuity): curves are joined (the end positions of curves + or surfaces are coincidental. The curves or surfaces may still meet at + an angle, giving rise to a sharp corner or edge).

+ +

C1 + (Tangential Continuity): first derivatives are equal (the end vectors + of curves or surfaces are parallel, ruling out sharp edges).

+ +

C2 + (Curvature Continuity): first and second derivatives are equal (the end + vectors of curves or surfaces are of the same magnitude).

+ +

CN + N-th derivatives are equal (both the direction and the magnitude of the + Nth derivatives of curves or surfaces (d/du C(u)) are the same at junction.

+ +

Geometric Continuity

+ +

G1: + first derivatives are proportional at junction

+ +

The curve tangents thus have the same + direction, but not necessarily the same magnitude. i.e., C1'(1) = (a,b,c) + and C2'(0) = (k*a, k*b, k*c).

+ +

G2: + first and second derivatives are proportional at junction

+ +

As the names imply, geometric continuity + requires the geometry to be continuous, while parametric continuity requires + that the underlying parameterization was continuous as well.

+ +

Parametric continuity of order n implies + geometric continuity of order n, but not vice-versa.

+ +
    + +
  • Bspline + Restriction (BsplineRestriction) - converts curves and surfaces + to Bsplines and processes them with the following parameters:

  • + +
  • Surface Mode + (BSplineRestriction.SurfaceMode) - approximation of surfaces if restriction + is necessary.

  • + +
  • 3D Curve Mode (BSplineRestriction.Curve3dMode) - conversion + of any 3D curve to BSpline and approximation.

  • + +
  • 2D Curve Mode (BSplineRestriction.Curve2dMode) - + conversion of any 2D curve to BSpline + and approximation.

  • + +
  • 3D + Tolerance (BSplineRestriction.Tolerance3d) - defines the possibility + of surfaces and 3D curves approximation with the specified parameters.

  • + +
  • 2D + Tolerance (BSplineRestriction.Tolerance2d) - defines the possibility + of surfaces and 2D curves approximation with the specified parameters.

  • + +
  • Required + Degree (BSplineRestriction.RequiredDegree) - required degree of + the resulting BSplines.

  • + +
  • Required + number of segments (BSplineRestriction.RequiredNbSegments) - required + maximum number of segments of resultant BSplines

  • + +
  • 3D + Continuity (BSplineRestriction.Continuity3d) - continuity of the + resulting surfaces and 3D curves.

  • + +
  • 2D + Continuity (BSplineRestriction.Continuity2d) - continuity of the + resulting 2D curves.

  • + +
  • To Bezier (ToBezier) - converts curves + and surfaces of any type to Bezier curves and surfaces.

  • + +
  • Surface Mode + (ToBezier.SurfaceMode) - if checked in, allows conversion of surfaces.

  • + +
  • 3D Curve Mode (ToBezier.Curve3dMode) - if checked in, allows + conversion of 2D curves.

  • + +
  • 2D Curve Mode (ToBezier.Curve2dMode) - if checked in, allows + conversion of 3D curves.

  • + +
  • Max Tolerance (ToBezier.MaxTolerance) - defines + tolerance for detection and correction + of problems.

  • + +
  • Same Parameter (SameParameter) –  fixes + edges of 2D and 3D curves not having the same parameter.

  • + +
  • 3D Tolerance (SameParameter.Tolerance3d) + – defines tolerance for fixing + of edges.

  • +
+

 

Dialog Box:

 

-

 

+

+ +

 

 

@@ -272,20 +353,20 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))

 

-

   

+

   

-

 

+

 

-

The +

The same shape after applying Shape Processing.

-

 

+

 

-

+

-

 

+

 

-

Our +

Our TUI Scripts provide you with useful examples of the use of Repairing Operations.

diff --git a/doc/salome/gui/GEOM/shell.htm b/doc/salome/gui/GEOM/shell.htm index df6d6ee37..5ea4603ba 100755 --- a/doc/salome/gui/GEOM/shell.htm +++ b/doc/salome/gui/GEOM/shell.htm @@ -50,7 +50,7 @@ if (window.gbWhTopic) { if (window.addTocInfo) { - addTocInfo("GEOM module\nCreating geometrical objects\nCreation of Advanced Geometrical Objects\nShell"); + addTocInfo("Geometry module\nCreating geometrical objects\nCreating Advanced Geometrical Objects\nShell"); addButton("show",BTN_TEXT,"Show","","","","",0,0,"","",""); } @@ -89,7 +89,7 @@ else

The Result will be a  GEOM_Object - (SHELL).

+ (shell).

 

diff --git a/doc/salome/gui/GEOM/sketcher.htm b/doc/salome/gui/GEOM/sketcher.htm index 37f343ff1..0064487dd 100755 --- a/doc/salome/gui/GEOM/sketcher.htm +++ b/doc/salome/gui/GEOM/sketcher.htm @@ -68,7 +68,7 @@ if (window.gbWhTopic) { if (window.addTocInfo) { - addTocInfo("GEOM module\nCreating geometrical objects\nSketcher"); + addTocInfo("Geometry module\nCreating geometrical objects\nSketcher"); addButton("show",BTN_TEXT,"Show","","","","",0,0,"","",""); } @@ -118,7 +118,7 @@ else

The Result of - the operation will be a GEOM_Object.

+ the operation will be a
GEOM_Object.

 

diff --git a/doc/salome/gui/GEOM/sketcher_tui.htm b/doc/salome/gui/GEOM/sketcher_tui.htm index f191ae610..8ddccff64 100755 --- a/doc/salome/gui/GEOM/sketcher_tui.htm +++ b/doc/salome/gui/GEOM/sketcher_tui.htm @@ -47,7 +47,7 @@ if (window.gbWhTopic) { if (window.addTocInfo) { - addTocInfo("GEOM module\nTUI Scripts\nCreation of Geometric Objects\nSketcher"); + addTocInfo("Geometry module\nTUI Scripts\nCreating Geometric Objects\nSketcher"); addButton("show",BTN_TEXT,"Show","","","","",0,0,"","",""); } diff --git a/doc/salome/gui/GEOM/solid.htm b/doc/salome/gui/GEOM/solid.htm index f8f08688e..be8ddbf20 100755 --- a/doc/salome/gui/GEOM/solid.htm +++ b/doc/salome/gui/GEOM/solid.htm @@ -17,23 +17,11 @@ if (navigator.appName !="Netscape") img_whs1 { width:20px; height:20px; border-style:none; } p.whs2 { font-size:12pt; } p.whs3 { font-size:12pt; font-weight:bold; } -p.whs4 { font-size:12pt; margin-left:0px; } +p.whs4 { font-size:12pt; margin-left:40px; } img_whs5 { border:none; width:312px; height:315px; float:none; border-style:none; } -p.whs6 { font-size:12pt; margin-left:40px; } -img_whs7 { border:none; width:215px; height:190px; float:none; border-style:none; } +img_whs6 { border:none; width:215px; height:190px; float:none; border-style:none; } --> - - + + + + + + + + +

Viewing Geometrical Objects

+ +

Newly created geometrical objects are automatically displayed in the + OCC 3D Viewer. +

+ +

 

+ +

After the object has appeared in the Viewer, you can select it with + left mouse click to change its presentation parameters and access to other + useful options by right-clicking on the selected object.

+ +

 

+ +

+ +

 

+ +
    + +
  • Rename - allows + to change the name of the geometric object. +

  • + +
  • Display + Mode - allows to select between + Wireframe and Shading presentation.

  • + +
  • Color + - allows to change the filling color in the standard + Select Color menu.

  • + +
  • Transparency - allows to change the + transparency of mesh elements.

  • + +
  • Isos + - allows to change the number of isolines + displayed within a shape.

  • + +
  • Erase - allows to hide the selected mesh from the + viewer. TUI Command : sg.EraseOnly(ID)

  • + +
  • Erase all  - + allows to hide all objects from the viewer. TUI Command: sg.EraseAll()

  • + +
  • Display Only -allows to display only the selected + mesh, hiding all other from the viewer. TUI Command: sg.DisplayOnly(ID)

  • + +
  • Update + - refreshes the presentation of your mesh in the Object Browser, applying + all recent changes.

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

  • + +
  • Change background + - allows to redefine the background color. By default it is black.  

  • +
+ +

 

+ + + + diff --git a/doc/salome/gui/GEOM/whdata/whftdata0.htm b/doc/salome/gui/GEOM/whdata/whftdata0.htm index 99cbf9136..6a841360e 100755 --- a/doc/salome/gui/GEOM/whdata/whftdata0.htm +++ b/doc/salome/gui/GEOM/whdata/whftdata0.htm @@ -17,14 +17,12 @@ aTE("Arc","arc.htm"); aTE("Archimede","archimede.htm"); aTE("Basic Geometrical Objects","basic_geometrical_objects.htm"); aTE("Basic Operations","basic_operations.htm"); -aTE("Building of blocks","blocks.htm"); aTE("Blocks Operations","blocks_operations.htm"); aTE("Boolean Operations","boolean_operations.htm"); aTE("Box","box.htm"); aTE("Building by Blocks","building_by_blocks.htm"); aTE("Chamfer","chamfer.htm"); aTE("Changing Display Parameters","changing_display_parameters.htm"); -aTE("Changing displaying parameters","changing_displaying_parameters.htm"); aTE("Check Free Boundaries","check_free_boundaries.htm"); aTE("Check Free Faces","check_free_faces.htm"); aTE("Circle","circle.htm"); @@ -44,17 +42,9 @@ aTE("Explode on Blocks","explode_on_blocks.htm"); aTE("Extrusion","extrusion.htm"); aTE("Face","face.htm"); aTE("Introduction to GEOM","files/introduction_to_geom.htm"); -aTE("Titre","files/salome2_sp3_basicgui_functions.htm"); aTE("Titre","files/salome2_sp3_booleangui_functions.htm"); -aTE("Titre","files/salome2_sp3_buildgui_functions.htm"); -aTE("Titre","files/salome2_sp3_displaygui_functions.htm"); -aTE("Titre","files/salome2_sp3_generationgui_functions.htm"); aTE("Titre","files/salome2_sp3_geomtoolsgui_functions.htm"); aTE("Titre","files/salome2_sp3_measuregui_functions.htm"); -aTE("Titre","files/salome2_sp3_operationgui_functions.htm"); -aTE("Titre","files/salome2_sp3_primitivegui_functions.htm"); -aTE("Titre","files/salome2_sp3_repairgui_functions.htm"); -aTE("Titre","files/salome2_sp3_transformationgui_functions.htm"); aTE("Fillet","fillet.htm"); aTE("Filling","filling.htm"); aTE("Fuse","fuse.htm"); @@ -71,6 +61,7 @@ aTE("Multi Rotation","multi_rotation.htm"); aTE("Multi Transformation","multi_transformation.htm"); aTE("Multi Translation","multi_translation.htm"); aTE("Blocks","newentity_blocks.htm"); +aTE("OCC_Viewer","occ_viewer.htm"); aTE("Offset Surface","offset_surface.htm"); aTE("Partition","partition.htm"); aTE("Pipe Creation","pipe_creation.htm"); @@ -98,6 +89,7 @@ aTE("Translation","translation.htm"); aTE("Transparency","transparency.htm"); aTE("Turus","turus.htm"); aTE("Vector","vector.htm"); +aTE("Viewing Geometrical Objects","viewing_geometrical_objects.htm"); aTE("Wire","wire.htm"); aTE("Wireframe and Shading","wireframe_and_shading.htm"); aTE("Working Plane","working_plane.htm"); diff --git a/doc/salome/gui/GEOM/whdata/whfts.htm b/doc/salome/gui/GEOM/whdata/whfts.htm index 9dfa2144d..566155d9a 100755 --- a/doc/salome/gui/GEOM/whdata/whfts.htm +++ b/doc/salome/gui/GEOM/whdata/whfts.htm @@ -8,9 +8,9 @@ diff --git a/doc/salome/gui/GEOM/whdata/whfwdata0.htm b/doc/salome/gui/GEOM/whdata/whfwdata0.htm index f3f18a8fd..bf9cf21c5 100755 --- a/doc/salome/gui/GEOM/whdata/whfwdata0.htm +++ b/doc/salome/gui/GEOM/whdata/whfwdata0.htm @@ -12,1280 +12,1337 @@ diff --git a/doc/salome/gui/GEOM/whdata/whtdata0.htm b/doc/salome/gui/GEOM/whdata/whtdata0.htm index ff33c3846..1065097ba 100755 --- a/doc/salome/gui/GEOM/whdata/whtdata0.htm +++ b/doc/salome/gui/GEOM/whdata/whtdata0.htm @@ -8,18 +8,11 @@ -

Display Mode

+

Display Mode

 

-

To change the display mode right-click on +

To change the display mode right-click on this geometrical object in the viewer and from the pop-up menu select Display mode --> Wireframe or Shading.

-

 

+

 

-

TUI +

TUI Command: gg.setDisplayMode(ID, Short)

-

 

+

 

-

Examples:

+

Examples:

-

 

+

 

-

Wireframe                                                                                       

+

Wireframe                                                                                       

-

 

+

 

-

Shading

+

Shading

-

+

-

  

+

  

-

Our TUI Scripts provide you with useful examples +

Our TUI Scripts provide you with useful examples of Changing Display Parameters.

diff --git a/doc/salome/gui/GEOM/working_plane.htm b/doc/salome/gui/GEOM/working_plane.htm index 8b8c33f30..758235c48 100755 --- a/doc/salome/gui/GEOM/working_plane.htm +++ b/doc/salome/gui/GEOM/working_plane.htm @@ -16,9 +16,10 @@ if (navigator.appName !="Netscape")

Working with groups

-

The Salome platform offers - such a useful functionality as creation and editing groups of subshapes - of a geometrical object which makes handling subshapes much easier. However - the functionality is available in the OCC viewer only.

+

Creation and editing groups of subshapes of a geometrical object makes + handling subshapes much easier. This functionality is available in OCC + viewer only.

 

@@ -117,7 +117,7 @@ else

 

-

+

 

@@ -163,7 +163,7 @@ else

 

-

The +

The Result of the operation will be a GEOM_Object.

@@ -206,7 +206,7 @@ else

 

-

The +

The Result of the operation will be a GEOM_Object.

@@ -244,7 +244,7 @@ else

 

-

+

 

diff --git a/doc/salome/tui/GEOM/doxyfile b/doc/salome/tui/GEOM/doxyfile index 4cd39b4c5..fbab9009d 100755 --- a/doc/salome/tui/GEOM/doxyfile +++ b/doc/salome/tui/GEOM/doxyfile @@ -1,64 +1,86 @@ -# Doxyfile 1.3-rc1 +# Doxyfile 1.4.6 #--------------------------------------------------------------------------- -# General configuration options +# Project related configuration options #--------------------------------------------------------------------------- -PROJECT_NAME = "SALOME - GEOM - v.3.2.0a2" -PROJECT_NUMBER = id#1.1 +PROJECT_NAME = "SALOME - GEOM - v.version" +PROJECT_NUMBER = OUTPUT_DIRECTORY = ../ +CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = NO +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = YES +INLINE_INHERITED_MEMB = YES +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = ../../../share/salome \ + ../../../build/salome +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 5 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = YES +BUILTIN_STL_SUPPORT = NO +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- EXTRACT_ALL = YES EXTRACT_PRIVATE = YES EXTRACT_STATIC = YES EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO HIDE_FRIEND_COMPOUNDS = NO HIDE_IN_BODY_DOCS = NO -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = NO -ALWAYS_DETAILED_SEC = YES -INLINE_INHERITED_MEMB = YES -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = INTERNAL_DOCS = YES CASE_SENSE_NAMES = YES -SHORT_NAMES = NO HIDE_SCOPE_NAMES = NO -VERBATIM_HEADERS = YES SHOW_INCLUDE_FILES = YES -JAVADOC_AUTOBRIEF = YES -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES INLINE_INFO = YES SORT_MEMBER_DOCS = NO -DISTRIBUTE_GROUP_DOC = NO -TAB_SIZE = 5 +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ALIASES = ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 25 -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = YES SHOW_USED_FILES = NO +SHOW_DIRECTORIES = NO +FILE_VERSION_FILTER = + #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = log.txt + #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = ../../../share/salome/idl/GEOM_Gen.idl -FILE_PATTERNS = -RECURSIVE = NO +INPUT = ../../../share/salome/src \ + ../../../share/salome/idl \ + ../../../build/salome/bin +FILE_PATTERNS = *.hxx *.cxx *.h *.c *.hh *.cc *.idl python_extension_must_be_here +RECURSIVE = YES EXCLUDE = EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = @@ -67,7 +89,9 @@ EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO IMAGE_PATH = sources/ INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = YES + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -76,12 +100,16 @@ INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = NO REFERENCES_RELATION = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES + #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 3 IGNORE_PREFIX = + #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- @@ -89,8 +117,8 @@ GENERATE_HTML = YES HTML_OUTPUT = GEOM HTML_FILE_EXTENSION = .html HTML_HEADER = sources/myheader.html -HTML_FOOTER = -HTML_STYLESHEET = +HTML_FOOTER = sources/footer.html +HTML_STYLESHEET = sources/static/doxygen.css HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO CHM_FILE = @@ -98,10 +126,11 @@ HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = YES TOC_EXPAND = YES -DISABLE_INDEX = YES +DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = YES +GENERATE_TREEVIEW = NO TREEVIEW_WIDTH = 250 + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- @@ -116,6 +145,8 @@ LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -125,6 +156,7 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = + #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -132,16 +164,21 @@ GENERATE_MAN = NO MAN_OUTPUT = man MAN_EXTENSION = .3 MAN_LINKS = NO + #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO +XML_OUTPUT = xml XML_SCHEMA = XML_DTD = +XML_PROGRAMLISTING = YES + #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- GENERATE_AUTOGEN_DEF = NO + #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- @@ -149,11 +186,12 @@ GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES PERLMOD_MAKEVAR_PREFIX = + #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = YES +MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = @@ -161,14 +199,16 @@ INCLUDE_FILE_PATTERNS = PREDEFINED = EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = NO + #--------------------------------------------------------------------------- -# Configuration::addtions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl + #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- @@ -177,24 +217,26 @@ HIDE_UNDOC_RELATIONS = NO HAVE_DOT = YES CLASS_GRAPH = YES COLLABORATION_GRAPH = NO +GROUP_GRAPHS = NO +UML_LOOK = NO TEMPLATE_RELATIONS = YES INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = NO +CALL_GRAPH = NO GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = jpg DOT_PATH = DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1200 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO GENERATE_LEGEND = NO DOT_CLEANUP = YES + #--------------------------------------------------------------------------- -# Configuration::addtions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO -CGI_NAME = search.cgi -CGI_URL = -DOC_URL = -DOC_ABSPATH = -BIN_ABSPATH = /usr/local/bin/ -EXT_DOC_PATHS = diff --git a/doc/salome/tui/GEOM/doxyfile_py b/doc/salome/tui/GEOM/doxyfile_py index 6252dda9f..fbab9009d 100755 --- a/doc/salome/tui/GEOM/doxyfile_py +++ b/doc/salome/tui/GEOM/doxyfile_py @@ -1,73 +1,97 @@ -# Doxyfile 1.3-rc1 +# Doxyfile 1.4.6 #--------------------------------------------------------------------------- -# General configuration options +# Project related configuration options #--------------------------------------------------------------------------- -PROJECT_NAME = "SALOME - GEOM - v.3.2.0a2" -PROJECT_NUMBER = id#1.1 +PROJECT_NAME = "SALOME - GEOM - v.version" +PROJECT_NUMBER = OUTPUT_DIRECTORY = ../ +CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = NO +ABBREVIATE_BRIEF = +ALWAYS_DETAILED_SEC = YES +INLINE_INHERITED_MEMB = YES +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = ../../../share/salome \ + ../../../build/salome +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = YES +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 5 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = YES +OPTIMIZE_OUTPUT_JAVA = YES +BUILTIN_STL_SUPPORT = NO +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- EXTRACT_ALL = YES EXTRACT_PRIVATE = YES EXTRACT_STATIC = YES EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = NO HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO HIDE_FRIEND_COMPOUNDS = NO HIDE_IN_BODY_DOCS = NO -BRIEF_MEMBER_DESC = YES -REPEAT_BRIEF = NO -ALWAYS_DETAILED_SEC = YES -INLINE_INHERITED_MEMB = YES -FULL_PATH_NAMES = NO -STRIP_FROM_PATH = INTERNAL_DOCS = YES CASE_SENSE_NAMES = YES -SHORT_NAMES = NO HIDE_SCOPE_NAMES = NO -VERBATIM_HEADERS = YES SHOW_INCLUDE_FILES = YES -JAVADOC_AUTOBRIEF = YES -MULTILINE_CPP_IS_BRIEF = NO -DETAILS_AT_TOP = NO -INHERIT_DOCS = YES INLINE_INFO = YES SORT_MEMBER_DOCS = NO -DISTRIBUTE_GROUP_DOC = NO -TAB_SIZE = 5 +SORT_BRIEF_DOCS = NO +SORT_BY_SCOPE_NAME = NO GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES -ALIASES = ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 25 -OPTIMIZE_OUTPUT_FOR_C = YES -OPTIMIZE_OUTPUT_JAVA = YES SHOW_USED_FILES = NO +SHOW_DIRECTORIES = NO +FILE_VERSION_FILTER = + #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = log.txt + #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- -INPUT = list_py_files_to_process -FILE_PATTERNS = -RECURSIVE = NO +INPUT = ../../../share/salome/src \ + ../../../share/salome/idl \ + ../../../build/salome/bin +FILE_PATTERNS = *.hxx *.cxx *.h *.c *.hh *.cc *.idl python_extension_must_be_here +RECURSIVE = YES EXCLUDE = EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = EXAMPLE_PATH = EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO -IMAGE_PATH = ../sources/ +IMAGE_PATH = sources/ INPUT_FILTER = +FILTER_PATTERNS = FILTER_SOURCE_FILES = YES + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -76,21 +100,25 @@ INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = NO REFERENCES_RELATION = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES + #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- -ALPHABETICAL_INDEX = NO -COLS_IN_ALPHA_INDEX = 5 +ALPHABETICAL_INDEX = YES +COLS_IN_ALPHA_INDEX = 3 IGNORE_PREFIX = + #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES -HTML_OUTPUT = ../GEOM/geompy_doc +HTML_OUTPUT = GEOM HTML_FILE_EXTENSION = .html -HTML_HEADER = ../sources/myheader_py2.html -HTML_FOOTER = -HTML_STYLESHEET = +HTML_HEADER = sources/myheader.html +HTML_FOOTER = sources/footer.html +HTML_STYLESHEET = sources/static/doxygen.css HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO CHM_FILE = @@ -98,10 +126,11 @@ HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = YES TOC_EXPAND = YES -DISABLE_INDEX = YES +DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 -GENERATE_TREEVIEW = YES +GENERATE_TREEVIEW = NO TREEVIEW_WIDTH = 250 + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- @@ -116,6 +145,8 @@ LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -125,6 +156,7 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = + #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- @@ -132,16 +164,21 @@ GENERATE_MAN = NO MAN_OUTPUT = man MAN_EXTENSION = .3 MAN_LINKS = NO + #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO +XML_OUTPUT = xml XML_SCHEMA = XML_DTD = +XML_PROGRAMLISTING = YES + #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- GENERATE_AUTOGEN_DEF = NO + #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- @@ -149,11 +186,12 @@ GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES PERLMOD_MAKEVAR_PREFIX = + #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES -MACRO_EXPANSION = YES +MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = @@ -161,14 +199,16 @@ INCLUDE_FILE_PATTERNS = PREDEFINED = EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = NO + #--------------------------------------------------------------------------- -# Configuration::addtions related to external references +# Configuration::additions related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl + #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- @@ -177,24 +217,26 @@ HIDE_UNDOC_RELATIONS = NO HAVE_DOT = YES CLASS_GRAPH = YES COLLABORATION_GRAPH = NO +GROUP_GRAPHS = NO +UML_LOOK = NO TEMPLATE_RELATIONS = YES INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = NO +CALL_GRAPH = NO GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = jpg DOT_PATH = DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1200 +MAX_DOT_GRAPH_DEPTH = 0 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO GENERATE_LEGEND = NO DOT_CLEANUP = YES + #--------------------------------------------------------------------------- -# Configuration::addtions related to the search engine +# Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO -CGI_NAME = search.cgi -CGI_URL = -DOC_URL = -DOC_ABSPATH = -BIN_ABSPATH = /usr/local/bin/ -EXT_DOC_PATHS = diff --git a/doc/salome/tui/GEOM/sources/footer.html b/doc/salome/tui/GEOM/sources/footer.html new file mode 100755 index 000000000..cb55f397a --- /dev/null +++ b/doc/salome/tui/GEOM/sources/footer.html @@ -0,0 +1,5 @@ + + + + diff --git a/doc/salome/tui/GEOM/sources/myheader.html b/doc/salome/tui/GEOM/sources/myheader.html index 83ca543cd..1dc1ce7a4 100755 --- a/doc/salome/tui/GEOM/sources/myheader.html +++ b/doc/salome/tui/GEOM/sources/myheader.html @@ -8,17 +8,5 @@   -
- - - - - - -
-
-
- - diff --git a/doc/salome/tui/GEOM/sources/static/doxygen.css b/doc/salome/tui/GEOM/sources/static/doxygen.css index 0a8e93d50..88e613d23 100755 --- a/doc/salome/tui/GEOM/sources/static/doxygen.css +++ b/doc/salome/tui/GEOM/sources/static/doxygen.css @@ -1,21 +1,139 @@ -H1 { text-align: center; } -CAPTION { font-weight: bold } +H1 { + text-align: center; +} + +CAPTION { + font-weight: bold +} + +/* Link in the top navbar */ A.qindex {} + A.qindexRef {} -A.el { text-decoration: none; font-weight: bold } -A.elRef { font-weight: bold } -A.code { text-decoration: none; font-weight: normal; color: #4444ee } -A.codeRef { font-weight: normal; color: #4444ee } -A:hover { text-decoration: none; background-color: lightblue } -DL.el { margin-left: -1cm } -DIV.fragment { width: 100%; border: none; background-color: #CCCCCC } -DIV.ah { background-color: #CCCCCC; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } -TD.md { background-color: lightblue; font-weight: bold; } -TD.mdname1 { background-color: lightblue; font-weight: bold; color: #602020; } -TD.mdname { background-color: lightblue; font-weight: bold; color: #602020; width: 600px; } -DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold } -DIV.groupText { margin-left: 16px; font-style: italic; font-size: smaller } -BODY { background: url(sources/bg_salome.gif) } + +/* Link to any cross-referenced Doxygen element */ +A.el { + text-decoration: none; + font-weight: bold +} + +A.elRef { + font-weight: bold +} + +/* Link to any cross-referenced Doxygen element inside a code section + (ex: header) +*/ +A.code { + text-decoration: none; + font-weight: normal; + color: #4444ee +} + +A.codeRef { + font-weight: normal; + color: #4444ee +} + +A:hover { + text-decoration: none; + background-color: lightblue +} + +DL.el { + margin-left: -1cm +} + +/* A code fragment (ex: header) */ +DIV.fragment { + width: 100%; + border: none; + background-color: #CCCCCC +} + +/* In the alpha list (coumpound index), style of an alphabetical index letter */ +DIV.ah { + background-color: #CCCCCC; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px +} + +/* Method name (+ type) */ +TD.md { + background-color: lightblue; + font-weight: bold; +} + +/* Method parameter (some of them) */ +TD.mdname1 { + background-color: lightblue; + font-weight: bold; color: #602020; +} + +/* Method parameter (some of them) */ +TD.mdname { + background-color: lightblue; + font-weight: bold; + color: #602020; + width: 600px; +} + +/* Separator between methods group (usually empty, seems not supported by IE) */ +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold +} + +DIV.groupText { + margin-left: 16px; + font-style: italic; + font-size: smaller +} + +BODY { + background: #FFFFFF; +} + +/*div.div-page { + background-color: #FFFFFF; + margin-left: 1em; + margin-right: 1em; + margin-top: 1em; + margin-bottom: 0.1em; + + padding-left: 1em; + padding-right: 1em; + padding-top: 0.5em; + padding-bottom: 0.5em; + + border: 2px solid #0D299A; + border-width: 2px; + border-color: #0D299A; +}*/ + +div.tabs { + text-align: justify; + margin-left : 2px; + margin-right : 2px; + margin-top : 2px; + margin-bottom : 2px + font-weight: bold; + color: #FFFFFF; +} + +DIV.div-footer { + margin-left: 1em; + margin-right: 1em; + margin-bottom: 0.2em; + text-align: right; + font-size: 9pt; +} + +/* In File List, Coumpound List, etc, 1st column of the index */ TD.indexkey { background-color: #CCCCCC; font-weight: bold; @@ -28,6 +146,8 @@ TD.indexkey { margin-top : 2px; margin-bottom : 2px } + +/* In File List, Coumpound List, etc, 2nd column of the index */ TD.indexvalue { background-color: #CCCCCC; font-style: italic; @@ -40,6 +160,7 @@ TD.indexvalue { margin-top : 2px; margin-bottom : 2px } + span.keyword { color: #008000 } span.keywordtype { color: #604020 } span.keywordflow { color: #e08000 } diff --git a/doc/salome/tui/GEOM/sources/static/tree.js b/doc/salome/tui/GEOM/sources/static/tree.js index 316cfd0a2..6323d4936 100755 --- a/doc/salome/tui/GEOM/sources/static/tree.js +++ b/doc/salome/tui/GEOM/sources/static/tree.js @@ -1,4 +1,4 @@ -foldersTree = gFld("SALOME v.3.2.0a2 ", "", "") +foldersTree = gFld("SALOME v.3.2.0b1 ", "", "") insDoc(foldersTree, gLnk("Main Page", "", "main.html")) aux1 = insFld(foldersTree, gFld("TUI Reference Guide", "")) diff --git a/doc/salome/tui/Makefile.in b/doc/salome/tui/Makefile.in index 8a2c77608..358504a5e 100644 --- a/doc/salome/tui/Makefile.in +++ b/doc/salome/tui/Makefile.in @@ -26,21 +26,40 @@ docs: cp -fr $(srcdir)/GEOM ./INPUT cd INPUT; \ sed 's|../../../share/salome|$(root_srcdir)|' ./doxyfile > ./doxyfile1; \ - mv -f doxyfile1 doxyfile; \ - $(doxygen) ./doxyfile; \ - mkdir py1; mkdir py2; \ - cd .. - for file in $(PYTHON_SCRIPTS) dummy; do \ - if [ $$file != "dummy" ]; then \ - cp $(root_srcdir)/src/GEOM_SWIG/$$file INPUT/py1/; \ - fi ; \ - done - cd INPUT; \ - python $(KERNEL_ROOT_DIR)/doc/salome/tui/KERNEL/pythfilter.py ./py1 ./py2; \ - sed 's|list_py_files_to_process|$(PYTHON_SCRIPTS)|' ./doxyfile_py > py2/doxyfile_py; \ - cd py2; \ - $(doxygen) ./doxyfile_py; \ - cd ../..; \ + sed 's|../../build/salome|$(top_builddir)|' ./doxyfile1 > ./doxyfile2; \ + sed "s|version|`cut -d: -f2 $(root_srcdir)/bin/VERSION`|" ./doxyfile2 > ./doxyfile3; \ + mv -f doxyfile3 doxyfile1; \ + if (test "x@DOXYGEN_WITH_PYTHON@" = "xyes"); then \ + echo "DOXYGEN SUPPORT PYTHON - @DOXYGEN_WITH_PYTHON@"; \ + sed 's|python_extension_must_be_here|*.py|' ./doxyfile1 > ./doxyfile2; \ + mv -f doxyfile2 doxyfile1; \ + $(doxygen) -u ./doxyfile1; \ + if( test "x@DOXYGEN_WITH_STL@" = "xyes"); then \ + sed -e 's|BUILTIN_STL_SUPPORT = NO|BUILTIN_STL_SUPPORT = YES|' ./doxyfile1 > ./doxyfile2; \ + mv -f doxyfile2 doxyfile1; \ + fi; \ + mv -f doxyfile1 doxyfile; \ + $(doxygen) ./doxyfile; \ + cd ..; \ + else \ + sed 's|python_extension_must_be_here||' ./doxyfile1 > ./doxyfile2; \ + mv -f doxyfile2 doxyfile1; \ + mv -f doxyfile1 doxyfile; \ + $(doxygen) ./doxyfile; \ + mkdir py1; mkdir py2; \ + cd ..; \ + for file in $(PYTHON_SCRIPTS) dummy; do \ + if [ $$file != "dummy" ]; then \ + cp $(root_srcdir)/src/GEOM_SWIG/$$file INPUT/py1/; \ + fi ; \ + done; \ + cd INPUT; \ + python $(KERNEL_ROOT_DIR)/share/doc/salome/tui/KERNEL/pythfilter.py ./py1 ./py2; \ + sed 's|list_py_files_to_process|$(PYTHON_SCRIPTS)|' ./doxyfile_py > py2/doxyfile_py; \ + cd py2; \ + $(doxygen) ./doxyfile_py; \ + cd ../..; \ + fi; \ cp -fr $(srcdir)/GEOM/sources/static/*.* ./GEOM/ cp -fr $(srcdir)/GEOM/sources/ GEOM/ cp -fr $(srcdir)/GEOM/HTML/ GEOM/ diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index 28c2ad4ae..24023fa50 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -893,6 +893,35 @@ module GEOM GEOM_Object GetSubShape (in GEOM_Object theMainShape, in long theID); + /*! + * Get global index of \a theSubShape in \a theMainShape. + * \param theMainShape Main shape. + * \param theSubShape Sub-shape of the main shape. + * \return global index of \a theSubShape in \a theMainShape. + */ + long GetSubShapeIndex (in GEOM_Object theMainShape, in GEOM_Object theSubShape); + + /*! + * Get index of \a theSubShape in \a theMainShape, unique among sub-shapes of the same type. + * Together with method GetShapeTypeString() it can be used + * to generate automatic names for sub-shapes, when publishing them in a study. + * \param theMainShape Main shape. + * \param theSubShape Sub-shape of the main shape. + * \return index of \a theSubShape in a list of all sub-shapes of \a theMainShape of the same type. + */ + long GetTopologyIndex (in GEOM_Object theMainShape, in GEOM_Object theSubShape); + + /*! + * \brief Get name of type of \a theShape. + * + * Use wide type notation, taking into consideration both topology and geometry of the shape. + * Together with method GetTopologyIndex() it can be used + * to generate automatic names for sub-shapes, when publishing them in a study. + * \param theShape The shape to get a type of. + * \return String, containing a type name of \a theShape. + */ + string GetShapeTypeString (in GEOM_Object theShape); + /*! * Count number of faces in the given shape. * \param theShape Shape to count faces in. @@ -1378,7 +1407,7 @@ module GEOM * \param theDirFace2 Second direction face global index. * \param theNbTimes Quantity of transformations to be done. * \note Global index of sub-shape can be obtained, using method - * GEOM_ILocalOperations.GetSubShapeIndex(). + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock, @@ -1602,7 +1631,8 @@ module GEOM * \param theShape Shape, to perform fillet on. * \param theR Fillet radius. * \param theEdges Global indices of edges to perform fillet on. - * \note Global index of sub-shape can be obtained, using method GetSubShapeIndex(). + * \note Global index of sub-shape can be obtained, using method + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeFilletEdges (in GEOM_Object theShape, @@ -1614,7 +1644,8 @@ module GEOM * \param theShape Shape, to perform fillet on. * \param theR Fillet radius. * \param theFaces Global indices of faces to perform fillet on. - * \note Global index of sub-shape can be obtained, using method GetSubShapeIndex(). + * \note Global index of sub-shape can be obtained, using method + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeFilletFaces (in GEOM_Object theShape, @@ -1637,7 +1668,8 @@ module GEOM * \param theD1 Chamfer size along \a theFace1. * \param theD2 Chamfer size along \a theFace2. * \param theFace1,theFace2 Global indices of two faces of \a theShape. - * \note Global index of sub-shape can be obtained, using method GetSubShapeIndex(). + * \note Global index of sub-shape can be obtained, using method + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeChamferEdge (in GEOM_Object theShape, @@ -1653,7 +1685,8 @@ module GEOM * will be get along face, which is nearer to \a theFaces beginning. * \param theD2 Chamfer size along another of two faces, connected to the edge. * \param theFaces Sequence of global indices of faces of \a theShape. - * \note Global index of sub-shape can be obtained, using method GetSubShapeIndex(). + * \note Global index of sub-shape can be obtained, using method + * GEOM_IShapesOperations.GetSubShapeIndex(). * \return New GEOM_Object, containing the result shape. */ GEOM_Object MakeChamferFaces (in GEOM_Object theShape, @@ -1676,10 +1709,8 @@ module GEOM in double theMeshDeflection); /*! - * Get global index of \a theSubShape in \a theShape. - * \param theShape Main shape. - * \param theSubShape Sub-shape of the main shape. - * \return global index of \a theSubShape in \a theShape. + * Duplicates GEOM_IShapesOperations.GetSubShapeIndex(). + * Present here only for compatibility. */ long GetSubShapeIndex (in GEOM_Object theShape, in GEOM_Object theSubShape); }; @@ -1972,7 +2003,7 @@ module GEOM * Adds a sub object with ID theSubShapeId to the group * \param theGroup is a GEOM group to which the new sub shape is added * \param theSubShapeId is a sub shape ID in the main object. - * \note Use method ILocalOperations.GetSubShapeIndex() to get an ID by the sub shape + * \note Use method GEOM_IShapesOperations.GetSubShapeIndex() to get an ID by the sub shape */ void AddObject (in GEOM_Object theGroup, in long theSubShapeId); @@ -1980,7 +2011,7 @@ module GEOM * Removes a sub object with ID \a theSubShapeId from the group * \param theGroup is a GEOM group from which the sub shape is removed. * \param theSubShapeId is a sub shape ID in the main object. - * \note Use method ILocalOperations.GetSubShapeIndex() to get an ID by the sub shape + * \note Use method GEOM_IShapesOperations.GetSubShapeIndex() to get an ID by the sub shape */ void RemoveObject (in GEOM_Object theGroup, in long theSubShapeId); diff --git a/idl/Makefile.in b/idl/Makefile.in index 72f11d7c6..4fe38075e 100644 --- a/idl/Makefile.in +++ b/idl/Makefile.in @@ -1,3 +1,22 @@ +# 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/ +# # # generate dependencies for idl file : # diff --git a/resources/GEOMCatalog.xml b/resources/GEOMCatalog.xml index 2099b24d0..4cd8ce2cd 100644 --- a/resources/GEOMCatalog.xml +++ b/resources/GEOMCatalog.xml @@ -16,7 +16,7 @@ Geometry Geom NRI - 3.2.0a2 + 3.2.0b1 Geometry component 1 ModuleGeom.png @@ -527,7 +527,7 @@ GEOM_Superv OTHER mkr - 3.2.0a2 + 3.2.0b1 Supervision wrapper for Geometry component 1 1 diff --git a/resources/ImportExport b/resources/ImportExport index 574e0e2e3..d6837858e 100644 --- a/resources/ImportExport +++ b/resources/ImportExport @@ -1,5 +1,5 @@ Import: BREP|IGES|STEP -Export: BREP|IGES|STEP +Export: BREP|IGES|IGES_5_3|STEP BREP.Import: libBREPImport.so BREP.Export: libBREPExport.so @@ -8,6 +8,10 @@ BREP.Pattern: BREP Files ( *.brep ) IGES.Import: libIGESImport.so IGES.Export: libIGESExport.so IGES.Pattern: IGES Files ( *.iges *.igs ) +IGES.ExportPattern: IGES 5.1 Files ( *.iges *.igs ) + +IGES_5_3.Export: libIGESExport.so +IGES_5_3.Pattern: IGES 5.3 Files ( *.iges *.igs ) STEP.Import: libSTEPImport.so STEP.Export: libSTEPExport.so diff --git a/resources/SalomeApp.xml b/resources/SalomeApp.xml new file mode 100644 index 000000000..6fa3c613d --- /dev/null +++ b/resources/SalomeApp.xml @@ -0,0 +1,17 @@ + +
+ + + +
+
+ + +
+
+ + + + +
+
diff --git a/src/BREPExport/BREPExport.cxx b/src/BREPExport/BREPExport.cxx index 2580cfac0..2f5dd70a2 100644 --- a/src/BREPExport/BREPExport.cxx +++ b/src/BREPExport/BREPExport.cxx @@ -44,7 +44,9 @@ extern "C" { SALOME_WNT_EXPORT - int Export(const TopoDS_Shape& theShape, const TCollection_AsciiString& theFileName) + int Export(const TopoDS_Shape& theShape, + const TCollection_AsciiString& theFileName, + const TCollection_AsciiString& /*theFormatName*/) { MESSAGE("Export BREP into file " << theFileName.ToCString()); diff --git a/src/BREPImport/BREPImport.cxx b/src/BREPImport/BREPImport.cxx index 5412fb3e8..9153d14a3 100644 --- a/src/BREPImport/BREPImport.cxx +++ b/src/BREPImport/BREPImport.cxx @@ -46,6 +46,7 @@ extern "C" { SALOME_WNT_EXPORT TopoDS_Shape Import (const TCollection_AsciiString& theFileName, + const TCollection_AsciiString& /*theFormatName*/, TCollection_AsciiString& theError) { MESSAGE("Import BREP from file " << theFileName); diff --git a/src/BasicGUI/BasicGUI_ArcDlg.cxx b/src/BasicGUI/BasicGUI_ArcDlg.cxx index 07de548cd..cdd13cfd6 100644 --- a/src/BasicGUI/BasicGUI_ArcDlg.cxx +++ b/src/BasicGUI/BasicGUI_ArcDlg.cxx @@ -55,9 +55,8 @@ using namespace std; //================================================================================= BasicGUI_ArcDlg::BasicGUI_ArcDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - : GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | - WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), - myGeometryGUI(theGeometryGUI) + : GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_ARC"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -86,6 +85,8 @@ BasicGUI_ArcDlg::BasicGUI_ArcDlg(GeometryGUI* theGeometryGUI, QWidget* parent, Layout1->addWidget( Group3Pnts, 2, 0 ); + setHelpFileName("arc.htm"); + Init(); } @@ -106,7 +107,7 @@ BasicGUI_ArcDlg::~BasicGUI_ArcDlg() void BasicGUI_ArcDlg::Init() { /* init variables */ - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); globalSelection( GEOM_POINT ); myEditCurrentArgument = Group3Pnts->LineEdit1; @@ -116,8 +117,8 @@ void BasicGUI_ArcDlg::Init() /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -253,7 +254,7 @@ void BasicGUI_ArcDlg::ActivateThisDialog() connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); globalSelection( GEOM_POINT ); myEditCurrentArgument = Group3Pnts->LineEdit1; @@ -271,7 +272,7 @@ void BasicGUI_ArcDlg::ActivateThisDialog() //================================================================================= void BasicGUI_ArcDlg::DeactivateActiveDialog() { - // myGeometryGUI->SetState( -1 ); + // myGeomGUI->SetState( -1 ); GEOMBase_Skeleton::DeactivateActiveDialog(); } @@ -291,7 +292,7 @@ void BasicGUI_ArcDlg::enterEvent(QEvent* e) //================================================================================= GEOM::GEOM_IOperations_ptr BasicGUI_ArcDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetICurvesOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetICurvesOperations( getStudyId() ); } //================================================================================= @@ -332,6 +333,5 @@ bool BasicGUI_ArcDlg::execute( ObjectList& objects ) //================================================================================= void BasicGUI_ArcDlg::closeEvent( QCloseEvent* e ) { - // myGeometryGUI->SetState( -1 ); GEOMBase_Skeleton::closeEvent( e ); } diff --git a/src/BasicGUI/BasicGUI_ArcDlg.h b/src/BasicGUI/BasicGUI_ArcDlg.h index 42b1a454b..ba26bd443 100644 --- a/src/BasicGUI/BasicGUI_ArcDlg.h +++ b/src/BasicGUI/BasicGUI_ArcDlg.h @@ -24,7 +24,6 @@ // File : BasicGUI_ArcDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_ARC_H #define DIALOGBOX_ARC_H @@ -45,7 +44,8 @@ class BasicGUI_ArcDlg : public GEOMBase_Skeleton Q_OBJECT public: - BasicGUI_ArcDlg( GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + BasicGUI_ArcDlg( GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); ~BasicGUI_ArcDlg(); protected: @@ -60,8 +60,6 @@ private : void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint1, myPoint2, myPoint3; DlgRef_3Sel_QTD* Group3Pnts; diff --git a/src/BasicGUI/BasicGUI_CircleDlg.cxx b/src/BasicGUI/BasicGUI_CircleDlg.cxx index 8476ef36e..7882638ac 100644 --- a/src/BasicGUI/BasicGUI_CircleDlg.cxx +++ b/src/BasicGUI/BasicGUI_CircleDlg.cxx @@ -46,9 +46,10 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BasicGUI_CircleDlg::BasicGUI_CircleDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), - myGeometryGUI(theGeometryGUI) +BasicGUI_CircleDlg::BasicGUI_CircleDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_CIRCLE_PV"))); QPixmap image2(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_CIRCLE_PNTS"))); @@ -91,6 +92,8 @@ BasicGUI_CircleDlg::BasicGUI_CircleDlg(GeometryGUI* theGeometryGUI, QWidget* par Layout1->addWidget( Group3Pnts, 2, 0 ); /***************************************************************/ + setHelpFileName("circle.htm"); + Init(); } @@ -115,7 +118,7 @@ void BasicGUI_CircleDlg::Init() myPoint = myDir = myPoint1 = myPoint2 = myPoint3 = GEOM::GEOM_Object::_nil(); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); /* Get setting of step value from file configuration */ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr(); @@ -127,8 +130,8 @@ void BasicGUI_CircleDlg::Init() /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -144,7 +147,7 @@ void BasicGUI_CircleDlg::Init() connect(GroupPntVecR->LineEdit2, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed())); connect(GroupPntVecR->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPntVecR->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPntVecR->SpinBox_DX, SLOT(SetStep(double))); connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; @@ -318,7 +321,7 @@ void BasicGUI_CircleDlg::ActivateThisDialog() connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); ConstructorsClicked( getConstructorId() ); } @@ -340,7 +343,7 @@ void BasicGUI_CircleDlg::enterEvent(QEvent* e) //================================================================================= void BasicGUI_CircleDlg::DeactivateActiveDialog() { - // myGeometryGUI->SetState( -1 ); + // myGeomGUI->SetState( -1 ); GEOMBase_Skeleton::DeactivateActiveDialog(); } @@ -368,7 +371,7 @@ double BasicGUI_CircleDlg::getRadius() const //================================================================================= GEOM::GEOM_IOperations_ptr BasicGUI_CircleDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetICurvesOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetICurvesOperations( getStudyId() ); } //================================================================================= @@ -429,7 +432,6 @@ bool BasicGUI_CircleDlg::execute( ObjectList& objects ) //================================================================================= void BasicGUI_CircleDlg::closeEvent( QCloseEvent* e ) { - // myGeometryGUI->SetState( -1 ); GEOMBase_Skeleton::closeEvent( e ); } diff --git a/src/BasicGUI/BasicGUI_CircleDlg.h b/src/BasicGUI/BasicGUI_CircleDlg.h index 3a61f7edf..d3828b339 100644 --- a/src/BasicGUI/BasicGUI_CircleDlg.h +++ b/src/BasicGUI/BasicGUI_CircleDlg.h @@ -24,7 +24,6 @@ // File : BasicGUI_CircleDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_CIRCLE_H #define DIALOGBOX_CIRCLE_H @@ -35,9 +34,8 @@ #include "BasicGUI.h" -//#include "GEOM_EdgeFilter.hxx" -//#include "GEOM_ShapeTypeFilter.hxx" #include + #if defined WNT && defined WIN32 && defined SALOME_WNT_EXPORTS #define BASICGUI_WNT_EXPORT __declspec( dllexport ) #else @@ -49,11 +47,12 @@ // purpose : //================================================================================= class BasicGUI_CircleDlg : public GEOMBase_Skeleton -{ +{ Q_OBJECT public: - BasicGUI_CircleDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BasicGUI_CircleDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BasicGUI_CircleDlg(); protected: @@ -64,13 +63,11 @@ protected: virtual void closeEvent( QCloseEvent* e ); -private : +private: void Init(); void enterEvent(QEvent* e); double getRadius() const; - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint, myDir, myPoint1, myPoint2, myPoint3; DlgRef_2Sel1Spin* GroupPntVecR; @@ -90,7 +87,6 @@ private slots: void LineEditReturnPressed(); void SetEditCurrentArgument(); void ValueChangedInSpinBox(); - }; #endif // DIALOGBOX_CIRCLE_H diff --git a/src/BasicGUI/BasicGUI_CurveDlg.cxx b/src/BasicGUI/BasicGUI_CurveDlg.cxx index a558a22f0..e52dcb843 100644 --- a/src/BasicGUI/BasicGUI_CurveDlg.cxx +++ b/src/BasicGUI/BasicGUI_CurveDlg.cxx @@ -51,18 +51,19 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BasicGUI_CurveDlg::BasicGUI_CurveDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), - myGeometryGUI(theGeometryGUI) +BasicGUI_CurveDlg::BasicGUI_CurveDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_POLYLINE"))); QPixmap image2(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SPLINE"))); QPixmap image3(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_BEZIER"))); - + QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); setCaption(tr("GEOM_CURVE_TITLE")); - + /***************************************************************/ RadioButton1->setPixmap( image0 ); RadioButton2->setPixmap( image3 ); @@ -72,12 +73,14 @@ BasicGUI_CurveDlg::BasicGUI_CurveDlg(GeometryGUI* theGeometryGUI, QWidget* paren GroupPoints->GroupBox1->setTitle( tr( "GEOM_NODES" ) ); GroupPoints->TextLabel1->setText( tr("GEOM_POINTS") ); GroupPoints->PushButton1->setPixmap(image1); - + GroupPoints->LineEdit1->setReadOnly( true ); Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("curve.htm"); + Init(); } @@ -107,8 +110,8 @@ void BasicGUI_CurveDlg::Init() /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -309,7 +312,7 @@ void BasicGUI_CurveDlg::ActivateThisDialog() connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); globalSelection( GEOM_POINT ); ConstructorsClicked( getConstructorId() ); @@ -321,7 +324,7 @@ void BasicGUI_CurveDlg::ActivateThisDialog() //================================================================================= void BasicGUI_CurveDlg::DeactivateActiveDialog() { - // myGeometryGUI->SetState( -1 ); + // myGeomGUI->SetState( -1 ); GEOMBase_Skeleton::DeactivateActiveDialog(); } @@ -341,7 +344,7 @@ void BasicGUI_CurveDlg::enterEvent(QEvent* e) //================================================================================= GEOM::GEOM_IOperations_ptr BasicGUI_CurveDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetICurvesOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetICurvesOperations( getStudyId() ); } //================================================================================= @@ -391,7 +394,6 @@ bool BasicGUI_CurveDlg::execute( ObjectList& objects ) //================================================================================= void BasicGUI_CurveDlg::closeEvent( QCloseEvent* e ) { - // myGeometryGUI->SetState( -1 ); GEOMBase_Skeleton::closeEvent( e ); } diff --git a/src/BasicGUI/BasicGUI_CurveDlg.h b/src/BasicGUI/BasicGUI_CurveDlg.h index c8a501251..ec15cfd54 100644 --- a/src/BasicGUI/BasicGUI_CurveDlg.h +++ b/src/BasicGUI/BasicGUI_CurveDlg.h @@ -23,7 +23,6 @@ // File : BasicGUI_CurveDlg.h // Author : Alexander SLADKOV // Module : GEOM -// $Header$ #ifndef BASICGUI_CURVE_H #define BASICGUI_CURVE_H @@ -32,13 +31,14 @@ #include "DlgRef_1Sel_QTD.h" #include "BasicGUI.h" + #include + #if defined WNT && defined WIN32 && defined SALOME_WNT_EXPORTS #define BASICGUI_WNT_EXPORT __declspec( dllexport ) #else #define BASICGUI_WNT_EXPORT #endif -//#include "GEOM_ShapeTypeFilter.hxx" //================================================================================= // class : BasicGUI_CurveDlg @@ -49,7 +49,8 @@ class BasicGUI_CurveDlg : public GEOMBase_Skeleton Q_OBJECT public: - BasicGUI_CurveDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BasicGUI_CurveDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BasicGUI_CurveDlg(); protected: @@ -64,8 +65,6 @@ private : void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - DlgRef_1Sel_QTD* GroupPoints; GEOM::ListOfGO_var myPoints; list myOrderedSel;//!< This list used for managing orderes selection diff --git a/src/BasicGUI/BasicGUI_EllipseDlg.cxx b/src/BasicGUI/BasicGUI_EllipseDlg.cxx index 273d3267a..0caecc46d 100644 --- a/src/BasicGUI/BasicGUI_EllipseDlg.cxx +++ b/src/BasicGUI/BasicGUI_EllipseDlg.cxx @@ -47,14 +47,16 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BasicGUI_EllipseDlg::BasicGUI_EllipseDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +BasicGUI_EllipseDlg::BasicGUI_EllipseDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_ELLIPSE_PV"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); setCaption(tr("GEOM_ELLIPSE_TITLE")); - + /***************************************************************/ GroupConstructors->setTitle(tr("GEOM_ELLIPSE")); RadioButton1->setPixmap(image0); @@ -76,6 +78,8 @@ BasicGUI_EllipseDlg::BasicGUI_EllipseDlg(GeometryGUI* theGeometryGUI, QWidget* p Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("ellipse.htm"); + Init(); } @@ -101,7 +105,7 @@ void BasicGUI_EllipseDlg::Init() myPoint = myDir = GEOM::GEOM_Object::_nil(); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); /* Get setting of step value from file configuration */ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr(); @@ -117,8 +121,8 @@ void BasicGUI_EllipseDlg::Init() /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -132,8 +136,8 @@ void BasicGUI_EllipseDlg::Init() connect(GroupPoints->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); connect(GroupPoints->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; @@ -272,7 +276,7 @@ void BasicGUI_EllipseDlg::ActivateThisDialog() //================================================================================= void BasicGUI_EllipseDlg::DeactivateActiveDialog() { - // myGeometryGUI->SetState( -1 ); + // myGeomGUI->SetState( -1 ); GEOMBase_Skeleton::DeactivateActiveDialog(); } @@ -301,7 +305,7 @@ void BasicGUI_EllipseDlg::ValueChangedInSpinBox(double newValue) //================================================================================= GEOM::GEOM_IOperations_ptr BasicGUI_EllipseDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetICurvesOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetICurvesOperations( getStudyId() ); } //================================================================================= @@ -342,7 +346,6 @@ bool BasicGUI_EllipseDlg::execute( ObjectList& objects ) //================================================================================= void BasicGUI_EllipseDlg::closeEvent( QCloseEvent* e ) { - // myGeometryGUI->SetState( -1 ); GEOMBase_Skeleton::closeEvent( e ); } diff --git a/src/BasicGUI/BasicGUI_EllipseDlg.h b/src/BasicGUI/BasicGUI_EllipseDlg.h index 86f2cb33e..888c3f4f2 100644 --- a/src/BasicGUI/BasicGUI_EllipseDlg.h +++ b/src/BasicGUI/BasicGUI_EllipseDlg.h @@ -23,7 +23,6 @@ // File : BasicGUI_EllipseDlg.h // Author : Nicolas REJNERI // Module : GEOM -// $Header$ #ifndef BASICGUI_ELLIPSE_H #define BASICGUI_ELLIPSE_H @@ -33,14 +32,14 @@ #include "BasicGUI.h" -//#include "GEOM_ShapeTypeFilter.hxx" -//#include "GEOM_EdgeFilter.hxx" #include + #if defined WNT && defined WIN32 && defined SALOME_WNT_EXPORTS #define BASICGUI_WNT_EXPORT __declspec( dllexport ) #else #define BASICGUI_WNT_EXPORT #endif + //================================================================================= // class : BasicGUI_EllipseDlg // purpose : @@ -50,7 +49,8 @@ class BasicGUI_EllipseDlg : public GEOMBase_Skeleton Q_OBJECT public: - BasicGUI_EllipseDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BasicGUI_EllipseDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BasicGUI_EllipseDlg(); protected: @@ -65,8 +65,6 @@ private : void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint, myDir; DlgRef_2Sel2Spin* GroupPoints; diff --git a/src/BasicGUI/BasicGUI_LineDlg.cxx b/src/BasicGUI/BasicGUI_LineDlg.cxx index 014f7e18c..e8d37aedd 100644 --- a/src/BasicGUI/BasicGUI_LineDlg.cxx +++ b/src/BasicGUI/BasicGUI_LineDlg.cxx @@ -48,8 +48,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BasicGUI_LineDlg::BasicGUI_LineDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +BasicGUI_LineDlg::BasicGUI_LineDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM",tr("ICON_DLG_LINE_2P"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM",tr("ICON_SELECT"))); @@ -75,6 +77,8 @@ BasicGUI_LineDlg::BasicGUI_LineDlg(GeometryGUI* theGeometryGUI, QWidget* parent, Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("line.htm"); + Init(); } @@ -99,13 +103,13 @@ void BasicGUI_LineDlg::Init() myPoint1 = myPoint2 = GEOM::GEOM_Object::_nil(); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); globalSelection( GEOM_POINT ); /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -223,7 +227,7 @@ void BasicGUI_LineDlg::ActivateThisDialog() connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); globalSelection( GEOM_POINT ); myEditCurrentArgument = GroupPoints->LineEdit1; @@ -240,7 +244,7 @@ void BasicGUI_LineDlg::ActivateThisDialog() //================================================================================= void BasicGUI_LineDlg::DeactivateActiveDialog() { - // myGeometryGUI->SetState( -1 ); + // myGeomGUI->SetState( -1 ); GEOMBase_Skeleton::DeactivateActiveDialog(); } @@ -260,7 +264,7 @@ void BasicGUI_LineDlg::enterEvent(QEvent* e) //================================================================================= GEOM::GEOM_IOperations_ptr BasicGUI_LineDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); } //================================================================================= @@ -290,7 +294,6 @@ bool BasicGUI_LineDlg::execute( ObjectList& objects ) //================================================================================= void BasicGUI_LineDlg::closeEvent( QCloseEvent* e ) { - // myGeometryGUI->SetState( -1 ); GEOMBase_Skeleton::closeEvent( e ); } diff --git a/src/BasicGUI/BasicGUI_LineDlg.h b/src/BasicGUI/BasicGUI_LineDlg.h index 7afed3c4e..d05c1a5b2 100644 --- a/src/BasicGUI/BasicGUI_LineDlg.h +++ b/src/BasicGUI/BasicGUI_LineDlg.h @@ -24,7 +24,6 @@ // File : BasicGUI_LineDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_LINE_H #define DIALOGBOX_LINE_H @@ -47,7 +46,8 @@ class BasicGUI_LineDlg : public GEOMBase_Skeleton Q_OBJECT public: - BasicGUI_LineDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BasicGUI_LineDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BasicGUI_LineDlg(); protected: @@ -62,8 +62,6 @@ private : void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint1; GEOM::GEOM_Object_var myPoint2; diff --git a/src/BasicGUI/BasicGUI_MarkerDlg.cxx b/src/BasicGUI/BasicGUI_MarkerDlg.cxx index faf073950..6d0f74371 100644 --- a/src/BasicGUI/BasicGUI_MarkerDlg.cxx +++ b/src/BasicGUI/BasicGUI_MarkerDlg.cxx @@ -58,8 +58,8 @@ // purpose : Constructor //================================================================================= BasicGUI_MarkerDlg::BasicGUI_MarkerDlg( GeometryGUI* theGeometryGUI, QWidget* theParent ) -: GEOMBase_Skeleton( theParent, "BasicGUI_MarkerDlg", false, - WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) + : GEOMBase_Skeleton(theGeometryGUI, theParent, "BasicGUI_MarkerDlg", false, + WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap iconCS1 ( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_MARKER" ) ) ); QPixmap iconCS2 ( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_MARKER2" ) ) ); @@ -119,6 +119,8 @@ BasicGUI_MarkerDlg::BasicGUI_MarkerDlg( GeometryGUI* theGeometryGUI, QWidget* th Layout1->addWidget( Group1, 2, 0 ); Layout1->addWidget( Group2, 2, 0 ); + setHelpFileName("local_coordinate_system.htm"); + Init(); } @@ -158,8 +160,8 @@ void BasicGUI_MarkerDlg::Init() connect(Group2->LineEdit3, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed())); connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( onClose() ) ); - connect( myGeometryGUI, SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( onDeactivate() ) ); - connect( myGeometryGUI, SIGNAL( SignalCloseAllDialogs() ), this, SLOT( onClose() ) ); + connect( myGeomGUI, SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT( onDeactivate() ) ); + connect( myGeomGUI, SIGNAL( SignalCloseAllDialogs() ), this, SLOT( onClose() ) ); connect( buttonOk, SIGNAL( clicked() ), this, SLOT( onOk() ) ); connect( buttonApply, SIGNAL( clicked() ), this, SLOT( onApply() ) ); @@ -320,7 +322,7 @@ void BasicGUI_MarkerDlg::onSelectionDone0() if ( aRes && !aSelectedObj->_is_nil() ) { TopoDS_Shape aShape; - if ( myGeomBase->GetShape( aSelectedObj, aShape, TopAbs_SHAPE ) && !aShape.IsNull() ) + if ( GEOMBase::GetShape( aSelectedObj, aShape, TopAbs_SHAPE ) && !aShape.IsNull() ) { if ( aSelectedObj->GetType() == GEOM_MARKER && aShape.ShapeType() == TopAbs_FACE ) { @@ -402,7 +404,7 @@ void BasicGUI_MarkerDlg::onSelectionDone() if ( !CORBA::is_nil( aSelectedObj ) && aRes ) { aName = GEOMBase::GetName( aSelectedObj ); TopoDS_Shape aShape; - if ( myGeomBase->GetShape( aSelectedObj, aShape, TopAbs_SHAPE ) ) { + if ( GEOMBase::GetShape( aSelectedObj, aShape, TopAbs_SHAPE ) ) { GEOM::short_array anIndexes; TColStd_IndexedMapOfInteger aMap; @@ -643,7 +645,7 @@ void BasicGUI_MarkerDlg::enterEvent(QEvent* e) //================================================================================= GEOM::GEOM_IOperations_ptr BasicGUI_MarkerDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); } //================================================================================= diff --git a/src/BasicGUI/BasicGUI_MarkerDlg.h b/src/BasicGUI/BasicGUI_MarkerDlg.h index 7b3cf3bde..ca2b93303 100644 --- a/src/BasicGUI/BasicGUI_MarkerDlg.h +++ b/src/BasicGUI/BasicGUI_MarkerDlg.h @@ -24,7 +24,6 @@ // File : BasicGUI_MarkerDlg.h // Author : Sergey LITONIN // Module : GEOM -// $Header$ #ifndef DIALOGBOX_Marker_H #define DIALOGBOX_Marker_H @@ -66,12 +65,10 @@ protected: const bool toRemoveFromEngine = true, const double lineWidth = -1 ); -private : +private: void enterEvent( QEvent* e ); void onSelectionDone0(); - GeometryGUI* myGeometryGUI; - private slots: void onOk(); void onClose(); diff --git a/src/BasicGUI/BasicGUI_PlaneDlg.cxx b/src/BasicGUI/BasicGUI_PlaneDlg.cxx index 544f2611d..75c9b5f84 100644 --- a/src/BasicGUI/BasicGUI_PlaneDlg.cxx +++ b/src/BasicGUI/BasicGUI_PlaneDlg.cxx @@ -46,8 +46,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BasicGUI_PlaneDlg::BasicGUI_PlaneDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +BasicGUI_PlaneDlg::BasicGUI_PlaneDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_PLANE_PV"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_PLANE_3PNTS"))); @@ -99,6 +101,8 @@ BasicGUI_PlaneDlg::BasicGUI_PlaneDlg(GeometryGUI* theGeometryGUI, QWidget* paren Layout1->addWidget(GroupFace, 2, 0); /***************************************************************/ + setHelpFileName("plane.htm"); + Init(); } @@ -123,7 +127,7 @@ void BasicGUI_PlaneDlg::Init() myPoint = myDir = myPoint1 = myPoint2 = myPoint3 = myFace = GEOM::GEOM_Object::_nil(); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); /* Get setting of step value from file configuration */ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr(); @@ -141,8 +145,8 @@ void BasicGUI_PlaneDlg::Init() /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -166,9 +170,9 @@ void BasicGUI_PlaneDlg::Init() connect(Group3Pnts->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); connect(GroupFace->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPntDir->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group3Pnts->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupFace->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPntDir->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), Group3Pnts->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupFace->SpinBox_DX, SLOT(SetStep(double))); connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); @@ -373,7 +377,7 @@ void BasicGUI_PlaneDlg::ActivateThisDialog() connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); ConstructorsClicked( getConstructorId() ); } @@ -384,7 +388,7 @@ void BasicGUI_PlaneDlg::ActivateThisDialog() //================================================================================= void BasicGUI_PlaneDlg::DeactivateActiveDialog() { - // myGeometryGUI->SetState( -1 ); + // myGeomGUI->SetState( -1 ); GEOMBase_Skeleton::DeactivateActiveDialog(); } @@ -429,7 +433,7 @@ double BasicGUI_PlaneDlg::getSize() const //================================================================================= GEOM::GEOM_IOperations_ptr BasicGUI_PlaneDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); } //================================================================================= @@ -501,7 +505,6 @@ bool BasicGUI_PlaneDlg::execute( ObjectList& objects ) //================================================================================= void BasicGUI_PlaneDlg::closeEvent( QCloseEvent* e ) { - // myGeometryGUI->SetState( -1 ); GEOMBase_Skeleton::closeEvent( e ); } diff --git a/src/BasicGUI/BasicGUI_PlaneDlg.h b/src/BasicGUI/BasicGUI_PlaneDlg.h index cf3c65c4b..96f7a0c94 100644 --- a/src/BasicGUI/BasicGUI_PlaneDlg.h +++ b/src/BasicGUI/BasicGUI_PlaneDlg.h @@ -24,7 +24,6 @@ // File : BasicGUI_PlaneDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_PLANE_H #define DIALOGBOX_PLANE_H @@ -49,9 +48,10 @@ class BasicGUI_PlaneDlg : public GEOMBase_Skeleton Q_OBJECT public: - BasicGUI_PlaneDlg( GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BasicGUI_PlaneDlg( GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BasicGUI_PlaneDlg(); - + protected: // redefined from GEOMBase_Helper virtual GEOM::GEOM_IOperations_ptr createOperation(); @@ -65,8 +65,6 @@ private : void enterEvent(QEvent* e); double getSize() const; - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint, myDir, myPoint1, myPoint2, myPoint3, myFace; DlgRef_2Sel1Spin* GroupPntDir; diff --git a/src/BasicGUI/BasicGUI_PointDlg.cxx b/src/BasicGUI/BasicGUI_PointDlg.cxx index e21f745ec..df16f8730 100644 --- a/src/BasicGUI/BasicGUI_PointDlg.cxx +++ b/src/BasicGUI/BasicGUI_PointDlg.cxx @@ -57,8 +57,9 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BasicGUI_PointDlg::BasicGUI_PointDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, fl ), myGeometryGUI(theGeometryGUI) +BasicGUI_PointDlg::BasicGUI_PointDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, fl ) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_POINT"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_POINT_EDGE"))); @@ -121,15 +122,17 @@ BasicGUI_PointDlg::BasicGUI_PointDlg(GeometryGUI* theGeometryGUI, QWidget* paren myX->setPalette( aPal ); myY->setPalette( aPal ); myZ->setPalette( aPal ); + + setHelpFileName("point.htm"); Init(); } -//======================================================================= +//================================================================================= // function : ~BasicGUI_PointDlg() // purpose : Destructor -//======================================================================= +//================================================================================= BasicGUI_PointDlg::~BasicGUI_PointDlg() { } @@ -149,8 +152,6 @@ void BasicGUI_PointDlg::Init() myEditCurrentArgument = 0; - // myGeometryGUI->SetState( 0 ); - /* Get setting of step value from file configuration */ SUIT_ResourceMgr* resMgr = SUIT_Session::session()->resourceMgr(); double step = resMgr->doubleValue( "Geometry", "SettingsGeomStep", 100); @@ -176,8 +177,8 @@ void BasicGUI_PointDlg::Init() /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -194,13 +195,13 @@ void BasicGUI_PointDlg::Init() connect(GroupRefPoint->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); connect(GroupRefPoint->SpinBox_DZ, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupOnCurve->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupXYZ->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupXYZ->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupXYZ->SpinBox_DZ, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupRefPoint->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupRefPoint->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupRefPoint->SpinBox_DZ, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupOnCurve->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupXYZ->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupXYZ->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupXYZ->SpinBox_DZ, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupRefPoint->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupRefPoint->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupRefPoint->SpinBox_DZ, SLOT(SetStep(double))); connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); @@ -303,10 +304,10 @@ bool BasicGUI_PointDlg::ClickOnApply() } -//======================================================================= +//================================================================================= // function : ClickOnCancel() // purpose : -//======================================================================= +//================================================================================= void BasicGUI_PointDlg::ClickOnCancel() { GEOMBase_Skeleton::ClickOnCancel(); @@ -322,66 +323,68 @@ void BasicGUI_PointDlg::SelectionIntoArgument() const int id = getConstructorId(); if ( ( id == 1 || id == 2 ) && myEditCurrentArgument != 0 ) - { - myEditCurrentArgument->setText(""); - myX->setText( "" ); - myY->setText( "" ); - myZ->setText( "" ); - myRefPoint = myEdge = GEOM::GEOM_Object::_nil(); - } - + { + myEditCurrentArgument->setText(""); + myX->setText( "" ); + myY->setText( "" ); + myZ->setText( "" ); + myRefPoint = myEdge = GEOM::GEOM_Object::_nil(); + } + if ( IObjectCount() == 1 ) + { + Standard_Boolean aRes = Standard_False; + Handle(SALOME_InteractiveObject) anIO = firstIObject(); + GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject( anIO, aRes ); + if ( !CORBA::is_nil( aSelectedObject ) && aRes ) { - Standard_Boolean aRes = Standard_False; - Handle(SALOME_InteractiveObject) anIO = firstIObject(); - GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject( anIO, aRes ); - if ( !CORBA::is_nil( aSelectedObject ) && aRes ) - { - if ( id == 0 ) - { - // get CORBA reference to data object - TopoDS_Shape aShape = myGeometryGUI->GetShapeReader().GetShape( myGeometryGUI->GetGeomGen(), aSelectedObject ); - if ( aShape.IsNull() ) - return; - - if ( aShape.ShapeType() != TopAbs_VERTEX ) - { - TColStd_IndexedMapOfInteger aMap; - - ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr()->GetIndexes( anIO, aMap ); - - if ( aMap.Extent() == 1 ) - { - int anIndex = aMap( 1 ); - TopTools_IndexedMapOfShape aShapes; - TopExp::MapShapes( aShape, aShapes ); - aShape = aShapes.FindKey( anIndex ); - - if ( aShape.IsNull() || aShape.ShapeType() != TopAbs_VERTEX ) - return; - } - else - return; - } - - gp_Pnt aPnt = BRep_Tool::Pnt( TopoDS::Vertex( aShape ) ); - GroupXYZ->SpinBox_DX->SetValue( aPnt.X() ); - GroupXYZ->SpinBox_DY->SetValue( aPnt.Y() ); - GroupXYZ->SpinBox_DZ->SetValue( aPnt.Z() ); - } - else if ( id == 1 ) - { - myRefPoint = aSelectedObject; - GroupRefPoint->LineEdit1->setText( GEOMBase::GetName( aSelectedObject ) ); - } - else if ( id == 2 ) - { - myEdge = aSelectedObject; - GroupOnCurve->LineEdit1->setText( GEOMBase::GetName( aSelectedObject ) ); - } - } + if ( id == 0 ) + { + // get CORBA reference to data object + TopoDS_Shape aShape = myGeomGUI->GetShapeReader().GetShape + ( myGeomGUI->GetGeomGen(), aSelectedObject ); + if ( aShape.IsNull() ) + return; + + if ( aShape.ShapeType() != TopAbs_VERTEX ) + { + TColStd_IndexedMapOfInteger aMap; + LightApp_Application* anApp = + (LightApp_Application*)(SUIT_Session::session()->activeApplication()); + anApp->selectionMgr()->GetIndexes( anIO, aMap ); + + if ( aMap.Extent() == 1 ) + { + int anIndex = aMap( 1 ); + TopTools_IndexedMapOfShape aShapes; + TopExp::MapShapes( aShape, aShapes ); + aShape = aShapes.FindKey( anIndex ); + + if ( aShape.IsNull() || aShape.ShapeType() != TopAbs_VERTEX ) + return; + } + else + return; + } + + gp_Pnt aPnt = BRep_Tool::Pnt( TopoDS::Vertex( aShape ) ); + GroupXYZ->SpinBox_DX->SetValue( aPnt.X() ); + GroupXYZ->SpinBox_DY->SetValue( aPnt.Y() ); + GroupXYZ->SpinBox_DZ->SetValue( aPnt.Z() ); + } + else if ( id == 1 ) + { + myRefPoint = aSelectedObject; + GroupRefPoint->LineEdit1->setText( GEOMBase::GetName( aSelectedObject ) ); + } + else if ( id == 2 ) + { + myEdge = aSelectedObject; + GroupOnCurve->LineEdit1->setText( GEOMBase::GetName( aSelectedObject ) ); + } } - + } + displayPreview(); } @@ -444,7 +447,7 @@ void BasicGUI_PointDlg::enterEvent(QEvent* e) void BasicGUI_PointDlg::ActivateThisDialog( ) { GEOMBase_Skeleton::ActivateThisDialog(); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); ConstructorsClicked( getConstructorId() ); } @@ -455,7 +458,7 @@ void BasicGUI_PointDlg::ActivateThisDialog( ) //================================================================================= void BasicGUI_PointDlg::DeactivateActiveDialog() { - // myGeometryGUI->SetState( -1 ); + // myGeomGUI->SetState( -1 ); GEOMBase_Skeleton::DeactivateActiveDialog(); } @@ -469,10 +472,10 @@ void BasicGUI_PointDlg::ValueChangedInSpinBox(double newValue) displayPreview(); } -//======================================================================= +//================================================================================= // funcion : getParameter() // purpose : -//======================================================================= +//================================================================================= double BasicGUI_PointDlg::getParameter() const { return GroupOnCurve->SpinBox_DX->GetValue(); @@ -500,7 +503,7 @@ void BasicGUI_PointDlg::OnPointSelected( const gp_Pnt& thePnt ) //================================================================================= GEOM::GEOM_IOperations_ptr BasicGUI_PointDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); } //================================================================================= @@ -547,12 +550,14 @@ bool BasicGUI_PointDlg::execute( ObjectList& objects ) double dy = GroupRefPoint->SpinBox_DY->GetValue(); double dz = GroupRefPoint->SpinBox_DZ->GetValue(); - anObj = GEOM::GEOM_IBasicOperations::_narrow( getOperation() )->MakePointWithReference( myRefPoint, dx, dy, dz ); + anObj = GEOM::GEOM_IBasicOperations::_narrow( getOperation() )-> + MakePointWithReference( myRefPoint, dx, dy, dz ); res = true; break; } case 2 : - anObj = GEOM::GEOM_IBasicOperations::_narrow( getOperation() )->MakePointOnCurve( myEdge, getParameter() ); + anObj = GEOM::GEOM_IBasicOperations::_narrow( getOperation() )-> + MakePointOnCurve( myEdge, getParameter() ); res = true; break; } @@ -590,6 +595,5 @@ bool BasicGUI_PointDlg::execute( ObjectList& objects ) //================================================================================= void BasicGUI_PointDlg::closeEvent( QCloseEvent* e ) { - // myGeometryGUI->SetState( -1 ); GEOMBase_Skeleton::closeEvent( e ); } diff --git a/src/BasicGUI/BasicGUI_PointDlg.h b/src/BasicGUI/BasicGUI_PointDlg.h index d05367203..28bf591a1 100644 --- a/src/BasicGUI/BasicGUI_PointDlg.h +++ b/src/BasicGUI/BasicGUI_PointDlg.h @@ -24,7 +24,6 @@ // File : BasicGUI_PointDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_POINT_H #define DIALOGBOX_POINT_H @@ -51,13 +50,14 @@ class BasicGUI_PointDlg : public GEOMBase_Skeleton Q_OBJECT public: - BasicGUI_PointDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BasicGUI_PointDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BasicGUI_PointDlg(); bool acceptMouseEvent() const { return ( getConstructorId() == 0 ); }; void OnPointSelected( const gp_Pnt& ); // called by BasicGUI::OnMousePress() - + protected: // redefined from GEOMBase_Helper virtual GEOM::GEOM_IOperations_ptr createOperation(); @@ -71,8 +71,6 @@ private : void enterEvent(QEvent* e); double getParameter() const; - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myEdge; GEOM::GEOM_Object_var myRefPoint; diff --git a/src/BasicGUI/BasicGUI_VectorDlg.cxx b/src/BasicGUI/BasicGUI_VectorDlg.cxx index 8860b2e48..5b3a61e70 100644 --- a/src/BasicGUI/BasicGUI_VectorDlg.cxx +++ b/src/BasicGUI/BasicGUI_VectorDlg.cxx @@ -48,15 +48,16 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BasicGUI_VectorDlg::BasicGUI_VectorDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, fl ), myGeometryGUI(theGeometryGUI) +BasicGUI_VectorDlg::BasicGUI_VectorDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, fl) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_VECTOR_2P"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_VECTOR_DXYZ"))); QPixmap image2(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); setCaption(tr("GEOM_VECTOR_TITLE")); - + /***************************************************************/ GroupConstructors->setTitle(tr("GEOM_VECTOR")); RadioButton1->setPixmap(image0); @@ -84,6 +85,8 @@ BasicGUI_VectorDlg::BasicGUI_VectorDlg(GeometryGUI* theGeometryGUI, QWidget* par Layout1->addWidget(GroupDimensions, 2, 0); /***************************************************************/ + setHelpFileName("vector.htm"); + /* Initialisations */ Init(); } @@ -128,8 +131,8 @@ void BasicGUI_VectorDlg::Init() /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -145,9 +148,9 @@ void BasicGUI_VectorDlg::Init() connect(GroupDimensions->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); connect(GroupDimensions->SpinBox_DZ, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DZ, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DZ, SLOT(SetStep(double))); connect(GroupDimensions->CheckBox1, SIGNAL(stateChanged(int)), this, SLOT(ReverseVector(int))); @@ -323,7 +326,7 @@ void BasicGUI_VectorDlg::ActivateThisDialog() //================================================================================= void BasicGUI_VectorDlg::DeactivateActiveDialog() { - // myGeometryGUI->SetState( -1 ); + // myGeomGUI->SetState( -1 ); GEOMBase_Skeleton::DeactivateActiveDialog(); } @@ -369,7 +372,7 @@ void BasicGUI_VectorDlg::ReverseVector(int state) //================================================================================= GEOM::GEOM_IOperations_ptr BasicGUI_VectorDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetIBasicOperations( getStudyId() ); } //================================================================================= diff --git a/src/BasicGUI/BasicGUI_VectorDlg.h b/src/BasicGUI/BasicGUI_VectorDlg.h index 8e87f2b84..b9a2cdade 100644 --- a/src/BasicGUI/BasicGUI_VectorDlg.h +++ b/src/BasicGUI/BasicGUI_VectorDlg.h @@ -24,7 +24,6 @@ // File : BasicGUI_VectorDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_VECTOR_H #define DIALOGBOX_VECTOR_H @@ -34,13 +33,13 @@ #include "DlgRef_3Spin1Check.h" #include "BasicGUI.h" -//#include "GEOM_ShapeTypeFilter.hxx" #if defined WNT && defined WIN32 && defined SALOME_WNT_EXPORTS #define BASICGUI_WNT_EXPORT __declspec( dllexport ) #else #define BASICGUI_WNT_EXPORT #endif + //================================================================================= // class : BasicGUI_VectorDlg // purpose : @@ -50,9 +49,10 @@ class BasicGUI_VectorDlg : public GEOMBase_Skeleton Q_OBJECT public: - BasicGUI_VectorDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BasicGUI_VectorDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BasicGUI_VectorDlg(); - + protected: // redefined from GEOMBase_Helper virtual GEOM::GEOM_IOperations_ptr createOperation(); @@ -63,8 +63,6 @@ private : void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint1; GEOM::GEOM_Object_var myPoint2; @@ -75,7 +73,7 @@ private slots: void ClickOnOk(); void ClickOnCancel(); bool ClickOnApply(); - + void ActivateThisDialog(); void DeactivateActiveDialog(); diff --git a/src/BasicGUI/BasicGUI_WorkingPlaneDlg.cxx b/src/BasicGUI/BasicGUI_WorkingPlaneDlg.cxx index 168c8bc7b..064ea93a7 100644 --- a/src/BasicGUI/BasicGUI_WorkingPlaneDlg.cxx +++ b/src/BasicGUI/BasicGUI_WorkingPlaneDlg.cxx @@ -61,8 +61,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BasicGUI_WorkingPlaneDlg::BasicGUI_WorkingPlaneDlg(GeometryGUI* theGeometryGUI , QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +BasicGUI_WorkingPlaneDlg::BasicGUI_WorkingPlaneDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_WPLANE_FACE"))); @@ -103,6 +105,8 @@ BasicGUI_WorkingPlaneDlg::BasicGUI_WorkingPlaneDlg(GeometryGUI* theGeometryGUI , Layout1->addWidget(Group3, 1, 0); /***************************************************************/ + setHelpFileName("working_plane.htm"); + Init(); } @@ -122,9 +126,9 @@ void BasicGUI_WorkingPlaneDlg::Init() { /* init variables */ myEditCurrentArgument = Group1->LineEdit1; - myWPlane = myGeometryGUI->GetWorkingPlane(); + myWPlane = myGeomGUI->GetWorkingPlane(); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); myFace = GEOM::GEOM_Object::_nil(); myVectX = GEOM::GEOM_Object::_nil(); @@ -137,8 +141,8 @@ void BasicGUI_WorkingPlaneDlg::Init() /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); + connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); + connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(GroupConstructors, SIGNAL(clicked(int)), this, SLOT(ConstructorsClicked(int))); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); @@ -168,7 +172,7 @@ void BasicGUI_WorkingPlaneDlg::Init() void BasicGUI_WorkingPlaneDlg::ConstructorsClicked(int constructorId) { disconnect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), 0, this, 0); - // myGeometryGUI->SetState( 0 ); + // myGeomGUI->SetState( 0 ); switch (constructorId) { @@ -249,7 +253,7 @@ void BasicGUI_WorkingPlaneDlg::ClickOnOk() bool BasicGUI_WorkingPlaneDlg::ClickOnApply() { buttonApply->setFocus(); - myGeometryGUI->application()->putInfo(tr("")); + myGeomGUI->application()->putInfo(tr("")); const int id = getConstructorId(); if (id == 0) { @@ -262,8 +266,8 @@ bool BasicGUI_WorkingPlaneDlg::ClickOnApply() gp_Pln aPln = aGPlane->Pln(); myWPlane = aPln.Position(); - myGeometryGUI->SetWorkingPlane(myWPlane); - myGeometryGUI->ActiveWorkingPlane(); + myGeomGUI->SetWorkingPlane(myWPlane); + myGeomGUI->ActiveWorkingPlane(); return true; } } @@ -305,8 +309,8 @@ bool BasicGUI_WorkingPlaneDlg::ClickOnApply() myWPlane = gp_Ax3(BRep_Tool::Pnt(V1), aDirZ, aDirX); - myGeometryGUI->SetWorkingPlane(myWPlane); - myGeometryGUI->ActiveWorkingPlane(); + myGeomGUI->SetWorkingPlane(myWPlane); + myGeomGUI->ActiveWorkingPlane(); return true; } } else if (id == 2) { @@ -328,8 +332,8 @@ bool BasicGUI_WorkingPlaneDlg::ClickOnApply() myWPlane = gp_Ax3(P1, aDirZ, aDirX); - myGeometryGUI->SetWorkingPlane(myWPlane); - myGeometryGUI->ActiveWorkingPlane(); + myGeomGUI->SetWorkingPlane(myWPlane); + myGeomGUI->ActiveWorkingPlane(); return true; } return false; @@ -434,7 +438,7 @@ void BasicGUI_WorkingPlaneDlg::ActivateThisDialog( ) //================================================================================= void BasicGUI_WorkingPlaneDlg::DeactivateActiveDialog() { - // myGeometryGUI->SetState( -1 ); + // myGeomGUI->SetState( -1 ); GEOMBase_Skeleton::DeactivateActiveDialog(); } @@ -463,6 +467,5 @@ void BasicGUI_WorkingPlaneDlg::enterEvent(QEvent* e) //================================================================================= void BasicGUI_WorkingPlaneDlg::closeEvent( QCloseEvent* e ) { - // myGeometryGUI->SetState( -1 ); GEOMBase_Skeleton::closeEvent( e ); } diff --git a/src/BasicGUI/BasicGUI_WorkingPlaneDlg.h b/src/BasicGUI/BasicGUI_WorkingPlaneDlg.h index 4ee7a785d..f9a770e66 100644 --- a/src/BasicGUI/BasicGUI_WorkingPlaneDlg.h +++ b/src/BasicGUI/BasicGUI_WorkingPlaneDlg.h @@ -38,6 +38,7 @@ #else #define BASICGUI_WNT_EXPORT #endif + //================================================================================= // class : BasicGUI_WorkingPlaneDlg // purpose : @@ -47,7 +48,8 @@ class BASICGUI_WNT_EXPORT BasicGUI_WorkingPlaneDlg : public GEOMBase_Skeleton Q_OBJECT public: - BasicGUI_WorkingPlaneDlg( GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + BasicGUI_WorkingPlaneDlg( GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); ~BasicGUI_WorkingPlaneDlg(); virtual void closeEvent( QCloseEvent* e ); @@ -55,8 +57,6 @@ private: void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myFace; GEOM::GEOM_Object_var myVectX; GEOM::GEOM_Object_var myVectZ; diff --git a/src/BlocksGUI/BlocksGUI.cxx b/src/BlocksGUI/BlocksGUI.cxx index 30abf2a66..a30425313 100644 --- a/src/BlocksGUI/BlocksGUI.cxx +++ b/src/BlocksGUI/BlocksGUI.cxx @@ -30,7 +30,6 @@ #include "BlocksGUI_QuadFaceDlg.h" #include "BlocksGUI_BlockDlg.h" #include "BlocksGUI_TrsfDlg.h" -//#include "BlocksGUI_CheckMultiBlockDlg.h" #include "BlocksGUI_ExplodeDlg.h" #include "BlocksGUI_PropagateDlg.h" @@ -40,6 +39,8 @@ #include "SUIT_MessageBox.h" #include "SUIT_Session.h" +#include "SalomeApp_Application.h" + BlocksGUI* BlocksGUI::myGUIObject = 0; //======================================================================= @@ -83,35 +84,13 @@ bool BlocksGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent ) switch (theCommandID) { - case 9999: - aDlg = new BlocksGUI_BlockDlg (parent); - break; - - case 9998: - aDlg = new BlocksGUI_TrsfDlg (parent); - break; - - case 9997: - aDlg = new BlocksGUI_QuadFaceDlg (parent); - break; - - case 9996: -// aDlg = new BlocksGUI_CheckMultiBlockDlg (parent, Sel); - SUIT_MessageBox::warn1 (parent, - QObject::tr("WRN_WARNING"), - QObject::tr("WRN_NOT_IMPLEMENTED"), - QObject::tr("BUT_OK")); - break; - - case 9995: - aDlg = new BlocksGUI_ExplodeDlg (parent); - break; - case 99991: - aDlg = new BlocksGUI_PropagateDlg (parent, ""); - break; - + case 9999: aDlg = new BlocksGUI_BlockDlg (getGeometryGUI(), parent); break; + case 9998: aDlg = new BlocksGUI_TrsfDlg (getGeometryGUI(), parent); break; + case 9997: aDlg = new BlocksGUI_QuadFaceDlg (getGeometryGUI(), parent); break; + case 9995: aDlg = new BlocksGUI_ExplodeDlg (getGeometryGUI(), parent); break; + case 99991: aDlg = new BlocksGUI_PropagateDlg (getGeometryGUI(), parent); break; default: - SUIT_Session::session()->activeApplication()->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); + getGeometryGUI()->getApp()->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); break; } diff --git a/src/BlocksGUI/BlocksGUI_BlockDlg.cxx b/src/BlocksGUI/BlocksGUI_BlockDlg.cxx index 5d0444ea4..664c97894 100644 --- a/src/BlocksGUI/BlocksGUI_BlockDlg.cxx +++ b/src/BlocksGUI/BlocksGUI_BlockDlg.cxx @@ -41,9 +41,8 @@ using namespace std; // class : BlocksGUI_BlockDlg() // purpose : Constructs a BlocksGUI_BlockDlg which is a child of 'parent'. //================================================================================= -BlocksGUI_BlockDlg::BlocksGUI_BlockDlg (QWidget* parent, - bool modal) - : GEOMBase_Skeleton(parent, "BlockDlg", modal, +BlocksGUI_BlockDlg::BlocksGUI_BlockDlg (GeometryGUI* theGeometryGUI, QWidget* parent, bool modal) + : GEOMBase_Skeleton(theGeometryGUI, parent, "BlockDlg", modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_BLOCK_2F"))); @@ -88,6 +87,8 @@ BlocksGUI_BlockDlg::BlocksGUI_BlockDlg (QWidget* parent, Layout1->addWidget(Group6F, 2, 0); /***************************************************************/ + setHelpFileName("newentity_blocks.htm#HexahedralSolid"); + Init(); } @@ -327,15 +328,6 @@ void BlocksGUI_BlockDlg::enterEvent (QEvent* e) ActivateThisDialog(); } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -//void BlocksGUI_BlockDlg::DeactivateActiveDialog() -//{ -// GEOMBase_Skeleton::DeactivateActiveDialog(); -//} - //================================================================================= // function : createOperation // purpose : diff --git a/src/BlocksGUI/BlocksGUI_BlockDlg.h b/src/BlocksGUI/BlocksGUI_BlockDlg.h index 567538c32..efc266976 100644 --- a/src/BlocksGUI/BlocksGUI_BlockDlg.h +++ b/src/BlocksGUI/BlocksGUI_BlockDlg.h @@ -23,7 +23,6 @@ // File : BlocksGUI_BlockDlg.h // Author : Julia DOROVSKIKH // Module : GEOM -// $Header$ #ifndef DIALOGBOX_BLOCK_H #define DIALOGBOX_BLOCK_H @@ -42,7 +41,7 @@ class BlocksGUI_BlockDlg : public GEOMBase_Skeleton Q_OBJECT public: - BlocksGUI_BlockDlg (QWidget* parent, + BlocksGUI_BlockDlg (GeometryGUI* theGeometryGUI, QWidget* parent, bool modal = FALSE); ~BlocksGUI_BlockDlg(); @@ -69,7 +68,6 @@ private slots: void ClickOnOk(); bool ClickOnApply(); void ActivateThisDialog(); -// void DeactivateActiveDialog(); void ConstructorsClicked (int constructorId); void SelectionIntoArgument(); diff --git a/src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx b/src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx index 728082a4e..9aec37ed7 100644 --- a/src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx +++ b/src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx @@ -50,9 +50,8 @@ // class : BlocksGUI_ExplodeDlg() // purpose : Constructs a BlocksGUI_ExplodeDlg which is a child of 'parent'. //================================================================================= -BlocksGUI_ExplodeDlg::BlocksGUI_ExplodeDlg (QWidget* parent, - bool modal) - : GEOMBase_Skeleton(parent, "ExplodeDlg", modal, +BlocksGUI_ExplodeDlg::BlocksGUI_ExplodeDlg (GeometryGUI* theGeometryGUI, QWidget* parent, bool modal) + : GEOMBase_Skeleton(theGeometryGUI, parent, "ExplodeDlg", modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image1 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_BLOCK_EXPLODE"))); @@ -108,6 +107,8 @@ BlocksGUI_ExplodeDlg::BlocksGUI_ExplodeDlg (QWidget* parent, Layout1->addWidget(myGrp1, 1, 0); /***************************************************************/ + setHelpFileName("explode_on_blocks.htm"); + Init(); } diff --git a/src/BlocksGUI/BlocksGUI_ExplodeDlg.h b/src/BlocksGUI/BlocksGUI_ExplodeDlg.h index 7c83e73bf..1edd3f389 100644 --- a/src/BlocksGUI/BlocksGUI_ExplodeDlg.h +++ b/src/BlocksGUI/BlocksGUI_ExplodeDlg.h @@ -23,7 +23,6 @@ // File : BlocksGUI_ExplodeDlg.h // Author : Julia DOROVSKIKH // Module : GEOM -// $Header$ #ifndef DIALOGBOX_BLOCK_EXPLODE_H #define DIALOGBOX_BLOCK_EXPLODE_H @@ -43,8 +42,7 @@ class BlocksGUI_ExplodeDlg : public GEOMBase_Skeleton Q_OBJECT public: - BlocksGUI_ExplodeDlg (QWidget* parent, - bool modal = FALSE); + BlocksGUI_ExplodeDlg (GeometryGUI*, QWidget* parent, bool modal = FALSE); ~BlocksGUI_ExplodeDlg(); protected: diff --git a/src/BlocksGUI/BlocksGUI_PropagateDlg.cxx b/src/BlocksGUI/BlocksGUI_PropagateDlg.cxx index 0c4bdc44b..809bf154a 100644 --- a/src/BlocksGUI/BlocksGUI_PropagateDlg.cxx +++ b/src/BlocksGUI/BlocksGUI_PropagateDlg.cxx @@ -46,8 +46,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BlocksGUI_PropagateDlg::BlocksGUI_PropagateDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +BlocksGUI_PropagateDlg::BlocksGUI_PropagateDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_PROPAGATE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -75,10 +77,11 @@ BlocksGUI_PropagateDlg::BlocksGUI_PropagateDlg(QWidget* parent, const char* name /***************************************************************/ + setHelpFileName("propagate.htm"); + Init(); } - //================================================================================= // function : ~BlocksGUI_PropagateDlg() // purpose : Destroys the object and frees any allocated resources @@ -87,7 +90,6 @@ BlocksGUI_PropagateDlg::~BlocksGUI_PropagateDlg() { } - //================================================================================= // function : Init() // purpose : @@ -102,10 +104,6 @@ void BlocksGUI_PropagateDlg::Init() //myGeomGUI->SetState( 0 ); /* signals and slots connections */ - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); - connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -126,8 +124,6 @@ void BlocksGUI_PropagateDlg::ClickOnOk() ClickOnCancel(); } - - //================================================================================= // function : ClickOnApply() // purpose : @@ -148,16 +144,6 @@ bool BlocksGUI_PropagateDlg::ClickOnApply() } -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void BlocksGUI_PropagateDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection @@ -203,17 +189,6 @@ void BlocksGUI_PropagateDlg::LineEditReturnPressed() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void BlocksGUI_PropagateDlg::DeactivateActiveDialog() -{ - //myGeomGUI->SetState( -1 ); - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ActivateThisDialog() // purpose : @@ -316,4 +291,3 @@ GEOM::GEOM_Object_ptr BlocksGUI_PropagateDlg::getFather (GEOM::GEOM_Object_ptr) { return myObject; } - diff --git a/src/BlocksGUI/BlocksGUI_PropagateDlg.h b/src/BlocksGUI/BlocksGUI_PropagateDlg.h index db860194b..8082be70e 100644 --- a/src/BlocksGUI/BlocksGUI_PropagateDlg.h +++ b/src/BlocksGUI/BlocksGUI_PropagateDlg.h @@ -24,7 +24,6 @@ // File : BlocksGUI_PropagateDlg.h // Author : VKN // Module : GEOM -// $Header$ #ifndef DIALOGBOX_BlocksGUI_PropagateDlg_H #define DIALOGBOX_BlocksGUI_PropagateDlg_H @@ -41,7 +40,8 @@ class BlocksGUI_PropagateDlg : public GEOMBase_Skeleton Q_OBJECT public: - BlocksGUI_PropagateDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BlocksGUI_PropagateDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = "", bool modal = FALSE, WFlags fl = 0); ~BlocksGUI_PropagateDlg(); protected: @@ -54,27 +54,23 @@ protected: private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); -private : +private: void Init(); void enterEvent(QEvent* e); void closeEvent(QCloseEvent* e); void activateSelection(); -private : - +private: GEOM::GEOM_Object_var myObject; QPushButton* mySelBtn; QLineEdit* mySelName; - }; #endif // DIALOGBOX_BlocksGUI_PropagateDlg_H diff --git a/src/BlocksGUI/BlocksGUI_QuadFaceDlg.cxx b/src/BlocksGUI/BlocksGUI_QuadFaceDlg.cxx index ebf979a2b..f9c320796 100644 --- a/src/BlocksGUI/BlocksGUI_QuadFaceDlg.cxx +++ b/src/BlocksGUI/BlocksGUI_QuadFaceDlg.cxx @@ -32,23 +32,21 @@ #include "SalomeApp_Application.h" #include "LightApp_SelectionMgr.h" -//using namespace std; - #include //================================================================================= // class : BlocksGUI_QuadFaceDlg() // purpose : Constructs a BlocksGUI_QuadFaceDlg which is a child of 'parent'. //================================================================================= -BlocksGUI_QuadFaceDlg::BlocksGUI_QuadFaceDlg (QWidget* parent, - bool modal) - : GEOMBase_Skeleton(parent, "QuadFaceDlg", modal, +BlocksGUI_QuadFaceDlg::BlocksGUI_QuadFaceDlg (GeometryGUI* theGeometryGUI, QWidget* parent, bool modal) + : GEOMBase_Skeleton(theGeometryGUI, parent, "QuadFaceDlg", modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image1 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_QUAD_FACE_4_VERT"))); - QPixmap image2 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_QUAD_FACE_2_EDGE"))); - QPixmap image3 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_QUAD_FACE_4_EDGE"))); - QPixmap imageS (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); + SUIT_ResourceMgr* aResMgr = myGeomGUI->getApp()->resourceMgr(); + QPixmap image1 (aResMgr->loadPixmap("GEOM",tr("ICON_DLG_QUAD_FACE_4_VERT"))); + QPixmap image2 (aResMgr->loadPixmap("GEOM",tr("ICON_DLG_QUAD_FACE_2_EDGE"))); + QPixmap image3 (aResMgr->loadPixmap("GEOM",tr("ICON_DLG_QUAD_FACE_4_EDGE"))); + QPixmap imageS (aResMgr->loadPixmap("GEOM",tr("ICON_SELECT"))); setCaption(tr("GEOM_QUAD_FACE_TITLE")); @@ -102,6 +100,8 @@ BlocksGUI_QuadFaceDlg::BlocksGUI_QuadFaceDlg (QWidget* parent, Layout1->addWidget(myGrp3, 2, 0); /***************************************************************/ + setHelpFileName("newentity_blocks.htm#QuadrangleFace"); + Init(); } diff --git a/src/BlocksGUI/BlocksGUI_QuadFaceDlg.h b/src/BlocksGUI/BlocksGUI_QuadFaceDlg.h index 0df8ae01c..652d34b18 100644 --- a/src/BlocksGUI/BlocksGUI_QuadFaceDlg.h +++ b/src/BlocksGUI/BlocksGUI_QuadFaceDlg.h @@ -23,7 +23,6 @@ // File : BlocksGUI_QuadFaceDlg.h // Author : Julia DOROVSKIKH // Module : GEOM -// $Header$ #ifndef DIALOGBOX_QUAD_FACE_H #define DIALOGBOX_QUAD_FACE_H @@ -43,15 +42,14 @@ class BlocksGUI_QuadFaceDlg : public GEOMBase_Skeleton Edge14, Edge24, Edge34, Edge44 }; public: - BlocksGUI_QuadFaceDlg (QWidget* parent, - bool modal = FALSE); + BlocksGUI_QuadFaceDlg (GeometryGUI*, QWidget* parent, bool modal = FALSE); ~BlocksGUI_QuadFaceDlg(); protected: // redefined from GEOMBase_Helper virtual GEOM::GEOM_IOperations_ptr createOperation(); - virtual bool isValid (QString& msg); - virtual bool execute (ObjectList& objects); + virtual bool isValid (QString& msg); + virtual bool execute (ObjectList& objects); private: void Init(); @@ -79,7 +77,6 @@ private slots: void ClickOnOk(); bool ClickOnApply(); void ActivateThisDialog(); -// void DeactivateActiveDialog(); void ConstructorsClicked( int constructorId ); void SelectionIntoArgument(); diff --git a/src/BlocksGUI/BlocksGUI_TrsfDlg.cxx b/src/BlocksGUI/BlocksGUI_TrsfDlg.cxx index b58b8c62d..a431b4129 100644 --- a/src/BlocksGUI/BlocksGUI_TrsfDlg.cxx +++ b/src/BlocksGUI/BlocksGUI_TrsfDlg.cxx @@ -42,14 +42,14 @@ // class : BlocksGUI_TrsfDlg() // purpose : Constructs a BlocksGUI_TrsfDlg which is a child of 'parent'. //================================================================================= -BlocksGUI_TrsfDlg::BlocksGUI_TrsfDlg (QWidget* parent, - bool modal) - : GEOMBase_Skeleton(parent, "TrsfDlg", modal, +BlocksGUI_TrsfDlg::BlocksGUI_TrsfDlg (GeometryGUI* theGeometryGUI, QWidget* parent, bool modal) + : GEOMBase_Skeleton(theGeometryGUI, parent, "TrsfDlg", modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image1 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_BLOCK_MULTITRSF_SIMPLE"))); - QPixmap image2 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_BLOCK_MULTITRSF_DOUBLE"))); - QPixmap imageS (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); + SUIT_ResourceMgr* aResMgr = myGeomGUI->getApp()->resourceMgr(); + QPixmap image1 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_BLOCK_MULTITRSF_SIMPLE"))); + QPixmap image2 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_BLOCK_MULTITRSF_DOUBLE"))); + QPixmap imageS (aResMgr->loadPixmap("GEOM", tr("ICON_SELECT"))); setCaption(tr("GEOM_BLOCK_MULTITRSF_TITLE")); @@ -119,6 +119,8 @@ BlocksGUI_TrsfDlg::BlocksGUI_TrsfDlg (QWidget* parent, Layout1->addWidget( myGrp2, 2, 0 ); /***************************************************************/ + setHelpFileName("multi_transformation.htm"); + Init(); } @@ -347,16 +349,6 @@ void BlocksGUI_TrsfDlg::enterEvent (QEvent* e) this->ActivateThisDialog(); } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -//void BlocksGUI_TrsfDlg::DeactivateActiveDialog() -//{ -// // disconnect selection -// GEOMBase_Skeleton::DeactivateActiveDialog(); -//} - //================================================================================= // function : ValueChangedInSpinBox() // purpose : diff --git a/src/BlocksGUI/BlocksGUI_TrsfDlg.h b/src/BlocksGUI/BlocksGUI_TrsfDlg.h index a5bdc30d6..7c672b5ca 100644 --- a/src/BlocksGUI/BlocksGUI_TrsfDlg.h +++ b/src/BlocksGUI/BlocksGUI_TrsfDlg.h @@ -23,7 +23,6 @@ // File : BlocksGUI_TrsfDlg.h // Author : Julia DOROVSKIKH // Module : GEOM -// $Header$ #ifndef DIALOGBOX_BLOCK_MULTITRSF_H #define DIALOGBOX_BLOCK_MULTITRSF_H @@ -44,8 +43,7 @@ class BlocksGUI_TrsfDlg : public GEOMBase_Skeleton enum { SpinBox1, SpinBox2U, SpinBox2V }; public: - BlocksGUI_TrsfDlg (QWidget* parent, - bool modal = FALSE); + BlocksGUI_TrsfDlg (GeometryGUI*, QWidget* parent, bool modal = FALSE); ~BlocksGUI_TrsfDlg(); protected: @@ -79,7 +77,6 @@ private slots: void ClickOnOk(); bool ClickOnApply(); void ActivateThisDialog(); -// void DeactivateActiveDialog(); void ConstructorsClicked (int constructorId); void SelectionIntoArgument(); diff --git a/src/BooleanGUI/BooleanGUI.cxx b/src/BooleanGUI/BooleanGUI.cxx index 5f0865f6c..ecda41b9a 100644 --- a/src/BooleanGUI/BooleanGUI.cxx +++ b/src/BooleanGUI/BooleanGUI.cxx @@ -89,7 +89,7 @@ bool BooleanGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) else return false; - QDialog* aDlg = new BooleanGUI_Dialog( anOperation, parent, ""); + QDialog* aDlg = new BooleanGUI_Dialog( anOperation, getGeometryGUI(), parent, ""); aDlg->show(); return true; diff --git a/src/BooleanGUI/BooleanGUI_Dialog.cxx b/src/BooleanGUI/BooleanGUI_Dialog.cxx index c1e4e6d5d..2e8633adb 100644 --- a/src/BooleanGUI/BooleanGUI_Dialog.cxx +++ b/src/BooleanGUI/BooleanGUI_Dialog.cxx @@ -45,8 +45,9 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BooleanGUI_Dialog::BooleanGUI_Dialog( const int theOperation, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, fl), +BooleanGUI_Dialog::BooleanGUI_Dialog( const int theOperation, GeometryGUI* theGeometryGUI, + QWidget* parent, const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, fl), myOperation( theOperation ) { QPixmap image0; @@ -57,21 +58,25 @@ BooleanGUI_Dialog::BooleanGUI_Dialog( const int theOperation, QWidget* parent, c image0 = QPixmap( SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_COMMON"))); aTitle = tr("GEOM_COMMON"); aCaption = tr("GEOM_COMMON_TITLE"); + setHelpFileName("common.htm"); break; case BooleanGUI::CUT: image0 = QPixmap( SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_CUT"))); aTitle = tr("GEOM_CUT"); aCaption = tr("GEOM_CUT_TITLE"); + setHelpFileName("cut.htm"); break; case BooleanGUI::FUSE: image0 = QPixmap( SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_FUSE"))); aTitle = tr("GEOM_FUSE"); aCaption = tr("GEOM_FUSE_TITLE"); + setHelpFileName("fuse.htm"); break; case BooleanGUI::SECTION: image0 = QPixmap( SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SECTION"))); aTitle = tr("GEOM_SECTION"); aCaption = tr("GEOM_SECTION_TITLE"); + setHelpFileName("section.htm"); break; } QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -119,7 +124,6 @@ BooleanGUI_Dialog::~BooleanGUI_Dialog() } - //================================================================================= // function : Init() // purpose : @@ -216,7 +220,6 @@ void BooleanGUI_Dialog::SetEditCurrentArgument() } - //================================================================================= // function : LineEditReturnPressed() // purpose : diff --git a/src/BooleanGUI/BooleanGUI_Dialog.h b/src/BooleanGUI/BooleanGUI_Dialog.h index 70f6c4b75..bbf0ac580 100644 --- a/src/BooleanGUI/BooleanGUI_Dialog.h +++ b/src/BooleanGUI/BooleanGUI_Dialog.h @@ -24,7 +24,6 @@ // File : BooleanGUI_Dialog.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef BooleanGUI_Dialog_H #define BooleanGUI_Dialog_H @@ -42,7 +41,8 @@ class BooleanGUI_Dialog : public GEOMBase_Skeleton Q_OBJECT public: - BooleanGUI_Dialog( const int theOperation, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BooleanGUI_Dialog( const int theOperation, GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BooleanGUI_Dialog(); protected: @@ -69,7 +69,6 @@ private slots: void SelectionIntoArgument(); void LineEditReturnPressed(); void ActivateThisDialog(); - }; #endif // BooleanGUI_Dialog_H diff --git a/src/BuildGUI/BuildGUI.cxx b/src/BuildGUI/BuildGUI.cxx index bb0c98a2c..3e2d48c46 100644 --- a/src/BuildGUI/BuildGUI.cxx +++ b/src/BuildGUI/BuildGUI.cxx @@ -85,12 +85,12 @@ bool BuildGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent ) switch ( theCommandID ) { - case 4081: aDlg = new BuildGUI_EdgeDlg ( parent, "" ); break; - case 4082: aDlg = new BuildGUI_WireDlg ( parent, "" ); break; - case 4083: aDlg = new BuildGUI_FaceDlg ( parent, "" ); break; - case 4084: aDlg = new BuildGUI_ShellDlg ( parent, "" ); break; - case 4085: aDlg = new BuildGUI_SolidDlg ( parent, "" ); break; - case 4086: aDlg = new BuildGUI_CompoundDlg( parent, "" ); break; + case 4081: aDlg = new BuildGUI_EdgeDlg ( getGeometryGUI(), parent, "" ); break; + case 4082: aDlg = new BuildGUI_WireDlg ( getGeometryGUI(), parent, "" ); break; + case 4083: aDlg = new BuildGUI_FaceDlg ( getGeometryGUI(), parent, "" ); break; + case 4084: aDlg = new BuildGUI_ShellDlg ( getGeometryGUI(), parent, "" ); break; + case 4085: aDlg = new BuildGUI_SolidDlg ( getGeometryGUI(), parent, "" ); break; + case 4086: aDlg = new BuildGUI_CompoundDlg( getGeometryGUI(), parent, "" ); break; default: SUIT_Session::session()->activeApplication()->putInfo( tr( "GEOM_PRP_COMMAND" ).arg( theCommandID ) ); diff --git a/src/BuildGUI/BuildGUI_CompoundDlg.cxx b/src/BuildGUI/BuildGUI_CompoundDlg.cxx index d993cbbe0..53e0d07ca 100644 --- a/src/BuildGUI/BuildGUI_CompoundDlg.cxx +++ b/src/BuildGUI/BuildGUI_CompoundDlg.cxx @@ -42,8 +42,10 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BuildGUI_CompoundDlg::BuildGUI_CompoundDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +BuildGUI_CompoundDlg::BuildGUI_CompoundDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_BUILD_COMPOUND"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -65,6 +67,8 @@ BuildGUI_CompoundDlg::BuildGUI_CompoundDlg(QWidget* parent, const char* name, bo Layout1->addWidget(GroupShapes, 2, 0); /***************************************************************/ + setHelpFileName("compound.htm"); + /* Initialisations */ Init(); } diff --git a/src/BuildGUI/BuildGUI_CompoundDlg.h b/src/BuildGUI/BuildGUI_CompoundDlg.h index eef0b2fb1..6139a57a7 100644 --- a/src/BuildGUI/BuildGUI_CompoundDlg.h +++ b/src/BuildGUI/BuildGUI_CompoundDlg.h @@ -24,7 +24,6 @@ // File : GEOMBase_CompoundDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_COMPOUND_H #define DIALOGBOX_COMPOUND_H @@ -41,7 +40,8 @@ class BuildGUI_CompoundDlg : public GEOMBase_Skeleton Q_OBJECT public: - BuildGUI_CompoundDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BuildGUI_CompoundDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BuildGUI_CompoundDlg(); protected: @@ -65,7 +65,6 @@ private slots: void ActivateThisDialog(); void SelectionIntoArgument(); void SetEditCurrentArgument(); - }; #endif // DIALOGBOX_COMPOUND_H diff --git a/src/BuildGUI/BuildGUI_EdgeDlg.cxx b/src/BuildGUI/BuildGUI_EdgeDlg.cxx index e43e9e6f9..61ede1319 100644 --- a/src/BuildGUI/BuildGUI_EdgeDlg.cxx +++ b/src/BuildGUI/BuildGUI_EdgeDlg.cxx @@ -47,8 +47,10 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BuildGUI_EdgeDlg::BuildGUI_EdgeDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +BuildGUI_EdgeDlg::BuildGUI_EdgeDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_BUILD_EDGE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -74,6 +76,8 @@ BuildGUI_EdgeDlg::BuildGUI_EdgeDlg(QWidget* parent, const char* name, bool modal Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("edge.htm"); + /* Initialisations */ Init(); } diff --git a/src/BuildGUI/BuildGUI_EdgeDlg.h b/src/BuildGUI/BuildGUI_EdgeDlg.h index 2d3af1aba..241ff4616 100644 --- a/src/BuildGUI/BuildGUI_EdgeDlg.h +++ b/src/BuildGUI/BuildGUI_EdgeDlg.h @@ -24,7 +24,6 @@ // File : BuildGUI_EdgeDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_EDGE_H #define DIALOGBOX_EDGE_H @@ -41,7 +40,8 @@ class BuildGUI_EdgeDlg : public GEOMBase_Skeleton Q_OBJECT public: - BuildGUI_EdgeDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BuildGUI_EdgeDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BuildGUI_EdgeDlg(); protected: @@ -50,7 +50,7 @@ protected: virtual bool isValid( QString& msg ); virtual bool execute( ObjectList& objects ); -private : +private: void Init(); void enterEvent(QEvent* e); @@ -67,7 +67,6 @@ private slots: void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); - }; #endif // DIALOGBOX_EDGE_H diff --git a/src/BuildGUI/BuildGUI_FaceDlg.cxx b/src/BuildGUI/BuildGUI_FaceDlg.cxx index f9a5891f2..9ec5ff6c8 100644 --- a/src/BuildGUI/BuildGUI_FaceDlg.cxx +++ b/src/BuildGUI/BuildGUI_FaceDlg.cxx @@ -46,8 +46,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BuildGUI_FaceDlg::BuildGUI_FaceDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +BuildGUI_FaceDlg::BuildGUI_FaceDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_BUILD_FACE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -69,6 +71,8 @@ BuildGUI_FaceDlg::BuildGUI_FaceDlg(QWidget* parent, const char* name, bool modal Layout1->addWidget(GroupWire, 2, 0); /***************************************************************/ + setHelpFileName("face.htm"); + /* Initialisations */ Init(); } diff --git a/src/BuildGUI/BuildGUI_FaceDlg.h b/src/BuildGUI/BuildGUI_FaceDlg.h index f59189fd6..9caf4e7c2 100644 --- a/src/BuildGUI/BuildGUI_FaceDlg.h +++ b/src/BuildGUI/BuildGUI_FaceDlg.h @@ -24,7 +24,6 @@ // File : BuildGUI_FaceDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_FACE_H #define DIALOGBOX_FACE_H @@ -41,7 +40,8 @@ class BuildGUI_FaceDlg : public GEOMBase_Skeleton Q_OBJECT public: - BuildGUI_FaceDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BuildGUI_FaceDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BuildGUI_FaceDlg(); protected: @@ -64,7 +64,6 @@ private slots: void ActivateThisDialog(); void SelectionIntoArgument(); void SetEditCurrentArgument(); - }; #endif // DIALOGBOX_FACE_H diff --git a/src/BuildGUI/BuildGUI_ShellDlg.cxx b/src/BuildGUI/BuildGUI_ShellDlg.cxx index 54fd59132..31984a38b 100644 --- a/src/BuildGUI/BuildGUI_ShellDlg.cxx +++ b/src/BuildGUI/BuildGUI_ShellDlg.cxx @@ -24,7 +24,7 @@ // File : BuildGUI_ShellDlg.cxx // Author : Damien COQUERET // Module : GEOM -// $Header: +// $Header$ #include "BuildGUI_ShellDlg.h" #include "GEOMImpl_Types.hxx" @@ -44,8 +44,10 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BuildGUI_ShellDlg::BuildGUI_ShellDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +BuildGUI_ShellDlg::BuildGUI_ShellDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_BUILD_SHELL"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_SELECT"))); @@ -67,6 +69,8 @@ BuildGUI_ShellDlg::BuildGUI_ShellDlg(QWidget* parent, const char* name, bool mod Layout1->addWidget(GroupShell, 2, 0); /***************************************************************/ + setHelpFileName("shell.htm"); + /* Initialisations */ Init(); } diff --git a/src/BuildGUI/BuildGUI_ShellDlg.h b/src/BuildGUI/BuildGUI_ShellDlg.h index 345fa7519..edfe6a567 100644 --- a/src/BuildGUI/BuildGUI_ShellDlg.h +++ b/src/BuildGUI/BuildGUI_ShellDlg.h @@ -24,7 +24,6 @@ // File : BuildGUI_ShellDlg.h // Author : Damien COQUERET // Module : GEOM -// $Header: #ifndef DIALOGBOX_SHELL_H #define DIALOGBOX_SHELL_H @@ -41,7 +40,8 @@ class BuildGUI_ShellDlg : public GEOMBase_Skeleton Q_OBJECT public: - BuildGUI_ShellDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BuildGUI_ShellDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BuildGUI_ShellDlg(); protected: @@ -65,7 +65,6 @@ private slots: void SetEditCurrentArgument(); void SelectionIntoArgument(); void ActivateThisDialog(); - }; #endif // DIALOGBOX_SHELL_H diff --git a/src/BuildGUI/BuildGUI_SolidDlg.cxx b/src/BuildGUI/BuildGUI_SolidDlg.cxx index 9dbdec0db..e8800edc3 100644 --- a/src/BuildGUI/BuildGUI_SolidDlg.cxx +++ b/src/BuildGUI/BuildGUI_SolidDlg.cxx @@ -24,7 +24,7 @@ // File : BuildGUI_SolidDlg.cxx // Author : Damien COQUERET // Module : GEOM -// $Header: +// $Header$ #include "BuildGUI_SolidDlg.h" #include "GEOMImpl_Types.hxx" @@ -44,8 +44,10 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BuildGUI_SolidDlg::BuildGUI_SolidDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +BuildGUI_SolidDlg::BuildGUI_SolidDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_BUILD_SOLID"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_SELECT"))); @@ -68,6 +70,8 @@ BuildGUI_SolidDlg::BuildGUI_SolidDlg(QWidget* parent, const char* name, bool mod Layout1->addWidget(GroupSolid, 2, 0); /***************************************************************/ + setHelpFileName("solid.htm"); + /* Initialisations */ Init(); } diff --git a/src/BuildGUI/BuildGUI_SolidDlg.h b/src/BuildGUI/BuildGUI_SolidDlg.h index c85fef588..0402ad1cc 100644 --- a/src/BuildGUI/BuildGUI_SolidDlg.h +++ b/src/BuildGUI/BuildGUI_SolidDlg.h @@ -24,7 +24,6 @@ // File : BuildGUI_SolidDlg.h // Author : Damien COQUERET // Module : GEOM -// $Header: #ifndef DIALOGBOX_SOLID_H #define DIALOGBOX_SOLID_H @@ -41,7 +40,8 @@ class BuildGUI_SolidDlg : public GEOMBase_Skeleton Q_OBJECT public: - BuildGUI_SolidDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BuildGUI_SolidDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BuildGUI_SolidDlg(); protected: @@ -67,7 +67,6 @@ private slots: void SelectionIntoArgument(); void ActivateThisDialog(); void EnableNameField(bool toEnable); - }; #endif // DIALOGBOX_SOLID_H diff --git a/src/BuildGUI/BuildGUI_WireDlg.cxx b/src/BuildGUI/BuildGUI_WireDlg.cxx index 9775a5cb1..f1b23af51 100644 --- a/src/BuildGUI/BuildGUI_WireDlg.cxx +++ b/src/BuildGUI/BuildGUI_WireDlg.cxx @@ -44,8 +44,10 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -BuildGUI_WireDlg::BuildGUI_WireDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +BuildGUI_WireDlg::BuildGUI_WireDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_BUILD_WIRE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -67,6 +69,8 @@ BuildGUI_WireDlg::BuildGUI_WireDlg(QWidget* parent, const char* name, bool modal Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("wire.htm"); + /* Initialisations */ Init(); } diff --git a/src/BuildGUI/BuildGUI_WireDlg.h b/src/BuildGUI/BuildGUI_WireDlg.h index 2f53e2534..27ba3fb40 100644 --- a/src/BuildGUI/BuildGUI_WireDlg.h +++ b/src/BuildGUI/BuildGUI_WireDlg.h @@ -24,7 +24,6 @@ // File : BuildGUI_WireDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_WIRE_H #define DIALOGBOX_WIRE_H @@ -41,7 +40,8 @@ class BuildGUI_WireDlg : public GEOMBase_Skeleton Q_OBJECT public: - BuildGUI_WireDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + BuildGUI_WireDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~BuildGUI_WireDlg(); protected: @@ -65,7 +65,6 @@ private slots: void ActivateThisDialog(); void SelectionIntoArgument(); void SetEditCurrentArgument(); - }; #endif // DIALOGBOX_WIRE_H diff --git a/src/DlgRef/DlgRef_Skeleton_QTD.cxx b/src/DlgRef/DlgRef_Skeleton_QTD.cxx index f16b05e10..f2a73bc43 100644 --- a/src/DlgRef/DlgRef_Skeleton_QTD.cxx +++ b/src/DlgRef/DlgRef_Skeleton_QTD.cxx @@ -20,39 +20,38 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'DlgRef_Skeleton_QTD.ui' ** -** Created: Wed Aug 11 18:42:51 2004 -** by: The User Interface Compiler (uic) +** Created: Fri Mar 17 11:18:06 2006 +** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! ****************************************************************************/ + #include "DlgRef_Skeleton_QTD.h" #include -#include -#include -#include -#include #include +#include +#include #include +#include +#include #include #include #include -/* - * Constructs a DlgRef_Skeleton_QTD which is a child of 'parent', with the +/* + * Constructs a DlgRef_Skeleton_QTD as a child of 'parent', with the * name 'name' and widget flags set to 'f'. * * The dialog will by default be modeless, unless you set 'modal' to * TRUE to construct a modal dialog. */ -DlgRef_Skeleton_QTD::DlgRef_Skeleton_QTD( QWidget* parent, const char* name, bool modal, WFlags fl ) +DlgRef_Skeleton_QTD::DlgRef_Skeleton_QTD( QWidget* parent, const char* name, bool modal, WFlags fl ) : QDialog( parent, name, modal, fl ) { if ( !name ) setName( "DlgRef_Skeleton_QTD" ); - resize( 307, 378 ); setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)7, 0, 0, sizePolicy().hasHeightForWidth() ) ); - setCaption( trUtf8( "DlgRef_Skeleton_QTD" ) ); setSizeGripEnabled( TRUE ); DlgRef_Skeleton_QTDLayout = new QGridLayout( this, 1, 1, 11, 6, "DlgRef_Skeleton_QTDLayout"); @@ -60,13 +59,11 @@ DlgRef_Skeleton_QTD::DlgRef_Skeleton_QTD( QWidget* parent, const char* name, bo GroupMedium = new QGroupBox( this, "GroupMedium" ); GroupMedium->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, 0, 0, GroupMedium->sizePolicy().hasHeightForWidth() ) ); - GroupMedium->setTitle( trUtf8( "" ) ); Layout1->addWidget( GroupMedium, 2, 0 ); GroupButtons = new QGroupBox( this, "GroupButtons" ); GroupButtons->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, GroupButtons->sizePolicy().hasHeightForWidth() ) ); - GroupButtons->setTitle( trUtf8( "" ) ); GroupButtons->setColumnLayout(0, Qt::Vertical ); GroupButtons->layout()->setSpacing( 6 ); GroupButtons->layout()->setMargin( 11 ); @@ -76,25 +73,24 @@ DlgRef_Skeleton_QTD::DlgRef_Skeleton_QTD( QWidget* parent, const char* name, bo Layout3 = new QHBoxLayout( 0, 0, 6, "Layout3"); buttonOk = new QPushButton( GroupButtons, "buttonOk" ); - buttonOk->setText( trUtf8( "&Ok" ) ); Layout3->addWidget( buttonOk ); buttonApply = new QPushButton( GroupButtons, "buttonApply" ); - buttonApply->setText( trUtf8( "&Apply" ) ); Layout3->addWidget( buttonApply ); - QSpacerItem* spacer = new QSpacerItem( 91, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ); - Layout3->addItem( spacer ); + Spacer1 = new QSpacerItem( 91, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ); + Layout3->addItem( Spacer1 ); buttonCancel = new QPushButton( GroupButtons, "buttonCancel" ); - buttonCancel->setText( trUtf8( "&Cancel" ) ); Layout3->addWidget( buttonCancel ); + + buttonHelp = new QPushButton( GroupButtons, "buttonHelp" ); + Layout3->addWidget( buttonHelp ); GroupButtonsLayout->addLayout( Layout3 ); Layout1->addWidget( GroupButtons, 3, 0 ); GroupConstructors = new QButtonGroup( this, "GroupConstructors" ); GroupConstructors->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)0, 0, 0, GroupConstructors->sizePolicy().hasHeightForWidth() ) ); - GroupConstructors->setTitle( trUtf8( "" ) ); GroupConstructors->setColumnLayout(0, Qt::Vertical ); GroupConstructors->layout()->setSpacing( 6 ); GroupConstructors->layout()->setMargin( 11 ); @@ -104,26 +100,21 @@ DlgRef_Skeleton_QTD::DlgRef_Skeleton_QTD( QWidget* parent, const char* name, bo Layout2 = new QHBoxLayout( 0, 0, 6, "Layout2"); RadioButton1 = new QRadioButton( GroupConstructors, "RadioButton1" ); - RadioButton1->setText( trUtf8( "" ) ); Layout2->addWidget( RadioButton1 ); RadioButton2 = new QRadioButton( GroupConstructors, "RadioButton2" ); - RadioButton2->setText( trUtf8( "" ) ); Layout2->addWidget( RadioButton2 ); RadioButton3 = new QRadioButton( GroupConstructors, "RadioButton3" ); - RadioButton3->setText( trUtf8( "" ) ); Layout2->addWidget( RadioButton3 ); RadioButton4 = new QRadioButton( GroupConstructors, "RadioButton4" ); - RadioButton4->setText( trUtf8( "" ) ); Layout2->addWidget( RadioButton4 ); GroupConstructorsLayout->addLayout( Layout2 ); Layout1->addWidget( GroupConstructors, 0, 0 ); GroupBoxName = new QGroupBox( this, "GroupBoxName" ); - GroupBoxName->setTitle( trUtf8( "Result name" ) ); GroupBoxName->setColumnLayout(0, Qt::Vertical ); GroupBoxName->layout()->setSpacing( 6 ); GroupBoxName->layout()->setMargin( 11 ); @@ -137,7 +128,6 @@ DlgRef_Skeleton_QTD::DlgRef_Skeleton_QTD( QWidget* parent, const char* name, bo Layout66->addWidget( ResultName, 0, 1 ); NameLabel = new QLabel( GroupBoxName, "NameLabel" ); - NameLabel->setText( trUtf8( "Name" ) ); Layout66->addWidget( NameLabel, 0, 0 ); @@ -146,9 +136,12 @@ DlgRef_Skeleton_QTD::DlgRef_Skeleton_QTD( QWidget* parent, const char* name, bo Layout1->addWidget( GroupBoxName, 1, 0 ); DlgRef_Skeleton_QTDLayout->addLayout( Layout1, 0, 0 ); + languageChange(); + resize( QSize(307, 378).expandedTo(minimumSizeHint()) ); + clearWState( WState_Polished ); } -/* +/* * Destroys the object and frees any allocated resources */ DlgRef_Skeleton_QTD::~DlgRef_Skeleton_QTD() @@ -156,3 +149,25 @@ DlgRef_Skeleton_QTD::~DlgRef_Skeleton_QTD() // no need to delete child widgets, Qt does it all for us } +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void DlgRef_Skeleton_QTD::languageChange() +{ + setCaption( tr( "DlgRef_Skeleton_QTD" ) ); + GroupMedium->setTitle( QString::null ); + GroupButtons->setTitle( QString::null ); + buttonOk->setText( tr( "&Ok" ) ); + buttonApply->setText( tr( "&Apply" ) ); + buttonCancel->setText( tr( "&Cancel" ) ); + buttonHelp->setText( tr( "&Help" ) ); + GroupConstructors->setTitle( QString::null ); + RadioButton1->setText( QString::null ); + RadioButton2->setText( QString::null ); + RadioButton3->setText( QString::null ); + RadioButton4->setText( QString::null ); + GroupBoxName->setTitle( tr( "Result name" ) ); + NameLabel->setText( tr( "Name" ) ); +} + diff --git a/src/DlgRef/DlgRef_Skeleton_QTD.h b/src/DlgRef/DlgRef_Skeleton_QTD.h index fb4807f31..36d201f2e 100644 --- a/src/DlgRef/DlgRef_Skeleton_QTD.h +++ b/src/DlgRef/DlgRef_Skeleton_QTD.h @@ -20,34 +20,31 @@ /**************************************************************************** ** Form interface generated from reading ui file 'DlgRef_Skeleton_QTD.ui' ** -** Created: Wed Aug 11 18:42:51 2004 -** by: The User Interface Compiler (uic) +** Created: Fri Mar 17 11:18:06 2006 +** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! ****************************************************************************/ + #ifndef DLGREF_SKELETON_QTD_H #define DLGREF_SKELETON_QTD_H #include #include -class QVBoxLayout; -class QHBoxLayout; -class QGridLayout; -class QButtonGroup; + +class QVBoxLayout; +class QHBoxLayout; +class QGridLayout; +class QSpacerItem; class QGroupBox; -class QLabel; -class QLineEdit; class QPushButton; +class QButtonGroup; class QRadioButton; +class QLineEdit; +class QLabel; -#if defined WNT && defined WIN32 && defined SALOME_WNT_EXPORTS -#define DLGREF_WNT_EXPORT __declspec( dllexport ) -#else -#define DLGREF_WNT_EXPORT -#endif - -class DLGREF_WNT_EXPORT DlgRef_Skeleton_QTD : public QDialog -{ +class DlgRef_Skeleton_QTD : public QDialog +{ Q_OBJECT public: @@ -59,6 +56,7 @@ public: QPushButton* buttonOk; QPushButton* buttonApply; QPushButton* buttonCancel; + QPushButton* buttonHelp; QButtonGroup* GroupConstructors; QRadioButton* RadioButton1; QRadioButton* RadioButton2; @@ -68,16 +66,20 @@ public: QLineEdit* ResultName; QLabel* NameLabel; - protected: QGridLayout* DlgRef_Skeleton_QTDLayout; QGridLayout* Layout1; QHBoxLayout* GroupButtonsLayout; QHBoxLayout* Layout3; + QSpacerItem* Spacer1; QHBoxLayout* GroupConstructorsLayout; QHBoxLayout* Layout2; QGridLayout* GroupBoxNameLayout; QGridLayout* Layout66; + +protected slots: + virtual void languageChange(); + }; #endif // DLGREF_SKELETON_QTD_H diff --git a/src/DlgRef/UIFiles/DlgRef_Skeleton_QTD.ui b/src/DlgRef/UIFiles/DlgRef_Skeleton_QTD.ui index 1098d6c46..b675f277c 100644 --- a/src/DlgRef/UIFiles/DlgRef_Skeleton_QTD.ui +++ b/src/DlgRef/UIFiles/DlgRef_Skeleton_QTD.ui @@ -105,7 +105,7 @@ 6 - + buttonOk @@ -146,6 +146,14 @@ &Cancel + + + buttonHelp + + + &Help + + diff --git a/src/DlgRef/UIFiles/ui_to_cxx b/src/DlgRef/UIFiles/ui_to_cxx index 4c4c512b8..829b9d852 100755 --- a/src/DlgRef/UIFiles/ui_to_cxx +++ b/src/DlgRef/UIFiles/ui_to_cxx @@ -1,22 +1,22 @@ -// 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/ -// +# 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/ +# #!/bin/sh #uic -o DlgRef_Skeleton_QTD.h DlgRef_Skeleton_QTD.ui diff --git a/src/EntityGUI/EntityGUI.cxx b/src/EntityGUI/EntityGUI.cxx index 82fa8a094..12ae4e2ef 100644 --- a/src/EntityGUI/EntityGUI.cxx +++ b/src/EntityGUI/EntityGUI.cxx @@ -35,10 +35,8 @@ #include "SUIT_ViewWindow.h" #include "OCCViewer_ViewModel.h" #include "OCCViewer_ViewManager.h" -//#include "SVTK_ViewModel.h" #include "SalomeApp_Study.h" #include "SalomeApp_Tools.h" -//#include "SALOMEGUI_ImportOperation.h" #include #include @@ -52,19 +50,13 @@ using namespace boost; using namespace std; -EntityGUI* EntityGUI::myGUIObject = 0; - //======================================================================= // function : GetEntityGUI() // purpose : Get the only EntityGUI object [ static ] //======================================================================= EntityGUI* EntityGUI::GetEntityGUI( GeometryGUI* parent ) { - if ( myGUIObject == 0 ) { - // init EntityGUI only once - myGUIObject = new EntityGUI( parent ); - } - return myGUIObject; + return new EntityGUI( parent ); } //======================================================================= @@ -73,14 +65,10 @@ EntityGUI* EntityGUI::GetEntityGUI( GeometryGUI* parent ) //======================================================================= EntityGUI::EntityGUI( GeometryGUI* parent ) : GEOMGUI( parent ) { - myGeomBase = new GEOMBase(); - myGeom = GEOM::GEOM_Gen::_duplicate( GeometryGUI::GetGeomGen() ); - mySimulationShape1 = new AIS_Shape(TopoDS_Shape()); mySimulationShape2 = new AIS_Shape(TopoDS_Shape()); } - //======================================================================= // function : ~EntityGUI() // purpose : Destructor @@ -106,7 +94,7 @@ bool EntityGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) aDlg = new EntityGUI_SketcherDlg(getGeometryGUI(), parent, ""); break; case 407: // EXPLODE : use ic - aDlg = new EntityGUI_SubShapeDlg(parent, ""); + aDlg = new EntityGUI_SubShapeDlg(getGeometryGUI(), parent, ""); break; default: SUIT_Session::session()->activeApplication()->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); @@ -114,35 +102,8 @@ bool EntityGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) } if ( aDlg ) aDlg->show(); - - return true; -} - - -//======================================================================= -// function : OnSketchEnd() -// purpose : -//======================================================================= -void EntityGUI::OnSketchEnd(const char *Cmd) -{ - /* QAD_Application::getDesktop()->putInfo("Create sketch functionality is NOT implemented in new GEOM kernel - (no such Corba interface method). Waiting for SRN to create it..."); - try { - GEOM::GEOM_Shape_var result = myGeom->MakeSketcher(Cmd); - if(result->_is_nil()) { - QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_NULLSHAPE")); - return; - } - result->NameType(tr("GEOM_WIRE")); - if(myGeomBase->Display(result)) - QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_DONE")); - } - catch(const SALOME::SALOME_Exception& S_ex) { - SalomeApp_Tools::QtCatchCorbaException(S_ex); - } - */ - return; + return true; } @@ -152,20 +113,19 @@ void EntityGUI::OnSketchEnd(const char *Cmd) //===================================================================================== void EntityGUI::DisplaySimulationShape(const TopoDS_Shape& S1, const TopoDS_Shape& S2) { - //NRI DEBUG : 14/02/2002 - if( SUIT_Session::session()->activeApplication()->desktop()->activeWindow()->getViewManager()->getType() - != OCCViewer_Viewer::Type() ) + SUIT_ViewManager* aVM = + SUIT_Session::session()->activeApplication()->desktop()->activeWindow()->getViewManager(); + if (aVM->getType() != OCCViewer_Viewer::Type()) return; - OCCViewer_Viewer* v3d = - ((OCCViewer_ViewManager*)(SUIT_Session::session()->activeApplication()->desktop()->activeWindow()->getViewManager()))->getOCCViewer(); + OCCViewer_Viewer* v3d = ((OCCViewer_ViewManager*)aVM)->getOCCViewer(); Handle(AIS_InteractiveContext) ic = v3d->getAISContext(); try { - if(!S1.IsNull()) { + if (!S1.IsNull()) { /* erase any previous */ ic->Erase(mySimulationShape1, Standard_True, Standard_False); ic->ClearPrs(mySimulationShape1); - + mySimulationShape1 = new AIS_Shape(TopoDS_Shape()); mySimulationShape1->Set(S1); mySimulationShape1->SetColor(Quantity_NOC_RED); @@ -174,7 +134,7 @@ void EntityGUI::DisplaySimulationShape(const TopoDS_Shape& S1, const TopoDS_Shap ic->Display(mySimulationShape1, Standard_False); mySimulationShape1->UnsetColor(); } - if(!S2.IsNull()) { + if (!S2.IsNull()) { ic->Erase(mySimulationShape2, Standard_True, Standard_False); ic->ClearPrs(mySimulationShape2); @@ -194,7 +154,6 @@ void EntityGUI::DisplaySimulationShape(const TopoDS_Shape& S1, const TopoDS_Shap return; } - //================================================================================== // function : EraseSimulationShape() // purpose : Clears the display of 'mySimulationShape' a pure graphical shape @@ -229,7 +188,8 @@ void EntityGUI::EraseSimulationShape() //===================================================================================== bool EntityGUI::SObjectExist(const _PTR(SObject)& theFatherObject, const char* IOR) { - SalomeApp_Study* appStudy = dynamic_cast( SUIT_Session::session()->activeApplication()->activeStudy() ); + SalomeApp_Study* appStudy = dynamic_cast + ( SUIT_Session::session()->activeApplication()->activeStudy() ); if ( !appStudy ) return false; _PTR(Study) aStudy = appStudy->studyDS(); _PTR(ChildIterator) it ( aStudy->NewChildIterator(theFatherObject) ); @@ -254,416 +214,6 @@ bool EntityGUI::SObjectExist(const _PTR(SObject)& theFatherObject, const char* I } -//===================================================================================== -// function : OnSubShapeGetAll() -// purpose : Explode a shape in all sub shapes with a SubShapeType -//===================================================================================== -bool EntityGUI::OnSubShapeGetAll(const TopoDS_Shape& ShapeTopo, const char* ShapeTopoIOR, const int SubShapeType) -{ - SUIT_Session::session()->activeApplication()->putInfo("OnSubShapeGetAll method from EntityGUI should be reimplemented ..."); - /* - SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument(); - SALOMEDS::SObject_var theObj = aStudy->FindObjectIOR(ShapeTopoIOR); - if(theObj->_is_nil()) { - QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_SHAPE_IN_STUDY")); - return false; - } - - SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder(); - SALOMEDS::SObject_var fatherSF = aStudy->FindObjectID(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->entry()); - SALOMEDS::GenericAttribute_var anAttr; - SALOMEDS::AttributeName_var aName; - SALOMEDS::AttributeIOR_var anIOR; - SALOMEDS::AttributePixMap_var aPixmap; - - // We create a sub object for each sub shape as attribute of the main object - // Each sub object contains list (length=1) containing its index in the main shape - GEOM::GEOM_Shape_var aShape = myGeom->GetIORFromString(ShapeTopoIOR); - GEOM::GEOM_Gen::ListOfGeomShapes_var listGeomShapes = new GEOM::GEOM_Gen::ListOfGeomShapes; - GEOM::GEOM_Shape_var aResult; - - try { - listGeomShapes = myGeom->SubShapeAll(aShape, SubShapeType); - if(listGeomShapes->length() < 1) { - QAD_Application::getDesktop()->putInfo (tr("GEOM_PRP_ABORT")); - return false; - } - } - catch(const SALOME::SALOME_Exception& S_ex) { - SalomeApp_Tools::QtCatchCorbaException(S_ex); - } - - // open transaction - QAD_Operation* op = new SALOMEGUI_ImportOperation(QAD_Application::getDesktop()->getActiveStudy()); - op->start(); - - TopoDS_Shape mainTopo = myGeomGUI->GetShapeReader().GetShape(myGeom, aShape); - TopoDS_Shape mainShape; - bool main = false; - while(!main) { - if(aShape->IsMainShape()) { - mainShape = myGeomGUI->GetShapeReader().GetShape(myGeom, aShape); - main = true; - } - else - aShape = myGeom->GetIORFromString(aShape->MainName()); - } - - // Loop on each sub shape created - // int i = 1 ; index for the nameType - for(int j=0; jlength(); j++) { - // Get each sub shape extracted CORBA and OCC - aResult = listGeomShapes[j] ; - TopoDS_Shape S = myGeomGUI->GetShapeReader().GetShape(myGeom, aResult); - - if (S.IsNull()) { - QAD_Application::getDesktop()->putInfo (tr("GEOM_PRP_ABORT")); - return false; - } - - // Set the nameType of sub shape - char* nameG = (char *)malloc(20); - Standard_CString Type; - if(myGeomBase->GetShapeTypeString(S, Type)) { - aResult->NameType(Type); - sprintf(nameG, "%s_%d", Type, myGeomBase->GetIndex(S, mainShape, SubShapeType)); - } - else { - aResult->NameType(tr("GEOM_SHAPE")); - sprintf(nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->myNbGeom++); - } - SALOMEDS::SObject_var SO = aStudy->FindObjectIOR(aResult->Name()); - - bool allreadyexist = false; - - if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_OCC) { - OCCViewer_Viewer3d* v3d = ((OCCViewer_ViewFrame*)QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getRightFrame()->getViewFrame())->getViewer(); - Handle (AIS_InteractiveContext) ic = v3d->getAISContext(); - - Handle(GEOM_AISShape) result = new GEOM_AISShape(S, nameG); - Handle(GEOM_InteractiveObject) IO = new GEOM_InteractiveObject(aResult->Name(), myGeomGUI->GetFatherior(), "GEOM"); - - MESSAGE ("SO->_is_nil() " << SO->_is_nil()) - - if(SO->_is_nil()) { - SALOMEDS::SObject_var newObj = aStudyBuilder->NewObject(theObj); - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeName"); - aName = SALOMEDS::AttributeName::_narrow(anAttr); - aName->SetValue(nameG); - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeIOR"); - anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr); - anIOR->SetValue(aResult->Name()); - - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributePixMap"); - aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr); - MESSAGE(" Type " << S.ShapeType()) - if (S.ShapeType() == TopAbs_COMPOUND) - aPixmap->SetPixMap("ICON_OBJBROWSER_COMPOUND"); - else if(S.ShapeType() == TopAbs_COMPSOLID) - aPixmap->SetPixMap("ICON_OBJBROWSER_COMPSOLID"); - else if(S.ShapeType() == TopAbs_SOLID) - aPixmap->SetPixMap("ICON_OBJBROWSER_SOLID"); - else if(S.ShapeType() == TopAbs_SHELL) - aPixmap->SetPixMap("ICON_OBJBROWSER_SHELL"); - else if(S.ShapeType() == TopAbs_FACE) - aPixmap->SetPixMap("ICON_OBJBROWSER_FACE"); - else if(S.ShapeType() == TopAbs_WIRE) - aPixmap->SetPixMap("ICON_OBJBROWSER_WIRE"); - else if(S.ShapeType() == TopAbs_EDGE) - aPixmap->SetPixMap("ICON_OBJBROWSER_EDGE"); - else if(S.ShapeType() == TopAbs_VERTEX) - aPixmap->SetPixMap("ICON_OBJBROWSER_VERTEX"); - - MESSAGE(" aPixmap->GetPixMap " << aPixmap->GetPixMap()) - - SALOMEDS::SObject_var newObj1 = aStudyBuilder->NewObject(fatherSF); - aStudyBuilder->Addreference(newObj1, newObj); - IO->setEntry(newObj->GetID()); - - aResult->StudyShapeId(newObj->GetID()); - } - else { - allreadyexist = true; - if(!this->SObjectExist(theObj, aResult->Name())) { - SALOMEDS::SObject_var newObj1 = aStudyBuilder->NewObject(theObj); - aStudyBuilder->Addreference(newObj1, SO); - IO->setEntry(SO->GetID()); - aResult->StudyShapeId(SO->GetID()); - } - } - - result->setIO(IO); - result->setName(nameG); - if(!allreadyexist) - ic->Display(result); - - } - else if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() == VIEW_VTK) { - SVTK_ViewFrame* vf = dynamic_cast( QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getRightFrame()->getViewFrame() ); - SVTK_RenderWindowInteractor* myRenderInter= vf ? vf->getRWInteractor() : 0; - - int themode = myRenderInter->GetDisplayMode(); - vtkRenderer *theRenderer = vf->getRenderer(); - vtkRenderWindow *renWin = theRenderer->GetRenderWindow(); - - Handle(GEOM_InteractiveObject) IO = new GEOM_InteractiveObject(aResult->Name(), myGeomGUI->GetFatherior(), "GEOM"); - - if(SO->_is_nil()) { - SALOMEDS::SObject_var newObj = aStudyBuilder->NewObject(theObj); - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeIOR"); - anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr); - anIOR->SetValue(aResult->Name()); - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeName"); - aName = SALOMEDS::AttributeName::_narrow(anAttr); - aName->SetValue(nameG); - - anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributePixMap"); - aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr); - if(S.ShapeType() == TopAbs_COMPOUND) - aPixmap->SetPixMap("ICON_OBJBROWSER_COMPOUND"); - else if(S.ShapeType() == TopAbs_COMPSOLID) - aPixmap->SetPixMap("ICON_OBJBROWSER_COMPSOLID"); - else if(S.ShapeType() == TopAbs_SOLID) - aPixmap->SetPixMap("ICON_OBJBROWSER_SOLID"); - else if(S.ShapeType() == TopAbs_SHELL) - aPixmap->SetPixMap("ICON_OBJBROWSER_SHELL"); - else if(S.ShapeType() == TopAbs_FACE) - aPixmap->SetPixMap("ICON_OBJBROWSER_FACE"); - else if(S.ShapeType() == TopAbs_WIRE) - aPixmap->SetPixMap("ICON_OBJBROWSER_WIRE"); - else if(S.ShapeType() == TopAbs_EDGE) - aPixmap->SetPixMap("ICON_OBJBROWSER_EDGE"); - else if(S.ShapeType() == TopAbs_VERTEX) - aPixmap->SetPixMap("ICON_OBJBROWSER_VERTEX"); - - SALOMEDS::SObject_var newObj1 = aStudyBuilder->NewObject(fatherSF); - aStudyBuilder->Addreference(newObj1, newObj); - IO->setEntry(newObj->GetID()); - } - else { - allreadyexist = true; - if(!this->SObjectExist(theObj, aResult->Name())) { - SALOMEDS::SObject_var newObj1 = aStudyBuilder->NewObject(theObj); - aStudyBuilder->Addreference(newObj1, SO); - IO->setEntry(SO->GetID()); - } - } - - if(!allreadyexist) { - vtkActorCollection* theActors = GEOM_AssemblyBuilder::BuildActors(S,0,themode,Standard_True); - theActors->InitTraversal(); - vtkActor* anActor = (vtkActor*)theActors->GetNextActor(); - while(!(anActor==NULL)) { - GEOM_Actor* GActor = GEOM_Actor::SafeDownCast(anActor); - GActor->setIO(IO); - GActor->setName(nameG); - theRenderer->AddActor(GActor); - renWin->Render(); - anActor = (vtkActor*)theActors->GetNextActor(); - } - } - } - } - - // commit transaction - op->finish(); - - QAD_Application::getDesktop()->getActiveStudy()->updateObjBrowser(); - QAD_Application::getDesktop()->putInfo (tr("GEOM_PRP_READY")); - */ - return true; -} - - -//===================================================================================== -// function : OnSubShapeGetSelected() -// purpose : -//===================================================================================== -bool EntityGUI::OnSubShapeGetSelected(const TopoDS_Shape& ShapeTopo, const char* ShapeTopoIOR, const int SubShapeType, Standard_Integer& aLocalContextId, bool& myUseLocalContext) -{ - SUIT_Session::session()->activeApplication()->putInfo("OnSubShapeGetSelected method from EntityGUI should be reimplemented ..."); - // //* Test the type of viewer */ -// if(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getTypeView() > VIEW_OCC) -// return false; - -// SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument(); -// SALOMEDS::SObject_var theObj = aStudy->FindObjectIOR(ShapeTopoIOR); -// if(theObj->_is_nil()) { -// QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_SHAPE_IN_STUDY")); -// return false; -// } - -// OCCViewer_Viewer3d* v3d = ((OCCViewer_ViewFrame*)QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getRightFrame()->getViewFrame())->getViewer(); -// Handle(AIS_InteractiveContext) ic = v3d->getAISContext(); - -// if( myUseLocalContext == false ) { -// /* local context is from DialogBox */ -// MESSAGE("Error : No local context opened for sub shapes method" << endl ) ; -// return false ; -// } - -// GEOM::GEOM_Shape_var aShape = myGeom->GetIORFromString( ShapeTopoIOR ); -// TopoDS_Shape mainTopo = myGeomGUI->GetShapeReader().GetShape(myGeom, aShape); - -// TopoDS_Shape mainShape; -// bool main = false; -// while(!main) { -// if(aShape->IsMainShape()) { -// mainShape = myGeomGUI->GetShapeReader().GetShape(myGeom, aShape); -// main = true; -// } -// else -// aShape = myGeom->GetIORFromString(aShape->MainName()); -// } - -// GEOM::GEOM_Shape::ListOfSubShapeID_var ListOfID = new GEOM::GEOM_Shape::ListOfSubShapeID; -// ic->InitSelected(); -// int nbSelected = ic->NbSelected(); -// ListOfID->length(nbSelected); - -// TopoDS_Compound compound; -// ic->InitSelected(); /* to init again */ -// BRep_Builder B; -// B.MakeCompound(compound); - -// int i = 0; -// /* We create a unique compound containing all the sub shapes selected by user as attribute of the main shape */ -// /* the compound is homogenous by selection */ -// while(ic->MoreSelected()) { -// int index = myGeomBase->GetIndex(ic->SelectedShape(), mainShape, SubShapeType); -// ListOfID[i] = index; -// B.Add(compound, ic->SelectedShape()); -// i++; -// ic->NextSelected(); -// } - -// /* Test if user has selected sub shapes */ -// if(ListOfID->length() < 1) -// return false; - -// GEOM::GEOM_Shape_var aResult; -// try { -// aResult = myGeom->SubShape(aShape, SubShapeType, ListOfID); -// } -// catch (const SALOME::SALOME_Exception& S_ex) { -// SalomeApp_Tools::QtCatchCorbaException(S_ex); -// } - -// /* local context from DialogBox */ -// ic->CloseLocalContext(aLocalContextId); -// myUseLocalContext = false ; - -// char* nameG = (char *)malloc(20); -// Standard_CString Type; - -// Handle(GEOM_AISShape) result; -// Handle(GEOM_InteractiveObject) IO; - -// if(nbSelected == 1) { -// TopExp_Explorer Exp (compound, TopAbs_ShapeEnum(SubShapeType)); -// if(Exp.More()) { -// if(myGeomBase->GetShapeTypeString(Exp.Current(),Type)) { -// aResult->NameType(Type); -// sprintf (nameG, "%s_%d", Type, myGeomBase->GetIndex( Exp.Current(), mainTopo, SubShapeType)); -// } -// else { -// aResult->NameType(tr("GEOM_SHAPE")); -// sprintf (nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->myNbGeom++); -// } -// result = new GEOM_AISShape(Exp.Current(), nameG); -// IO = new GEOM_InteractiveObject(aResult->Name(), myGeomGUI->GetFatherior(), "GEOM"); -// } -// } -// else { -// if ( myGeomBase->GetShapeTypeString(compound,Type)) { -// aResult->NameType(Type); -// sprintf (nameG, "%s_%d", Type, myGeomGUI->myNbGeom++); -// } else { -// aResult->NameType(tr("GEOM_SHAPE")); -// sprintf (nameG, "%s_%d", tr("GEOM_SHAPE").latin1(), myGeomGUI->myNbGeom++); -// } -// result = new GEOM_AISShape(compound, nameG); -// IO = new GEOM_InteractiveObject(aResult->Name(), myGeomGUI->GetFatherior(), "GEOM"); -// } - -// SALOMEDS::SObject_var SO = aStudy->FindObjectIOR(aResult->Name()); - -// /* open transaction */ -// QAD_Operation* op = new SALOMEGUI_ImportOperation(QAD_Application::getDesktop()->getActiveStudy()); -// op->start(); - -// SALOMEDS::StudyBuilder_var aStudyBuilder = aStudy->NewBuilder(); -// SALOMEDS::SObject_var fatherSF = aStudy->FindObjectID(QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->entry()); -// SALOMEDS::GenericAttribute_var anAttr; -// SALOMEDS::AttributeName_var aName; -// SALOMEDS::AttributeIOR_var anIOR; -// SALOMEDS::AttributePixMap_var aPixmap; - -// bool allreadyexist = false; - -// if(SO->_is_nil()) { -// SALOMEDS::SObject_var newObj = aStudyBuilder->NewObject(theObj); -// anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeIOR"); -// anIOR = SALOMEDS::AttributeIOR::_narrow(anAttr); -// anIOR->SetValue(aResult->Name()); -// anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributeName"); -// aName = SALOMEDS::AttributeName::_narrow(anAttr); -// aName->SetValue(result->getName()); - -// anAttr = aStudyBuilder->FindOrCreateAttribute(newObj, "AttributePixMap"); -// aPixmap = SALOMEDS::AttributePixMap::_narrow(anAttr); -// if(result->Shape().ShapeType() == TopAbs_COMPOUND) -// aPixmap->SetPixMap("ICON_OBJBROWSER_COMPOUND"); -// else if(result->Shape().ShapeType() == TopAbs_COMPSOLID) -// aPixmap->SetPixMap("ICON_OBJBROWSER_COMPSOLID"); -// else if(result->Shape().ShapeType() == TopAbs_SOLID) -// aPixmap->SetPixMap("ICON_OBJBROWSER_SOLID"); -// else if(result->Shape().ShapeType() == TopAbs_SHELL) -// aPixmap->SetPixMap("ICON_OBJBROWSER_SHELL"); -// else if(result->Shape().ShapeType() == TopAbs_FACE) -// aPixmap->SetPixMap("ICON_OBJBROWSER_FACE"); -// else if(result->Shape().ShapeType() == TopAbs_WIRE) -// aPixmap->SetPixMap("ICON_OBJBROWSER_WIRE"); -// else if(result->Shape().ShapeType() == TopAbs_EDGE) -// aPixmap->SetPixMap("ICON_OBJBROWSER_EDGE"); -// else if(result->Shape().ShapeType() == TopAbs_VERTEX) -// aPixmap->SetPixMap("ICON_OBJBROWSER_VERTEX"); - -// SALOMEDS::SObject_var newObj1 = aStudyBuilder->NewObject(fatherSF); -// aStudyBuilder->Addreference(newObj1, newObj); - -// IO->setEntry(newObj->GetID()); -// aResult->StudyShapeId(newObj->GetID()); -// } -// else { -// allreadyexist = true; -// if(!this->SObjectExist(theObj, aResult->Name())) { -// SALOMEDS::SObject_var newObj1 = aStudyBuilder->NewObject(theObj); -// aStudyBuilder->Addreference(newObj1, SO); - -// IO->setEntry(SO->GetID()); -// aResult->StudyShapeId(SO->GetID()); -// } -// } - -// /* commit transaction */ -// op->finish(); - -// result->setIO(IO); -// result->setName(nameG); - -// if(!allreadyexist) -// ic->Display(result); - -// DisplayGUI* myDisplayGUI = new DisplayGUI(); -// myDisplayGUI->OnDisplayAll(true); - -// QAD_Application::getDesktop()->getActiveStudy()->updateObjBrowser(); -// QAD_Application::getDesktop()->putInfo (tr("GEOM_PRP_READY")); - return true; -} - - //===================================================================================== // EXPORTED METHODS //===================================================================================== diff --git a/src/EntityGUI/EntityGUI.h b/src/EntityGUI/EntityGUI.h index fe2f7d816..7441021ab 100644 --- a/src/EntityGUI/EntityGUI.h +++ b/src/EntityGUI/EntityGUI.h @@ -24,16 +24,17 @@ // File : EntityGUI.h // Author : Damien COQUERET // Module : GEOM -// $Header$ #ifndef ENTITYGUI_H #define ENTITYGUI_H #include "GEOMGUI.h" -#include "GEOMBase.h" #include "SALOMEDSClient.hxx" +#include +#include + //================================================================================= // class : EntityGUI // purpose : @@ -51,29 +52,15 @@ public : bool OnGUIEvent(int theCommandID, SUIT_Desktop* parent); - void OnSketchEnd(const char *Cmd); - void DisplaySimulationShape(const TopoDS_Shape& S1, const TopoDS_Shape& S2); void EraseSimulationShape(); - void MakeInterpolAndDisplay(GEOM::string_array& listShapesIOR); - void MakeBezierAndDisplay(GEOM::string_array& listShapesIOR); - - /* Methods for sub shapes explode */ + // Methods for sub shapes explode bool SObjectExist(const _PTR(SObject)& theFatherObject, const char* IOR); - bool OnSubShapeGetAll(const TopoDS_Shape& ShapeTopo, const char* ShapeTopoIOR, const int SubShapeType); - bool OnSubShapeGetSelected(const TopoDS_Shape& ShapeTopo, const char* ShapeTopoIOR, const int SubShapeType, - Standard_Integer& aLocalContextId, bool& myUseLocalContext); - /* AIS shape used only during topo/geom simulations */ + // AIS shape used only during topo/geom simulations Handle(AIS_Shape) mySimulationShape1; Handle(AIS_Shape) mySimulationShape2; - - GEOMBase* myGeomBase; - GEOM::GEOM_Gen_var myGeom; /* Current Geom Component */ - -private: - static EntityGUI* myGUIObject; // the only EntityGUI object }; #endif diff --git a/src/EntityGUI/EntityGUI_Skeleton_QTD.cxx b/src/EntityGUI/EntityGUI_Skeleton_QTD.cxx index 65e0b2444..55c60b867 100644 --- a/src/EntityGUI/EntityGUI_Skeleton_QTD.cxx +++ b/src/EntityGUI/EntityGUI_Skeleton_QTD.cxx @@ -1,18 +1,18 @@ // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either +// License as published by the Free Software Foundation; either // version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ @@ -20,50 +20,47 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'EntityGUI_Skeleton_QTD.ui' ** -** Created: ven déc 12 11:17:08 2003 -** by: The User Interface Compiler (uic) +** Created: Fri Mar 17 15:47:14 2006 +** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! ****************************************************************************/ + #include "EntityGUI_Skeleton_QTD.h" #include -#include -#include #include +#include +#include #include #include #include #include -/* - * Constructs a EntityGUI_Skeleton_QTD which is a child of 'parent', with the +/* + * Constructs a EntityGUI_Skeleton_QTD as a child of 'parent', with the * name 'name' and widget flags set to 'f'. * * The dialog will by default be modeless, unless you set 'modal' to * TRUE to construct a modal dialog. */ -EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* name, bool modal, WFlags fl ) +EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* name, bool modal, WFlags fl ) : QDialog( parent, name, modal, fl ) { if ( !name ) setName( "EntityGUI_Skeleton_QTD" ); - resize( 317, 276 ); setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)7, 0, 0, sizePolicy().hasHeightForWidth() ) ); - setCaption( trUtf8( "EntityGUI_Skeleton_QTD" ) ); EntityGUI_Skeleton_QTDLayout = new QGridLayout( this, 1, 1, 11, 6, "EntityGUI_Skeleton_QTDLayout"); Layout1 = new QGridLayout( 0, 1, 1, 0, 6, "Layout1"); GroupVal = new QGroupBox( this, "GroupVal" ); GroupVal->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, 0, 0, GroupVal->sizePolicy().hasHeightForWidth() ) ); - GroupVal->setTitle( trUtf8( "" ) ); Layout1->addWidget( GroupVal, 2, 0 ); GroupConstructors = new QButtonGroup( this, "GroupConstructors" ); GroupConstructors->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)0, 0, 0, GroupConstructors->sizePolicy().hasHeightForWidth() ) ); - GroupConstructors->setTitle( trUtf8( "Element Type" ) ); GroupConstructors->setColumnLayout(0, Qt::Vertical ); GroupConstructors->layout()->setSpacing( 6 ); GroupConstructors->layout()->setMargin( 11 ); @@ -73,11 +70,9 @@ EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* na Layout2 = new QHBoxLayout( 0, 0, 6, "Layout2"); RadioButton1 = new QRadioButton( GroupConstructors, "RadioButton1" ); - RadioButton1->setText( trUtf8( "Segment" ) ); Layout2->addWidget( RadioButton1 ); RadioButton2 = new QRadioButton( GroupConstructors, "RadioButton2" ); - RadioButton2->setText( trUtf8( "Arc" ) ); Layout2->addWidget( RadioButton2 ); GroupConstructorsLayout->addLayout( Layout2, 0, 0 ); @@ -86,7 +81,6 @@ EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* na GroupDest = new QGroupBox( this, "GroupDest" ); GroupDest->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, GroupDest->sizePolicy().hasHeightForWidth() ) ); - GroupDest->setTitle( trUtf8( "Destination" ) ); GroupDest->setColumnLayout(0, Qt::Vertical ); GroupDest->layout()->setSpacing( 6 ); GroupDest->layout()->setMargin( 11 ); @@ -97,7 +91,6 @@ EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* na GroupDest1 = new QButtonGroup( GroupDest, "GroupDest1" ); GroupDest1->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, GroupDest1->sizePolicy().hasHeightForWidth() ) ); - GroupDest1->setTitle( trUtf8( "Type" ) ); GroupDest1->setColumnLayout(0, Qt::Vertical ); GroupDest1->layout()->setSpacing( 6 ); GroupDest1->layout()->setMargin( 11 ); @@ -107,12 +100,10 @@ EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* na Layout4 = new QGridLayout( 0, 1, 1, 0, 6, "Layout4"); RB_Dest2 = new QRadioButton( GroupDest1, "RB_Dest2" ); - RB_Dest2->setText( trUtf8( "Direction" ) ); Layout4->addWidget( RB_Dest2, 0, 1 ); RB_Dest1 = new QRadioButton( GroupDest1, "RB_Dest1" ); - RB_Dest1->setText( trUtf8( "Point" ) ); Layout4->addWidget( RB_Dest1, 0, 0 ); @@ -122,7 +113,6 @@ EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* na GroupDest2 = new QButtonGroup( GroupDest, "GroupDest2" ); GroupDest2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, 0, 0, GroupDest2->sizePolicy().hasHeightForWidth() ) ); - GroupDest2->setTitle( trUtf8( "" ) ); GroupDest2->setColumnLayout(0, Qt::Vertical ); GroupDest2->layout()->setSpacing( 6 ); GroupDest2->layout()->setMargin( 11 ); @@ -133,7 +123,6 @@ EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* na GroupDest3 = new QButtonGroup( GroupDest, "GroupDest3" ); GroupDest3->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, 0, 0, GroupDest3->sizePolicy().hasHeightForWidth() ) ); - GroupDest3->setTitle( trUtf8( "" ) ); GroupDest3->setColumnLayout(0, Qt::Vertical ); GroupDest3->layout()->setSpacing( 6 ); GroupDest3->layout()->setMargin( 11 ); @@ -148,7 +137,6 @@ EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* na GroupButtons = new QGroupBox( this, "GroupButtons" ); GroupButtons->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, GroupButtons->sizePolicy().hasHeightForWidth() ) ); - GroupButtons->setTitle( trUtf8( "" ) ); GroupButtons->setColumnLayout(0, Qt::Vertical ); GroupButtons->layout()->setSpacing( 6 ); GroupButtons->layout()->setMargin( 11 ); @@ -158,23 +146,26 @@ EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* na Layout3 = new QHBoxLayout( 0, 0, 6, "Layout3"); buttonEnd = new QPushButton( GroupButtons, "buttonEnd" ); - buttonEnd->setText( trUtf8( "End Sketch" ) ); Layout3->addWidget( buttonEnd ); buttonClose = new QPushButton( GroupButtons, "buttonClose" ); - buttonClose->setText( trUtf8( "Close Sketch" ) ); Layout3->addWidget( buttonClose ); - QSpacerItem* spacer = new QSpacerItem( 91, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ); - Layout3->addItem( spacer ); + Spacer1 = new QSpacerItem( 91, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ); + Layout3->addItem( Spacer1 ); buttonCancel = new QPushButton( GroupButtons, "buttonCancel" ); - buttonCancel->setText( trUtf8( "&Cancel" ) ); Layout3->addWidget( buttonCancel ); + + buttonHelp = new QPushButton( GroupButtons, "buttonHelp" ); + Layout3->addWidget( buttonHelp ); GroupButtonsLayout->addLayout( Layout3 ); Layout1->addWidget( GroupButtons, 3, 0 ); EntityGUI_Skeleton_QTDLayout->addLayout( Layout1, 0, 0 ); + languageChange(); + resize( QSize(317, 276).expandedTo(minimumSizeHint()) ); + clearWState( WState_Polished ); // tab order setTabOrder( RadioButton1, RadioButton2 ); @@ -185,7 +176,7 @@ EntityGUI_Skeleton_QTD::EntityGUI_Skeleton_QTD( QWidget* parent, const char* na setTabOrder( buttonClose, buttonCancel ); } -/* +/* * Destroys the object and frees any allocated resources */ EntityGUI_Skeleton_QTD::~EntityGUI_Skeleton_QTD() @@ -193,3 +184,27 @@ EntityGUI_Skeleton_QTD::~EntityGUI_Skeleton_QTD() // no need to delete child widgets, Qt does it all for us } +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void EntityGUI_Skeleton_QTD::languageChange() +{ + setCaption( tr( "EntityGUI_Skeleton_QTD" ) ); + GroupVal->setTitle( QString::null ); + GroupConstructors->setTitle( tr( "Element Type" ) ); + RadioButton1->setText( tr( "Segment" ) ); + RadioButton2->setText( tr( "Arc" ) ); + GroupDest->setTitle( tr( "Destination" ) ); + GroupDest1->setTitle( tr( "Type" ) ); + RB_Dest2->setText( tr( "Direction" ) ); + RB_Dest1->setText( tr( "Point" ) ); + GroupDest2->setTitle( QString::null ); + GroupDest3->setTitle( QString::null ); + GroupButtons->setTitle( QString::null ); + buttonEnd->setText( tr( "End Sketch" ) ); + buttonClose->setText( tr( "Close Sketch" ) ); + buttonCancel->setText( tr( "&Cancel" ) ); + buttonHelp->setText( tr( "&Help" ) ); +} + diff --git a/src/EntityGUI/EntityGUI_Skeleton_QTD.h b/src/EntityGUI/EntityGUI_Skeleton_QTD.h index df965cddc..735a3cf10 100644 --- a/src/EntityGUI/EntityGUI_Skeleton_QTD.h +++ b/src/EntityGUI/EntityGUI_Skeleton_QTD.h @@ -1,18 +1,18 @@ // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either +// License as published by the Free Software Foundation; either // version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ @@ -20,26 +20,29 @@ /**************************************************************************** ** Form interface generated from reading ui file 'EntityGUI_Skeleton_QTD.ui' ** -** Created: ven déc 12 11:17:07 2003 -** by: The User Interface Compiler (uic) +** Created: Fri Mar 17 15:47:13 2006 +** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! ****************************************************************************/ + #ifndef ENTITYGUI_SKELETON_QTD_H #define ENTITYGUI_SKELETON_QTD_H #include #include -class QVBoxLayout; -class QHBoxLayout; -class QGridLayout; -class QButtonGroup; + +class QVBoxLayout; +class QHBoxLayout; +class QGridLayout; +class QSpacerItem; class QGroupBox; -class QPushButton; +class QButtonGroup; class QRadioButton; +class QPushButton; class EntityGUI_Skeleton_QTD : public QDialog -{ +{ Q_OBJECT public: @@ -60,7 +63,7 @@ public: QPushButton* buttonEnd; QPushButton* buttonClose; QPushButton* buttonCancel; - + QPushButton* buttonHelp; protected: QGridLayout* EntityGUI_Skeleton_QTDLayout; @@ -75,6 +78,11 @@ protected: QGridLayout* GroupDest3Layout; QHBoxLayout* GroupButtonsLayout; QHBoxLayout* Layout3; + QSpacerItem* Spacer1; + +protected slots: + virtual void languageChange(); + }; #endif // ENTITYGUI_SKELETON_QTD_H diff --git a/src/EntityGUI/EntityGUI_SketcherDlg.cxx b/src/EntityGUI/EntityGUI_SketcherDlg.cxx index 0e6a141d5..6a7d7e679 100644 --- a/src/EntityGUI/EntityGUI_SketcherDlg.cxx +++ b/src/EntityGUI/EntityGUI_SketcherDlg.cxx @@ -29,12 +29,14 @@ #include "EntityGUI_SketcherDlg.h" #include "Sketcher_Profile.hxx" #include "GEOM_Displayer.h" +#include "GEOMBase.h" #include "SUIT_Desktop.h" #include "SUIT_Session.h" #include "SUIT_MessageBox.h" #include "SUIT_ResourceMgr.h" #include "SalomeApp_Application.h" +#include "LightApp_Application.h" #include "LightApp_SelectionMgr.h" #include @@ -61,8 +63,11 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -EntityGUI_SketcherDlg::EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :EntityGUI_Skeleton_QTD(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose), myIsAllAdded( false ), +EntityGUI_SketcherDlg::EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :EntityGUI_Skeleton_QTD(parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose), + myIsAllAdded( false ), GEOMBase_Helper( dynamic_cast( parent ) ), myGeometryGUI( GUI ) { @@ -73,6 +78,7 @@ EntityGUI_SketcherDlg::EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent, buttonCancel->setText(tr("GEOM_BUT_CANCEL")); buttonEnd->setText(tr("GEOM_BUT_END_SKETCH")); buttonClose->setText(tr("GEOM_BUT_CLOSE_SKETCH")); + buttonHelp->setText(tr("GEOM_BUT_HELP")); GroupVal->close(TRUE); GroupDest2->close(TRUE); @@ -160,6 +166,7 @@ EntityGUI_SketcherDlg::EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent, connect(buttonEnd, SIGNAL(clicked()), this, SLOT(ClickOnEnd())); connect(buttonClose, SIGNAL(clicked()), this, SLOT(ClickOnEnd())); connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); + connect(buttonHelp, SIGNAL( clicked() ), this, SLOT( ClickOnHelp())); connect(Group1Sel->buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); connect(Group1Sel->buttonUndo, SIGNAL(clicked()), this, SLOT(ClickOnUndo())); @@ -210,7 +217,7 @@ EntityGUI_SketcherDlg::EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent, connect(myGeometryGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); connect(myGeometryGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); - + Init(); } @@ -244,6 +251,8 @@ void EntityGUI_SketcherDlg::Init() myLastX2 = 0.0; myLastY2 = 0.0; + myHelpFileName = "sketcher.htm"; + /* Get setting of step value from file configuration */ double step = SUIT_Session::session()->resourceMgr()->doubleValue( "Geometry", "SettingsGeomStep", 100.0 ); @@ -671,6 +680,8 @@ void EntityGUI_SketcherDlg::ClickOnEnd() //================================================================================= bool EntityGUI_SketcherDlg::ClickOnApply() { + ((QPushButton*)sender())->setFocus(); + myCommand.append( GetNewCommand() ); mySketchState = NEXT_POINT; @@ -687,6 +698,23 @@ bool EntityGUI_SketcherDlg::ClickOnApply() return true; } +//================================================================================= +// function : ClickOnHelp() +// purpose : +//================================================================================= +void EntityGUI_SketcherDlg::ClickOnHelp() +{ + LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication()); + if (app) + app->onHelpContextModule(myGeometryGUI ? app->moduleName(myGeometryGUI->moduleName()) : QString(""), myHelpFileName); + else { + SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), + QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName), + QObject::tr("BUT_OK")); + } +} + //================================================================================= // function : ClickOnUndo() // purpose : @@ -1403,4 +1431,3 @@ bool EntityGUI_SketcherDlg::createShapes( GEOM::GEOM_Object_ptr theObject, - diff --git a/src/EntityGUI/EntityGUI_SketcherDlg.h b/src/EntityGUI/EntityGUI_SketcherDlg.h index 2546a5fe2..0d6956f48 100644 --- a/src/EntityGUI/EntityGUI_SketcherDlg.h +++ b/src/EntityGUI/EntityGUI_SketcherDlg.h @@ -24,7 +24,6 @@ // File : EntityGUI_SketcherDlg.h // Author : Damine COQUERET // Module : GEOM -// $Header: #ifndef ENTITYGUI_SKETCHERDLG_H #define ENTITYGUI_SKETCHERDLG_H @@ -63,7 +62,8 @@ class EntityGUI_SketcherDlg : public EntityGUI_Skeleton_QTD, public GEOMBase_Hel Q_OBJECT public: - EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + EntityGUI_SketcherDlg(GeometryGUI* GUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~EntityGUI_SketcherDlg(); protected: @@ -89,9 +89,9 @@ private : int mySketchState; bool myIsAllAdded; - + QLineEdit* myEditCurrentArgument; /* Current LineEdit */ - + QStringList myCommand; QStringList myUndoCommand; @@ -112,6 +112,8 @@ private : GeometryGUI* myGeometryGUI; + QString myHelpFileName; + enum SketchState {FIRST_POINT, NEXT_POINT}; enum SketchType {PT_ABS, PT_RELATIVE, PT_SEL, @@ -129,12 +131,14 @@ private : bool createShapes( GEOM::GEOM_Object_ptr theObject, TopoDS_Shape& theApplyedWire, TopoDS_Shape& theLastSegment ); + private slots: void ClickOnEnd(); void ClickOnCancel(); bool ClickOnApply(); void ClickOnUndo(); void ClickOnRedo(); + void ClickOnHelp(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); @@ -146,7 +150,6 @@ private slots: void Dir1Clicked(int constructorId); void Dir2Clicked(int constructorId); void ValueChangedInSpinBox(double newValue); - }; #endif // ENTITYGUI_SKETCHERDLG_H diff --git a/src/EntityGUI/EntityGUI_SubShapeDlg.cxx b/src/EntityGUI/EntityGUI_SubShapeDlg.cxx index 27c0b6c87..03a640c79 100644 --- a/src/EntityGUI/EntityGUI_SubShapeDlg.cxx +++ b/src/EntityGUI/EntityGUI_SubShapeDlg.cxx @@ -52,8 +52,9 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -EntityGUI_SubShapeDlg::EntityGUI_SubShapeDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, fl) +EntityGUI_SubShapeDlg::EntityGUI_SubShapeDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, fl) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SUBSHAPE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -77,6 +78,8 @@ EntityGUI_SubShapeDlg::EntityGUI_SubShapeDlg(QWidget* parent, const char* name, Layout1->addWidget(GroupPoints, 1, 0); /***************************************************************/ + setHelpFileName("explode.htm"); + Init(); } @@ -118,9 +121,7 @@ void EntityGUI_SubShapeDlg::Init() GroupPoints->CheckButton1->setEnabled(false); /* signals and slots connections */ - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -130,10 +131,10 @@ void EntityGUI_SubShapeDlg::Init() connect(GroupPoints->ComboBox1, SIGNAL(activated(int)), this, SLOT(ComboTextChanged())); connect(GroupPoints->CheckButton1, SIGNAL(stateChanged(int)), this, SLOT(SubShapeToggled())); - + connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; - + updateButtonState(); SelectionIntoArgument(); @@ -205,7 +206,7 @@ void EntityGUI_SubShapeDlg::SelectionIntoArgument() return; } - if ( !myGeomBase->GetTopoFromSelection( selectedIO(), S ) || + if ( !GEOMBase::GetTopoFromSelection( selectedIO(), S ) || S.IsNull() || S.ShapeType() == TopAbs_VERTEX ) { @@ -326,7 +327,7 @@ void EntityGUI_SubShapeDlg::LineEditReturnPressed() //================================================================================= void EntityGUI_SubShapeDlg::DeactivateActiveDialog() { - if(GroupConstructors->isEnabled()) { + if (GroupConstructors->isEnabled()) { GEOMBase_Skeleton::DeactivateActiveDialog(); } } @@ -352,9 +353,8 @@ void EntityGUI_SubShapeDlg::ActivateThisDialog() //================================================================================= void EntityGUI_SubShapeDlg::enterEvent(QEvent* e) { - if(GroupConstructors->isEnabled()) - return; - ActivateThisDialog(); + if (!GroupConstructors->isEnabled()) + ActivateThisDialog(); } //================================================================================= diff --git a/src/EntityGUI/EntityGUI_SubShapeDlg.h b/src/EntityGUI/EntityGUI_SubShapeDlg.h index 59fa1e016..c159539d5 100644 --- a/src/EntityGUI/EntityGUI_SubShapeDlg.h +++ b/src/EntityGUI/EntityGUI_SubShapeDlg.h @@ -24,7 +24,6 @@ // File : EntityGUI_SubShapeDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_SUBSHAPE_H #define DIALOGBOX_SUBSHAPE_H @@ -42,11 +41,9 @@ class EntityGUI_SubShapeDlg : public GEOMBase_Skeleton Q_OBJECT public: - EntityGUI_SubShapeDlg( QWidget* parent = 0, - const char* name = 0, - bool modal = FALSE, - WFlags fl = 0 ); - ~EntityGUI_SubShapeDlg(); + EntityGUI_SubShapeDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); + ~EntityGUI_SubShapeDlg(); protected: // redefined from GEOMBase_Helper diff --git a/src/EntityGUI/UIFiles/EntityGUI_Skeleton_QTD.ui b/src/EntityGUI/UIFiles/EntityGUI_Skeleton_QTD.ui index 1a27ca107..c257a8086 100644 --- a/src/EntityGUI/UIFiles/EntityGUI_Skeleton_QTD.ui +++ b/src/EntityGUI/UIFiles/EntityGUI_Skeleton_QTD.ui @@ -358,6 +358,14 @@ &Cancel + + + buttonHelp + + + &Help + + diff --git a/src/EntityGUI/UIFiles/ui_to_cxx b/src/EntityGUI/UIFiles/ui_to_cxx index a430c4c4b..f09cc6acc 100755 --- a/src/EntityGUI/UIFiles/ui_to_cxx +++ b/src/EntityGUI/UIFiles/ui_to_cxx @@ -1,22 +1,22 @@ -// 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/ -// +# 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/ +# #!/bin/sh uic -o EntityGUI_Skeleton_QTD.h EntityGUI_Skeleton_QTD.ui diff --git a/src/GEOM/GEOM_Engine.cxx b/src/GEOM/GEOM_Engine.cxx index c6ca2f493..bf50e95ba 100644 --- a/src/GEOM/GEOM_Engine.cxx +++ b/src/GEOM/GEOM_Engine.cxx @@ -474,7 +474,7 @@ TCollection_AsciiString GEOM_Engine::DumpPython(int theDocID, } //Add final part of the script - if(aSeq->Value(aLen) < aScriptLength) anUpdatedScript += aScript.SubString(aSeq->Value(aLen)+1, aScriptLength); + if(aLen && aSeq->Value(aLen) < aScriptLength) anUpdatedScript += aScript.SubString(aSeq->Value(aLen)+1, aScriptLength); // mkr : IPAL11865 // Make script to publish in study if ( isPublished ) diff --git a/src/GEOM/Makefile.in b/src/GEOM/Makefile.in index ca263cd97..43ac25d5f 100644 --- a/src/GEOM/Makefile.in +++ b/src/GEOM/Makefile.in @@ -1,3 +1,22 @@ +# 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/ +# top_srcdir=@top_srcdir@ top_builddir=../.. diff --git a/src/GEOMBase/GEOMBase.cxx b/src/GEOMBase/GEOMBase.cxx index 049432031..1539bb563 100644 --- a/src/GEOMBase/GEOMBase.cxx +++ b/src/GEOMBase/GEOMBase.cxx @@ -89,23 +89,6 @@ using namespace std; #include "SALOMEDSClient.hxx" -//======================================================================= -// function : GEOMBase() -// purpose : Constructor -//======================================================================= -GEOMBase::GEOMBase() -{ -} - - -//======================================================================= -// function : ~GEOMBase() -// purpose : Destructor -//======================================================================= -GEOMBase::~GEOMBase() -{ -} - //===================================================================================== // function : GetShapeFromIOR() // purpose : exist also as static method ! diff --git a/src/GEOMBase/GEOMBase.h b/src/GEOMBase/GEOMBase.h index c118ac737..372144172 100644 --- a/src/GEOMBase/GEOMBase.h +++ b/src/GEOMBase/GEOMBase.h @@ -24,7 +24,6 @@ // File : GEOMBase.h // Author : Damien COQUERET // Module : GEOM -// $Header$ #ifndef GEOMBASE_H #define GEOMBASE_H @@ -65,53 +64,45 @@ class QWidget; class GEOMBASE_WNT_EXPORT GEOMBase { public : - GEOMBase(); - ~GEOMBase(); - - // SAN -- TO BE REMOVED !!! - static bool Display( GEOM::GEOM_Object_ptr ) {return false;} - static bool AddInStudy( GEOM::GEOM_Object_ptr ) {return false;} - static void DisplaySimulationShape(const TopoDS_Shape& S) {}; - static void EraseSimulationShape() {}; - // SAN -- TO BE REMOVED !!! - /* Selection and objects management */ static int GetIndex(const TopoDS_Shape& subshape, const TopoDS_Shape& shape, int ShapeType); static TopoDS_Shape GetShapeFromIOR(QString IOR); - static bool GetShape( const GEOM::GEOM_Object_ptr&, TopoDS_Shape&, const TopAbs_ShapeEnum = TopAbs_SHAPE ); + static bool GetShape(const GEOM::GEOM_Object_ptr&, TopoDS_Shape&, + const TopAbs_ShapeEnum = TopAbs_SHAPE); static bool GetTopoFromSelection(const SALOME_ListIO& aList, TopoDS_Shape& tds); - static int GetNameOfSelectedIObjects(const SALOME_ListIO& aList, QString& aName, const bool theShapesOnly = false ); + static int GetNameOfSelectedIObjects(const SALOME_ListIO& aList, QString& aName, + const bool theShapesOnly = false); static bool GetShapeTypeString(const TopoDS_Shape& aShape, Standard_CString& aTypeString); /* Convertions */ static GEOM::GEOM_Object_ptr ConvertIOinGEOMShape(const Handle(SALOME_InteractiveObject)& IO, - Standard_Boolean& testResult); + Standard_Boolean& testResult); static Handle(GEOM_AISShape) ConvertIOinGEOMAISShape(const Handle(SALOME_InteractiveObject)& IO, - Standard_Boolean& testResult, - bool onlyInActiveView = false); + Standard_Boolean& testResult, + bool onlyInActiveView = false); - static Handle(AIS_InteractiveObject) GetAIS( const Handle(SALOME_InteractiveObject)& theIO, - const bool isOnlyInActiveView = false ); + static Handle(AIS_InteractiveObject) GetAIS(const Handle(SALOME_InteractiveObject)& theIO, + const bool isOnlyInActiveView = false); static void ConvertListOfIOInListOfIOR(const SALOME_ListIO& aList, - GEOM::string_array& listIOR); + GEOM::string_array& listIOR); static Handle(GEOM_AISShape) ConvertIORinGEOMAISShape(const char * IOR, - Standard_Boolean& testResult, - bool onlyInActiveView = false); + Standard_Boolean& testResult, + bool onlyInActiveView = false); static GEOM_Actor* ConvertIORinGEOMActor(const char * IOR, Standard_Boolean& testResult, - bool onlyInActiveView = false); + bool onlyInActiveView = false); static GEOM::GEOM_Object_ptr ConvertIOinGEOMObject(const Handle(SALOME_InteractiveObject)& IO, - Standard_Boolean& testResult); + Standard_Boolean& testResult); - static void ConvertListOfIOInListOfGO( const SALOME_ListIO& aList, - GEOM::ListOfGO& listGO, - const bool theShapesOnly = false ); + static void ConvertListOfIOInListOfGO(const SALOME_ListIO& aList, + GEOM::ListOfGO& listGO, + const bool theShapesOnly = false); - static GEOM::GEOM_Object_ptr GetObjectFromIOR( const char* theIOR ); + static GEOM::GEOM_Object_ptr GetObjectFromIOR(const char* theIOR); + + static char* GetIORFromObject(const GEOM::GEOM_Object_ptr& theObject); - static char* GetIORFromObject( const GEOM::GEOM_Object_ptr& theObject ); - /* Geometry */ static bool VertexToPoint(const TopoDS_Shape& S, gp_Pnt& P); @@ -121,15 +112,16 @@ public : /* User dialog 1 parameter returned */ static double Parameter(Standard_Boolean& res, - const char* aValue1 = 0, const char* aTitle1 = 0, - const char* aTitle = 0, const double bottom = -1E6, - const double top = +1E6, const int decimals = 6); + const char* aValue1 = 0, const char* aTitle1 = 0, + const char* aTitle = 0, const double bottom = -1E6, + const double top = +1E6, const int decimals = 6); /* Simulation management */ static bool CreateArrowForLinearEdge(const TopoDS_Shape& tds, TopoDS_Shape& ArrowCone); /* Generates default names */ - static bool SelectionByNameInDialogs(QWidget* aWidget, const QString& userObjectName, const SALOME_ListIO& aList); + static bool SelectionByNameInDialogs(QWidget* aWidget, const QString& userObjectName, + const SALOME_ListIO& aList); /* Shows message box with error code */ static bool DefineDlgPosition(QWidget* aDlg, int& x, int& y); @@ -139,10 +131,9 @@ public : static void ShowErrorMessage(const char* theErrorCode, const char* theComment = 0); /* Gets name of object */ - static QString GetName( GEOM::GEOM_Object_ptr ); + static QString GetName(GEOM::GEOM_Object_ptr); - static bool IsShape( GEOM::GEOM_Object_ptr theObj ); + static bool IsShape(GEOM::GEOM_Object_ptr theObj); }; #endif - diff --git a/src/GEOMBase/GEOMBase_Helper.cxx b/src/GEOMBase/GEOMBase_Helper.cxx index f48979a4e..c8201fc5f 100755 --- a/src/GEOMBase/GEOMBase_Helper.cxx +++ b/src/GEOMBase/GEOMBase_Helper.cxx @@ -109,7 +109,8 @@ GEOMBase_Helper::~GEOMBase_Helper() globalSelection( GEOM_ALLOBJECTS, true ); - delete myDisplayer; + if (myDisplayer) + delete myDisplayer; } //================================================================ diff --git a/src/GEOMBase/GEOMBase_Skeleton.cxx b/src/GEOMBase/GEOMBase_Skeleton.cxx index 57b32e089..8053618ba 100644 --- a/src/GEOMBase/GEOMBase_Skeleton.cxx +++ b/src/GEOMBase/GEOMBase_Skeleton.cxx @@ -27,11 +27,14 @@ // $Header$ #include "GEOMBase_Skeleton.h" + #include "GeometryGUI.h" -#include "SUIT_Session.h" #include "SalomeApp_Application.h" +#include "LightApp_Application.h" #include "LightApp_SelectionMgr.h" +#include "SUIT_Session.h" +#include "SUIT_MessageBox.h" #include @@ -44,9 +47,12 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -GEOMBase_Skeleton::GEOMBase_Skeleton(QWidget* parent, const char* name, bool modal, WFlags fl) - :DlgRef_Skeleton_QTD( parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose ), - GEOMBase_Helper( dynamic_cast( parent ) ) +GEOMBase_Skeleton::GEOMBase_Skeleton(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + : DlgRef_Skeleton_QTD( parent, name, modal, WStyle_Customize | WStyle_NormalBorder + | WStyle_Title | WStyle_SysMenu | WDestructiveClose ), + GEOMBase_Helper( dynamic_cast( parent ) ), + myGeomGUI( theGeometryGUI ) { if (!name) setName("GEOMBase_Skeleton"); @@ -54,6 +60,7 @@ GEOMBase_Skeleton::GEOMBase_Skeleton(QWidget* parent, const char* name, bool mod buttonCancel->setText(tr("GEOM_BUT_CLOSE")); buttonOk->setText(tr("GEOM_BUT_OK")); buttonApply->setText(tr("GEOM_BUT_APPLY")); + buttonHelp->setText(tr("GEOM_BUT_HELP")); GroupMedium->close(TRUE); resize(0, 0); @@ -79,15 +86,13 @@ GEOMBase_Skeleton::~GEOMBase_Skeleton() //================================================================================= void GEOMBase_Skeleton::Init() { - myGeomGUI = 0; SalomeApp_Application* app = (SalomeApp_Application*)(SUIT_Session::session()->activeApplication()); - if( app ) + if (!myGeomGUI && app) myGeomGUI = dynamic_cast( app->module( "Geometry" ) ); - + /* init variables */ - myGeomBase = new GEOMBase(); // SAN -- TO BE REMOVED !!! myGeomGUI->SetActiveDialogBox(this); - + /* signals and slots connections */ connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); if (myGeomGUI) @@ -95,10 +100,9 @@ void GEOMBase_Skeleton::Init() connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); } - - /* Move widget on the botton right corner of main widget */ -// int x, y; -// myGeomBase->DefineDlgPosition( this, x, y ); + + // connect help button on a private slot that displays help information + connect( buttonHelp, SIGNAL( clicked() ), this, SLOT( ClickOnHelp() ) ); /* displays Dialog */ RadioButton1->setChecked(TRUE); @@ -213,3 +217,29 @@ int GEOMBase_Skeleton::getConstructorId() const return GroupConstructors->id( GroupConstructors->selected() ); return -1; } + +//================================================================================= +// function : ClickOnHelp() +// purpose : +//================================================================================= +void GEOMBase_Skeleton::ClickOnHelp() +{ + LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication()); + if (app) + app->onHelpContextModule(myGeomGUI ? app->moduleName(myGeomGUI->moduleName()) : QString(""), myHelpFileName); + else { + SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), + QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName), + QObject::tr("BUT_OK")); + } +} +//================================================================================= +// function : setHelpFileName() +// purpose : set name for help file html +//================================================================================= + +void GEOMBase_Skeleton::setHelpFileName(const QString& theName) +{ + myHelpFileName = theName; +} diff --git a/src/GEOMBase/GEOMBase_Skeleton.h b/src/GEOMBase/GEOMBase_Skeleton.h index 1d3144cc3..af609eb58 100644 --- a/src/GEOMBase/GEOMBase_Skeleton.h +++ b/src/GEOMBase/GEOMBase_Skeleton.h @@ -24,7 +24,6 @@ // File : GEOMBase_Skeleton.h // Author : Damine COQUERET // Module : GEOM -// $Header$ #ifndef GEOMBASE_SKELETON_H #define GEOMBASE_SKELETON_H @@ -54,34 +53,44 @@ #endif class GEOMBASE_WNT_EXPORT GEOMBase_Skeleton : public DlgRef_Skeleton_QTD, public GEOMBase_Helper -{ +{ Q_OBJECT public: - GEOMBase_Skeleton(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + GEOMBase_Skeleton(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~GEOMBase_Skeleton(); -// int getConstructorId() const; // returns id of a selected "constructor" radio button or '-1' in case of error -private : +private: void Init(); protected: void closeEvent(QCloseEvent* e); - void initName( const char* thePrefix = 0 ); // initialize "Name" field with a string "thePrefix_X" (Vertex_3) - virtual const char* getNewObjectName() const; // returns contents of "Name" field - int getConstructorId() const; // returns id of a selected "constructor" radio button or '-1' in case of error + /*! initialize "Name" field with a string "thePrefix_X" (Vertex_3) + */ + void initName( const char* thePrefix = 0 ); - QLineEdit* myEditCurrentArgument; /* Current LineEdit */ - GEOMBase* myGeomBase; // SAN -- TO BE REMOVED !!! - GeometryGUI* myGeomGUI; /* reference GEOM GUI */ + /*! returns contents of "Name" field + */ + virtual const char* getNewObjectName() const; + + /*! returns id of a selected "constructor" radio button or '-1' in case of error + */ + int getConstructorId() const; + + void setHelpFileName( const QString& ); + + QLineEdit* myEditCurrentArgument; //!< Current LineEdit + GeometryGUI* myGeomGUI; //!< reference GEOM GUI + QString myHelpFileName; protected slots: void ClickOnCancel(); void LineEditReturnPressed(); void DeactivateActiveDialog(); void ActivateThisDialog(); - + void ClickOnHelp(); }; #endif // GEOMBASE_SKELETON_H diff --git a/src/GEOMContext/GEOM_icons.po b/src/GEOMContext/GEOM_icons.po index ed64a379c..7d3852d9c 100644 --- a/src/GEOMContext/GEOM_icons.po +++ b/src/GEOMContext/GEOM_icons.po @@ -1,3 +1,22 @@ +# 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/ +# # This is a Qt message file in .po format. Each msgid starts with # a scope. This scope should *NOT* be translated - eg. translating # from French to English, "Foo::Bar" would be translated to "Pub", diff --git a/src/GEOMContext/GEOM_msg_en.po b/src/GEOMContext/GEOM_msg_en.po index 5d07378e1..213da1118 100644 --- a/src/GEOMContext/GEOM_msg_en.po +++ b/src/GEOMContext/GEOM_msg_en.po @@ -1,3 +1,22 @@ +# 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/ +# # This is a Qt message file in .po format. Each msgid starts with # a scope. This scope should *NOT* be translated - eg. translating # from French to English, "Foo::Bar" would be translated to "Pub", diff --git a/src/GEOMContext/GEOM_msg_fr.po b/src/GEOMContext/GEOM_msg_fr.po index f0ba8041c..baa7fad40 100644 --- a/src/GEOMContext/GEOM_msg_fr.po +++ b/src/GEOMContext/GEOM_msg_fr.po @@ -1,3 +1,22 @@ +# 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/ +# # This is a Qt message file in .po format. Each msgid starts with # a scope. This scope should *NOT* be translated - eg. translating # from French to English, "Foo::Bar" would be translated to "Pub", diff --git a/src/GEOMGUI/GEOM_images.po b/src/GEOMGUI/GEOM_images.po index 82790154e..5e89ab3f4 100644 --- a/src/GEOMGUI/GEOM_images.po +++ b/src/GEOMGUI/GEOM_images.po @@ -1,3 +1,22 @@ +# 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/ +# # This is a Qt message file in .po format. Each msgid starts with # a scope. This scope should *NOT* be translated - eg. translating # from French to English, "Foo::Bar" would be translated to "Pub", diff --git a/src/GEOMGUI/GEOM_msg_en.po b/src/GEOMGUI/GEOM_msg_en.po index 4dcf34b03..018d08521 100644 --- a/src/GEOMGUI/GEOM_msg_en.po +++ b/src/GEOMGUI/GEOM_msg_en.po @@ -1,3 +1,22 @@ +# 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/ +# # This is a Qt message file in .po format. Each msgid starts with # a scope. This scope should *NOT* be translated - eg. translating # from French to English, "Foo::Bar" would be translated to "Pub", @@ -528,7 +547,7 @@ msgstr "Check Shape" #Check Blocks Compound msgid "GEOM_CHECK_BLOCKS_COMPOUND" -msgstr "Check Blocks Compound" +msgstr "Check and Improve Blocks Compound" #Check Blocks Compound Errors msgid "GEOM_CHECK_BLOCKS_COMPOUND_ERRORS" @@ -604,6 +623,10 @@ msgstr "Minor radius :" msgid "GEOM_COMPOUND" msgstr "Compound" +#Compound of Blocks +msgid "GEOM_BLOCKS_COMPOUND" +msgstr "BlocksCompound" + #CompSolid msgid "GEOM_COMPOUNDSOLID" msgstr "CompSolid" @@ -838,10 +861,6 @@ msgstr "Cylinder Construction" msgid "GEOM_CHECK_TITLE" msgstr "Check Shape Informations" -#: MeasureGUI_CheckCompoundOfBlocks.cxx:61 -msgid "GEOM_CHECK_COMPOUND_BLOCKS_TITLE" -msgstr "Check Blocks Compound" - #: GeometryGUI_CheckShape.cxx:83 msgid "GEOM_CHECK_INFOS" msgstr "Object And Its Topological Informations" diff --git a/src/GEOMGUI/GEOM_msg_fr.po b/src/GEOMGUI/GEOM_msg_fr.po index 3a3e3c481..7bfba8931 100644 --- a/src/GEOMGUI/GEOM_msg_fr.po +++ b/src/GEOMGUI/GEOM_msg_fr.po @@ -1,3 +1,22 @@ +# 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/ +# # This is a Qt message file in .po format. Each msgid starts with # a scope. This scope should *NOT* be translated - eg. translating # from French to English, "Foo::Bar" would be translated to "Pub", diff --git a/src/GEOMGUI/GeometryGUI.cxx b/src/GEOMGUI/GeometryGUI.cxx index f113bc8f0..31c711744 100644 --- a/src/GEOMGUI/GeometryGUI.cxx +++ b/src/GEOMGUI/GeometryGUI.cxx @@ -77,16 +77,22 @@ extern "C" { -GEOM::GEOM_Gen_var GeometryGUI::myComponentGeom = GEOM::GEOM_Gen::_nil(); +GEOM::GEOM_Gen_var GeometryGUI::myComponentGeom = GEOM::GEOM_Gen::_nil(); -GEOM::GEOM_Gen_var GeometryGUI::GetGeomGen() { return GeometryGUI::myComponentGeom; } +GEOM::GEOM_Gen_var GeometryGUI::GetGeomGen() +{ + // Bug 12290: exception in Mesh GUI on GEOMBase::GetShape() if Geometry GUI hasn't been loaded + if (CORBA::is_nil(myComponentGeom)) + InitGeomGen(); + return GeometryGUI::myComponentGeom; +} -bool GeometryGUI::InitGeomGen() +bool GeometryGUI::InitGeomGen() { GeometryGUI aGG; - if( CORBA::is_nil( myComponentGeom ) ) return false; - return true; -} + if( CORBA::is_nil( myComponentGeom ) ) return false; + return true; +} //======================================================================= // function : ClientSObjectToObject diff --git a/src/GEOMGUI/GeometryGUI_Swig.cxx b/src/GEOMGUI/GeometryGUI_Swig.cxx index 9a10ef6df..4cf10fc97 100644 --- a/src/GEOMGUI/GeometryGUI_Swig.cxx +++ b/src/GEOMGUI/GeometryGUI_Swig.cxx @@ -45,6 +45,7 @@ #include "SVTK_ViewModel.h" #include "SVTK_ViewWindow.h" #include "SVTK_View.h" +#include "SVTK_Renderer.h" #include "GEOM_Actor.h" #include "GEOM_Client.hxx" @@ -59,21 +60,14 @@ #include "SALOMEDSClient.hxx" // OCCT Includes -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include #include #include -#include + +// IDL Headers +#include +#include CORBA_SERVER_HEADER(GEOM_Gen) using namespace std; @@ -224,7 +218,8 @@ void GEOM_Swig::createAndDisplayGO (const char* Entry) public: TEventUpdateBrowser() {} virtual void Execute() { - SalomeApp_Application* app = dynamic_cast(SUIT_Session::session()->activeApplication()); + SalomeApp_Application* app = + dynamic_cast(SUIT_Session::session()->activeApplication()); if (app) { CAM_Module* module = app->module("Geometry"); SalomeApp_Module* appMod = dynamic_cast(module); @@ -236,125 +231,81 @@ void GEOM_Swig::createAndDisplayGO (const char* Entry) ProcessVoidEvent(new TEventUpdateBrowser ()); } +void GEOM_Swig::createAndDisplayFitAllGO (const char* Entry) +{ + class TEventFitAll: public SALOME_Event + { + public: + TEventFitAll() {} + virtual void Execute() { + SUIT_Application* app = SUIT_Session::session()->activeApplication(); + if (!app) return; + + if (SVTK_ViewWindow* aViewWindow = GetSVTKViewWindow(app)) + { + SVTK_View* aView = aViewWindow->getView(); + aView->GetRenderer()->OnFitAll(); + } + else if (OCCViewer_Viewer* occViewer = GetOCCViewer(app)) + { + Handle(V3d_Viewer) aViewer3d = occViewer->getViewer3d(); + aViewer3d->InitActiveViews(); + + if (aViewer3d->MoreActiveViews()) + aViewer3d->ActiveView()->FitAll(); + } + } + }; + + createAndDisplayGO(Entry); + ProcessVoidEvent(new TEventFitAll()); +} -int GEOM_Swig::getIndexTopology(const char* SubIOR, const char* IOR) +int GEOM_Swig::getIndexTopology(const char* SubIOR, const char* IOR) { - GEOM::GEOM_Gen_var Geom = GeometryGUI::GetGeomGen(); - if ( CORBA::is_nil( Geom ) ) + GEOM::GEOM_Gen_var aGeomGen = GeometryGUI::GetGeomGen(); + if (CORBA::is_nil(aGeomGen)) return -1; - GEOM::GEOM_Object_var aMainShape = Geom->GetIORFromString(IOR); - TopoDS_Shape shape = ShapeReader.GetShape(Geom, aMainShape); - - GEOM::GEOM_Object_var aSubShape = Geom->GetIORFromString(SubIOR); - TopoDS_Shape subshape = ShapeReader.GetShape(Geom, aSubShape); - - int index = 1; - if(subshape.ShapeType() == TopAbs_COMPOUND) { - TopoDS_Iterator it; - TopTools_ListOfShape CL; - CL.Append(shape); - TopTools_ListIteratorOfListOfShape itC; - for(itC.Initialize(CL); itC.More(); itC.Next()) { - for(it.Initialize(itC.Value()); it.More(); it.Next()) { - if (it.Value().ShapeType() == TopAbs_COMPOUND) { - if (it.Value().IsSame(subshape)) - return index; - else - index++; - CL.Append(it.Value()); - } - } - } - } - else { - TopExp_Explorer Exp(shape, subshape.ShapeType()); - TopTools_MapOfShape M; - while(Exp.More()) { - if(M.Add(Exp.Current())) { - if(Exp.Current().IsSame(subshape)) - return index; - index++; - } - Exp.Next(); - } - } + GEOM::GEOM_Object_var aMainShape = aGeomGen->GetIORFromString(IOR); + GEOM::GEOM_Object_var aSubShape = aGeomGen->GetIORFromString(SubIOR); + if (CORBA::is_nil(aMainShape) || CORBA::is_nil(aSubShape)) + return -1; - return -1; + GEOM::GEOM_IShapesOperations_var anIShapesOperations = + aGeomGen->GetIShapesOperations(aMainShape->GetStudyID()); + if (CORBA::is_nil(anIShapesOperations)) + return -1; + + return anIShapesOperations->GetTopologyIndex(aMainShape, aSubShape); } const char* GEOM_Swig::getShapeTypeString(const char* IOR) { - GEOM::GEOM_Gen_var Geom = GeometryGUI::GetGeomGen(); - if ( CORBA::is_nil( Geom ) ) - return 0; - - GEOM::GEOM_Object_var aShape = Geom->GetIORFromString(IOR); - TopoDS_Shape shape = ShapeReader.GetShape(Geom, aShape); - - if( shape.IsNull() ) { - return "Null Shape" ; - } + TCollection_AsciiString aTypeName ("Shape of unknown type"); - switch (shape.ShapeType() ) + GEOM::GEOM_Gen_var aGeomGen = GeometryGUI::GetGeomGen(); + if (!CORBA::is_nil(aGeomGen)) { - case TopAbs_COMPOUND: - { return "Compound" ;} - case TopAbs_COMPSOLID: - { return "Compound Solid" ;} - case TopAbs_SOLID: - { return "Solid" ;} - case TopAbs_SHELL: - { return "Shell" ;} - case TopAbs_FACE: + GEOM::GEOM_Object_var aShape = aGeomGen->GetIORFromString(IOR); + if (!CORBA::is_nil(aShape)) { - BRepAdaptor_Surface surf(TopoDS::Face(shape)); - if ( surf.GetType() == GeomAbs_Plane ) { - return "Plane" ; - } else if ( surf.GetType() == GeomAbs_Cylinder ) { - return "Cylindrical Face" ; - } else if ( surf.GetType() == GeomAbs_Sphere ) { - return "Spherical Face" ; - } else if ( surf.GetType() == GeomAbs_Torus ) { - return "Toroidal Face" ; - } else if ( surf.GetType() == GeomAbs_Cone ) { - return "Conical Face" ; - } else { - return "GEOM::FACE" ; + GEOM::GEOM_IShapesOperations_var anIShapesOperations = + aGeomGen->GetIShapesOperations(aShape->GetStudyID()); + if (!CORBA::is_nil(anIShapesOperations)) + { + aTypeName = anIShapesOperations->GetShapeTypeString(aShape); } } - case TopAbs_WIRE: - { return "Wire" ;} - case TopAbs_EDGE: - { - BRepAdaptor_Curve curv(TopoDS::Edge(shape)); - if ( curv.GetType() == GeomAbs_Line ) { - if ( (Abs(curv.FirstParameter()) >= 1E6 ) || - (Abs(curv.LastParameter()) >= 1E6 )) { - return "Line" ; - } else - return "Edge" ; - } else if ( curv.GetType() == GeomAbs_Circle ) { - if ( curv.IsClosed() ) - return "Circle" ; - else - return "Arc" ; - } else { - return "Edge" ; - } - } - case TopAbs_VERTEX: - { return "Vertex" ;} - case TopAbs_SHAPE: - { return "Shape" ;} } - return 0; + + return CORBA::string_dup(aTypeName.ToCString()); } const char* GEOM_Swig::getShapeTypeIcon(const char* IOR) { - GEOM::GEOM_Gen_var Geom = GeometryGUI::GetGeomGen(); + GEOM::GEOM_Gen_var Geom = GeometryGUI::GetGeomGen(); if ( CORBA::is_nil( Geom ) ) return "None"; @@ -390,75 +341,74 @@ const char* GEOM_Swig::getShapeTypeIcon(const char* IOR) void GEOM_Swig::setDisplayMode(const char* theEntry, int theMode) { - SUIT_Application* app = SUIT_Session::session()->activeApplication(); - if ( !app ) return; - - Handle(SALOME_InteractiveObject) anIO = new SALOME_InteractiveObject(theEntry, "GEOM", ""); - - class TEvent: public SALOME_Event{ - SUIT_Application* myApp; - Handle(SALOME_InteractiveObject) myIO; - int myParam; + class TEvent: public SALOME_Event { + std::string myEntry; + int myMode; public: - TEvent(SUIT_Application* theApp, const Handle(SALOME_InteractiveObject)& theIO, int theParam): - myApp(theApp), myIO(theIO), myParam(theParam) + TEvent(const char* theEntryArg, int theModeArg): + myEntry(theEntryArg), myMode(theModeArg) {} - virtual void Execute(){ - if(SVTK_ViewWindow* aViewWindow = GetSVTKViewWindow(myApp)){ + virtual void Execute() { + SUIT_Application* anApp = SUIT_Session::session()->activeApplication(); + if (!anApp) return; + + Handle(SALOME_InteractiveObject) anIO = + new SALOME_InteractiveObject(myEntry.c_str(), "GEOM", ""); + + if (SVTK_ViewWindow* aViewWindow = GetSVTKViewWindow(anApp)) { SVTK_View* aView = aViewWindow->getView(); - aView->SetDisplayMode(myIO,myParam); + aView->SetDisplayMode(anIO, myMode); aView->Repaint(); } - else if(OCCViewer_Viewer* occViewer = GetOCCViewer(myApp)) { - SOCC_Viewer* soccViewer = dynamic_cast( occViewer ); + else if (OCCViewer_Viewer* occViewer = GetOCCViewer(anApp)) { + SOCC_Viewer* soccViewer = dynamic_cast(occViewer); if (soccViewer) - soccViewer->switchRepresentation(myIO,myParam); + soccViewer->switchRepresentation(anIO, myMode); } } }; - ProcessVoidEvent(new TEvent(app,anIO,theMode)); + ProcessVoidEvent(new TEvent (theEntry, theMode)); } void GEOM_Swig::setColor(const char* theEntry, int red, int green, int blue) { - SUIT_Application* app = SUIT_Session::session()->activeApplication(); - if ( !app ) return; - - Handle(SALOME_InteractiveObject) anIO = new SALOME_InteractiveObject(theEntry, "GEOM", ""); - - QColor aColor(red,green,blue); - - class TEvent: public SALOME_Event{ - SUIT_Application* myApp; - Handle(SALOME_InteractiveObject) myIO; - QColor myParam; + class TEvent: public SALOME_Event { + std::string myEntry; + int myRed; + int myGreen; + int myBlue; public: - TEvent(SUIT_Application* theApp, const Handle(SALOME_InteractiveObject)& theIO, const QColor& theParam): - myApp(theApp), myIO(theIO), myParam(theParam) + TEvent(const char* theEntryArg, int theR, int theG, int theB): + myEntry(theEntryArg), myRed(theR), myGreen(theG), myBlue(theB) {} - virtual void Execute(){ - if(SVTK_ViewWindow* aViewWindow = GetSVTKViewWindow(myApp)){ + virtual void Execute() { + SUIT_Application* anApp = SUIT_Session::session()->activeApplication(); + if (!anApp) return; + + Handle(SALOME_InteractiveObject) anIO = + new SALOME_InteractiveObject(myEntry.c_str(), "GEOM", ""); + + if (SVTK_ViewWindow* aViewWindow = GetSVTKViewWindow(anApp)){ SVTK_View* aView = aViewWindow->getView(); - aView->SetColor(myIO,myParam); + QColor aColor (myRed, myGreen, myBlue); + aView->SetColor(anIO, aColor); aView->Repaint(); - }else if(OCCViewer_Viewer* occViewer = GetOCCViewer(myApp)){ + } else if (OCCViewer_Viewer* occViewer = GetOCCViewer(anApp)) { Handle(AIS_InteractiveContext) ic = occViewer->getAISContext(); AIS_ListOfInteractive List; ic->DisplayedObjects(List); - AIS_ListIteratorOfListOfInteractive ite(List); - for ( ; ite.More(); ite.Next() ) { + AIS_ListIteratorOfListOfInteractive ite (List); + for (; ite.More(); ite.Next()) { Handle(SALOME_InteractiveObject) anObj = - Handle(SALOME_InteractiveObject)::DownCast( ite.Value()->GetOwner() ); - if ( !anObj.IsNull() && anObj->hasEntry() && anObj->isSame( myIO ) ) { - Quantity_Color CSFColor = Quantity_Color ( myParam.red() / 255., - myParam.green() / 255., - myParam.blue() / 255., - Quantity_TOC_RGB ); - ite.Value()->SetColor( CSFColor ); - if ( ite.Value()->IsKind( STANDARD_TYPE(GEOM_AISShape) ) ) - Handle(GEOM_AISShape)::DownCast( ite.Value() )->SetShadingColor( CSFColor ); - ite.Value()->Redisplay( Standard_True ); + Handle(SALOME_InteractiveObject)::DownCast(ite.Value()->GetOwner()); + if (!anObj.IsNull() && anObj->hasEntry() && anObj->isSame(anIO)) { + Quantity_Color CSFColor = + Quantity_Color(myRed/255., myGreen/255., myBlue/255., Quantity_TOC_RGB); + ite.Value()->SetColor(CSFColor); + if (ite.Value()->IsKind(STANDARD_TYPE(GEOM_AISShape))) + Handle(GEOM_AISShape)::DownCast(ite.Value())->SetShadingColor(CSFColor); + ite.Value()->Redisplay(Standard_True); occViewer->update(); break; } @@ -466,42 +416,51 @@ void GEOM_Swig::setColor(const char* theEntry, int red, int green, int blue) } } }; - ProcessVoidEvent(new TEvent(app,anIO,aColor)); + ProcessVoidEvent(new TEvent(theEntry, red, green, blue)); } void GEOM_Swig::setTransparency(const char* theEntry, float transp) { - SUIT_Application* app = SUIT_Session::session()->activeApplication(); - if ( !app ) return; - - Handle(SALOME_InteractiveObject) anIO = new SALOME_InteractiveObject(theEntry, "GEOM", ""); - - class TEvent: public SALOME_Event{ - SUIT_Application* myApp; - Handle(SALOME_InteractiveObject) myIO; + class TEvent: public SALOME_Event { + std::string myEntry; float myParam; public: - TEvent(SUIT_Application* theApp, const Handle(SALOME_InteractiveObject)& theIO, float theParam): - myApp(theApp), myIO(theIO), myParam(theParam) + TEvent(const char* theEntryArg, float theParam): + myEntry(theEntryArg), myParam(theParam) {} - virtual void Execute(){ - if(SVTK_ViewWindow* aViewWindow = GetSVTKViewWindow(myApp)){ + virtual void Execute() { + SUIT_Application* anApp = SUIT_Session::session()->activeApplication(); + if (!anApp) return; + + Handle(SALOME_InteractiveObject) anIO = + new SALOME_InteractiveObject(myEntry.c_str(), "GEOM", ""); + + if (SVTK_ViewWindow* aViewWindow = GetSVTKViewWindow(anApp)) { SVTK_View* aView = aViewWindow->getView(); - aView->SetTransparency(myIO,myParam); + aView->SetTransparency(anIO, myParam); aView->Repaint(); - }else if(OCCViewer_Viewer* occViewer = GetOCCViewer(myApp)) { - SOCC_Viewer* soccViewer = dynamic_cast( occViewer ); + } else if (OCCViewer_Viewer* occViewer = GetOCCViewer(anApp)) { + SOCC_Viewer* soccViewer = dynamic_cast(occViewer); if (soccViewer) - soccViewer->setTransparency(myIO,myParam); + soccViewer->setTransparency(anIO, myParam); } } }; - ProcessVoidEvent(new TEvent(app,anIO,transp)); + ProcessVoidEvent(new TEvent (theEntry, transp)); } +class TInitGeomGenEvent: public SALOME_Event { +public: + typedef bool TResult; + TResult myResult; + TInitGeomGenEvent() : myResult(false) {} + virtual void Execute() { + myResult = GeometryGUI::InitGeomGen(); + } +}; bool GEOM_Swig::initGeomGen() { - return GeometryGUI::InitGeomGen(); + return ProcessEvent(new TInitGeomGenEvent()); } diff --git a/src/GEOMGUI/GeometryGUI_Swig.hxx b/src/GEOMGUI/GeometryGUI_Swig.hxx index 02489d402..e519ecad0 100644 --- a/src/GEOMGUI/GeometryGUI_Swig.hxx +++ b/src/GEOMGUI/GeometryGUI_Swig.hxx @@ -50,6 +50,7 @@ public: ~GEOM_Swig(); void createAndDisplayGO(const char* Entry); + void createAndDisplayFitAllGO(const char* Entry); void setDisplayMode(const char* Entry, int mode); void setColor(const char* Entry, int red, int green, int blue); void setTransparency(const char* Entry, float transp); diff --git a/src/GEOMGUI/GeometryGUI_Swig.i b/src/GEOMGUI/GeometryGUI_Swig.i index d8be6b738..460e666c4 100644 --- a/src/GEOMGUI/GeometryGUI_Swig.i +++ b/src/GEOMGUI/GeometryGUI_Swig.i @@ -37,6 +37,7 @@ class GEOM_Swig ~GEOM_Swig(); void createAndDisplayGO(const char* Entry); + void createAndDisplayFitAllGO(const char* Entry); int getIndexTopology(const char *SubEntry, const char *Entry); const char* getShapeTypeString(const char *Entry); diff --git a/src/GEOMGUI/Makefile.in b/src/GEOMGUI/Makefile.in index a14ea4cb1..ecfc9c433 100644 --- a/src/GEOMGUI/Makefile.in +++ b/src/GEOMGUI/Makefile.in @@ -64,7 +64,8 @@ LIB_CLIENT_IDL = SALOME_Exception.idl \ SALOMEDS.idl \ SALOMEDS_Attributes.idl \ SALOME_GenericObj.idl \ - SALOME_Component.idl + SALOME_Component.idl \ + GEOM_Gen.idl LIB_SERVER_IDL = diff --git a/src/GEOMImpl/GEOMImpl_Block6Explorer.cxx b/src/GEOMImpl/GEOMImpl_Block6Explorer.cxx index a73609e60..181e216aa 100644 --- a/src/GEOMImpl/GEOMImpl_Block6Explorer.cxx +++ b/src/GEOMImpl/GEOMImpl_Block6Explorer.cxx @@ -19,10 +19,10 @@ // #include -#include - #include +#include + #include "utilities.h" #include @@ -33,6 +33,8 @@ #include #include #include +#include +#include #include #include #include @@ -1202,43 +1204,61 @@ void GEOMImpl_Block6Explorer::MakeFace (const TopoDS_Wire& theWire, // Result of filling TopoDS_Shape aFace = MF.Shape(); - // Update tolerance - Standard_Real aTol = MF.G0Error(); - - TColgp_Array1OfPnt aPnts (1,nbEdges); // points of the given wire - BRepTools_WireExplorer aWE1 (theWire); - Standard_Integer vi = 1; - for (; aWE1.More() && vi <= nbEdges; aWE1.Next(), vi++) { - aPnts(vi) = BRep_Tool::Pnt(TopoDS::Vertex(aWE1.CurrentVertex())); + // 12.04.2006 for PAL12149 begin + Handle(Geom_Surface) aGS = BRep_Tool::Surface(TopoDS::Face(aFace)); + BRepBuilderAPI_MakeFace MK1 (aGS, theWire); + if (MK1.IsDone()) { + TopoDS_Shape aFace1 = MK1.Shape(); + + BRepCheck_Analyzer ana (aFace1, false); + if (!ana.IsValid()) { + TopoDS_Shape aFace2; + ShHealOper_ShapeProcess aHealer; + aHealer.Perform(aFace1, aFace2); + if (aHealer.isDone()) + theResult = aFace2; + } } + // 12.04.2006 for PAL12149 end - // Find maximum deviation in vertices - TopExp_Explorer exp (aFace, TopAbs_VERTEX); - TopTools_MapOfShape mapShape; - for (; exp.More(); exp.Next()) { - if (mapShape.Add(exp.Current())) { - TopoDS_Vertex aV = TopoDS::Vertex(exp.Current()); - Standard_Real aTolV = BRep_Tool::Tolerance(aV); - gp_Pnt aP = BRep_Tool::Pnt(aV); - Standard_Real min_dist = aP.Distance(aPnts(1)); - for (vi = 2; vi <= nbEdges; vi++) { - min_dist = Min(min_dist, aP.Distance(aPnts(vi))); + if (theResult.IsNull()) { // try to deal with pure result of filling + // Update tolerance + Standard_Real aTol = MF.G0Error(); + + TColgp_Array1OfPnt aPnts (1,nbEdges); // points of the given wire + BRepTools_WireExplorer aWE1 (theWire); + Standard_Integer vi = 1; + for (; aWE1.More() && vi <= nbEdges; aWE1.Next(), vi++) { + aPnts(vi) = BRep_Tool::Pnt(TopoDS::Vertex(aWE1.CurrentVertex())); + } + + // Find maximum deviation in vertices + TopExp_Explorer exp (aFace, TopAbs_VERTEX); + TopTools_MapOfShape mapShape; + for (; exp.More(); exp.Next()) { + if (mapShape.Add(exp.Current())) { + TopoDS_Vertex aV = TopoDS::Vertex(exp.Current()); + Standard_Real aTolV = BRep_Tool::Tolerance(aV); + gp_Pnt aP = BRep_Tool::Pnt(aV); + Standard_Real min_dist = aP.Distance(aPnts(1)); + for (vi = 2; vi <= nbEdges; vi++) { + min_dist = Min(min_dist, aP.Distance(aPnts(vi))); + } + aTol = Max(aTol, aTolV); + aTol = Max(aTol, min_dist); } - aTol = Max(aTol, aTolV); - aTol = Max(aTol, min_dist); } - } - if ((*((Handle(BRep_TFace)*)&aFace.TShape()))->Tolerance() < aTol) { - (*((Handle(BRep_TFace)*)&aFace.TShape()))->Tolerance(aTol); + if ((*((Handle(BRep_TFace)*)&aFace.TShape()))->Tolerance() < aTol) { + (*((Handle(BRep_TFace)*)&aFace.TShape()))->Tolerance(aTol); + } + theResult = aFace; } - theResult = aFace; } } else { // try to update wire tolerances to build a planar face - // With OCCT6.0 or lower - +#if 1 //(OCC_VERSION_MAJOR < 6) || (OCC_VERSION_MAJOR == 6 && OCC_VERSION_MINOR <= 1) // Find a deviation Standard_Real aToleranceReached, aTol; BRepLib_FindSurface aFS; @@ -1276,12 +1296,13 @@ void GEOMImpl_Block6Explorer::MakeFace (const TopoDS_Wire& theWire, return; } - // After migration on OCCT version higher than 6.0 - //BRepLib_MakeFace aBMF; - //aBMF.Init(theWire, isPlanarWanted, Standard_True); - //if (aBMF.Error() == BRepLib_FaceDone) { - // theResult = aBMF.Shape(); - // return; - //} +#else // After migration on OCCT version, containing PKV's fix. See bug 8293 + BRepLib_MakeFace aBMF; + aBMF.Init(theWire, isPlanarWanted, Standard_True); + if (aBMF.Error() == BRepLib_FaceDone) { + theResult = aBMF.Shape(); + return; + } +#endif } } diff --git a/src/GEOMImpl/GEOMImpl_ExportDriver.cxx b/src/GEOMImpl/GEOMImpl_ExportDriver.cxx index 5898d9e1b..ecd9e7f08 100644 --- a/src/GEOMImpl/GEOMImpl_ExportDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_ExportDriver.cxx @@ -48,7 +48,9 @@ #define UnLoadLib( handle ) dlclose( handle ); #endif -typedef int (*funcPoint)(const TopoDS_Shape&, const TCollection_AsciiString&); +typedef int (*funcPoint)(const TopoDS_Shape&, + const TCollection_AsciiString&, + const TCollection_AsciiString&); //======================================================================= //function : GetID @@ -90,9 +92,10 @@ Standard_Integer GEOMImpl_ExportDriver::Execute(TFunction_Logbook& log) const aFunction->SetValue(aShape); // retrieve the file and format names - TCollection_AsciiString aFileName = aCI.GetFileName(); - TCollection_AsciiString aLibName = aCI.GetPluginName(); - if (aFileName.IsEmpty() || aLibName.IsEmpty()) + TCollection_AsciiString aFileName = aCI.GetFileName(); + TCollection_AsciiString aFormatName = aCI.GetFormatName(); + TCollection_AsciiString aLibName = aCI.GetPluginName(); + if (aFileName.IsEmpty() || aFormatName.IsEmpty() || aLibName.IsEmpty()) return 0; // load plugin library @@ -105,7 +108,7 @@ Standard_Integer GEOMImpl_ExportDriver::Execute(TFunction_Logbook& log) const return 0; // perform the export - int res = fp( aShape, aFileName ); + int res = fp( aShape, aFileName, aFormatName ); // unload plugin library UnLoadLib( anExportLib ); diff --git a/src/GEOMImpl/GEOMImpl_IImportExport.hxx b/src/GEOMImpl/GEOMImpl_IImportExport.hxx index efa6b2bec..ea9a45edf 100644 --- a/src/GEOMImpl/GEOMImpl_IImportExport.hxx +++ b/src/GEOMImpl/GEOMImpl_IImportExport.hxx @@ -25,6 +25,7 @@ #define EXP_ARG_REF 1 #define EXP_ARG_FILE 2 #define EXP_ARG_PLUG 3 +#define EXP_ARG_FORM 4 class GEOMImpl_IImportExport { @@ -36,15 +37,21 @@ class GEOMImpl_IImportExport Handle(GEOM_Function) GetOriginal() { return _func->GetReference(EXP_ARG_REF); } - void SetFileName(const TCollection_AsciiString& theFileName) { _func->SetString(EXP_ARG_FILE, theFileName); } + void SetFileName(const TCollection_AsciiString& theFileName) + { _func->SetString(EXP_ARG_FILE, theFileName); } TCollection_AsciiString GetFileName() { return _func->GetString(EXP_ARG_FILE); } - void SetPluginName(const TCollection_AsciiString& theFormatName) - { _func->SetString(EXP_ARG_PLUG, theFormatName); } + void SetPluginName(const TCollection_AsciiString& thePluginLibName) + { _func->SetString(EXP_ARG_PLUG, thePluginLibName); } TCollection_AsciiString GetPluginName() { return _func->GetString(EXP_ARG_PLUG); } + void SetFormatName(const TCollection_AsciiString& theFormatName) + { _func->SetString(EXP_ARG_FORM, theFormatName); } + + TCollection_AsciiString GetFormatName() { return _func->GetString(EXP_ARG_FORM); } + private: Handle(GEOM_Function) _func; diff --git a/src/GEOMImpl/GEOMImpl_IInsertOperations.cxx b/src/GEOMImpl/GEOMImpl_IInsertOperations.cxx index 6aee3f044..f0fc7443d 100644 --- a/src/GEOMImpl/GEOMImpl_IInsertOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IInsertOperations.cxx @@ -140,16 +140,17 @@ void GEOMImpl_IInsertOperations::Export //Check if the function is set correctly if (aFunction->GetDriverGUID() != GEOMImpl_ExportDriver::GetID()) return; - //Set parameters - GEOMImpl_IImportExport aCI (aFunction); - aCI.SetOriginal(aRefFunction); - aCI.SetFileName(theFileName); - Handle(TCollection_HAsciiString) aHLibName; if (!IsSupported(Standard_False, theFormatName, aHLibName)) { return; } TCollection_AsciiString aLibName = aHLibName->String(); + + //Set parameters + GEOMImpl_IImportExport aCI (aFunction); + aCI.SetOriginal(aRefFunction); + aCI.SetFileName(theFileName); + aCI.SetFormatName(theFormatName); aCI.SetPluginName(aLibName); //Perform the Export @@ -195,15 +196,16 @@ Handle(GEOM_Object) GEOMImpl_IInsertOperations::Import //Check if the function is set correctly if (aFunction->GetDriverGUID() != GEOMImpl_ImportDriver::GetID()) return result; - //Set parameters - GEOMImpl_IImportExport aCI (aFunction); - aCI.SetFileName(theFileName); - Handle(TCollection_HAsciiString) aHLibName; if (!IsSupported(Standard_True, theFormatName, aHLibName)) { return result; } TCollection_AsciiString aLibName = aHLibName->String(); + + //Set parameters + GEOMImpl_IImportExport aCI (aFunction); + aCI.SetFileName(theFileName); + aCI.SetFormatName(theFormatName); aCI.SetPluginName(aLibName); //Perform the Import @@ -261,14 +263,18 @@ Standard_Boolean GEOMImpl_IInsertOperations::ImportTranslators // Read Patterns for each supported format int j = 1, len = theFormats->Length(); for (; j <= len; j++) { - TCollection_AsciiString aPattern; - TCollection_AsciiString aKey (theFormats->Value(j)); - aKey += ".Pattern"; + TCollection_AsciiString aKey, aPattern; + aKey = theFormats->Value(j) + ".ImportPattern"; if (myResMgr->Find(aKey.ToCString())) aPattern = myResMgr->Value(aKey.ToCString()); else { - aPattern = theFormats->Value(j); - aPattern += " Files ( *.* )"; + aKey = theFormats->Value(j) + ".Pattern"; + if (myResMgr->Find(aKey.ToCString())) + aPattern = myResMgr->Value(aKey.ToCString()); + else { + aPattern = theFormats->Value(j); + aPattern += " Files ( *.* )"; + } } thePatterns->Append(aPattern); } @@ -310,14 +316,18 @@ Standard_Boolean GEOMImpl_IInsertOperations::ExportTranslators // Read Patterns for each supported format int j = 1, len = theFormats->Length(); for (; j <= len; j++) { - TCollection_AsciiString aPattern; - TCollection_AsciiString aKey (theFormats->Value(j)); - aKey += ".Pattern"; + TCollection_AsciiString aKey, aPattern; + aKey = theFormats->Value(j) + ".ExportPattern"; if (myResMgr->Find(aKey.ToCString())) aPattern = myResMgr->Value(aKey.ToCString()); else { - aPattern = theFormats->Value(j); - aPattern += " Files ( *.* )"; + aKey = theFormats->Value(j) + ".Pattern"; + if (myResMgr->Find(aKey.ToCString())) + aPattern = myResMgr->Value(aKey.ToCString()); + else { + aPattern = theFormats->Value(j); + aPattern += " Files ( *.* )"; + } } thePatterns->Append(aPattern); } diff --git a/src/GEOMImpl/GEOMImpl_ILocalOperations.cxx b/src/GEOMImpl/GEOMImpl_ILocalOperations.cxx index c6f85f04a..483979d7e 100644 --- a/src/GEOMImpl/GEOMImpl_ILocalOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_ILocalOperations.cxx @@ -35,6 +35,9 @@ #include #include +#include +#include + #include "utilities.h" #include #include @@ -509,17 +512,17 @@ Standard_Integer GEOMImpl_ILocalOperations::GetSubShapeIndex (Handle(GEOM_Object { SetErrorCode(KO); - TopoDS_Shape aShape = theShape->GetValue(); - TopoDS_Shape aSubShape = theSubShape->GetValue(); - - if (aShape.IsNull() || aSubShape.IsNull()) return -1; + Standard_Integer anInd = -1; + GEOM_Engine* anEngine = GetEngine(); + //GEOMImpl_Gen* aGen = dynamic_cast(anEngine); + GEOMImpl_Gen* aGen = (GEOMImpl_Gen*)anEngine; - TopTools_IndexedMapOfShape anIndices; - TopExp::MapShapes(aShape, anIndices); - if (anIndices.Contains(aSubShape)) { - SetErrorCode(OK); - return anIndices.FindIndex(aSubShape); + if (aGen) { + GEOMImpl_IShapesOperations* anIShapesOperations = + aGen->GetIShapesOperations(GetDocID()); + anInd = anIShapesOperations->GetSubShapeIndex(theShape, theSubShape); + SetErrorCode(anIShapesOperations->GetErrorCode()); } - return -1; + return anInd; } diff --git a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx index 7c41f7342..5095ba2b2 100644 --- a/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx +++ b/src/GEOMImpl/GEOMImpl_IShapesOperations.cxx @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #include @@ -705,6 +706,163 @@ Handle(GEOM_Object) GEOMImpl_IShapesOperations::GetSubShape return anObj; } +//============================================================================= +/*! + * GetSubShapeIndex + */ +//============================================================================= +Standard_Integer GEOMImpl_IShapesOperations::GetSubShapeIndex (Handle(GEOM_Object) theMainShape, + Handle(GEOM_Object) theSubShape) +{ + SetErrorCode(KO); + + TopoDS_Shape aMainShape = theMainShape->GetValue(); + TopoDS_Shape aSubShape = theSubShape->GetValue(); + + if (aMainShape.IsNull() || aSubShape.IsNull()) return -1; + + TopTools_IndexedMapOfShape anIndices; + TopExp::MapShapes(aMainShape, anIndices); + if (anIndices.Contains(aSubShape)) { + SetErrorCode(OK); + return anIndices.FindIndex(aSubShape); + } + + return -1; +} + +//============================================================================= +/*! + * GetTopologyIndex + */ +//============================================================================= +Standard_Integer GEOMImpl_IShapesOperations::GetTopologyIndex (Handle(GEOM_Object) theMainShape, + Handle(GEOM_Object) theSubShape) +{ + SetErrorCode(OK); + + TopoDS_Shape aMainShape = theMainShape->GetValue(); + TopoDS_Shape aSubShape = theSubShape->GetValue(); + + if (aMainShape.IsNull() || aSubShape.IsNull()) { + SetErrorCode("Null argument shape given"); + return -1; + } + + int index = 1; + if (aSubShape.ShapeType() == TopAbs_COMPOUND) { + TopoDS_Iterator it; + TopTools_ListOfShape CL; + CL.Append(aMainShape); + TopTools_ListIteratorOfListOfShape itC; + for (itC.Initialize(CL); itC.More(); itC.Next()) { + for (it.Initialize(itC.Value()); it.More(); it.Next()) { + if (it.Value().ShapeType() == TopAbs_COMPOUND) { + if (it.Value().IsSame(aSubShape)) + return index; + else + index++; + CL.Append(it.Value()); + } + } + } + } else { + TopExp_Explorer anExp (aMainShape, aSubShape.ShapeType()); + TopTools_MapOfShape M; + for (; anExp.More(); anExp.Next()) { + if (M.Add(anExp.Current())) { + if (anExp.Current().IsSame(aSubShape)) + return index; + index++; + } + } + } + + SetErrorCode("The sub-shape does not belong to the main shape"); + return -1; +} + +//============================================================================= +/*! + * GetShapeTypeString + */ +//============================================================================= +TCollection_AsciiString GEOMImpl_IShapesOperations::GetShapeTypeString (Handle(GEOM_Object) theShape) +{ + SetErrorCode(KO); + + TCollection_AsciiString aTypeName ("Null Shape"); + + TopoDS_Shape aShape = theShape->GetValue(); + if (aShape.IsNull()) + return aTypeName; + + switch (aShape.ShapeType() ) + { + case TopAbs_COMPOUND: + aTypeName = "Compound"; + break; + case TopAbs_COMPSOLID: + aTypeName = "Compound Solid"; + break; + case TopAbs_SOLID: + aTypeName = "Solid"; + break; + case TopAbs_SHELL: + aTypeName = "Shell"; + break; + case TopAbs_FACE: + { + BRepAdaptor_Surface surf (TopoDS::Face(aShape)); + if (surf.GetType() == GeomAbs_Plane) + aTypeName = "Plane"; + else if (surf.GetType() == GeomAbs_Cylinder) + aTypeName = "Cylindrical Face"; + else if (surf.GetType() == GeomAbs_Sphere) + aTypeName = "Spherical Face"; + else if (surf.GetType() == GeomAbs_Torus) + aTypeName = "Toroidal Face"; + else if (surf.GetType() == GeomAbs_Cone) + aTypeName = "Conical Face"; + else + aTypeName = "GEOM::FACE"; + } + break; + case TopAbs_WIRE: + aTypeName = "Wire"; + break; + case TopAbs_EDGE: + { + BRepAdaptor_Curve curv (TopoDS::Edge(aShape)); + if (curv.GetType() == GeomAbs_Line) { + if ((Abs(curv.FirstParameter()) >= 1E6) || + (Abs(curv.LastParameter()) >= 1E6)) + aTypeName = "Line"; + else + aTypeName = "Edge" ; + } else if (curv.GetType() == GeomAbs_Circle) { + if (curv.IsClosed()) + aTypeName = "Circle"; + else + aTypeName = "Arc"; + } else { + aTypeName = "Edge"; + } + } + break; + case TopAbs_VERTEX: + aTypeName = "Vertex"; + break; + case TopAbs_SHAPE: + aTypeName = "Shape"; + break; + default: + aTypeName = "Shape of unknown type"; + } + + return aTypeName; +} + //============================================================================= /*! diff --git a/src/GEOMImpl/GEOMImpl_IShapesOperations.hxx b/src/GEOMImpl/GEOMImpl_IShapesOperations.hxx index 82a7d37e0..28882a0d1 100644 --- a/src/GEOMImpl/GEOMImpl_IShapesOperations.hxx +++ b/src/GEOMImpl/GEOMImpl_IShapesOperations.hxx @@ -71,7 +71,15 @@ class GEOMImpl_IShapesOperations : public GEOM_IOperations { const Standard_Boolean isSorted); Standard_EXPORT Handle(GEOM_Object) GetSubShape (Handle(GEOM_Object) theMainShape, - const Standard_Integer theID); + const Standard_Integer theID); + + Standard_EXPORT Standard_Integer GetSubShapeIndex (Handle(GEOM_Object) theMainShape, + Handle(GEOM_Object) theSubShape); + + Standard_EXPORT Standard_Integer GetTopologyIndex (Handle(GEOM_Object) theMainShape, + Handle(GEOM_Object) theSubShape); + + Standard_EXPORT TCollection_AsciiString GetShapeTypeString (Handle(GEOM_Object) theShape); Standard_EXPORT Standard_Integer NumberOfFaces (Handle(GEOM_Object) theShape); Standard_EXPORT Standard_Integer NumberOfEdges (Handle(GEOM_Object) theShape); diff --git a/src/GEOMImpl/GEOMImpl_ImportDriver.cxx b/src/GEOMImpl/GEOMImpl_ImportDriver.cxx index e7c263c72..1e9616700 100644 --- a/src/GEOMImpl/GEOMImpl_ImportDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_ImportDriver.cxx @@ -50,7 +50,9 @@ #define UnLoadLib( handle ) dlclose( handle ); #endif -typedef TopoDS_Shape (*funcPoint)(const TCollection_AsciiString&, TCollection_AsciiString&); +typedef TopoDS_Shape (*funcPoint)(const TCollection_AsciiString&, + const TCollection_AsciiString&, + TCollection_AsciiString&); //======================================================================= //function : GetID @@ -84,9 +86,10 @@ Standard_Integer GEOMImpl_ImportDriver::Execute(TFunction_Logbook& log) const //Standard_Integer aType = aFunction->GetType(); // retrieve the file and plugin library names - TCollection_AsciiString aFileName = aCI.GetFileName(); - TCollection_AsciiString aLibName = aCI.GetPluginName(); - if (aFileName.IsEmpty() || aLibName.IsEmpty()) + TCollection_AsciiString aFileName = aCI.GetFileName(); + TCollection_AsciiString aFormatName = aCI.GetFormatName(); + TCollection_AsciiString aLibName = aCI.GetPluginName(); + if (aFileName.IsEmpty() || aFormatName.IsEmpty() || aLibName.IsEmpty()) return 0; // load plugin library @@ -100,7 +103,7 @@ Standard_Integer GEOMImpl_ImportDriver::Execute(TFunction_Logbook& log) const // perform the import TCollection_AsciiString anError; - TopoDS_Shape aShape = fp( aFileName, anError ); + TopoDS_Shape aShape = fp( aFileName, aFormatName, anError ); // unload plugin library UnLoadLib( anImportLib ); diff --git a/src/GEOMImpl/GEOMImpl_MirrorDriver.cxx b/src/GEOMImpl/GEOMImpl_MirrorDriver.cxx index cde05e64e..531aa6594 100644 --- a/src/GEOMImpl/GEOMImpl_MirrorDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_MirrorDriver.cxx @@ -30,12 +30,13 @@ #include #include +#include #include #include #include #include #include -#include +#include #include @@ -86,6 +87,21 @@ Standard_Integer GEOMImpl_MirrorDriver::Execute(TFunction_Logbook& log) const TopoDS_Shape anOriginal = anOriginalFunction->GetValue(); if (anOriginal.IsNull()) return 0; + // Bug 12158: Check for standalone (not included in faces) degenerated edges + TopTools_IndexedDataMapOfShapeListOfShape aEFMap; + TopExp::MapShapesAndAncestors(anOriginal, TopAbs_EDGE, TopAbs_FACE, aEFMap); + Standard_Integer i, nbE = aEFMap.Extent(); + for (i = 1; i <= nbE; i++) { + TopoDS_Shape anEdgeSh = aEFMap.FindKey(i); + if (BRep_Tool::Degenerated(TopoDS::Edge(anEdgeSh))) { + const TopTools_ListOfShape& aFaces = aEFMap.FindFromIndex(i); + if (aFaces.IsEmpty()) + Standard_ConstructionError::Raise + ("Mirror aborted : cannot process standalone degenerated edge"); + } + } + + // Perform Mirror if (aType == MIRROR_PLANE || aType == MIRROR_PLANE_COPY) { Handle(GEOM_Function) aPlane = TI.GetPlane(); if (aPlane.IsNull()) return 0; diff --git a/src/GEOMImpl/GEOMImpl_ScaleDriver.cxx b/src/GEOMImpl/GEOMImpl_ScaleDriver.cxx index 21824877f..5684bcc71 100644 --- a/src/GEOMImpl/GEOMImpl_ScaleDriver.cxx +++ b/src/GEOMImpl/GEOMImpl_ScaleDriver.cxx @@ -27,11 +27,13 @@ #include #include +#include +#include +#include #include #include #include -#include -#include +#include #include #include @@ -77,6 +79,21 @@ Standard_Integer GEOMImpl_ScaleDriver::Execute(TFunction_Logbook& log) const if (aShapeBase.IsNull() || aShapePnt.IsNull()) return 0; if (aShapePnt.ShapeType() != TopAbs_VERTEX) return 0; + // Bug 6839: Check for standalone (not included in faces) degenerated edges + TopTools_IndexedDataMapOfShapeListOfShape aEFMap; + TopExp::MapShapesAndAncestors(aShapeBase, TopAbs_EDGE, TopAbs_FACE, aEFMap); + Standard_Integer i, nbE = aEFMap.Extent(); + for (i = 1; i <= nbE; i++) { + TopoDS_Shape anEdgeSh = aEFMap.FindKey(i); + if (BRep_Tool::Degenerated(TopoDS::Edge(anEdgeSh))) { + const TopTools_ListOfShape& aFaces = aEFMap.FindFromIndex(i); + if (aFaces.IsEmpty()) + Standard_ConstructionError::Raise + ("Scaling aborted : cannot scale standalone degenerated edge"); + } + } + + // Perform Scaling gp_Pnt aP = BRep_Tool::Pnt(TopoDS::Vertex(aShapePnt)); gp_Trsf aTrsf; aTrsf.SetScale(aP, aCI.GetFactor()); @@ -87,6 +104,9 @@ Standard_Integer GEOMImpl_ScaleDriver::Execute(TFunction_Logbook& log) const if (aShape.IsNull()) return 0; + if (!BRepAlgo::IsValid(aShape)) + Standard_ConstructionError::Raise("Scaling aborted : non valid shape result"); + aFunction->SetValue(aShape); log.SetTouched(Label()); diff --git a/src/GEOMImpl/Makefile.in b/src/GEOMImpl/Makefile.in index 1564d4ba6..48bfdb040 100644 --- a/src/GEOMImpl/Makefile.in +++ b/src/GEOMImpl/Makefile.in @@ -1,3 +1,22 @@ +# 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/ +# top_srcdir=@top_srcdir@ top_builddir=../.. diff --git a/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.cxx b/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.cxx index 0a6614894..11a44623c 100644 --- a/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.cxx +++ b/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.cxx @@ -28,6 +28,10 @@ #include "GEOMToolsGUI_NbIsosDlg.h" +#include "GeometryGUI.h" +#include +#include +#include #include #include @@ -104,22 +108,28 @@ GEOMToolsGUI_NbIsosDlg::GEOMToolsGUI_NbIsosDlg(QWidget* parent ) QPushButton* buttonCancel = new QPushButton( GroupButtons, "buttonCancel" ); buttonCancel->setText( tr( "GEOM_BUT_CANCEL" ) ) ; buttonCancel->setAutoDefault( TRUE ); - GroupButtonsLayout->addWidget( buttonCancel, 0, 2 ); + GroupButtonsLayout->addWidget( buttonCancel, 0, 1 ); + + QPushButton* buttonHelp = new QPushButton( GroupButtons, "buttonHelp" ); + buttonHelp->setText( tr( "GEOM_BUT_HELP" ) ) ; + buttonHelp->setAutoDefault( TRUE ); + GroupButtonsLayout->addWidget( buttonHelp, 0, 2 ); /***************************************************************/ MyDialogLayout->addWidget(GroupC1, 0, 0); MyDialogLayout->addWidget(GroupButtons, 1, 0); - + + myHelpFileName = "isos.htm"; // signals and slots connections connect(buttonOk, SIGNAL(clicked()), this, SLOT(accept())); connect(buttonCancel, SIGNAL(clicked()), this, SLOT(reject())); + connect(buttonHelp, SIGNAL(clicked()), this, SLOT(ClickOnHelp())); /* Move widget on the botton right corner of main widget */ SUIT_Tools::centerWidget(this, parent); } - //================================================================================= // function : ~GEOMToolsGUI_NbIsosDlg() // purpose : Destroys the object and frees any allocated resources @@ -149,3 +159,21 @@ void GEOMToolsGUI_NbIsosDlg::setV( const int v ) SpinBoxV->setValue( v ); } +//================================================================================= +// function : ClickOnHelp() +// purpose : +//================================================================================= +void GEOMToolsGUI_NbIsosDlg::ClickOnHelp() +{ + LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication()); + if (app) { + GeometryGUI* aGeomGUI = dynamic_cast( app->module( "Geometry" ) ); + app->onHelpContextModule(aGeomGUI ? app->moduleName(aGeomGUI->moduleName()) : QString(""), myHelpFileName); + } + else { + SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), + QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName), + QObject::tr("BUT_OK")); + } +} diff --git a/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.h b/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.h index 943dbdcde..257ca4c3e 100644 --- a/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.h +++ b/src/GEOMToolsGUI/GEOMToolsGUI_NbIsosDlg.h @@ -51,9 +51,13 @@ public: void setU( const int ); void setV( const int ); +private slots: + void ClickOnHelp(); + private: QSpinBox* SpinBoxU; QSpinBox* SpinBoxV; + QString myHelpFileName; }; diff --git a/src/GEOMToolsGUI/GEOMToolsGUI_TransparencyDlg.cxx b/src/GEOMToolsGUI/GEOMToolsGUI_TransparencyDlg.cxx index 0984dd88c..93c7e5ec2 100644 --- a/src/GEOMToolsGUI/GEOMToolsGUI_TransparencyDlg.cxx +++ b/src/GEOMToolsGUI/GEOMToolsGUI_TransparencyDlg.cxx @@ -29,6 +29,7 @@ #include "GEOMToolsGUI_TransparencyDlg.h" #include "GEOMBase.h" #include "GEOM_AISShape.hxx" +#include "GeometryGUI.h" #include "SALOME_ListIO.hxx" #include "SALOME_ListIteratorOfListIO.hxx" @@ -43,11 +44,13 @@ #include #include #include +#include #include #include #include #include +#include #include #include @@ -96,9 +99,15 @@ GEOMToolsGUI_TransparencyDlg::GEOMToolsGUI_TransparencyDlg( QWidget* parent ) buttonOk->setText( tr( "GEOM_BUT_OK" ) ); buttonOk->setAutoDefault( TRUE ); buttonOk->setDefault( TRUE ); - GroupButtonsLayout->addItem( new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum), 0, 0 ); - GroupButtonsLayout->addWidget( buttonOk, 0, 1 ); - GroupButtonsLayout->addItem( new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum), 0, 2 ); + + QPushButton* buttonHelp = new QPushButton( GroupButtons, "buttonHelp" ); + buttonHelp->setText( tr( "GEOM_BUT_HELP" ) ); + buttonHelp->setAutoDefault( TRUE ); + buttonHelp->setDefault( TRUE ); + + GroupButtonsLayout->addWidget( buttonOk, 0, 0 ); + GroupButtonsLayout->addItem( new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum), 0, 1 ); + GroupButtonsLayout->addWidget( buttonHelp, 0, 2 ); /*************************************************************************/ QGroupBox* GroupC1 = new QGroupBox( this, "GroupC1" ); @@ -137,8 +146,11 @@ GEOMToolsGUI_TransparencyDlg::GEOMToolsGUI_TransparencyDlg( QWidget* parent ) // mySlider->setValue( 5 ) ; ValueHasChanged(mySlider->value()); + myHelpFileName = "transparency.htm"; + // signals and slots connections : after ValueHasChanged() connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); + connect(buttonHelp, SIGNAL(clicked()), this, SLOT(ClickOnHelp())); connect(mySlider, SIGNAL(valueChanged(int)), this, SLOT(ValueHasChanged(int))); } @@ -174,6 +186,24 @@ void GEOMToolsGUI_TransparencyDlg::ClickOnClose() return; } +//================================================================================= +// function : ClickOnHelp() +// purpose : +//================================================================================= +void GEOMToolsGUI_TransparencyDlg::ClickOnHelp() +{ + LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication()); + if (app) { + GeometryGUI* aGeomGUI = dynamic_cast( app->module( "Geometry" ) ); + app->onHelpContextModule(aGeomGUI ? app->moduleName(aGeomGUI->moduleName()) : QString(""), myHelpFileName); + } + else { + SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), + QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName), + QObject::tr("BUT_OK")); + } +} //================================================================================= // function : ValueHasChanged() diff --git a/src/GEOMToolsGUI/GEOMToolsGUI_TransparencyDlg.h b/src/GEOMToolsGUI/GEOMToolsGUI_TransparencyDlg.h index a63b514b6..673a46f4a 100644 --- a/src/GEOMToolsGUI/GEOMToolsGUI_TransparencyDlg.h +++ b/src/GEOMToolsGUI/GEOMToolsGUI_TransparencyDlg.h @@ -53,10 +53,12 @@ public: private : bool myFirstInit ; /* Inform for the first init */ QSlider* mySlider; + QString myHelpFileName; private slots: void ClickOnOk(); void ClickOnClose(); + void ClickOnHelp(); void ValueHasChanged( int ) ; }; diff --git a/src/GEOM_I/GEOM_DumpPython.cc b/src/GEOM_I/GEOM_DumpPython.cc index 19e6ed621..2d650b884 100644 --- a/src/GEOM_I/GEOM_DumpPython.cc +++ b/src/GEOM_I/GEOM_DumpPython.cc @@ -64,7 +64,7 @@ Engines::TMPFile* GEOM_Gen_i::DumpPython(CORBA::Object_ptr theStudy, } TCollection_AsciiString aScript = - "### This file is generated by SALOME automatically by dump python funcitonality\n" + "### This file is generated by SALOME automatically by dump python functionality\n" "### of GEOM component\n\n"; aScript += _impl->DumpPython(aStudy->StudyId(), aMap, isPublished, isValidScript); diff --git a/src/GEOM_I/GEOM_IMeasureOperations_i.cc b/src/GEOM_I/GEOM_IMeasureOperations_i.cc index 1564bd5b7..8fd387a2c 100644 --- a/src/GEOM_I/GEOM_IMeasureOperations_i.cc +++ b/src/GEOM_I/GEOM_IMeasureOperations_i.cc @@ -248,7 +248,7 @@ char* GEOM_IMeasureOperations_i::WhatIs (GEOM::GEOM_Object_ptr theShape) // Get shape parameters TCollection_AsciiString aDescription = GetOperations()->WhatIs(aShape); - return strdup(aDescription.ToCString()); + return CORBA::string_dup(aDescription.ToCString()); } //============================================================================= diff --git a/src/GEOM_I/GEOM_IShapesOperations_i.cc b/src/GEOM_I/GEOM_IShapesOperations_i.cc index 4c452deae..d41f919b7 100644 --- a/src/GEOM_I/GEOM_IShapesOperations_i.cc +++ b/src/GEOM_I/GEOM_IShapesOperations_i.cc @@ -438,6 +438,76 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSubShape return GetObject(anObject); } +//============================================================================= +/*! + * GetSubShapeIndex + */ +//============================================================================= +CORBA::Long GEOM_IShapesOperations_i::GetSubShapeIndex + (GEOM::GEOM_Object_ptr theMainShape, GEOM::GEOM_Object_ptr theSubShape) +{ + if (theMainShape == NULL || theSubShape == NULL) return -1; + + //Get the reference shapes + Handle(GEOM_Object) aMainShapeRef = GetOperations()->GetEngine()->GetObject + (theMainShape->GetStudyID(), theMainShape->GetEntry()); + Handle(GEOM_Object) aSubShapeRef = GetOperations()->GetEngine()->GetObject + (theSubShape->GetStudyID(), theSubShape->GetEntry()); + if (aMainShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1; + + //Get the unique ID of inside + CORBA::Long anID = GetOperations()->GetSubShapeIndex(aMainShapeRef, aSubShapeRef); + if (!GetOperations()->IsDone()) + return -1; + + return anID; +} + +//============================================================================= +/*! + * GetTopologyIndex + */ +//============================================================================= +CORBA::Long GEOM_IShapesOperations_i::GetTopologyIndex + (GEOM::GEOM_Object_ptr theMainShape, GEOM::GEOM_Object_ptr theSubShape) +{ + if (theMainShape == NULL || theSubShape == NULL) return -1; + + //Get the reference shapes + Handle(GEOM_Object) aMainShapeRef = GetOperations()->GetEngine()->GetObject + (theMainShape->GetStudyID(), theMainShape->GetEntry()); + Handle(GEOM_Object) aSubShapeRef = GetOperations()->GetEngine()->GetObject + (theSubShape->GetStudyID(), theSubShape->GetEntry()); + if (aMainShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1; + + //Get an ID of , unique among all sub-shapes of of the same type + CORBA::Long anID = GetOperations()->GetTopologyIndex(aMainShapeRef, aSubShapeRef); + if (!GetOperations()->IsDone()) + return -1; + + return anID; +} + +//============================================================================= +/*! + * GetShapeTypeString + */ +//============================================================================= +char* GEOM_IShapesOperations_i::GetShapeTypeString (GEOM::GEOM_Object_ptr theShape) +{ + if (theShape == NULL) return NULL; + + //Get the reference shape + Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject + (theShape->GetStudyID(), theShape->GetEntry()); + + if (aShape.IsNull()) return NULL; + + // Get shape parameters + TCollection_AsciiString aDescription = GetOperations()->GetShapeTypeString(aShape); + return CORBA::string_dup(aDescription.ToCString()); +} + //============================================================================= /*! * NumberOfFaces diff --git a/src/GEOM_I/GEOM_IShapesOperations_i.hh b/src/GEOM_I/GEOM_IShapesOperations_i.hh index eb48a0f74..c09d16e3c 100644 --- a/src/GEOM_I/GEOM_IShapesOperations_i.hh +++ b/src/GEOM_I/GEOM_IShapesOperations_i.hh @@ -73,6 +73,14 @@ class GEOM_IShapesOperations_i : GEOM::GEOM_Object_ptr GetSubShape (GEOM::GEOM_Object_ptr theMainShape, CORBA::Long theID); + CORBA::Long GetSubShapeIndex (GEOM::GEOM_Object_ptr theMainShape, + GEOM::GEOM_Object_ptr theSubShape); + + CORBA::Long GetTopologyIndex (GEOM::GEOM_Object_ptr theMainShape, + GEOM::GEOM_Object_ptr theSubShape); + + char* GetShapeTypeString (GEOM::GEOM_Object_ptr theShape); + CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape); CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape); diff --git a/src/GEOM_I/GEOM_Object_i.cc b/src/GEOM_I/GEOM_Object_i.cc index 66e85cbf3..ce27e0ee0 100644 --- a/src/GEOM_I/GEOM_Object_i.cc +++ b/src/GEOM_I/GEOM_Object_i.cc @@ -253,9 +253,9 @@ SALOMEDS::TMPFile* GEOM_Object_i::GetShapeStream() //function : getShape //purpose : return the TopoDS_Shape when client and servant are colocated, be careful //======================================================================= -long GEOM_Object_i::getShape() { +CORBA::Long GEOM_Object_i::getShape() { _geom = _impl->GetValue(); - return((long)(&_geom)); + return CORBA::Long(size_t(&_geom)); } //============================================================================= diff --git a/src/GEOM_I/GEOM_Object_i.hh b/src/GEOM_I/GEOM_Object_i.hh index ab5779589..60b97be24 100644 --- a/src/GEOM_I/GEOM_Object_i.hh +++ b/src/GEOM_I/GEOM_Object_i.hh @@ -60,7 +60,7 @@ class GEOM_Object_i : public virtual POA_GEOM::GEOM_Object, public virtual SALOM virtual SALOMEDS::TMPFile* GetShapeStream(); - long getShape(); + virtual CORBA::Long getShape(); virtual bool IsMainShape() { return _impl->IsMainShape(); } diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.cc b/src/GEOM_I_Superv/GEOM_Superv_i.cc index 32b1589de..38455e4ce 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.cc +++ b/src/GEOM_I_Superv/GEOM_Superv_i.cc @@ -20,6 +20,12 @@ #include "GEOM_Superv_i.hh" #include "SALOME_LifeCycleCORBA.hxx" + +#include CORBA_SERVER_HEADER(SALOME_Session) +#include "SALOMEDSClient_ClientFactory.hxx" + +#define isNewStudy(a,b) (a > 0 && a != b) + using namespace std; //============================================================================= // constructor: @@ -44,6 +50,7 @@ GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb, setGeomEngine(); myStudyID = -1; + myLastStudyID = -1; myBasicOp = GEOM::GEOM_IBasicOperations::_nil(); my3DPrimOp = GEOM::GEOM_I3DPrimOperations::_nil(); @@ -93,7 +100,43 @@ void GEOM_Superv_i::setGeomEngine() //============================================================================= void GEOM_Superv_i::SetStudyID( CORBA::Long theId ) { - myStudyID = theId; + // mkr : PAL10770 --> + myLastStudyID = myStudyID; + + CORBA::Object_ptr anObject = name_service->Resolve("/Kernel/Session"); + if ( !CORBA::is_nil(anObject) ) { + SALOME::Session_var aSession = SALOME::Session::_narrow(anObject); + if ( !CORBA::is_nil(aSession) ) { + int aStudyID = aSession->GetActiveStudyId(); + if ( theId != aStudyID && aStudyID > 0) { // mkr : IPAL12128 + MESSAGE("Warning : given study ID theId="<object_to_string( myGeomEngine ); + + CORBA::Object_var anObj = name_service->Resolve("/myStudyManager"); + if ( !CORBA::is_nil(anObj) ) { + SALOMEDS::StudyManager_var aStudyManager = SALOMEDS::StudyManager::_narrow(anObj); + if ( !CORBA::is_nil(aStudyManager) ) { + _PTR(Study) aDSStudy = ClientFactory::Study(aStudyManager->GetStudyByID(myStudyID)); + if ( aDSStudy ) { + _PTR(SComponent) aSCO = aDSStudy->FindComponent(myGeomEngine->ComponentDataType()); + if ( aSCO ) { + _PTR(StudyBuilder) aBuilder = aDSStudy->NewBuilder(); + if ( aBuilder ) aBuilder->LoadWith( aSCO, anEngine ); + } + } + } + } + } + // mkr : PAL10770 <-- } //============================================================================= @@ -134,7 +177,7 @@ GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfLong() // AddItemToListOfLong: //============================================================================= void GEOM_Superv_i::AddItemToListOfLong(GEOM::GEOM_List_ptr& theList, - long theObject) + CORBA::Long theObject) { MESSAGE("GEOM_Superv_i::AddItemToListOfLong(...)"); if (GEOM_List_i* aList = @@ -158,7 +201,7 @@ GEOM::GEOM_List_ptr GEOM_Superv_i::CreateListOfDouble() // AddItemToListOfDouble: //============================================================================= void GEOM_Superv_i::AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList, - double theObject) + CORBA::Double theObject) { MESSAGE("GEOM_Superv_i::AddItemToListOfDouble(...)"); if (GEOM_List_i* aList = @@ -176,7 +219,8 @@ void GEOM_Superv_i::getBasicOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_IBasicOperations interface - myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID); + if (CORBA::is_nil(myBasicOp) || isNewStudy(myLastStudyID,myStudyID)) + myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID); } //============================================================================= @@ -187,7 +231,8 @@ void GEOM_Superv_i::get3DPrimOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_I3DPrimOperations interface - my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID); + if (CORBA::is_nil(my3DPrimOp) || isNewStudy(myLastStudyID,myStudyID)) + my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID); } //============================================================================= @@ -198,7 +243,8 @@ void GEOM_Superv_i::getBoolOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_IBooleanOperations interface - myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID); + if (CORBA::is_nil(myBoolOp) || isNewStudy(myLastStudyID,myStudyID)) + myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID); } //============================================================================= @@ -209,7 +255,8 @@ void GEOM_Superv_i::getInsOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_IInsertOperations interface - myInsOp = myGeomEngine->GetIInsertOperations(myStudyID); + if (CORBA::is_nil(myInsOp) || isNewStudy(myLastStudyID,myStudyID)) + myInsOp = myGeomEngine->GetIInsertOperations(myStudyID); } //============================================================================= @@ -220,7 +267,8 @@ void GEOM_Superv_i::getTransfOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_ITransformOperations interface - myTransfOp = myGeomEngine->GetITransformOperations(myStudyID); + if (CORBA::is_nil(myTransfOp) || isNewStudy(myLastStudyID,myStudyID)) + myTransfOp = myGeomEngine->GetITransformOperations(myStudyID); } //============================================================================= @@ -231,7 +279,8 @@ void GEOM_Superv_i::getShapesOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_IShapesOperations interface - myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID); + if (CORBA::is_nil(myShapesOp) || isNewStudy(myLastStudyID,myStudyID)) + myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID); } //============================================================================= @@ -242,7 +291,8 @@ void GEOM_Superv_i::getBlocksOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_IBlocksOperations interface - myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID); + if (CORBA::is_nil(myBlocksOp) || isNewStudy(myLastStudyID,myStudyID)) + myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID); } //============================================================================= @@ -253,7 +303,8 @@ void GEOM_Superv_i::getCurvesOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_ICurvesOperations interface - myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID); + if (CORBA::is_nil(myCurvesOp) || isNewStudy(myLastStudyID,myStudyID)) + myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID); } //============================================================================= @@ -264,7 +315,8 @@ void GEOM_Superv_i::getLocalOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_ILocalOperations interface - myLocalOp = myGeomEngine->GetILocalOperations(myStudyID); + if (CORBA::is_nil(myLocalOp) || isNewStudy(myLastStudyID,myStudyID)) + myLocalOp = myGeomEngine->GetILocalOperations(myStudyID); } //============================================================================= @@ -275,7 +327,8 @@ void GEOM_Superv_i::getGroupOp() if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); // get GEOM_IGroupOperations interface - myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID); + if (CORBA::is_nil(myGroupOp) || isNewStudy(myLastStudyID,myStudyID)) + myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID); } //============================================================================= @@ -295,7 +348,7 @@ PortableServer::ServantBase_var GEOM_Superv_i::GetServant(CORBA::Object_ptr //============================================================================ SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent, const char* theURL, - bool isMultiFile) + CORBA::Boolean isMultiFile) { SALOMEDS::TMPFile_var aStreamFile; return aStreamFile._retn(); @@ -307,7 +360,7 @@ SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent, //============================================================================ SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent, const char* theURL, - bool isMultiFile) + CORBA::Boolean isMultiFile) { SALOMEDS::TMPFile_var aStreamFile; return aStreamFile._retn(); @@ -320,7 +373,7 @@ SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponen CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent, const SALOMEDS::TMPFile& theStream, const char* theURL, - bool isMultiFile) + CORBA::Boolean isMultiFile) { return false; } @@ -332,7 +385,7 @@ CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent, CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent, const SALOMEDS::TMPFile& theStream, const char* theURL, - bool isMultiFile) + CORBA::Boolean isMultiFile) { return false; } @@ -342,7 +395,8 @@ CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent, // purpose : //============================================================================ void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent) -{} +{ +} //============================================================================ // function : ComponentDataType() @@ -383,7 +437,7 @@ char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject, // function : CanPublishInStudy // purpose : //============================================================================ -bool GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR) +CORBA::Boolean GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR) { if (CORBA::is_nil(myGeomEngine)) setGeomEngine(); @@ -453,7 +507,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX, CORBA::Double theZ) { MESSAGE("GEOM_Superv_i::MakePointXYZ"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); // make vertex and return return myBasicOp->MakePointXYZ(theX, theY, theZ); } @@ -467,7 +521,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_p CORBA::Double theZ) { MESSAGE("GEOM_Superv_i::MakePointWithReference"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); return myBasicOp->MakePointWithReference(theReference, theX, theY, theZ); } @@ -478,7 +532,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr the CORBA::Double theParameter) { MESSAGE("GEOM_Superv_i::MakePointOnCurve"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); return myBasicOp->MakePointOnCurve(theRefCurve, theParameter); } @@ -490,7 +544,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX, CORBA::Double theDZ) { MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); return myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ); } @@ -501,7 +555,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr the GEOM::GEOM_Object_ptr thePnt2) { MESSAGE("GEOM_Superv_i::MakeVector"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); return myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2); } @@ -512,7 +566,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePn GEOM::GEOM_Object_ptr thePnt2) { MESSAGE("GEOM_Superv_i::MakeLineTwoPnt"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); return myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2); } @@ -525,7 +579,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr th CORBA::Double theTrimSize) { MESSAGE("GEOM_Superv_i::MakePlaneThreePnt"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); return myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize); } @@ -537,7 +591,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr theP CORBA::Double theTrimSize) { MESSAGE("GEOM_Superv_i::MakePlanePntVec"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); return myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize); } @@ -548,7 +602,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFac CORBA::Double theTrimSize) { MESSAGE("GEOM_Superv_i::MakePlaneFace"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); return myBasicOp->MakePlaneFace(theFace, theTrimSize); } @@ -561,7 +615,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ) { MESSAGE("GEOM_Superv_i::MakeMarker"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); + getBasicOp(); return myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ); } @@ -577,8 +631,8 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1, CORBA::Double theZ2) { MESSAGE("GEOM_Superv_i::MakeBox"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + getBasicOp(); + get3DPrimOp(); return my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1), myBasicOp->MakePointXYZ(theX2, theY2, theZ2)); } @@ -591,7 +645,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX, CORBA::Double theDZ) { MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ); } @@ -602,7 +656,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt GEOM::GEOM_Object_ptr thePnt2) { MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2); } @@ -615,7 +669,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr CORBA::Double theHeight) { MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight); } @@ -626,7 +680,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderRH (CORBA::Double theR, CORBA::Double theH) { MESSAGE("GEOM_Superv_i::MakeCylinderRH"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeCylinderRH(theR, theH); } @@ -639,8 +693,8 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX, CORBA::Double theRadius) { MESSAGE("GEOM_Superv_i::MakeSphepe"); - if (CORBA::is_nil(myBasicOp)) getBasicOp(); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + getBasicOp(); + get3DPrimOp(); return my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius); } @@ -650,7 +704,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere (CORBA::Double theX, GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR) { MESSAGE("GEOM_Superv_i::MakeSphereR"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeSphereR(theR); } @@ -661,7 +715,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePn CORBA::Double theR) { MESSAGE("GEOM_Superv_i::MakeSpherePntR"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeSpherePntR(thePnt, theR); } @@ -674,7 +728,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr th CORBA::Double theRMinor) { MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor); } @@ -685,7 +739,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusRR (CORBA::Double theRMajor, CORBA::Double theRMinor) { MESSAGE("GEOM_Superv_i::MakeTorusRR"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeTorusRR(theRMajor, theRMinor); } @@ -699,7 +753,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr CORBA::Double theHeight) { MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight); } @@ -711,7 +765,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1, CORBA::Double theHeight) { MESSAGE("GEOM_Superv_i::MakeConeR1R2H"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight); } @@ -723,7 +777,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBas CORBA::Double theH) { MESSAGE("GEOM_Superv_i::MakePrismVecH"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakePrismVecH(theBase, theVec, theH); } @@ -736,7 +790,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theB GEOM::GEOM_Object_ptr thePoint2) { MESSAGE("GEOM_Superv_i::MakePrismTwoPnt"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2); } @@ -747,7 +801,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePipe (GEOM::GEOM_Object_ptr theBase, GEOM::GEOM_Object_ptr thePath) { MESSAGE("GEOM_Superv_i::MakePipe"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakePipe(theBase, thePath); } @@ -759,7 +813,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ CORBA::Double theAngle) { MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle); } @@ -772,7 +826,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape CORBA::Long theNbIter) { MESSAGE("GEOM_Superv_i::MakeFilling"); - if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp(); + get3DPrimOp(); return my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter); } @@ -787,7 +841,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean (GEOM::GEOM_Object_ptr theShape // theOperation indicates the operation to be done: // 1 - Common, 2 - Cut, 3 - Fuse, 4 - Section MESSAGE("GEOM_Superv_i::MakeBoolean"); - if (CORBA::is_nil(myBoolOp)) getBoolOp(); + getBoolOp(); return myBoolOp->MakeBoolean(theShape1, theShape2, theOperation); } @@ -798,7 +852,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFuse (GEOM::GEOM_Object_ptr theShape1, GEOM::GEOM_Object_ptr theShape2) { MESSAGE("GEOM_Superv_i::MakeFuse"); - if (CORBA::is_nil(myBoolOp)) getBoolOp(); + getBoolOp(); return myBoolOp->MakeBoolean(theShape1, theShape2, 3); } @@ -825,7 +879,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (GEOM::GEOM_List_ptr theSha GEOM_List_i* aListImplM = dynamic_cast*>(GetServant(theMaterials, myPOA).in()); if (aListImplS && aListImplT && aListImplKI && aListImplRI && aListImplM) { - if (CORBA::is_nil(myBoolOp)) getBoolOp(); + getBoolOp(); return myBoolOp->MakePartition(aListImplS->GetList(), aListImplT->GetList(), aListImplKI->GetList(), aListImplRI->GetList(), theLimit, theRemoveWebs, aListImplM->GetList()); @@ -840,7 +894,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr th GEOM::GEOM_Object_ptr thePlane) { MESSAGE("GEOM_Superv_i::MakeHalfPartition"); - if (CORBA::is_nil(myBoolOp)) getBoolOp(); + getBoolOp(); return myBoolOp->MakeHalfPartition(theShape, thePlane); } @@ -851,7 +905,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr th GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal) { MESSAGE("GEOM_Superv_i::MakeCopy"); - if (CORBA::is_nil(myInsOp)) getInsOp(); + getInsOp(); return myInsOp->MakeCopy(theOriginal); } @@ -863,7 +917,7 @@ void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject, const char* theFormatName) { MESSAGE("GEOM_Superv_i::Export"); - if (CORBA::is_nil(myInsOp)) getInsOp(); + getInsOp(); myInsOp->Export(theObject, theFileName, theFormatName); } @@ -874,7 +928,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::Import (const char* theFileName, const char* theFormatName) { MESSAGE("GEOM_Superv_i::Import"); - if (CORBA::is_nil(myInsOp)) getInsOp(); + getInsOp(); return myInsOp->Import(theFileName, theFormatName); } @@ -885,7 +939,7 @@ void GEOM_Superv_i::ImportTranslators (GEOM::string_array_out theFormats, GEOM::string_array_out thePatterns) { MESSAGE("GEOM_Superv_i::ImportTranslators"); - if (CORBA::is_nil(myInsOp)) getInsOp(); + getInsOp(); myInsOp->ImportTranslators(theFormats, thePatterns); } @@ -896,7 +950,7 @@ void GEOM_Superv_i::ExportTranslators (GEOM::string_array_out theFormats, GEOM::string_array_out thePatterns) { MESSAGE("GEOM_Superv_i::ExportTranslators"); - if (CORBA::is_nil(myInsOp)) getInsOp(); + getInsOp(); myInsOp->ExportTranslators(theFormats, thePatterns); } @@ -909,7 +963,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr t GEOM::GEOM_Object_ptr thePoint2) { MESSAGE("GEOM_Superv_i::TranslateTwoPoints"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2); } @@ -921,7 +975,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_p GEOM::GEOM_Object_ptr thePoint2) { MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2); } @@ -934,7 +988,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theO CORBA::Double theDZ) { MESSAGE("GEOM_Superv_i::TranslateDXDYDZ"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ); } @@ -947,7 +1001,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr CORBA::Double theDZ) { MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ); } @@ -958,7 +1012,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theO GEOM::GEOM_Object_ptr theVector) { MESSAGE("GEOM_Superv_i::TranslateVector"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->TranslateVector(theObject, theVector); } @@ -969,7 +1023,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr GEOM::GEOM_Object_ptr theVector) { MESSAGE("GEOM_Superv_i::TranslateVectorCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->TranslateVectorCopy(theObject, theVector); } @@ -982,7 +1036,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr the CORBA::Long theNbTimes) { MESSAGE("GEOM_Superv_i::MultiTranslate1D"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes); } @@ -998,7 +1052,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr the CORBA::Long theNbTimes2) { MESSAGE("GEOM_Superv_i::MultiTranslate2D"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1, theVector2, theStep2, theNbTimes2); } @@ -1011,7 +1065,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject, CORBA::Double theAngle) { MESSAGE("GEOM_Superv_i::Rotate"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->Rotate(theObject, theAxis, theAngle); } @@ -1023,7 +1077,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject CORBA::Double theAngle) { MESSAGE("GEOM_Superv_i::RotateCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->RotateCopy(theObject, theAxis, theAngle); } @@ -1035,7 +1089,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObj CORBA::Long theNbTimes) { MESSAGE("GEOM_Superv_i::MultiRotate1D"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes); } @@ -1050,7 +1104,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObj CORBA::Long theNbTimes2) { MESSAGE("GEOM_Superv_i::MultiRotate2D"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2); } @@ -1061,7 +1115,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObjec GEOM::GEOM_Object_ptr thePlane) { MESSAGE("GEOM_Superv_i::MirrorPlane"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MirrorPlane(theObject, thePlane); } @@ -1072,7 +1126,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theO GEOM::GEOM_Object_ptr thePlane) { MESSAGE("GEOM_Superv_i::MirrorPlaneCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MirrorPlaneCopy(theObject, thePlane); } @@ -1083,7 +1137,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxis (GEOM::GEOM_Object_ptr theObject GEOM::GEOM_Object_ptr theAxis) { MESSAGE("GEOM_Superv_i::MirrorAxis"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MirrorAxis(theObject, theAxis); } @@ -1094,7 +1148,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theOb GEOM::GEOM_Object_ptr theAxis) { MESSAGE("GEOM_Superv_i::MirrorAxisCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MirrorAxisCopy(theObject, theAxis); } @@ -1105,7 +1159,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObjec GEOM::GEOM_Object_ptr thePoint) { MESSAGE("GEOM_Superv_i::MirrorPoint"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MirrorPoint(theObject, thePoint); } @@ -1116,7 +1170,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theO GEOM::GEOM_Object_ptr thePoint) { MESSAGE("GEOM_Superv_i::MirrorPointCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->MirrorPointCopy(theObject, thePoint); } @@ -1127,7 +1181,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObjec CORBA::Double theOffset) { MESSAGE("GEOM_Superv_i::OffsetShape"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->OffsetShape(theObject, theOffset); } @@ -1138,7 +1192,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theO CORBA::Double theOffset) { MESSAGE("GEOM_Superv_i::OffsetShapeCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->OffsetShapeCopy(theObject, theOffset); } @@ -1150,7 +1204,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject CORBA::Double theFactor) { MESSAGE("GEOM_Superv_i::ScaleShape"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->ScaleShape(theObject, thePoint, theFactor); } @@ -1162,7 +1216,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theOb CORBA::Double theFactor) { MESSAGE("GEOM_Superv_i::ScaleShapeCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor); } @@ -1174,7 +1228,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObj GEOM::GEOM_Object_ptr theEndLCS) { MESSAGE("GEOM_Superv_i::PositionShape"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS); } @@ -1186,7 +1240,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr th GEOM::GEOM_Object_ptr theEndLCS) { MESSAGE("GEOM_Superv_i::PositionShapeCopy"); - if (CORBA::is_nil(myTransfOp)) getTransfOp(); + getTransfOp(); return myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS); } @@ -1198,7 +1252,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEdge (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2) { MESSAGE("GEOM_Superv_i::MakeEdge"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->MakeEdge(thePnt1, thePnt2); } @@ -1210,7 +1264,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (GEOM::GEOM_List_ptr theEdgesAndWi MESSAGE("GEOM_Superv_i::MakeWire"); if (GEOM_List_i* aListImplEW = dynamic_cast*>(GetServant(theEdgesAndWires, myPOA).in())) { - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->MakeWire(aListImplEW->GetList()); } return NULL; @@ -1223,7 +1277,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFace (GEOM::GEOM_Object_ptr theWire, CORBA::Boolean isPlanarWanted) { MESSAGE("GEOM_Superv_i::MakeFace"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->MakeFace(theWire, isPlanarWanted); } @@ -1236,7 +1290,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (GEOM::GEOM_List_ptr theWires MESSAGE("GEOM_Superv_i::MakeFaceWires"); if (GEOM_List_i* aListImplW = dynamic_cast*>(GetServant(theWires, myPOA).in())) { - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->MakeFaceWires(aListImplW->GetList(), isPlanarWanted); } return NULL; @@ -1250,7 +1304,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndS MESSAGE("GEOM_Superv_i::MakeShell"); if (GEOM_List_i* aListImplFS = dynamic_cast*>(GetServant(theFacesAndShells, myPOA).in())) { - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->MakeShell(aListImplFS->GetList()); } return NULL; @@ -1262,7 +1316,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (GEOM::GEOM_List_ptr theFacesAndS GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell) { MESSAGE("GEOM_Superv_i::MakeSolidShell"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->MakeSolidShell(theShell); } @@ -1274,7 +1328,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (GEOM::GEOM_List_ptr theShe MESSAGE("GEOM_Superv_i::MakeSolidShells"); if (GEOM_List_i* aListImplS = dynamic_cast*>(GetServant(theShells, myPOA).in())) { - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->MakeSolidShells(aListImplS->GetList()); } return NULL; @@ -1288,7 +1342,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (GEOM::GEOM_List_ptr theShapes MESSAGE("GEOM_Superv_i::MakeCompound"); if (GEOM_List_i* aListImpl = dynamic_cast*>(GetServant(theShapes, myPOA).in())) { - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->MakeCompound(aListImpl->GetList()); } return NULL; @@ -1301,7 +1355,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theSha CORBA::Double theTolerance) { MESSAGE("GEOM_Superv_i::MakeGlueFaces"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->MakeGlueFaces(theShape, theTolerance); } @@ -1313,7 +1367,7 @@ GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape, CORBA::Boolean isSorted) { MESSAGE("GEOM_Superv_i::MakeExplode"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); GEOM::ListOfGO* aList = myShapesOp->MakeExplode(theShape, theShapeType, isSorted); GEOM_List_i* aListPtr = new GEOM_List_i(*(aList)); @@ -1327,7 +1381,7 @@ GEOM::GEOM_List_ptr GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape, CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape) { MESSAGE("GEOM_Superv_i::NumberOfFaces"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->NumberOfFaces(theShape); } @@ -1337,7 +1391,7 @@ CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape) CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape) { MESSAGE("GEOM_Superv_i::NumberOfEdges"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->NumberOfEdges(theShape); } @@ -1347,7 +1401,7 @@ CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape) GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape) { MESSAGE("GEOM_Superv_i::ChangeOrientation"); - if (CORBA::is_nil(myShapesOp)) getShapesOp(); + getShapesOp(); return myShapesOp->ChangeOrientation(theShape); } @@ -1362,7 +1416,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr th GEOM::GEOM_Object_ptr thePnt4) { MESSAGE("GEOM_Superv_i::MakeQuad4Vertices"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4); } @@ -1375,7 +1429,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge4) { MESSAGE("GEOM_Superv_i::MakeQuad"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4); } @@ -1386,7 +1440,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEd GEOM::GEOM_Object_ptr theEdge2) { MESSAGE("GEOM_Superv_i::MakeQuad2Edges"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2); } @@ -1401,7 +1455,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace6) { MESSAGE("GEOM_Superv_i::MakeHexa"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6); } @@ -1412,7 +1466,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFa GEOM::GEOM_Object_ptr theFace2) { MESSAGE("GEOM_Superv_i::MakeHexa2Faces"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->MakeHexa2Faces(theFace1, theFace2); } @@ -1426,7 +1480,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape, CORBA::Double theEpsilon) { MESSAGE("GEOM_Superv_i::GetPoint"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon); } @@ -1438,7 +1492,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape, GEOM::GEOM_Object_ptr thePoint2) { MESSAGE("GEOM_Superv_i::GetEdge"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetEdge(theShape, thePoint1, thePoint2); } @@ -1449,7 +1503,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr the GEOM::GEOM_Object_ptr thePoint) { MESSAGE("GEOM_Superv_i::GetEdgeNearPoint"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetEdgeNearPoint(theShape, thePoint); } @@ -1463,7 +1517,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theS GEOM::GEOM_Object_ptr thePoint4) { MESSAGE("GEOM_Superv_i::GetFaceByPoints"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4); } @@ -1475,7 +1529,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theSh GEOM::GEOM_Object_ptr theEdge2) { MESSAGE("GEOM_Superv_i::GetFaceByEdges"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2); } @@ -1486,7 +1540,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theB GEOM::GEOM_Object_ptr theFace) { MESSAGE("GEOM_Superv_i::GetOppositeFace"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetOppositeFace(theBlock, theFace); } @@ -1497,7 +1551,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr the GEOM::GEOM_Object_ptr thePoint) { MESSAGE("GEOM_Superv_i::GetFaceNearPoint"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetFaceNearPoint(theShape, thePoint); } @@ -1508,7 +1562,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr the GEOM::GEOM_Object_ptr theVector) { MESSAGE("GEOM_Superv_i::GetFaceByNormale"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetFaceByNormale(theBlock, theVector); } @@ -1521,7 +1575,7 @@ CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompo CORBA::Long& theNbBlocks) { MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks); } @@ -1533,7 +1587,7 @@ CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors) { MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors); } @@ -1544,7 +1598,7 @@ char* GEOM_Superv_i::PrintBCErrors (GEOM::GEOM_Object_ptr theCompound, const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors) { MESSAGE("GEOM_Superv_i::PrintBCErrors"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->PrintBCErrors(theCompound, theErrors); } @@ -1556,7 +1610,7 @@ GEOM::GEOM_List_ptr GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_pt CORBA::Long theMaxNbFaces) { MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); GEOM::ListOfGO* aBlocks = myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces); GEOM_List_i* aListPtr = new GEOM_List_i(*(aBlocks)); return aListPtr->_this(); @@ -1569,7 +1623,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr th GEOM::GEOM_Object_ptr thePoint) { MESSAGE("GEOM_Superv_i::GetBlockNearPoint"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetBlockNearPoint(theCompound, thePoint); } @@ -1582,7 +1636,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theC MESSAGE("GEOM_Superv_i::GetBlockByParts"); if (GEOM_List_i* aListImplP = dynamic_cast*>(GetServant(theParts, myPOA).in())) { - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->GetBlockByParts(theCompound, aListImplP->GetList()); } return NULL; @@ -1597,7 +1651,7 @@ GEOM::GEOM_List_ptr GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCo MESSAGE("GEOM_Superv_i::GetBlocksByParts"); if (GEOM_List_i* aListImplP = dynamic_cast*>(GetServant(theParts, myPOA).in())) { - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); GEOM::ListOfGO* aBlocks = myBlocksOp->GetBlocksByParts(theCompound, aListImplP->GetList()); GEOM_List_i* aListPtr = new GEOM_List_i(*(aBlocks)); @@ -1615,7 +1669,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Objec CORBA::Long theNbTimes) { MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes); } @@ -1632,7 +1686,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D CORBA::Long theNbTimesV) { MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D"); - if (CORBA::is_nil(myBlocksOp)) getBlocksOp(); + getBlocksOp(); return myBlocksOp->MakeMultiTransformation2D(theBlock, theDirFace1U, theDirFace2U, theNbTimesU, theDirFace1V, theDirFace2V, theNbTimesV); @@ -1647,7 +1701,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr th CORBA::Double theR) { MESSAGE("GEOM_Superv_i::MakeCirclePntVecR"); - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + getCurvesOp(); return myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR); } @@ -1659,7 +1713,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr t GEOM::GEOM_Object_ptr thePnt3) { MESSAGE("GEOM_Superv_i::MakeCircleThreePnt"); - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + getCurvesOp(); return myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3); } @@ -1672,7 +1726,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCente CORBA::Double theRMinor) { MESSAGE("GEOM_Superv_i::MakeEllipse"); - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + getCurvesOp(); return myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor); } @@ -1684,7 +1738,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt3) { MESSAGE("GEOM_Superv_i::MakeArc"); - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + getCurvesOp(); return myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3); } @@ -1696,7 +1750,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (GEOM::GEOM_List_ptr thePoints MESSAGE("GEOM_Superv_i::MakePolyline"); if (GEOM_List_i* aListImplP = dynamic_cast*>(GetServant(thePoints, myPOA).in())) { - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + getCurvesOp(); return myCurvesOp->MakePolyline(aListImplP->GetList()); } return NULL; @@ -1710,7 +1764,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (GEOM::GEOM_List_ptr thePo MESSAGE("GEOM_Superv_i::MakeSplineBezier"); if (GEOM_List_i* aListImplP = dynamic_cast*>(GetServant(thePoints, myPOA).in())) { - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + getCurvesOp(); return myCurvesOp->MakeSplineBezier(aListImplP->GetList()); } return NULL; @@ -1724,7 +1778,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (GEOM::GEOM_List_pt MESSAGE("GEOM_Superv_i::MakeSplineInterpolation"); if (GEOM_List_i* aListImplP = dynamic_cast*>(GetServant(thePoints, myPOA).in())) { - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + getCurvesOp(); return myCurvesOp->MakeSplineInterpolation(aListImplP->GetList()); } return NULL; @@ -1739,7 +1793,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand, MESSAGE("GEOM_Superv_i::MakeSketcher"); if (GEOM_List_i* aListImplWP = dynamic_cast*>(GetServant(theWorkingPlane, myPOA).in())) { - if (CORBA::is_nil(myCurvesOp)) getCurvesOp(); + getCurvesOp(); return myCurvesOp->MakeSketcher(theCommand, aListImplWP->GetList()); } return NULL; @@ -1753,7 +1807,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theSha CORBA::Double theR) { MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher"); - if (CORBA::is_nil(myLocalOp)) getLocalOp(); + getLocalOp(); return myLocalOp->MakeFilletAll(theShape, theR); } @@ -1767,7 +1821,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theS MESSAGE("GEOM_Superv_i::MakeFilletEdges"); if (GEOM_List_i* aListImplE = dynamic_cast*>(GetServant(theEdges, myPOA).in())) { - if (CORBA::is_nil(myLocalOp)) getLocalOp(); + getLocalOp(); return myLocalOp->MakeFilletEdges(theShape, theR, aListImplE->GetList()); } return NULL; @@ -1783,7 +1837,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theS MESSAGE("GEOM_Superv_i::MakeFilletFaces"); if (GEOM_List_i* aListImplF = dynamic_cast*>(GetServant(theFaces, myPOA).in())) { - if (CORBA::is_nil(myLocalOp)) getLocalOp(); + getLocalOp(); return myLocalOp->MakeFilletFaces(theShape, theR, aListImplF->GetList()); } return NULL; @@ -1795,7 +1849,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theS GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD) { MESSAGE("GEOM_Superv_i::MakeChamferAll"); - if (CORBA::is_nil(myLocalOp)) getLocalOp(); + getLocalOp(); return myLocalOp->MakeChamferAll(theShape, theD); } @@ -1807,7 +1861,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theS CORBA::Long theFace1, CORBA::Long theFace2) { MESSAGE("GEOM_Superv_i::MakeChamferEdge"); - if (CORBA::is_nil(myLocalOp)) getLocalOp(); + getLocalOp(); return myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2); } @@ -1821,7 +1875,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr the MESSAGE("GEOM_Superv_i::MakeChamferFaces"); if (GEOM_List_i* aListImplF = dynamic_cast*>(GetServant(theFaces, myPOA).in())) { - if (CORBA::is_nil(myLocalOp)) getLocalOp(); + getLocalOp(); return myLocalOp->MakeChamferFaces(theShape, theD1, theD2, aListImplF->GetList()); } return NULL; @@ -1836,7 +1890,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theSha CORBA::Double theMeshingDeflection) { MESSAGE("GEOM_Superv_i::MakeArchimede"); - if (CORBA::is_nil(myLocalOp)) getLocalOp(); + getLocalOp(); return myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection); } @@ -1847,7 +1901,7 @@ CORBA::Long GEOM_Superv_i::GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape, GEOM::GEOM_Object_ptr theSubShape) { MESSAGE("GEOM_Superv_i::GetSubShapeIndexMakeArchimede"); - if (CORBA::is_nil(myLocalOp)) getLocalOp(); + getLocalOp(); return myLocalOp->GetSubShapeIndex(theShape, theSubShape); } @@ -1859,7 +1913,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainS CORBA::Long theShapeType) { MESSAGE("GEOM_Superv_i::CreateGroup"); - if (CORBA::is_nil(myGroupOp)) getGroupOp(); + getGroupOp(); return myGroupOp->CreateGroup(theMainShape, theShapeType); } @@ -1870,7 +1924,7 @@ void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup, CORBA::Long theSubShapeId) { MESSAGE("GEOM_Superv_i::AddObject"); - if (CORBA::is_nil(myGroupOp)) getGroupOp(); + getGroupOp(); myGroupOp->AddObject(theGroup, theSubShapeId); } @@ -1881,7 +1935,7 @@ void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup, CORBA::Long theSubShapeId) { MESSAGE("GEOM_Superv_i::RemoveObject"); - if (CORBA::is_nil(myGroupOp)) getGroupOp(); + getGroupOp(); myGroupOp->RemoveObject(theGroup, theSubShapeId); } @@ -1891,7 +1945,7 @@ void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup, CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup) { MESSAGE("GEOM_Superv_i::GetType"); - if (CORBA::is_nil(myGroupOp)) getGroupOp(); + getGroupOp(); return myGroupOp->GetType(theGroup); } @@ -1901,7 +1955,7 @@ CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup) GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup) { MESSAGE("GEOM_Superv_i::GetMainShape"); - if (CORBA::is_nil(myGroupOp)) getGroupOp(); + getGroupOp(); return myGroupOp->GetMainShape(theGroup); } @@ -1911,7 +1965,7 @@ GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGrou GEOM::GEOM_List_ptr GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup) { MESSAGE("GEOM_Superv_i::GetObjects"); - if (CORBA::is_nil(myGroupOp)) getGroupOp(); + getGroupOp(); GEOM::ListOfLong* aList = myGroupOp->GetObjects(theGroup); GEOM_List_i* aListPtr = new GEOM_List_i(*(aList)); diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.hh b/src/GEOM_I_Superv/GEOM_Superv_i.hh index 4abb6e257..d64bfb912 100644 --- a/src/GEOM_I_Superv/GEOM_Superv_i.hh +++ b/src/GEOM_I_Superv/GEOM_Superv_i.hh @@ -66,21 +66,21 @@ public: //-----------------------------------------------------------// GEOM::GEOM_List_ptr CreateListOfGO(); void AddItemToListOfGO(GEOM::GEOM_List_ptr& theList, - GEOM::GEOM_Object_ptr theObject); + GEOM::GEOM_Object_ptr theObject); //-----------------------------------------------------------// // Create ListOfLong and add items to it // //-----------------------------------------------------------// GEOM::GEOM_List_ptr CreateListOfLong(); void AddItemToListOfLong(GEOM::GEOM_List_ptr& theList, - long theObject); + CORBA::Long theObject); //-----------------------------------------------------------// // Create ListOfDouble and add items to it // //-----------------------------------------------------------// GEOM::GEOM_List_ptr CreateListOfDouble(); void AddItemToListOfDouble(GEOM::GEOM_List_ptr& theList, - double theObject); + CORBA::Double theObject); //-----------------------------------------------------------------------// // Inherited methods from SALOMEDS::Driver // @@ -88,21 +88,21 @@ public: SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent, const char* theURL, - bool isMultiFile); + CORBA::Boolean isMultiFile); SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent, const char* theURL, - bool isMultiFile); + CORBA::Boolean isMultiFile); CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent, const SALOMEDS::TMPFile& theStream, const char* theURL, - bool isMultiFile); + CORBA::Boolean isMultiFile); CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent, const SALOMEDS::TMPFile& theStream, const char* theURL, - bool isMultiFile); + CORBA::Boolean isMultiFile); void Close(SALOMEDS::SComponent_ptr theComponent); char* ComponentDataType(); @@ -117,7 +117,7 @@ public: CORBA::Boolean isMultiFile, CORBA::Boolean isASCII); - bool CanPublishInStudy(CORBA::Object_ptr theIOR); + CORBA::Boolean CanPublishInStudy(CORBA::Object_ptr theIOR); SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy, SALOMEDS::SObject_ptr theSObject, CORBA::Object_ptr theObject, @@ -485,6 +485,7 @@ private: SALOME_NamingService * name_service; GEOM::GEOM_Gen_ptr myGeomEngine; CORBA::Long myStudyID; + CORBA::Long myLastStudyID; // mkr : PAL10770 PortableServer::POA_var myPOA; GEOM::GEOM_IBasicOperations_ptr myBasicOp; diff --git a/src/GEOM_I_Superv/Makefile.in b/src/GEOM_I_Superv/Makefile.in index 90ab6307f..71c8eaa95 100644 --- a/src/GEOM_I_Superv/Makefile.in +++ b/src/GEOM_I_Superv/Makefile.in @@ -40,7 +40,7 @@ LIB_SRC = \ GEOM_Superv_i.cc LIB_SERVER_IDL = SALOMEDS.idl SALOMEDS_Attributes.idl SALOME_Component.idl SALOME_Exception.idl \ - SALOME_GenericObj.idl SALOME_ModuleCatalog.idl GEOM_Gen.idl GEOM_Superv.idl \ + SALOME_GenericObj.idl SALOME_ModuleCatalog.idl SALOME_Session.idl GEOM_Gen.idl GEOM_Superv.idl \ # Executables targets BIN = @@ -53,7 +53,7 @@ EXPORT_HEADERS = # additionnal information to compil and link file CPPFLAGS += $(OCC_INCLUDES) $(QT_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome $(BOOST_CPPFLAGS) CXXFLAGS += $(OCC_CXXFLAGS) -I${KERNEL_ROOT_DIR}/include/salome -LDFLAGS += -lGEOMEngine -lSalomeNS -lSalomeLifeCycleCORBA -lSalomeContainer -L${KERNEL_ROOT_DIR}/lib/salome -lSalomeGenericObj +LDFLAGS += -lGEOMEngine -lSalomeNS -lSalomeLifeCycleCORBA -lSalomeContainer -L${KERNEL_ROOT_DIR}/lib/salome -lSalomeGenericObj # additional file to be cleaned MOSTLYCLEAN = diff --git a/src/GEOM_SWIG/GEOM_Nut.py b/src/GEOM_SWIG/GEOM_Nut.py index c3d2db429..2cd2d7e52 100755 --- a/src/GEOM_SWIG/GEOM_Nut.py +++ b/src/GEOM_SWIG/GEOM_Nut.py @@ -1,3 +1,22 @@ +# 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/ +# ##################################################################### #Created :17/02/2005 #Auhtor :MASLOV Eugeny, KOVALTCHUK Alexey diff --git a/src/GEOM_SWIG/GEOM_TestMeasures.py b/src/GEOM_SWIG/GEOM_TestMeasures.py index 53604ea18..1700ca167 100644 --- a/src/GEOM_SWIG/GEOM_TestMeasures.py +++ b/src/GEOM_SWIG/GEOM_TestMeasures.py @@ -1,3 +1,22 @@ +# 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/ +# def TestMeasureOperations (geompy, math): p0 = geompy.MakeVertex(0 , 0, 0) diff --git a/src/GEOM_SWIG/GEOM_TestOthers.py b/src/GEOM_SWIG/GEOM_TestOthers.py index e84f95346..e9c6e8611 100644 --- a/src/GEOM_SWIG/GEOM_TestOthers.py +++ b/src/GEOM_SWIG/GEOM_TestOthers.py @@ -426,7 +426,7 @@ def TestOtherOperations (geompy, math): # GetShapesOnCylinderIDs edges_in_cyl_ids = geompy.GetShapesOnCylinderIDs(blocksComp, geompy.ShapeType["EDGE"], - vy, 55, geompy.GEOM.ST_IN) + vy, 80, geompy.GEOM.ST_IN) edges_in = geompy.CreateGroup(blocksComp, geompy.ShapeType["EDGE"]) geompy.UnionIDs(edges_in, edges_in_cyl_ids) geompy.addToStudy(edges_in, "Group of edges inside Cylinder (axis = (0, 1, 0), r = 55)") diff --git a/src/GEOM_SWIG/GEOM_cyl2complementary.py b/src/GEOM_SWIG/GEOM_cyl2complementary.py index 97efc776e..8dfef59ca 100755 --- a/src/GEOM_SWIG/GEOM_cyl2complementary.py +++ b/src/GEOM_SWIG/GEOM_cyl2complementary.py @@ -1,3 +1,22 @@ +# 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/ +# #============================================================================== # Info. # Bug (from script, bug) : cyl2complementary_modified.py, PAL6700 @@ -12,11 +31,12 @@ import salome import geompy geomgui = salome.ImportComponentGUI("GEOM") - +import salome_ComponentGUI def addToStudy(shape, name): i = geompy.addToStudy(shape, name) salome.sg.updateObjBrowser(0) - geomgui.createAndDisplayGO(i) + if not isinstance(geomgui, type(salome_ComponentGUI)): + geomgui.createAndDisplayGO(i) return i # Piece diff --git a/src/GEOM_SWIG/GEOM_example3.py b/src/GEOM_SWIG/GEOM_example3.py index 1287f6853..da733d477 100644 --- a/src/GEOM_SWIG/GEOM_example3.py +++ b/src/GEOM_SWIG/GEOM_example3.py @@ -30,7 +30,7 @@ import salome import geompy import math from time import sleep - +import salome_ComponentGUI geom = salome.lcc.FindOrLoadComponent("FactoryServer", "GEOM") myBuilder = salome.myStudy.NewBuilder() @@ -47,14 +47,16 @@ dirz = BasicOp.MakeVectorTwoPnt(point0,pointz1) torus1 = PrimOp.MakeTorusPntVecRR(point0,dirz,150.,25.) id_torus1 = geompy.addToStudy(torus1,"torus1") -gg.createAndDisplayGO(id_torus1) +if not isinstance(gg, type(salome_ComponentGUI)): + gg.createAndDisplayGO(id_torus1) torus2 = InsertOp.MakeCopy(torus1) vec1 = BasicOp.MakeVectorDXDYDZ(0.,0.,100.) torus2 = TrsfOp.TranslateVectorCopy(torus2,vec1) id_torus2 = geompy.addToStudy(torus2,"torus2") -gg.createAndDisplayGO(id_torus2) +if not isinstance(gg, type(salome_ComponentGUI)): + gg.createAndDisplayGO(id_torus2) cylz1 = PrimOp.MakeCylinderPntVecRH(point0,dirz,25.,100.) @@ -70,7 +72,8 @@ while ind < 6: name = "cyl%d"%(ind) acyl = TrsfOp.TranslateVectorCopy(acyl,vec_i) id_acyl = geompy.addToStudy(acyl,name) - gg.createAndDisplayGO(id_acyl) + if not isinstance(gg, type(salome_ComponentGUI)): + gg.createAndDisplayGO(id_acyl) shapeList.append(acyl) idList.append(id_acyl) ind = ind +1 @@ -82,7 +85,8 @@ idList.append(id_torus2) cage = geompy.MakeCompound(shapeList) id_cage = geompy.addToStudy(cage,"cage") -gg.createAndDisplayGO(id_cage) +if not isinstance(gg, type(salome_ComponentGUI)): + gg.createAndDisplayGO(id_cage) from salome import sg sleep(1) @@ -102,15 +106,15 @@ for id in idList: sg.Display(id_torus1) sg.Display(id_torus2) sg.Display(id_acyl) - -gg.setTransparency(id_torus1,0.5) - -gg.setDisplayMode(id_torus1,1) -gg.setDisplayMode(id_torus2,1) -gg.setDisplayMode(id_acyl,1) -#gg.setDisplayMode(id_cage,1) - -gg.setColor(id_torus1,0,0,255) -gg.setColor(id_torus2,255,0,0) -gg.setColor(id_acyl,0,255,0) -#gg.setColor(id_cage,255,255,0) +if not isinstance(gg, type(salome_ComponentGUI)): + gg.setTransparency(id_torus1,0.5) + + gg.setDisplayMode(id_torus1,1) + gg.setDisplayMode(id_torus2,1) + gg.setDisplayMode(id_acyl,1) + #gg.setDisplayMode(id_cage,1) + + gg.setColor(id_torus1,0,0,255) + gg.setColor(id_torus2,255,0,0) + gg.setColor(id_acyl,0,255,0) + #gg.setColor(id_cage,255,255,0) diff --git a/src/GEOM_SWIG/GEOM_example4.py b/src/GEOM_SWIG/GEOM_example4.py index 631ef13ca..cbc0a6f94 100755 --- a/src/GEOM_SWIG/GEOM_example4.py +++ b/src/GEOM_SWIG/GEOM_example4.py @@ -34,7 +34,7 @@ import geompy geom = salome.lcc.FindOrLoadComponent("FactoryServer", "GEOM") myBuilder = salome.myStudy.NewBuilder() -from geompy import gg +#from geompy import gg #smeshgui = salome.ImportComponentGUI("SMESH") #smeshgui.Init(salome.myStudyId); diff --git a/src/GEOM_SWIG/GEOM_shared_modules.py b/src/GEOM_SWIG/GEOM_shared_modules.py index bd994fadc..8ea86f11e 100644 --- a/src/GEOM_SWIG/GEOM_shared_modules.py +++ b/src/GEOM_SWIG/GEOM_shared_modules.py @@ -1,3 +1,22 @@ +# 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/ +# """ """ diff --git a/src/GEOM_SWIG/GEOM_shellSolid.py b/src/GEOM_SWIG/GEOM_shellSolid.py index 0495979c1..32e599afd 100755 --- a/src/GEOM_SWIG/GEOM_shellSolid.py +++ b/src/GEOM_SWIG/GEOM_shellSolid.py @@ -1,3 +1,22 @@ +# 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/ +# #============================================================================== # Info. # Bug (from script, bug) : shellSolid_modified.py, PAL6611 diff --git a/src/GEOM_SWIG/GEOM_tube_geom.py b/src/GEOM_SWIG/GEOM_tube_geom.py index b91935223..2199c666e 100755 --- a/src/GEOM_SWIG/GEOM_tube_geom.py +++ b/src/GEOM_SWIG/GEOM_tube_geom.py @@ -1,3 +1,22 @@ +# 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/ +# #============================================================================== # Info. # Bug (from script, bug) : tube_geom_corrected.py, PAL5243 diff --git a/src/GEOM_SWIG/GEOM_tube_geom_gg2.py b/src/GEOM_SWIG/GEOM_tube_geom_gg2.py index 29f77815f..59b3e4840 100755 --- a/src/GEOM_SWIG/GEOM_tube_geom_gg2.py +++ b/src/GEOM_SWIG/GEOM_tube_geom_gg2.py @@ -1,3 +1,22 @@ +# 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/ +# #============================================================================== # Info. # Bug (from script, bug) : tube_geom_gg2_corrected.py, PAL5243 @@ -142,16 +161,19 @@ assemblageId = addToStudy(assemblage, "assemblage") # # Display # -gg.createAndDisplayGO(baseId) -gg.setTransparency(baseId,0.5) -gg.setDisplayMode(baseId,1) -gg.setColor(baseId,255,0,0) -gg.createAndDisplayGO(travId) -gg.setTransparency(travId,0.5) -gg.setDisplayMode(travId,1) -gg.setColor(travId,255,0,0) -gg.createAndDisplayGO(weldId) -gg.setTransparency(weldId,0.5) -gg.setDisplayMode(weldId,1) -gg.setColor(weldId,0,0,255) - +gg = ImportComponentGUI("GEOM") +import salome_ComponentGUI +if not isinstance(gg, type(salome_ComponentGUI)): + gg.initGeomGen() + gg.createAndDisplayGO(baseId) + gg.setTransparency(baseId,0.5) + gg.setDisplayMode(baseId,1) + gg.setColor(baseId,255,0,0) + gg.createAndDisplayGO(travId) + gg.setTransparency(travId,0.5) + gg.setDisplayMode(travId,1) + gg.setColor(travId,255,0,0) + gg.createAndDisplayGO(weldId) + gg.setTransparency(weldId,0.5) + gg.setDisplayMode(weldId,1) + gg.setColor(weldId,0,0,255) diff --git a/src/GEOM_SWIG/PAL_MESH_019_020_geometry.py b/src/GEOM_SWIG/PAL_MESH_019_020_geometry.py index 68d54f14f..ce9c0e9a8 100755 --- a/src/GEOM_SWIG/PAL_MESH_019_020_geometry.py +++ b/src/GEOM_SWIG/PAL_MESH_019_020_geometry.py @@ -1,3 +1,22 @@ +# 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/ +# ##################################################################################### #Created :17/02/2005 #Auhtor :KOVALTCHUK Alexey diff --git a/src/GEOM_SWIG/PAL_MESH_028_geometry.py b/src/GEOM_SWIG/PAL_MESH_028_geometry.py index cd4aa6cf4..262983cb6 100755 --- a/src/GEOM_SWIG/PAL_MESH_028_geometry.py +++ b/src/GEOM_SWIG/PAL_MESH_028_geometry.py @@ -1,3 +1,22 @@ +# 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/ +# ##################################################################### #Created :17/02/2005 #Auhtor :KOVALTCHUK Alexey diff --git a/src/GEOM_SWIG/PAL_MESH_030_geometry.py b/src/GEOM_SWIG/PAL_MESH_030_geometry.py index 374cbf922..c8c943e25 100755 --- a/src/GEOM_SWIG/PAL_MESH_030_geometry.py +++ b/src/GEOM_SWIG/PAL_MESH_030_geometry.py @@ -1,3 +1,22 @@ +# 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/ +# #============================================================================== # Created : 17/02/2005 # Author : Alexander KOVALEV diff --git a/src/GEOM_SWIG/PAL_MESH_033_geometry.py b/src/GEOM_SWIG/PAL_MESH_033_geometry.py index 0040b33ca..0e2ed314d 100755 --- a/src/GEOM_SWIG/PAL_MESH_033_geometry.py +++ b/src/GEOM_SWIG/PAL_MESH_033_geometry.py @@ -1,3 +1,22 @@ +# 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/ +# ##################################################################### #Created :17/02/2005 #Auhtor :KOVALTCHUK Alexey diff --git a/src/GEOM_SWIG/PAL_MESH_035_geometry.py b/src/GEOM_SWIG/PAL_MESH_035_geometry.py index ef3fe52e2..a215e3efb 100755 --- a/src/GEOM_SWIG/PAL_MESH_035_geometry.py +++ b/src/GEOM_SWIG/PAL_MESH_035_geometry.py @@ -1,3 +1,22 @@ +# 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/ +# ##################################################################### #Created :15/02/2005 #Auhtor :KOVALTCHUK Alexey diff --git a/src/GEOM_SWIG/geompy.py b/src/GEOM_SWIG/geompy.py index fcd4a139b..e5d3382e2 100644 --- a/src/GEOM_SWIG/geompy.py +++ b/src/GEOM_SWIG/geompy.py @@ -36,8 +36,8 @@ import GEOM g = lcc.FindOrLoadComponent("FactoryServer", "GEOM") geom = g._narrow( GEOM.GEOM_Gen ) -gg = ImportComponentGUI("GEOM") -gg.initGeomGen() +#gg = ImportComponentGUI("GEOM") +#gg.initGeomGen() #SRN: modified on Mar 18, 2005 @@ -106,10 +106,12 @@ def SubShapeName(aSubObj, aMainObj): * Example: see GEOM_TestAll.py """ - aSubId = orb.object_to_string(aSubObj) - aMainId = orb.object_to_string(aMainObj) - index = gg.getIndexTopology(aSubId, aMainId) - name = gg.getShapeTypeString(aSubId) + "_%d"%(index) + #aSubId = orb.object_to_string(aSubObj) + #aMainId = orb.object_to_string(aMainObj) + #index = gg.getIndexTopology(aSubId, aMainId) + #name = gg.getShapeTypeString(aSubId) + "_%d"%(index) + index = ShapesOp.GetTopologyIndex(aMainObj, aSubObj) + name = ShapesOp.GetShapeTypeString(aSubObj) + "_%d"%(index) return name def addToStudy(aShape, aName): diff --git a/src/GenerationGUI/GenerationGUI.cxx b/src/GenerationGUI/GenerationGUI.cxx index 4d52198f5..0f47042a9 100644 --- a/src/GenerationGUI/GenerationGUI.cxx +++ b/src/GenerationGUI/GenerationGUI.cxx @@ -85,7 +85,7 @@ bool GenerationGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent ) case 4031: aDlg = new GenerationGUI_PrismDlg ( getGeometryGUI(), parent, ""); break; case 4032: aDlg = new GenerationGUI_RevolDlg ( getGeometryGUI(), parent, ""); break; case 4033: aDlg = new GenerationGUI_FillingDlg ( getGeometryGUI(), parent, ""); break; - case 4034: aDlg = new GenerationGUI_PipeDlg ( parent, ""); break; + case 4034: aDlg = new GenerationGUI_PipeDlg ( getGeometryGUI(), parent, ""); break; default: SUIT_Session::session()->activeApplication()->putInfo( tr( "GEOM_PRP_COMMAND" ).arg( theCommandID ) ); break; } diff --git a/src/GenerationGUI/GenerationGUI_FillingDlg.cxx b/src/GenerationGUI/GenerationGUI_FillingDlg.cxx index 5dde019e0..f65be950e 100644 --- a/src/GenerationGUI/GenerationGUI_FillingDlg.cxx +++ b/src/GenerationGUI/GenerationGUI_FillingDlg.cxx @@ -59,9 +59,8 @@ //================================================================================= GenerationGUI_FillingDlg::GenerationGUI_FillingDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, - WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), - myGeometryGUI(theGeometryGUI) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, + WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_FILLING"))); QPixmap image1 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_SELECT"))); @@ -88,6 +87,8 @@ GenerationGUI_FillingDlg::GenerationGUI_FillingDlg(GeometryGUI* theGeometryGUI, Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("filling.htm"); + /* Initialisations */ Init(); } @@ -148,11 +149,11 @@ void GenerationGUI_FillingDlg::Init() connect(GroupPoints->SpinBox_4, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); connect(GroupPoints->SpinBox_5, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_1, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_2, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_3, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_4, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_5, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_1, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_2, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_3, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_4, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_5, SLOT(SetStep(double))); connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; diff --git a/src/GenerationGUI/GenerationGUI_FillingDlg.h b/src/GenerationGUI/GenerationGUI_FillingDlg.h index d562c5275..bec037754 100644 --- a/src/GenerationGUI/GenerationGUI_FillingDlg.h +++ b/src/GenerationGUI/GenerationGUI_FillingDlg.h @@ -24,7 +24,6 @@ // File : GenerationGUI_FillingDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_FILLING_H #define DIALOGBOX_FILLING_H @@ -41,7 +40,8 @@ class GenerationGUI_FillingDlg : public GEOMBase_Skeleton Q_OBJECT public: - GenerationGUI_FillingDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + GenerationGUI_FillingDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~GenerationGUI_FillingDlg(); protected: @@ -54,8 +54,6 @@ private: void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myCompound; /* compound of curves */ Standard_Integer myMinDeg; Standard_Integer myMaxDeg; @@ -74,7 +72,6 @@ private slots: void SelectionIntoArgument(); void SetEditCurrentArgument(); void ValueChangedInSpinBox(double newValue); - }; #endif // DIALOGBOX_FILLING_H diff --git a/src/GenerationGUI/GenerationGUI_PipeDlg.cxx b/src/GenerationGUI/GenerationGUI_PipeDlg.cxx index 5cf2f1458..091fc7dff 100644 --- a/src/GenerationGUI/GenerationGUI_PipeDlg.cxx +++ b/src/GenerationGUI/GenerationGUI_PipeDlg.cxx @@ -55,8 +55,10 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -GenerationGUI_PipeDlg::GenerationGUI_PipeDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +GenerationGUI_PipeDlg::GenerationGUI_PipeDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_PIPE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -81,6 +83,8 @@ GenerationGUI_PipeDlg::GenerationGUI_PipeDlg(QWidget* parent, const char* name, Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("pipe_creation.htm"); + /* Initialisations */ Init(); } diff --git a/src/GenerationGUI/GenerationGUI_PipeDlg.h b/src/GenerationGUI/GenerationGUI_PipeDlg.h index 4f525f343..472e90799 100644 --- a/src/GenerationGUI/GenerationGUI_PipeDlg.h +++ b/src/GenerationGUI/GenerationGUI_PipeDlg.h @@ -24,7 +24,6 @@ // File : GenerationGUI_PipeDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_PIPE_H #define DIALOGBOX_PIPE_H @@ -41,7 +40,8 @@ class GenerationGUI_PipeDlg : public GEOMBase_Skeleton Q_OBJECT public: - GenerationGUI_PipeDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + GenerationGUI_PipeDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~GenerationGUI_PipeDlg(); protected: @@ -57,7 +57,7 @@ private: GEOM::GEOM_Object_var myBase; /* Base shape */ GEOM::GEOM_Object_var myPath; /* Shape, defining the path */ bool myOkBase; - bool myOkPath ; /* to check when arguments are defined */ + bool myOkPath; /* to check when arguments are defined */ DlgRef_2Sel_QTD* GroupPoints; @@ -68,7 +68,6 @@ private slots: void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); - }; #endif // DIALOGBOX_PIPE_H diff --git a/src/GenerationGUI/GenerationGUI_PrismDlg.cxx b/src/GenerationGUI/GenerationGUI_PrismDlg.cxx index bc3aa51dc..a088ce904 100644 --- a/src/GenerationGUI/GenerationGUI_PrismDlg.cxx +++ b/src/GenerationGUI/GenerationGUI_PrismDlg.cxx @@ -50,8 +50,10 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -GenerationGUI_PrismDlg::GenerationGUI_PrismDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +GenerationGUI_PrismDlg::GenerationGUI_PrismDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_PRISM"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -79,6 +81,8 @@ GenerationGUI_PrismDlg::GenerationGUI_PrismDlg(GeometryGUI* theGeometryGUI, QWid Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("extrusion.htm"); + /* Initialisations */ Init(); } @@ -126,10 +130,10 @@ void GenerationGUI_PrismDlg::Init() connect(GroupPoints->LineEdit2, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed())); connect(GroupPoints->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); connect(GroupPoints->CheckButton2, SIGNAL(toggled(bool)), this, SLOT(onReverse())); - + connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; @@ -173,39 +177,38 @@ void GenerationGUI_PrismDlg::SelectionIntoArgument() erasePreview(); myEditCurrentArgument->setText(""); - if(IObjectCount() != 1) - { - if(myEditCurrentArgument == GroupPoints->LineEdit1) - myOkBase = false; - else if(myEditCurrentArgument == GroupPoints->LineEdit2) - myOkVec = false; - return; - } - + if (IObjectCount() != 1) { + if (myEditCurrentArgument == GroupPoints->LineEdit1) + myOkBase = false; + else if (myEditCurrentArgument == GroupPoints->LineEdit2) + myOkVec = false; + return; + } + // nbSel == 1 Standard_Boolean testResult = Standard_False; - GEOM::GEOM_Object_ptr aSelectedObject = GEOMBase::ConvertIOinGEOMObject( firstIObject(), testResult ); - + GEOM::GEOM_Object_ptr aSelectedObject = + GEOMBase::ConvertIOinGEOMObject( firstIObject(), testResult ); + if (!testResult) return; - if(myEditCurrentArgument == GroupPoints->LineEdit1) { + if (myEditCurrentArgument == GroupPoints->LineEdit1) { myOkBase = false; TopoDS_Shape S; - if ( !GEOMBase::GetShape(aSelectedObject, S) || + if (!GEOMBase::GetShape(aSelectedObject, S) || S.ShapeType() <= 2) return; - + myBase = aSelectedObject; myOkBase = true; - } - else if(myEditCurrentArgument == GroupPoints->LineEdit2) { + } else if (myEditCurrentArgument == GroupPoints->LineEdit2) { myVec = aSelectedObject; myOkVec = true; } myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) ); - + displayPreview(); } @@ -284,7 +287,6 @@ void GenerationGUI_PrismDlg::ValueChangedInSpinBox() } - //================================================================================= // function : getHeight() // purpose : @@ -319,9 +321,10 @@ bool GenerationGUI_PrismDlg::isValid( QString& ) bool GenerationGUI_PrismDlg::execute( ObjectList& objects ) { GEOM::GEOM_Object_var anObj; - - anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation() )->MakePrismVecH ( myBase, myVec, getHeight() ); - + + anObj = GEOM::GEOM_I3DPrimOperations::_narrow(getOperation())-> + MakePrismVecH(myBase, myVec, getHeight()); + if ( !anObj->_is_nil() ) objects.push_back( anObj._retn() ); @@ -338,6 +341,3 @@ void GenerationGUI_PrismDlg::onReverse() double anOldValue = GroupPoints->SpinBox_DX->GetValue(); GroupPoints->SpinBox_DX->SetValue( -anOldValue ); } - - - diff --git a/src/GenerationGUI/GenerationGUI_PrismDlg.h b/src/GenerationGUI/GenerationGUI_PrismDlg.h index ee946ae77..b6b7ba17d 100644 --- a/src/GenerationGUI/GenerationGUI_PrismDlg.h +++ b/src/GenerationGUI/GenerationGUI_PrismDlg.h @@ -24,7 +24,6 @@ // File : GenerationGUI_PrismDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_PRISM_H #define DIALOGBOX_PRISM_H @@ -41,7 +40,8 @@ class GenerationGUI_PrismDlg : public GEOMBase_Skeleton Q_OBJECT public: - GenerationGUI_PrismDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + GenerationGUI_PrismDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~GenerationGUI_PrismDlg(); protected: @@ -55,8 +55,6 @@ private : void enterEvent(QEvent* e); double getHeight() const; - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myBase; /* Base shape */ GEOM::GEOM_Object_var myVec; /* Vector, defining the direction */ diff --git a/src/GenerationGUI/GenerationGUI_RevolDlg.cxx b/src/GenerationGUI/GenerationGUI_RevolDlg.cxx index 14c0d011d..d29b3ed84 100644 --- a/src/GenerationGUI/GenerationGUI_RevolDlg.cxx +++ b/src/GenerationGUI/GenerationGUI_RevolDlg.cxx @@ -52,8 +52,10 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -GenerationGUI_RevolDlg::GenerationGUI_RevolDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +GenerationGUI_RevolDlg::GenerationGUI_RevolDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_REVOL"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -81,6 +83,8 @@ GenerationGUI_RevolDlg::GenerationGUI_RevolDlg(GeometryGUI* theGeometryGUI, QWid Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("revolution.htm"); + /* Initialisations */ Init(); } @@ -127,10 +131,10 @@ void GenerationGUI_RevolDlg::Init() connect(GroupPoints->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); connect(GroupPoints->CheckButton2, SIGNAL(toggled(bool)), this, SLOT(onReverse())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); - + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), - SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; + SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); initName(tr("GEOM_REVOLUTION")); diff --git a/src/GenerationGUI/GenerationGUI_RevolDlg.h b/src/GenerationGUI/GenerationGUI_RevolDlg.h index f5d7637f3..03d079f46 100644 --- a/src/GenerationGUI/GenerationGUI_RevolDlg.h +++ b/src/GenerationGUI/GenerationGUI_RevolDlg.h @@ -24,7 +24,6 @@ // File : GenerationGUI_RevolDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_REVOLUTION_H #define DIALOGBOX_REVOLUTION_H @@ -43,7 +42,8 @@ class GenerationGUI_RevolDlg : public GEOMBase_Skeleton Q_OBJECT public: - GenerationGUI_RevolDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + GenerationGUI_RevolDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~GenerationGUI_RevolDlg(); protected: @@ -57,8 +57,6 @@ private : void enterEvent(QEvent* e); double getAngle() const; - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myBase; /* Base shape */ GEOM::GEOM_Object_var myAxis; /* Axis of the revolution */ bool myOkBase; @@ -75,7 +73,6 @@ private slots: void SetEditCurrentArgument(); void ValueChangedInSpinBox(); void onReverse(); - }; #endif // DIALOGBOX_REVOLUTION_H diff --git a/src/GroupGUI/GroupGUI.cxx b/src/GroupGUI/GroupGUI.cxx index 5bfaf9fca..54a91f951 100644 --- a/src/GroupGUI/GroupGUI.cxx +++ b/src/GroupGUI/GroupGUI.cxx @@ -61,7 +61,6 @@ GroupGUI::GroupGUI(GeometryGUI* parent) { } - //======================================================================= // function : ~GroupGUI() // purpose : Destructor @@ -78,13 +77,14 @@ GroupGUI::~GroupGUI() bool GroupGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent ) { getGeometryGUI()->EmitSignalDeactivateDialog(); - + QDialog* aDlg = NULL; - SalomeApp_Study* appStudy = dynamic_cast( SUIT_Session::session()->activeApplication()->activeStudy() ); + SUIT_Application* suitApp = SUIT_Session::session()->activeApplication(); + SalomeApp_Study* appStudy = dynamic_cast(suitApp->activeStudy()); if ( !appStudy ) return false; _PTR(Study) aStudy = appStudy->studyDS(); - + if ( aStudy->GetProperties()->IsLocked() ) { SUIT_MessageBox::warn1 ( parent, QObject::tr("WRN_WARNING"), @@ -95,45 +95,42 @@ bool GroupGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent ) switch ( theCommandID ) { case 800: - case 8001: - aDlg = new GroupGUI_GroupDlg( GroupGUI_GroupDlg::CreateGroup, parent, ""); + case 8001: // CREATE GROUP + aDlg = new GroupGUI_GroupDlg (GroupGUI_GroupDlg::CreateGroup, getGeometryGUI(), parent); break; - case 801: + case 801: // EDIT GROUP { SALOME_ListIO aList; aList.Clear(); - - SalomeApp_Application* app = dynamic_cast< SalomeApp_Application* >( SUIT_Session::session()->activeApplication() ); - if ( app ) { + + SalomeApp_Application* app = dynamic_cast(suitApp); + if (app) { LightApp_SelectionMgr* aSelMgr = app->selectionMgr(); - if ( aSelMgr ) - aSelMgr->selectedObjects( aList ); + if (aSelMgr) + aSelMgr->selectedObjects(aList); } - if ( aList.Extent() == 1 ) { + if (aList.Extent() == 1) { Standard_Boolean aResult = Standard_False; GEOM::GEOM_Object_var anObj = GEOMBase::ConvertIOinGEOMObject( aList.First(), aResult ); - if ( aResult && !CORBA::is_nil( anObj ) && anObj->GetType() == GEOM_GROUP ) { - aDlg = new GroupGUI_GroupDlg( GroupGUI_GroupDlg::EditGroup, parent, "" ); + if (aResult && !CORBA::is_nil(anObj) && anObj->GetType() == GEOM_GROUP) { + aDlg = new GroupGUI_GroupDlg (GroupGUI_GroupDlg::EditGroup, getGeometryGUI(), parent); break; } } - SUIT_MessageBox::warn1 ( parent, - tr("WRN_WARNING"), - tr("NO_GROUP"), - tr("BUT_OK") ); + SUIT_MessageBox::warn1(parent, tr("WRN_WARNING"), tr("NO_GROUP"), tr("BUT_OK") ); break; } default: - SUIT_Session::session()->activeApplication()->putInfo( tr( "GEOM_PRP_COMMAND" ).arg( theCommandID ) ); + suitApp->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); break; } - - if ( aDlg != NULL ) + + if (aDlg != NULL) aDlg->show(); - + return true; } diff --git a/src/GroupGUI/GroupGUI_GroupDlg.cxx b/src/GroupGUI/GroupGUI_GroupDlg.cxx index 84f5db220..8333a1ed3 100644 --- a/src/GroupGUI/GroupGUI_GroupDlg.cxx +++ b/src/GroupGUI/GroupGUI_GroupDlg.cxx @@ -47,12 +47,8 @@ #include -GroupGUI_GroupDlg::GroupGUI_GroupDlg(Mode mode, - QWidget* parent, - const char* name, - bool modal, - WFlags fl) - :GEOMBase_Skeleton( parent, "GroupGUI_GroupDlg", false, +GroupGUI_GroupDlg::GroupGUI_GroupDlg(Mode mode, GeometryGUI* theGeometryGUI, QWidget* parent) + :GEOMBase_Skeleton( theGeometryGUI, parent, "GroupGUI_GroupDlg", false, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myMode( mode ), myBusy( false ) @@ -115,6 +111,8 @@ GroupGUI_GroupDlg::GroupGUI_GroupDlg(Mode mode, aMedLayout->addWidget( myAddBtn, 2, 3 ); aMedLayout->addWidget( myRemBtn, 3, 3 ); + setHelpFileName("working_with_groups.htm"); + Init(); } @@ -205,7 +203,6 @@ void GroupGUI_GroupDlg::ClickOnOk() ClickOnCancel(); } - //================================================================================= // function : ClickOnApply() // purpose : @@ -216,7 +213,10 @@ bool GroupGUI_GroupDlg::ClickOnApply() return false; if ( myMode == CreateGroup ) - initName(); + { + initName(); + myIdList->clear(); + } return true; } diff --git a/src/GroupGUI/GroupGUI_GroupDlg.h b/src/GroupGUI/GroupGUI_GroupDlg.h index 75879c54d..879920b2d 100644 --- a/src/GroupGUI/GroupGUI_GroupDlg.h +++ b/src/GroupGUI/GroupGUI_GroupDlg.h @@ -24,7 +24,6 @@ // File : GroupGUI_GroupDlg.h // Author : Sergey ANIKIN // Module : GEOM -// $Header$ #ifndef GROUPGUI_GROUPDLG_H #define GROUPGUI_GROUPDLG_H @@ -50,7 +49,7 @@ public: EditGroup } Mode; - GroupGUI_GroupDlg(Mode mode, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + GroupGUI_GroupDlg(Mode mode, GeometryGUI*, QWidget* parent = 0); ~GroupGUI_GroupDlg(); protected: @@ -60,7 +59,6 @@ protected: virtual bool execute( ObjectList& objects ); virtual GEOM::GEOM_Object_ptr getFather( GEOM::GEOM_Object_ptr theObj ); - private slots: void ClickOnOk(); bool ClickOnApply(); @@ -90,7 +88,7 @@ private: bool myBusy; GEOM::GEOM_Object_var myMainObj; GEOM::GEOM_Object_var myGroup; - + QPushButton* mySelBtn; QLineEdit* myMainName; QPushButton* mySelSubBtn; diff --git a/src/IGESExport/IGESExport.cxx b/src/IGESExport/IGESExport.cxx index 591016460..1d2793d2f 100644 --- a/src/IGESExport/IGESExport.cxx +++ b/src/IGESExport/IGESExport.cxx @@ -46,26 +46,35 @@ extern "C" { SALOME_WNT_EXPORT - int Export(const TopoDS_Shape& theShape, const TCollection_AsciiString& theFileName) + int Export(const TopoDS_Shape& theShape, + const TCollection_AsciiString& theFileName, + const TCollection_AsciiString& theFormatName) { MESSAGE("Export IGES into file " << theFileName.ToCString()); - try - { - //VRV: OCC 4.0 migration - IGESControl_Controller::Init(); - IGESControl_Writer ICW (Interface_Static::CVal("XSTEP.iges.unit"), - Interface_Static::IVal("XSTEP.iges.writebrep.mode")); - //VRV: OCC 4.0 migration - - ICW.AddShape( theShape ); - ICW.ComputeModel(); - if ( ICW.Write( theFileName.ToCString() ) ) - return 1; - } - catch(Standard_Failure) - { - //THROW_SALOME_CORBA_EXCEPTION("Exception catched in IGESExport", SALOME::BAD_PARAM); - } + try + { + // define, whether to write only faces (5.1 IGES format) + // or shells and solids also (5.3 IGES format) + int aBrepMode = 0; + if (theFormatName.IsEqual("IGES_5_3")) + aBrepMode = 1; + + // initialize writer + IGESControl_Controller::Init(); + //IGESControl_Writer ICW (Interface_Static::CVal("write.iges.unit"), + // Interface_Static::IVal("write.iges.brep.mode")); + IGESControl_Writer ICW (Interface_Static::CVal("write.iges.unit"), aBrepMode); + + // perform shape writing + ICW.AddShape( theShape ); + ICW.ComputeModel(); + if ( ICW.Write( theFileName.ToCString() ) ) + return 1; + } + catch(Standard_Failure) + { + //THROW_SALOME_CORBA_EXCEPTION("Exception catched in IGESExport", SALOME::BAD_PARAM); + } return 0; } } diff --git a/src/IGESImport/IGESImport.cxx b/src/IGESImport/IGESImport.cxx index 3a59922c9..b6d2b953b 100644 --- a/src/IGESImport/IGESImport.cxx +++ b/src/IGESImport/IGESImport.cxx @@ -46,6 +46,7 @@ extern "C" { SALOME_WNT_EXPORT TopoDS_Shape Import (const TCollection_AsciiString& theFileName, + const TCollection_AsciiString& /*theFormatName*/, TCollection_AsciiString& theError) { IGESControl_Reader aReader; diff --git a/src/MeasureGUI/MeasureGUI.cxx b/src/MeasureGUI/MeasureGUI.cxx index b49f9eed5..c2f45cbc7 100644 --- a/src/MeasureGUI/MeasureGUI.cxx +++ b/src/MeasureGUI/MeasureGUI.cxx @@ -87,17 +87,17 @@ bool MeasureGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent ) switch ( theCommandID ) { - case 701 : new MeasureGUI_PropertiesDlg ( getGeometryGUI(), parent ); break; // LENGTH, AREA AND VOLUME - case 702 : new MeasureGUI_CenterMassDlg ( parent ); break; // CENTER MASS - case 703 : new MeasureGUI_InertiaDlg ( getGeometryGUI(), parent ); break; // INERTIA - case 7041 : new MeasureGUI_BndBoxDlg ( getGeometryGUI(), parent ); break; // BOUNDING BOX - case 7042 : new MeasureGUI_DistanceDlg ( getGeometryGUI(), parent ); break; // MIN DISTANCE - case 705 : new MeasureGUI_MaxToleranceDlg( getGeometryGUI(), parent ); break; // MAXTOLERANCE - case 706 : new MeasureGUI_WhatisDlg ( getGeometryGUI(), parent ); break; // WHATIS - case 707 : new MeasureGUI_CheckShapeDlg ( getGeometryGUI(), parent ); break; // CHECKSHAPE - case 7072 : new MeasureGUI_CheckCompoundOfBlocksDlg ( getGeometryGUI(), parent ); break; // CHECKCOMPOUND - case 708 : new MeasureGUI_PointDlg ( getGeometryGUI(), parent ); break; // POINT COORDINATES - + case 701 : new MeasureGUI_PropertiesDlg (getGeometryGUI(), parent); break; // LENGTH, AREA AND VOLUME + case 702 : new MeasureGUI_CenterMassDlg (getGeometryGUI(), parent); break; // CENTER MASS + case 703 : new MeasureGUI_InertiaDlg (getGeometryGUI(), parent); break; // INERTIA + case 7041: new MeasureGUI_BndBoxDlg (getGeometryGUI(), parent); break; // BOUNDING BOX + case 7042: new MeasureGUI_DistanceDlg (getGeometryGUI(), parent); break; // MIN DISTANCE + case 705 : new MeasureGUI_MaxToleranceDlg(getGeometryGUI(), parent); break; // MAXTOLERANCE + case 706 : new MeasureGUI_WhatisDlg (getGeometryGUI(), parent); break; // WHATIS + case 707 : new MeasureGUI_CheckShapeDlg (getGeometryGUI(), parent); break; // CHECKSHAPE + case 7072: new MeasureGUI_CheckCompoundOfBlocksDlg (getGeometryGUI(), parent); break; // CHECKCOMPOUND + case 708 : new MeasureGUI_PointDlg (getGeometryGUI(), parent); break; // POINT COORDINATES + default: SUIT_Session::session()->activeApplication()->putInfo( tr( "GEOM_PRP_COMMAND" ).arg( theCommandID ) ); break; @@ -106,33 +106,6 @@ bool MeasureGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent ) } -//===================================================================================== -// function : MakeCDGAndDisplay() -// purpose : -//===================================================================================== -/*void MeasureGUI::MakeCDGAndDisplay(GEOM::GEOM_Shape_ptr Shape) -{ - QAD_Application::getDesktop()->putInfo("MakeCDGAndDisplay method from MeasureGUI should be reimplemented ..."); - - try { - GEOM::GEOM_Shape_var result = myGeom->MakeCDG(Shape); - if(result->_is_nil()) { - QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_ABORT")); - return; - } - result->NameType(tr("GEOM_POINT")); - if(myGeomBase->Display(result)) - QAD_Application::getDesktop()->putInfo(tr("GEOM_PRP_DONE")); - } - catch(const SALOME::SALOME_Exception& S_ex) { - SalomeApp_Tools::QtCatchCorbaException(S_ex); - } - - return; -} -*/ - - //===================================================================================== // EXPORTED METHODS //===================================================================================== diff --git a/src/MeasureGUI/MeasureGUI_BndBoxDlg.cxx b/src/MeasureGUI/MeasureGUI_BndBoxDlg.cxx index b1e133cfc..1c62ec922 100644 --- a/src/MeasureGUI/MeasureGUI_BndBoxDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_BndBoxDlg.cxx @@ -88,6 +88,8 @@ MeasureGUI_BndBoxDlg::MeasureGUI_BndBoxDlg( GeometryGUI* GUI, QWidget* parent ) /***************************************************************/ + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#Bounding_box"; + /* Initialisation */ Init(); } @@ -189,22 +191,3 @@ SALOME_Prs* MeasureGUI_BndBoxDlg::buildPrs() return !aShape.IsNull() ? getDisplayer()->BuildPrs( aShape ) : 0; } - - - - - - - - - - - - - - - - - - - diff --git a/src/MeasureGUI/MeasureGUI_BndBoxDlg.h b/src/MeasureGUI/MeasureGUI_BndBoxDlg.h index a4da9046c..b9f25f457 100644 --- a/src/MeasureGUI/MeasureGUI_BndBoxDlg.h +++ b/src/MeasureGUI/MeasureGUI_BndBoxDlg.h @@ -24,7 +24,6 @@ // File : MeasureGUI_BndBoxDlg.h // Author : Nicolas REJNERI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_BNDBOX_H #define DIALOGBOX_BNDBOX_H @@ -48,39 +47,23 @@ class MEASUREGUI_EXPORT MeasureGUI_BndBoxDlg : public MeasureGUI_Skeleton Q_OBJECT public: - MeasureGUI_BndBoxDlg( GeometryGUI* GUI, - QWidget* parent ); - ~MeasureGUI_BndBoxDlg(); -protected: + MeasureGUI_BndBoxDlg(GeometryGUI* GUI, + QWidget* parent); + ~MeasureGUI_BndBoxDlg(); +protected: // redefined from GEOMBase_Helper and MeasureGUI_Skeleton virtual void processObject(); virtual SALOME_Prs* buildPrs(); private: - void Init(); bool getParameters( double& Xmin, double& Xmax, double& Ymin, double& Ymax, double& Zmin, double& Zmax ); private: - MeasureGUI_1Sel6LineEdit_QTD* myGrp; }; #endif // DIALOGBOX_BNDBOX_H - - - - - - - - - - - - - - diff --git a/src/MeasureGUI/MeasureGUI_CenterMassDlg.cxx b/src/MeasureGUI/MeasureGUI_CenterMassDlg.cxx index 9191ebd34..7fd7c774b 100644 --- a/src/MeasureGUI/MeasureGUI_CenterMassDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_CenterMassDlg.cxx @@ -49,17 +49,16 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -MeasureGUI_CenterMassDlg::MeasureGUI_CenterMassDlg( QWidget* parent ) -: GEOMBase_Skeleton( parent, "MeasureGUI_CenterMassDlg", false, - WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +MeasureGUI_CenterMassDlg::MeasureGUI_CenterMassDlg( GeometryGUI* theGeometryGUI, QWidget* parent ) + : GEOMBase_Skeleton(theGeometryGUI, parent, "MeasureGUI_CenterMassDlg", false, + WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image0( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM",tr( "ICON_DLG_CENTERMASS" ) ) ); - QPixmap image1( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM",tr( "ICON_SELECT" ) ) ); + QPixmap image0 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_CENTERMASS"))); + QPixmap image1 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_SELECT"))); setCaption( tr( "GEOM_CMASS_TITLE" ) ); /***************************************************************/ - GroupConstructors->setTitle( tr( "GEOM_CMASS" ) ); RadioButton1->setPixmap( image0 ); RadioButton2->close( TRUE ); @@ -80,6 +79,8 @@ MeasureGUI_CenterMassDlg::MeasureGUI_CenterMassDlg( QWidget* parent ) Layout1->addWidget( myGrp, 2, 0 ); /***************************************************************/ + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#Center_gravity"; + /* Initialisation */ Init(); } @@ -337,5 +338,3 @@ bool MeasureGUI_CenterMassDlg::execute( ObjectList& objects ) return true; } - - diff --git a/src/MeasureGUI/MeasureGUI_CenterMassDlg.h b/src/MeasureGUI/MeasureGUI_CenterMassDlg.h index 1cee7d357..f0c14f84f 100644 --- a/src/MeasureGUI/MeasureGUI_CenterMassDlg.h +++ b/src/MeasureGUI/MeasureGUI_CenterMassDlg.h @@ -47,11 +47,11 @@ class MEASUREGUI_EXPORT MeasureGUI_CenterMassDlg : public GEOMBase_Skeleton Q_OBJECT public: - MeasureGUI_CenterMassDlg( QWidget* parent ); - ~MeasureGUI_CenterMassDlg(); + MeasureGUI_CenterMassDlg( GeometryGUI* GUI, + QWidget* parent ); + ~MeasureGUI_CenterMassDlg(); protected: - // redefined from GEOMBase_Helper virtual GEOM::GEOM_IOperations_ptr createOperation(); virtual bool isValid( QString& msg ); @@ -63,17 +63,15 @@ private slots: void ActivateThisDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); - void SetEditCurrentArgument(); + void SetEditCurrentArgument(); private: - void Init( ); void enterEvent( QEvent* e ); void processObject(); bool getParameters( double&, double&, double& ); private: - GEOM::GEOM_Object_var myObj; MeasureGUI_1Sel3LineEdit_QTD* myGrp; }; diff --git a/src/MeasureGUI/MeasureGUI_CheckCompoundOfBlocksDlg.cxx b/src/MeasureGUI/MeasureGUI_CheckCompoundOfBlocksDlg.cxx index 088c11ccd..596179b37 100644 --- a/src/MeasureGUI/MeasureGUI_CheckCompoundOfBlocksDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_CheckCompoundOfBlocksDlg.cxx @@ -31,7 +31,9 @@ #include "utilities.h" #include "SUIT_Session.h" +#include "LightApp_SelectionMgr.h" #include "SalomeApp_Tools.h" +#include "SalomeApp_Application.h" #include #include @@ -67,32 +69,33 @@ // TRUE to construct a modal dialog. //================================================================================= MeasureGUI_CheckCompoundOfBlocksDlg::MeasureGUI_CheckCompoundOfBlocksDlg( GeometryGUI* GUI, QWidget* parent ) -: MeasureGUI_Skeleton( GUI, parent, "MeasureGUI_CheckCompoundOfBlocksDlg" ) + : GEOMBase_Skeleton(GUI, parent, "MeasureGUI_CheckCompoundOfBlocksDlg", false, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose) { - QPixmap image0( SUIT_Session::session()->resourceMgr()->loadPixmap( - "GEOM",tr( "ICON_DLG_CHECK_COMPOUND_OF_BLOCKS" ) ) ); - QPixmap image1( SUIT_Session::session()->resourceMgr()->loadPixmap( - "GEOM",tr( "ICON_SELECT" ) ) ); + SUIT_ResourceMgr* aResMgr = SUIT_Session::session()->resourceMgr(); + QPixmap image0 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_CHECK_COMPOUND_OF_BLOCKS"))); + QPixmap image1 (aResMgr->loadPixmap("GEOM", tr("ICON_SELECT"))); setCaption( tr( "GEOM_CHECK_BLOCKS_COMPOUND" ) ); /***************************************************************/ - GroupConstructors->setTitle( tr( "GEOM_CHECK_BLOCKS_COMPOUND" ) ); RadioButton1->setPixmap( image0 ); + RadioButton2->close( TRUE ); + RadioButton3->close( TRUE ); myGrp = new MeasureGUI_1Sel1TextView_QTD( this, "myGrp" ); myGrp->GroupBox1->setTitle( tr( "GEOM_CHECK_INFOS" ) ); myGrp->TextLabel1->setText( tr( "GEOM_OBJECT" ) ); + myGrp->TextEdit1->setReadOnly( TRUE ); - QFont aFont( TEXTEDIT_FONT_FAMILY, TEXTEDIT_FONT_SIZE ); aFont.setStyleHint( QFont::TypeWriter, QFont::PreferAntialias ); myGrp->TextEdit1->setFont( aFont ); + myGrp->PushButton1->setPixmap( image1 ); myGrp->LineEdit1->setReadOnly( true ); - /***************************************************************/ QGridLayout* aGBLayout = new QGridLayout( myGrp->GroupBox1->layout() ); aGBLayout->setAlignment( Qt::AlignTop ); @@ -104,8 +107,8 @@ MeasureGUI_CheckCompoundOfBlocksDlg::MeasureGUI_CheckCompoundOfBlocksDlg( Geomet myErrorsLBox->setMinimumSize( 100, 100 ); Layout2->addWidget( myErrorsLBox, 1, 0 ); - - mySubShapesLbl = new QLabel( tr( "GEOM_CHECK_BLOCKS_COMPOUND_SUBSHAPES" ), myGrp, "BlockCompoundSubShapes" ); + mySubShapesLbl = new QLabel( tr( "GEOM_CHECK_BLOCKS_COMPOUND_SUBSHAPES" ), + myGrp, "BlockCompoundSubShapes" ); Layout2->addWidget( mySubShapesLbl, 0, 1 ); mySubShapesLBox = new QListBox( myGrp, "ListSubShapes" ); @@ -114,14 +117,18 @@ MeasureGUI_CheckCompoundOfBlocksDlg::MeasureGUI_CheckCompoundOfBlocksDlg( Geomet Layout2->addWidget( mySubShapesLBox, 1, 1 ); aGBLayout->addLayout( Layout2, 1, 0 ); - Layout1->addWidget( myGrp, 1, 0 ); + Layout1->addWidget( myGrp, 2, 0 ); + connect( myErrorsLBox, SIGNAL( selectionChanged() ), SLOT( onErrorsListSelectionChanged() ) ); connect( mySubShapesLBox, SIGNAL( selectionChanged() ), SLOT( onSubShapesListSelectionChanged() ) ); + /***************************************************************/ + + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#Check_comp_blocks"; + /* Initialisation */ Init(); } - //================================================================================= // function : ~MeasureGUI_CheckCompoundOfBlocksDlg() // purpose : Destroys the object and frees any allocated resources @@ -130,17 +137,126 @@ MeasureGUI_CheckCompoundOfBlocksDlg::~MeasureGUI_CheckCompoundOfBlocksDlg() { } - //================================================================================= // function : Init() // purpose : //================================================================================= void MeasureGUI_CheckCompoundOfBlocksDlg::Init() { + myEditCurrentArgument = myGrp->LineEdit1; + + // signals and slots connections + connect( buttonOk, SIGNAL( clicked() ), this, SLOT( ClickOnOk() ) ); + connect( buttonApply, SIGNAL( clicked() ), this, SLOT( ClickOnApply() ) ); + + connect( myGrp->LineEdit1, SIGNAL( returnPressed() ), this, SLOT( LineEditReturnPressed() ) ); + connect( myGrp->PushButton1, SIGNAL( clicked() ), this, SLOT( SetEditCurrentArgument() ) ); + + connect(myGeomGUI->getApp()->selectionMgr(), + SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); + + initName( tr( "GEOM_BLOCKS_COMPOUND") ); + buttonOk->setEnabled(false); + buttonApply->setEnabled(false); activateSelection(); - mySelBtn = myGrp->PushButton1; - mySelEdit = myGrp->LineEdit1; - MeasureGUI_Skeleton::Init(); + SelectionIntoArgument(); + + // displays Dialog + this->show(); +} + +//================================================================================= +// function : ClickOnOk() +// purpose : +//================================================================================= +void MeasureGUI_CheckCompoundOfBlocksDlg::ClickOnOk() +{ + if (ClickOnApply()) + ClickOnCancel(); +} + +//================================================================================= +// function : ClickOnApply() +// purpose : +//================================================================================= +bool MeasureGUI_CheckCompoundOfBlocksDlg::ClickOnApply() +{ + if ( !onAccept() ) + return false; + + initName(); + return true; +} + +//================================================================================= +// function : SelectionIntoArgument +// purpose : +//================================================================================= +void MeasureGUI_CheckCompoundOfBlocksDlg::SelectionIntoArgument() +{ + erasePreview(); + myObj = GEOM::GEOM_Object::_nil(); + + if (IObjectCount() != 1) { + myGrp->LineEdit1->setText(""); + processObject(); + return; + } + + Standard_Boolean testResult = Standard_False; + GEOM::GEOM_Object_var aSelectedObject = + GEOMBase::ConvertIOinGEOMObject( firstIObject(), testResult ); + + if (!testResult || aSelectedObject->_is_nil()) { + myGrp->LineEdit1->setText(""); + processObject(); + return; + } + + myObj = aSelectedObject; + myGrp->LineEdit1->setText(GEOMBase::GetName(myObj)); + processObject(); + displayPreview(); +} + +//================================================================================= +// function : SetEditCurrentArgument +// purpose : +//================================================================================= +void MeasureGUI_CheckCompoundOfBlocksDlg::SetEditCurrentArgument() +{ + myGrp->LineEdit1->setFocus(); + myEditCurrentArgument = myGrp->LineEdit1; + SelectionIntoArgument(); +} + +//================================================================================= +// function : LineEditReturnPressed() +// purpose : +//================================================================================= +void MeasureGUI_CheckCompoundOfBlocksDlg::LineEditReturnPressed() +{ + QLineEdit* send = (QLineEdit*)sender(); + if (send == myGrp->LineEdit1) { + myEditCurrentArgument = myGrp->LineEdit1; + GEOMBase_Skeleton::LineEditReturnPressed(); + } +} + +//================================================================================= +// function : ActivateThisDialog() +// purpose : +//================================================================================= +void MeasureGUI_CheckCompoundOfBlocksDlg::ActivateThisDialog() +{ + GEOMBase_Skeleton::ActivateThisDialog(); + + LightApp_SelectionMgr* aSel = myGeomGUI->getApp()->selectionMgr(); + if (aSel) + connect(aSel, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); + + activateSelection(); + displayPreview(); } //================================================================================= @@ -191,10 +307,15 @@ void MeasureGUI_CheckCompoundOfBlocksDlg::processObject() if (isCompoundOfBlocks) { aMsg += tr( "GEOM_CHECK_BLOCKS_COMPOUND_HAS_NO_ERRORS" ); + buttonOk->setEnabled(false); + buttonApply->setEnabled(false); } else { aMsg += tr( "GEOM_CHECK_BLOCKS_COMPOUND_HAS_ERRORS" ); + buttonOk->setEnabled(true); + buttonApply->setEnabled(true); } myGrp->TextEdit1->setText(aMsg); + QStringList aErrList; QString aErrStr( "" ); QString aConSfx( " # " ); @@ -234,10 +355,10 @@ void MeasureGUI_CheckCompoundOfBlocksDlg::processObject() if ( !aErrStr.isEmpty() ) aErrList.append(aErrStr); } + myErrorsLBox->clear(); mySubShapesLBox->clear(); myErrorsLBox->insertStringList(aErrList); - return; } //================================================================================= @@ -292,7 +413,6 @@ void MeasureGUI_CheckCompoundOfBlocksDlg::onErrorsListSelectionChanged() } mySubShapesLBox->clear(); mySubShapesLBox->insertStringList(aSubShapeList); - return; } //================================================================================= @@ -356,7 +476,6 @@ void MeasureGUI_CheckCompoundOfBlocksDlg::onSubShapesListSelectionChanged() } } } - return; } //================================================================================= @@ -370,3 +489,38 @@ void MeasureGUI_CheckCompoundOfBlocksDlg::activateSelection() aMap.Add( GEOM_COMPOUND ); globalSelection( aMap ); } + +//================================================================================= +// function : enterEvent() +// purpose : +//================================================================================= +void MeasureGUI_CheckCompoundOfBlocksDlg::enterEvent(QEvent* e) +{ + if (!GroupConstructors->isEnabled()) + ActivateThisDialog(); +} + +//================================================================================= +// function : isValid +// purpose : +//================================================================================= +bool MeasureGUI_CheckCompoundOfBlocksDlg::isValid( QString& ) +{ + return !myObj->_is_nil(); +} + +//================================================================================= +// function : execute +// purpose : +//================================================================================= +bool MeasureGUI_CheckCompoundOfBlocksDlg::execute( ObjectList& objects ) +{ + GEOM::GEOM_Object_var anObj; + + anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->CheckAndImprove(myObj); + + if (!anObj->_is_nil()) + objects.push_back(anObj._retn()); + + return true; +} diff --git a/src/MeasureGUI/MeasureGUI_CheckCompoundOfBlocksDlg.h b/src/MeasureGUI/MeasureGUI_CheckCompoundOfBlocksDlg.h index 0038dcb4e..6eb0e9633 100644 --- a/src/MeasureGUI/MeasureGUI_CheckCompoundOfBlocksDlg.h +++ b/src/MeasureGUI/MeasureGUI_CheckCompoundOfBlocksDlg.h @@ -24,12 +24,11 @@ // File : MeasureGUI_CheckCompoundOfBlocksDlg.h // Author : VKN // Module : GEOM -// $Header$ #ifndef DIALOGBOX_CHECKCOMPOUNDOFBLOCKSDLG_H #define DIALOGBOX_CHECKCOMPOUNDOFBLOCKSDLG_H -#include "MeasureGUI_Skeleton.h" +#include "GEOMBase_Skeleton.h" class MeasureGUI_1Sel1TextView_QTD; class QListBox; @@ -45,40 +44,47 @@ class QLabel; // class : MeasureGUI_CheckCompoundOfBlocksDlg // purpose : //================================================================================= -class MEASUREGUI_EXPORT MeasureGUI_CheckCompoundOfBlocksDlg : public MeasureGUI_Skeleton +class MEASUREGUI_EXPORT MeasureGUI_CheckCompoundOfBlocksDlg : public GEOMBase_Skeleton { Q_OBJECT public: - MeasureGUI_CheckCompoundOfBlocksDlg( GeometryGUI* GUI, - QWidget* theParent ); - ~MeasureGUI_CheckCompoundOfBlocksDlg(); -protected: + MeasureGUI_CheckCompoundOfBlocksDlg(GeometryGUI* GUI, QWidget* theParent); + ~MeasureGUI_CheckCompoundOfBlocksDlg(); - // redefined from GEOMBase_Helper and MeasureGUI_Skeleton +protected: + // redefined from GEOMBase_Helper and GEOMBase_Skeleton virtual GEOM::GEOM_IOperations_ptr createOperation(); + virtual bool isValid( QString& msg ); + virtual bool execute( ObjectList& objects ); virtual void processObject(); private slots: + void ClickOnOk(); + bool ClickOnApply(); + void ActivateThisDialog(); + void LineEditReturnPressed(); + void SelectionIntoArgument(); + void SetEditCurrentArgument(); void onErrorsListSelectionChanged(); void onSubShapesListSelectionChanged(); private: - - void Init(); - bool getBCErrors( bool& theIsCompoundOfBlocks, - GEOM::GEOM_IBlocksOperations::BCErrors& theErrors); - void activateSelection(); + void Init(); + void enterEvent( QEvent* e ); + bool getBCErrors( bool& theIsCompoundOfBlocks, + GEOM::GEOM_IBlocksOperations::BCErrors& theErrors); + void activateSelection(); private: + GEOM::GEOM_Object_var myObj; + MeasureGUI_1Sel1TextView_QTD* myGrp; - MeasureGUI_1Sel1TextView_QTD* myGrp; - QLabel* myErrorsLbl; - QListBox* myErrorsLBox; - QLabel* mySubShapesLbl; - QListBox* mySubShapesLBox; - + QLabel* myErrorsLbl; + QListBox* myErrorsLBox; + QLabel* mySubShapesLbl; + QListBox* mySubShapesLBox; }; #endif // DIALOGBOX_CHECKCOMPOUNDOFBLOCKSDLG_H diff --git a/src/MeasureGUI/MeasureGUI_CheckShapeDlg.cxx b/src/MeasureGUI/MeasureGUI_CheckShapeDlg.cxx index d63de1040..541607690 100644 --- a/src/MeasureGUI/MeasureGUI_CheckShapeDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_CheckShapeDlg.cxx @@ -81,6 +81,8 @@ MeasureGUI_CheckShapeDlg::MeasureGUI_CheckShapeDlg( GeometryGUI* GUI, QWidget* p /***************************************************************/ + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#check"; + /* Initialisation */ Init(); } diff --git a/src/MeasureGUI/MeasureGUI_DistanceDlg.cxx b/src/MeasureGUI/MeasureGUI_DistanceDlg.cxx index 5762c0606..c06d2b8a6 100644 --- a/src/MeasureGUI/MeasureGUI_DistanceDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_DistanceDlg.cxx @@ -92,6 +92,8 @@ MeasureGUI_DistanceDlg::MeasureGUI_DistanceDlg( GeometryGUI* GUI, QWidget* paren /***************************************************************/ + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#Min_distance"; + /* Initialisation */ Init(); } diff --git a/src/MeasureGUI/MeasureGUI_InertiaDlg.cxx b/src/MeasureGUI/MeasureGUI_InertiaDlg.cxx index 2c36eacac..3f1ae07cd 100644 --- a/src/MeasureGUI/MeasureGUI_InertiaDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_InertiaDlg.cxx @@ -96,6 +96,8 @@ MeasureGUI_InertiaDlg::MeasureGUI_InertiaDlg( GeometryGUI* GUI, QWidget* parent /***************************************************************/ + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#Inertia_axis"; + /* Initialisation */ Init(); } diff --git a/src/MeasureGUI/MeasureGUI_MaxToleranceDlg.cxx b/src/MeasureGUI/MeasureGUI_MaxToleranceDlg.cxx index 75be01ef7..c380c2335 100644 --- a/src/MeasureGUI/MeasureGUI_MaxToleranceDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_MaxToleranceDlg.cxx @@ -83,6 +83,8 @@ MeasureGUI_MaxToleranceDlg::MeasureGUI_MaxToleranceDlg( GeometryGUI* GUI, QWidge /***************************************************************/ + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#Tolerance"; + /* Initialisation */ Init(); } diff --git a/src/MeasureGUI/MeasureGUI_PointDlg.cxx b/src/MeasureGUI/MeasureGUI_PointDlg.cxx index 7db3bee11..34d08f348 100644 --- a/src/MeasureGUI/MeasureGUI_PointDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_PointDlg.cxx @@ -99,6 +99,8 @@ MeasureGUI_PointDlg::MeasureGUI_PointDlg( GeometryGUI* GUI, QWidget* parent ) Layout1->addWidget( aGrp, 1, 0 ); + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#PointCoord"; + Init(); } diff --git a/src/MeasureGUI/MeasureGUI_PropertiesDlg.cxx b/src/MeasureGUI/MeasureGUI_PropertiesDlg.cxx index 596cddd4f..733892b09 100644 --- a/src/MeasureGUI/MeasureGUI_PropertiesDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_PropertiesDlg.cxx @@ -83,6 +83,8 @@ MeasureGUI_PropertiesDlg::MeasureGUI_PropertiesDlg( GeometryGUI* GUI, QWidget* p /***************************************************************/ + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#Basic_properties"; + /* Initialisation */ Init(); } diff --git a/src/MeasureGUI/MeasureGUI_Skeleton.cxx b/src/MeasureGUI/MeasureGUI_Skeleton.cxx index bbfdb0741..38cc5f7c9 100644 --- a/src/MeasureGUI/MeasureGUI_Skeleton.cxx +++ b/src/MeasureGUI/MeasureGUI_Skeleton.cxx @@ -31,9 +31,11 @@ #include "GEOM_Displayer.h" #include "GeometryGUI.h" -#include "SalomeApp_Application.h" +#include "LightApp_Application.h" #include "LightApp_SelectionMgr.h" +#include "SalomeApp_Application.h" #include "SalomeApp_Tools.h" +#include "SUIT_MessageBox.h" #include "SUIT_Session.h" #include "SUIT_OverrideCursor.h" @@ -63,11 +65,13 @@ MeasureGUI_Skeleton::MeasureGUI_Skeleton( GeometryGUI* GUI, mySelBtn = 0; mySelEdit = 0; myDisplayer = 0; + myHelpFileName = ""; if ( !name ) setName( "MeasureGUI_Skeleton" ); buttonClose->setText( tr( "GEOM_BUT_CLOSE" ) ); + buttonHelp->setText(tr("GEOM_BUT_HELP")); buttonClose->setAutoDefault( false ); @@ -100,6 +104,9 @@ void MeasureGUI_Skeleton::Init() connect( buttonClose, SIGNAL( clicked() ), this, SLOT( ClickOnCancel() ) ); + + connect( buttonHelp, SIGNAL( clicked() ), + this, SLOT( ClickOnHelp() ) ); connect( myGeomGUI, SIGNAL( SignalDeactivateActiveDialog() ), this, SLOT ( DeactivateActiveDialog() ) ); @@ -136,6 +143,22 @@ void MeasureGUI_Skeleton::ClickOnCancel() close(); } +//================================================================================= +// function : ClickOnHelp() +// purpose : +//================================================================================= +void MeasureGUI_Skeleton::ClickOnHelp() +{ + LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication()); + if (app) + app->onHelpContextModule(myGeomGUI ? app->moduleName(myGeomGUI->moduleName()) : QString(""), myHelpFileName); + else { + SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), + QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName), + QObject::tr("BUT_OK")); + } +} //================================================================================= // function : LineEditReturnPressed() diff --git a/src/MeasureGUI/MeasureGUI_Skeleton.h b/src/MeasureGUI/MeasureGUI_Skeleton.h index bcf601a1e..7c335648e 100644 --- a/src/MeasureGUI/MeasureGUI_Skeleton.h +++ b/src/MeasureGUI/MeasureGUI_Skeleton.h @@ -52,6 +52,7 @@ public: protected slots: virtual void ClickOnCancel(); + virtual void ClickOnHelp(); virtual void DeactivateActiveDialog(); virtual void ActivateThisDialog(); virtual void SelectionIntoArgument(); @@ -82,6 +83,8 @@ protected: GeometryGUI* myGeomGUI; GEOM_Displayer* myDisplayer; + + QString myHelpFileName; }; #endif // MEASUREGUI_SKELETON_H diff --git a/src/MeasureGUI/MeasureGUI_Skeleton_QTD.cxx b/src/MeasureGUI/MeasureGUI_Skeleton_QTD.cxx index 343064b7e..4e4d19cee 100644 --- a/src/MeasureGUI/MeasureGUI_Skeleton_QTD.cxx +++ b/src/MeasureGUI/MeasureGUI_Skeleton_QTD.cxx @@ -1,18 +1,18 @@ // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either +// License as published by the Free Software Foundation; either // version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ @@ -20,37 +20,36 @@ /**************************************************************************** ** Form implementation generated from reading ui file 'MeasureGUI_Skeleton_QTD.ui' ** -** Created: lun oct 27 11:23:09 2003 -** by: The User Interface Compiler (uic) +** Created: Tue Mar 21 10:10:08 2006 +** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! ****************************************************************************/ + #include "MeasureGUI_Skeleton_QTD.h" #include -#include -#include #include +#include +#include #include #include #include #include -/* - * Constructs a MeasureGUI_Skeleton_QTD which is a child of 'parent', with the +/* + * Constructs a MeasureGUI_Skeleton_QTD as a child of 'parent', with the * name 'name' and widget flags set to 'f'. * * The dialog will by default be modeless, unless you set 'modal' to * TRUE to construct a modal dialog. */ -MeasureGUI_Skeleton_QTD::MeasureGUI_Skeleton_QTD( QWidget* parent, const char* name, bool modal, WFlags fl ) +MeasureGUI_Skeleton_QTD::MeasureGUI_Skeleton_QTD( QWidget* parent, const char* name, bool modal, WFlags fl ) : QDialog( parent, name, modal, fl ) { if ( !name ) setName( "MeasureGUI_Skeleton_QTD" ); - resize( 228, 266 ); setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)7, 0, 0, sizePolicy().hasHeightForWidth() ) ); - setCaption( trUtf8( "MeasureGUI_Skeleton_QTD" ) ); setSizeGripEnabled( TRUE ); MeasureGUI_Skeleton_QTDLayout = new QGridLayout( this, 1, 1, 11, 6, "MeasureGUI_Skeleton_QTDLayout"); @@ -58,7 +57,6 @@ MeasureGUI_Skeleton_QTD::MeasureGUI_Skeleton_QTD( QWidget* parent, const char* GroupButtons = new QGroupBox( this, "GroupButtons" ); GroupButtons->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)0, 0, 0, GroupButtons->sizePolicy().hasHeightForWidth() ) ); - GroupButtons->setTitle( trUtf8( "" ) ); GroupButtons->setColumnLayout(0, Qt::Vertical ); GroupButtons->layout()->setSpacing( 6 ); GroupButtons->layout()->setMargin( 11 ); @@ -66,15 +64,16 @@ MeasureGUI_Skeleton_QTD::MeasureGUI_Skeleton_QTD( QWidget* parent, const char* GroupButtonsLayout->setAlignment( Qt::AlignTop ); Layout3 = new QGridLayout( 0, 1, 1, 0, 6, "Layout3"); - QSpacerItem* spacer = new QSpacerItem( 120, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ); - Layout3->addItem( spacer, 0, 2 ); - QSpacerItem* spacer_2 = new QSpacerItem( 120, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ); - Layout3->addItem( spacer_2, 0, 0 ); + Spacer1 = new QSpacerItem( 120, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ); + Layout3->addItem( Spacer1, 0, 1 ); buttonClose = new QPushButton( GroupButtons, "buttonClose" ); - buttonClose->setText( trUtf8( "&Close" ) ); - Layout3->addWidget( buttonClose, 0, 1 ); + Layout3->addWidget( buttonClose, 0, 0 ); + + buttonHelp = new QPushButton( GroupButtons, "buttonHelp" ); + + Layout3->addWidget( buttonHelp, 0, 2 ); GroupButtonsLayout->addLayout( Layout3, 0, 0 ); @@ -82,7 +81,6 @@ MeasureGUI_Skeleton_QTD::MeasureGUI_Skeleton_QTD( QWidget* parent, const char* GroupConstructors = new QButtonGroup( this, "GroupConstructors" ); GroupConstructors->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)0, 0, 0, GroupConstructors->sizePolicy().hasHeightForWidth() ) ); - GroupConstructors->setTitle( trUtf8( "" ) ); GroupConstructors->setColumnLayout(0, Qt::Vertical ); GroupConstructors->layout()->setSpacing( 6 ); GroupConstructors->layout()->setMargin( 11 ); @@ -92,7 +90,6 @@ MeasureGUI_Skeleton_QTD::MeasureGUI_Skeleton_QTD( QWidget* parent, const char* Layout2 = new QHBoxLayout( 0, 0, 6, "Layout2"); RadioButton1 = new QRadioButton( GroupConstructors, "RadioButton1" ); - RadioButton1->setText( trUtf8( "" ) ); Layout2->addWidget( RadioButton1 ); GroupConstructorsLayout->addLayout( Layout2, 0, 0 ); @@ -101,14 +98,16 @@ MeasureGUI_Skeleton_QTD::MeasureGUI_Skeleton_QTD( QWidget* parent, const char* GroupMedium = new QGroupBox( this, "GroupMedium" ); GroupMedium->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)7, (QSizePolicy::SizeType)7, 0, 0, GroupMedium->sizePolicy().hasHeightForWidth() ) ); - GroupMedium->setTitle( trUtf8( "" ) ); Layout1->addWidget( GroupMedium, 1, 0 ); MeasureGUI_Skeleton_QTDLayout->addLayout( Layout1, 0, 0 ); + languageChange(); + resize( QSize(228, 266).expandedTo(minimumSizeHint()) ); + clearWState( WState_Polished ); } -/* +/* * Destroys the object and frees any allocated resources */ MeasureGUI_Skeleton_QTD::~MeasureGUI_Skeleton_QTD() @@ -116,3 +115,18 @@ MeasureGUI_Skeleton_QTD::~MeasureGUI_Skeleton_QTD() // no need to delete child widgets, Qt does it all for us } +/* + * Sets the strings of the subwidgets using the current + * language. + */ +void MeasureGUI_Skeleton_QTD::languageChange() +{ + setCaption( tr( "MeasureGUI_Skeleton_QTD" ) ); + GroupButtons->setTitle( QString::null ); + buttonClose->setText( tr( "&Close" ) ); + buttonHelp->setText( tr( "&Help" ) ); + GroupConstructors->setTitle( QString::null ); + RadioButton1->setText( QString::null ); + GroupMedium->setTitle( QString::null ); +} + diff --git a/src/MeasureGUI/MeasureGUI_Skeleton_QTD.h b/src/MeasureGUI/MeasureGUI_Skeleton_QTD.h index 90145bfaa..ab45a8cf2 100644 --- a/src/MeasureGUI/MeasureGUI_Skeleton_QTD.h +++ b/src/MeasureGUI/MeasureGUI_Skeleton_QTD.h @@ -1,18 +1,18 @@ // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public -// License as published by the Free Software Foundation; either +// License as published by the Free Software Foundation; either // version 2.1 of the License. -// -// This library is distributed in the hope that it will be useful -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// +// This library is distributed in the hope that it will be useful +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, write to the Free Software +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // See http://www.salome-platform.org/ @@ -20,26 +20,29 @@ /**************************************************************************** ** Form interface generated from reading ui file 'MeasureGUI_Skeleton_QTD.ui' ** -** Created: lun oct 27 11:23:09 2003 -** by: The User Interface Compiler (uic) +** Created: Tue Mar 21 10:10:08 2006 +** by: The User Interface Compiler ($Id$) ** ** WARNING! All changes made in this file will be lost! ****************************************************************************/ + #ifndef MEASUREGUI_SKELETON_QTD_H #define MEASUREGUI_SKELETON_QTD_H #include #include -class QVBoxLayout; -class QHBoxLayout; -class QGridLayout; -class QButtonGroup; + +class QVBoxLayout; +class QHBoxLayout; +class QGridLayout; +class QSpacerItem; class QGroupBox; class QPushButton; +class QButtonGroup; class QRadioButton; class MeasureGUI_Skeleton_QTD : public QDialog -{ +{ Q_OBJECT public: @@ -48,18 +51,23 @@ public: QGroupBox* GroupButtons; QPushButton* buttonClose; + QPushButton* buttonHelp; QButtonGroup* GroupConstructors; QRadioButton* RadioButton1; QGroupBox* GroupMedium; - protected: QGridLayout* MeasureGUI_Skeleton_QTDLayout; QGridLayout* Layout1; QGridLayout* GroupButtonsLayout; QGridLayout* Layout3; + QSpacerItem* Spacer1; QGridLayout* GroupConstructorsLayout; QHBoxLayout* Layout2; + +protected slots: + virtual void languageChange(); + }; #endif // MEASUREGUI_SKELETON_QTD_H diff --git a/src/MeasureGUI/MeasureGUI_WhatisDlg.cxx b/src/MeasureGUI/MeasureGUI_WhatisDlg.cxx index 7bd5a6a81..36643d6d3 100644 --- a/src/MeasureGUI/MeasureGUI_WhatisDlg.cxx +++ b/src/MeasureGUI/MeasureGUI_WhatisDlg.cxx @@ -84,6 +84,8 @@ MeasureGUI_WhatisDlg::MeasureGUI_WhatisDlg( GeometryGUI* GUI, QWidget* parent ) /***************************************************************/ + myHelpFileName = "files/salome2_sp3_measuregui_functions.htm#Whatis"; + /* Initialisation */ Init(); } diff --git a/src/MeasureGUI/UIFiles/MeasureGUI_Skeleton_QTD.ui b/src/MeasureGUI/UIFiles/MeasureGUI_Skeleton_QTD.ui index d759fb401..07f94c80d 100644 --- a/src/MeasureGUI/UIFiles/MeasureGUI_Skeleton_QTD.ui +++ b/src/MeasureGUI/UIFiles/MeasureGUI_Skeleton_QTD.ui @@ -89,24 +89,7 @@ 6 - - - Spacer2 - - - Horizontal - - - Expanding - - - - 120 - 0 - - - - + Spacer1 @@ -123,7 +106,7 @@ - + buttonClose @@ -131,6 +114,14 @@ &Close + + + buttonHelp + + + &Help + + diff --git a/src/MeasureGUI/UIFiles/ui_to_cxx b/src/MeasureGUI/UIFiles/ui_to_cxx index 07db6a8f4..04652a849 100755 --- a/src/MeasureGUI/UIFiles/ui_to_cxx +++ b/src/MeasureGUI/UIFiles/ui_to_cxx @@ -1,22 +1,22 @@ -// 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/ -// +# 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/ +# #!/bin/sh #uic -o MeasureGUI_Skeleton_QTD.h MeasureGUI_Skeleton_QTD.ui diff --git a/src/OBJECT/GEOM_AISShape.cxx b/src/OBJECT/GEOM_AISShape.cxx index eb2b741d9..5c92b5de3 100644 --- a/src/OBJECT/GEOM_AISShape.cxx +++ b/src/OBJECT/GEOM_AISShape.cxx @@ -192,7 +192,9 @@ void GEOM_AISShape::Compute(const Handle(PrsMgr_PresentationManager3d)& aPresent //a4bis->SetInteriorColor(myShadingColor); myDrawer->ShadingAspect()->SetColor(myShadingColor); - StdPrs_ShadedShape::Add(aPrs,myshape,myDrawer); + // PAL12113: AIS_Shape::Compute() works correctly with shapes containing no faces + //StdPrs_ShadedShape::Add(aPrs,myshape,myDrawer); + AIS_Shape::Compute(aPresentationManager, aPrs, aMode); break; } } diff --git a/src/OBJECT/GEOM_AISShape.jxx b/src/OBJECT/GEOM_AISShape.jxx index 8f66299fd..c3d2a67e9 100644 --- a/src/OBJECT/GEOM_AISShape.jxx +++ b/src/OBJECT/GEOM_AISShape.jxx @@ -38,4 +38,4 @@ #endif #ifndef _Prs3d_Presentation_HeaderFile #include -#endif \ No newline at end of file +#endif diff --git a/src/OBJECT/GEOM_Actor.cxx b/src/OBJECT/GEOM_Actor.cxx index d549193b1..8d7a0f414 100644 --- a/src/OBJECT/GEOM_Actor.cxx +++ b/src/OBJECT/GEOM_Actor.cxx @@ -275,10 +275,10 @@ void GEOM_Actor::Render(vtkRenderer *ren, vtkMapper *Mapper) if(myShape.ShapeType() == TopAbs_VERTEX) { if(ren){ //The parameter determine size of vertex actor relate to diagonal of RendererWindow - static float delta = 0.01; - float X1 = -1, Y1 = -1, Z1 = 0; + static vtkFloatingPointType delta = 0.01; + vtkFloatingPointType X1 = -1, Y1 = -1, Z1 = 0; ren->ViewToWorld(X1,Y1,Z1); - float X2 = +1, Y2 = +1, Z2 = 0; + vtkFloatingPointType X2 = +1, Y2 = +1, Z2 = 0; ren->ViewToWorld(X2,Y2,Z2); Z2 = sqrt((X2-X1)*(X2-X1) + (Y2-Y1)*(Y2-Y1) + (Z2-Z1)*(Z2-Z1)); this->SetScale(Z2*delta); @@ -308,26 +308,26 @@ void GEOM_Actor::SubShapeOff() // Opacity methods //------------------------------------------------------------- -void GEOM_Actor::SetOpacity(float opa) +void GEOM_Actor::SetOpacity(vtkFloatingPointType opa) { //HighlightProperty->SetOpacity(opa); SALOME_Actor::SetOpacity(opa); ShadingProperty->SetOpacity(opa); } -float GEOM_Actor::GetOpacity() { +vtkFloatingPointType GEOM_Actor::GetOpacity() { return ShadingProperty->GetOpacity(); } //------------------------------------------------------------- // Color methods //------------------------------------------------------------- -void GEOM_Actor::SetColor(float r,float g,float b) { +void GEOM_Actor::SetColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) { ShadingProperty->SetColor(r,g,b); } -void GEOM_Actor::GetColor(float& r,float& g,float& b) { - float color[3]; +void GEOM_Actor::GetColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) { + vtkFloatingPointType color[3]; ShadingProperty->GetColor(color); r = color[0]; g = color[1]; diff --git a/src/OBJECT/GEOM_Actor.h b/src/OBJECT/GEOM_Actor.h index 7229b9e2b..6bd3f7faf 100644 --- a/src/OBJECT/GEOM_Actor.h +++ b/src/OBJECT/GEOM_Actor.h @@ -86,12 +86,12 @@ class SALOME_WNT_EXPORT GEOM_Actor : public SALOME_Actor { void SetShadingProperty(vtkProperty* Prop); // Opacity - void SetOpacity(float opa); - float GetOpacity(); + void SetOpacity(vtkFloatingPointType opa); + vtkFloatingPointType GetOpacity(); // Color - void SetColor(float r,float g,float b); - void GetColor(float& r,float& g,float& b); + void SetColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b); + void GetColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b); virtual bool IsInfinite() {return myIsInfinite;} protected: diff --git a/src/OBJECT/GEOM_VTKTrihedron.cxx b/src/OBJECT/GEOM_VTKTrihedron.cxx index 3e79afb81..177c326d6 100644 --- a/src/OBJECT/GEOM_VTKTrihedron.cxx +++ b/src/OBJECT/GEOM_VTKTrihedron.cxx @@ -78,15 +78,15 @@ public: vtkTypeMacro( GEOM_VTKTrihedronAxis, VTKViewer_Axis ); static GEOM_VTKTrihedronAxis* New(); - void SetAxis( const gp_Ax1& theAxis, const int theRot, float theColor[ 3 ] ); + void SetAxis( const gp_Ax1& theAxis, const int theRot, vtkFloatingPointType theColor[ 3 ] ); virtual void Render( vtkRenderer* theRenderer ); - virtual void SetSize( float theSize ); + virtual void SetSize( vtkFloatingPointType theSize ); gp_Pnt GetOri() const; - void SetColor( const float theColor[ 3 ] ); + void SetColor( const vtkFloatingPointType theColor[ 3 ] ); private: - float myOri[ 3 ]; + vtkFloatingPointType myOri[ 3 ]; vtkMatrix4x4* myMatrix; vtkTransform* myTrsf; }; @@ -109,11 +109,11 @@ GEOM_VTKTrihedronAxis::~GEOM_VTKTrihedronAxis() myTrsf->Delete(); } -void GEOM_VTKTrihedronAxis::SetSize( float theSize ) +void GEOM_VTKTrihedronAxis::SetSize( vtkFloatingPointType theSize ) { - float aPosition[ 3 ] = { myOri[ 0 ] + myDir[ 0 ] * theSize, - myOri[ 1 ] + myDir[ 1 ] * theSize, - myOri[ 2 ] + myDir[ 2 ] * theSize }; + vtkFloatingPointType aPosition[ 3 ] = { myOri[ 0 ] + myDir[ 0 ] * theSize, + myOri[ 1 ] + myDir[ 1 ] * theSize, + myOri[ 2 ] + myDir[ 2 ] * theSize }; myLineSource->SetPoint1( myOri[ 0 ], myOri[ 1 ], myOri[ 2 ] ); myLineSource->SetPoint2( aPosition ); @@ -158,7 +158,7 @@ gp_Pnt GEOM_VTKTrihedronAxis::GetOri() const void GEOM_VTKTrihedronAxis::SetAxis( const gp_Ax1& theAxis, const int theRot, - float theColor[ 3 ] ) + vtkFloatingPointType theColor[ 3 ] ) { gp_Pnt aLoc = theAxis.Location(); gp_Dir aDir = theAxis.Direction(); @@ -171,7 +171,7 @@ void GEOM_VTKTrihedronAxis::SetAxis( const gp_Ax1& theAxis, myDir[ 1 ] = aDir.Y(); myDir[ 2 ] = aDir.Z(); - float aColor[ 3 ] = { 0, 0, 0 }; + vtkFloatingPointType aColor[ 3 ] = { 0, 0, 0 }; aColor[ theRot ] = 1; vtkProperty* aProperty = vtkProperty::New(); if ( theColor[ 0 ] == -1 ) @@ -186,7 +186,7 @@ void GEOM_VTKTrihedronAxis::SetAxis( const gp_Ax1& theAxis, else if ( theRot == 2 ) myVectorText->SetText( "Z" ); } -void GEOM_VTKTrihedronAxis::SetColor( const float theColor[ 3 ] ) +void GEOM_VTKTrihedronAxis::SetColor( const vtkFloatingPointType theColor[ 3 ] ) { vtkProperty* aProperty = vtkProperty::New(); aProperty->SetColor( theColor[ 0 ], theColor[ 1 ], theColor[ 2 ] ); @@ -222,7 +222,7 @@ GEOM_VTKTrihedron::~GEOM_VTKTrihedron() myMapper->Delete(); } -void GEOM_VTKTrihedron::SetSize( float theSize ) +void GEOM_VTKTrihedron::SetSize( vtkFloatingPointType theSize ) { mySize = theSize; for ( int i = 0; i < 3; i++ ) @@ -351,7 +351,7 @@ void GEOM_VTKTrihedron::Render(vtkRenderer* r, vtkMapper *) ( (GEOM_VTKTrihedronAxis*)myAxis[ 2 ] )->Render( r ); } -void GEOM_VTKTrihedron::SetColor( float r, float g, float b ) +void GEOM_VTKTrihedron::SetColor( vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b ) { myColor[ 0 ] = r; myColor[ 1 ] = g; @@ -362,7 +362,7 @@ void GEOM_VTKTrihedron::SetColor( float r, float g, float b ) if ( myAxis[ 2 ] ) ( (GEOM_VTKTrihedronAxis*)myAxis[ 2 ] )->SetColor( myColor ); } -void GEOM_VTKTrihedron::GetColor( float& r, float& g, float& b ) +void GEOM_VTKTrihedron::GetColor( vtkFloatingPointType& r, vtkFloatingPointType& g, vtkFloatingPointType& b ) { r = myColor[ 0 ]; g = myColor[ 1 ]; diff --git a/src/OBJECT/GEOM_VTKTrihedron.hxx b/src/OBJECT/GEOM_VTKTrihedron.hxx index b67ad3fbb..a439f9f8c 100644 --- a/src/OBJECT/GEOM_VTKTrihedron.hxx +++ b/src/OBJECT/GEOM_VTKTrihedron.hxx @@ -62,7 +62,7 @@ public: vtkTypeMacro( GEOM_VTKTrihedron, SALOME_Actor ); static GEOM_VTKTrihedron* New(); - virtual float GetSize() { return mySize;} + virtual vtkFloatingPointType GetSize() { return mySize;} virtual void SetVisibility( VTKViewer_Trihedron::TVisibility theVis ); virtual void VisibilityOff() { SetVisibility( VTKViewer_Trihedron::eOff ); } @@ -80,21 +80,21 @@ public: virtual void Render(vtkRenderer *, vtkMapper *); virtual bool IsSetCamera() const; virtual bool IsResizable() const; - virtual void SetSize( float ); + virtual void SetSize( vtkFloatingPointType ); virtual void SetCamera( vtkCamera* ); - void SetColor( float r, float g, float b ); - void GetColor( float& r, float& g, float& b ); + void SetColor( vtkFloatingPointType r, vtkFloatingPointType g, vtkFloatingPointType b ); + void GetColor( vtkFloatingPointType& r, vtkFloatingPointType& g, vtkFloatingPointType& b ); virtual bool hasHighlight() { return false; } protected: VTKViewer_Axis* myAxis[3]; vtkPolyDataMapper* myMapper; - float mySize; + vtkFloatingPointType mySize; gp_Pnt myLocation; gp_Dir myDirX, myDirY, myDirZ; - float myColor[ 3 ]; + vtkFloatingPointType myColor[ 3 ]; }; #endif diff --git a/src/OperationGUI/OperationGUI.cxx b/src/OperationGUI/OperationGUI.cxx index 6838a57d7..67d9339f3 100644 --- a/src/OperationGUI/OperationGUI.cxx +++ b/src/OperationGUI/OperationGUI.cxx @@ -30,6 +30,7 @@ #include "SUIT_Session.h" #include "SUIT_Desktop.h" +#include "SalomeApp_Application.h" #include #include @@ -84,29 +85,18 @@ OperationGUI::~OperationGUI() bool OperationGUI::OnGUIEvent( int theCommandID, SUIT_Desktop* parent ) { getGeometryGUI()->EmitSignalDeactivateDialog(); - - switch ( theCommandID ) + + switch (theCommandID) { - case 503: // PARTITION - ( new OperationGUI_PartitionDlg( parent, "" ) )->show(); - break; - case 504: // ARCHIMEDE - new OperationGUI_ArchimedeDlg( getGeometryGUI(), parent ); - break; - case 505: // FILLET - new OperationGUI_FilletDlg( parent ); - break; - case 506: // CHAMFER - new OperationGUI_ChamferDlg( parent ); - break; - case 507: // CLIPPING RANGE - ( new OperationGUI_ClippingDlg( parent, "" ) )->show(); - break; - default: - SUIT_Session::session()->activeApplication()->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); - break; + case 503: (new OperationGUI_PartitionDlg(getGeometryGUI(), parent))->show(); break; + case 504: (new OperationGUI_ArchimedeDlg(getGeometryGUI(), parent))->show(); break; + case 505: (new OperationGUI_FilletDlg (getGeometryGUI(), parent))->show(); break; + case 506: (new OperationGUI_ChamferDlg (getGeometryGUI(), parent))->show(); break; + case 507: (new OperationGUI_ClippingDlg (getGeometryGUI(), parent))->show(); break; + default: + getGeometryGUI()->getApp()->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); } - + return true; } diff --git a/src/OperationGUI/OperationGUI_ArchimedeDlg.cxx b/src/OperationGUI/OperationGUI_ArchimedeDlg.cxx index 0d024e7f3..e552f385e 100644 --- a/src/OperationGUI/OperationGUI_ArchimedeDlg.cxx +++ b/src/OperationGUI/OperationGUI_ArchimedeDlg.cxx @@ -44,8 +44,8 @@ // TRUE to construct a modal dialog. //================================================================================= OperationGUI_ArchimedeDlg::OperationGUI_ArchimedeDlg( GeometryGUI* theGeometryGUI, QWidget* parent ) -: GEOMBase_Skeleton( parent, "ArchimedeDlg", false, - WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) + : GEOMBase_Skeleton(theGeometryGUI, parent, "ArchimedeDlg", false, + WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_ARCHIMEDE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -70,6 +70,8 @@ OperationGUI_ArchimedeDlg::OperationGUI_ArchimedeDlg( GeometryGUI* theGeometryGU Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("archimede.htm"); + /* Initialisations */ Init(); } @@ -115,22 +117,18 @@ void OperationGUI_ArchimedeDlg::Init() connect(GroupPoints->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DZ, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DZ, SLOT(SetStep(double))); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), - SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), + this, SLOT(SelectionIntoArgument())); initName( tr( "GEOM_ARCHIMEDE" ) ); globalSelection( GEOM_ALLSHAPES ); SelectionIntoArgument(); - - /* displays Dialog */ - GroupPoints->show(); - this->show(); } @@ -208,7 +206,7 @@ void OperationGUI_ArchimedeDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); globalSelection( GEOM_ALLSHAPES ); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); return; } diff --git a/src/OperationGUI/OperationGUI_ArchimedeDlg.h b/src/OperationGUI/OperationGUI_ArchimedeDlg.h index f1c1fd7d7..02ad8ba62 100644 --- a/src/OperationGUI/OperationGUI_ArchimedeDlg.h +++ b/src/OperationGUI/OperationGUI_ArchimedeDlg.h @@ -24,7 +24,6 @@ // File : OperationGUI_ArchimedeDlg.h // Author : Nicolas REJNERI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_ARCHIMEDE_H #define DIALOGBOX_ARCHIMEDE_H @@ -42,13 +41,11 @@ class OperationGUI_ArchimedeDlg : public GEOMBase_Skeleton Q_OBJECT public: - OperationGUI_ArchimedeDlg( GeometryGUI* theGeometryGUI, QWidget* parent ); + OperationGUI_ArchimedeDlg(GeometryGUI* theGeometryGUI, QWidget* parent); ~OperationGUI_ArchimedeDlg(); protected: - // redefined from GEOMBase_Helper - virtual GEOM::GEOM_IOperations_ptr createOperation(); virtual bool isValid( QString& msg ); virtual bool execute( ObjectList& objects ); @@ -61,7 +58,6 @@ private: GEOM::GEOM_Object_var myShape; DlgRef_1Sel3Spin* GroupPoints; double myStep; - GeometryGUI* myGeometryGUI; private slots: void ClickOnOk(); diff --git a/src/OperationGUI/OperationGUI_ChamferDlg.cxx b/src/OperationGUI/OperationGUI_ChamferDlg.cxx index 79678b359..8ff20d322 100644 --- a/src/OperationGUI/OperationGUI_ChamferDlg.cxx +++ b/src/OperationGUI/OperationGUI_ChamferDlg.cxx @@ -24,7 +24,6 @@ // File : OperationGUI_ChamferDlg.cxx // Author : Damien COQUERET // Module : GEOM - // $Header$ #include "OperationGUI_ChamferDlg.h" @@ -51,9 +50,9 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -OperationGUI_ChamferDlg::OperationGUI_ChamferDlg( QWidget* parent ) -: GEOMBase_Skeleton(parent, "ChamferDlg", false, - WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +OperationGUI_ChamferDlg::OperationGUI_ChamferDlg(GeometryGUI* theGeometryGUI, QWidget* parent) + : GEOMBase_Skeleton(theGeometryGUI, parent, "ChamferDlg", false, + WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { myConstructorId = -1; @@ -149,6 +148,8 @@ OperationGUI_ChamferDlg::OperationGUI_ChamferDlg( QWidget* parent ) for ( anIter = mySpinBox.begin(); anIter != mySpinBox.end(); ++anIter ) anIter.data()->RangeStepAndValidator( 0.001, 999.999, SpecificStep, 3 ); + setHelpFileName("chamfer.htm"); + /* Initialisations */ Init(); } @@ -203,16 +204,14 @@ void OperationGUI_ChamferDlg::Init() this, SLOT( ValueChangedInSpinBox( double ) ) ); // selection - connect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), - SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) ); + connect(myGeomGUI->getApp()->selectionMgr(), + SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); initName( tr( "GEOM_CHAMFER" ) ); myGrp2->hide(); myGrp3->hide(); myGrp1->show(); - - this->show(); } @@ -223,14 +222,14 @@ void OperationGUI_ChamferDlg::Init() void OperationGUI_ChamferDlg::ConstructorsClicked( int constructorId ) { // Activate next widget - if ( SUIT_Session::session()->activeApplication()->desktop()->activeWindow()->getViewManager()->getType() - != OCCViewer_Viewer::Type() ) - { - RadioButton1->setChecked( true ); - return; - } - - if ( myConstructorId == constructorId ) + if (myGeomGUI->getApp()->desktop()->activeWindow()->getViewManager()->getType() + != OCCViewer_Viewer::Type()) + { + RadioButton1->setChecked( true ); + return; + } + + if (myConstructorId == constructorId) return; // Get values from previous widget @@ -463,17 +462,6 @@ void OperationGUI_ChamferDlg::SetEditCurrentArgument() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void OperationGUI_ChamferDlg::DeactivateActiveDialog() -{ - // disconnect selection - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ActivateThisDialog() // purpose : diff --git a/src/OperationGUI/OperationGUI_ChamferDlg.h b/src/OperationGUI/OperationGUI_ChamferDlg.h index cb69ad24b..a422ace16 100644 --- a/src/OperationGUI/OperationGUI_ChamferDlg.h +++ b/src/OperationGUI/OperationGUI_ChamferDlg.h @@ -24,7 +24,6 @@ // File : OperationGUI_ChamferDlg.h // Author : Damien COQUERET // Module : GEOM -// $Header$ #ifndef DIALOGBOX_CHAMFER_H #define DIALOGBOX_CHAMFER_H @@ -46,8 +45,8 @@ class OperationGUI_ChamferDlg : public GEOMBase_Skeleton enum { SpinBox1, SpinBox21, SpinBox22, SpinBox31, SpinBox32 }; public: - OperationGUI_ChamferDlg( QWidget* parent ); - virtual ~OperationGUI_ChamferDlg(); + OperationGUI_ChamferDlg(GeometryGUI* theGeometryGUI, QWidget* parent); + virtual ~OperationGUI_ChamferDlg(); protected: // redefined from GEOMBase_Helper @@ -56,19 +55,16 @@ protected: virtual bool execute( ObjectList& objects ); private slots: - void ClickOnOk(); bool ClickOnApply(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); void ValueChangedInSpinBox( double newValue ); void ConstructorsClicked( int constructorId ); -private : - +private: void Init(); void enterEvent( QEvent* e ); void reset(); @@ -78,7 +74,6 @@ private : void enableWidgets(); private: - int myConstructorId; GEOM::GEOM_Object_var myShape; @@ -95,4 +90,3 @@ private: }; #endif // DIALOGBOX_CHAMFER_H - diff --git a/src/OperationGUI/OperationGUI_ClippingDlg.cxx b/src/OperationGUI/OperationGUI_ClippingDlg.cxx index 191eb88c2..cfdc90c7a 100644 --- a/src/OperationGUI/OperationGUI_ClippingDlg.cxx +++ b/src/OperationGUI/OperationGUI_ClippingDlg.cxx @@ -33,6 +33,7 @@ #include "SUIT_ViewWindow.h" #include "SVTK_ViewWindow.h" #include "SVTK_ViewModel.h" + #include "OCCViewer_ViewWindow.h" #include "OCCViewer_ViewPort3d.h" @@ -50,6 +51,7 @@ #include // VTK Includes +#include "VTKViewer.h" #include #include @@ -57,12 +59,12 @@ // class : OperationGUI_ClippingDlg() // purpose : //================================================================================= -OperationGUI_ClippingDlg::OperationGUI_ClippingDlg( QWidget* parent, const char* name, bool modal, WFlags fl ) - : GEOMBase_Skeleton( parent, "OperationGUI_ClippingDlg", false, - WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +OperationGUI_ClippingDlg::OperationGUI_ClippingDlg(GeometryGUI* theGeometryGUI, QWidget* parent) + : GEOMBase_Skeleton(theGeometryGUI, parent, "OperationGUI_ClippingDlg", false, + WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { setCaption( tr( "Change clipping range" ) ); - + GroupConstructors->close(); GroupBoxName->close(); @@ -75,7 +77,7 @@ OperationGUI_ClippingDlg::OperationGUI_ClippingDlg( QWidget* parent, const char* GroupArgumentsLayout->setAlignment( Qt::AlignTop ); GroupArgumentsLayout->setSpacing( 6 ); GroupArgumentsLayout->setMargin( 11 ); - + // Controls TextLabelNear = new QLabel( GroupArguments, "TextLabelNear" ); TextLabelNear->setText( tr( "Near" ) ); @@ -89,10 +91,10 @@ OperationGUI_ClippingDlg::OperationGUI_ClippingDlg( QWidget* parent, const char* TextLabelFar->setText( tr( "Far" ) ); TextLabelFar->setFixedWidth(74); GroupArgumentsLayout->addWidget( TextLabelFar, 0, 2 ); - + SpinBox_Far = new DlgRef_SpinBox( GroupArguments, "SpinBox_Far"); GroupArgumentsLayout->addWidget( SpinBox_Far, 0, 3 ); - + resetButton = new QPushButton( GroupArguments, "resetButton" ); resetButton->setText( tr( "Reset" ) ); GroupArgumentsLayout->addWidget( resetButton, 0, 4 ); @@ -103,24 +105,20 @@ OperationGUI_ClippingDlg::OperationGUI_ClippingDlg( QWidget* parent, const char* TypeCB->insertItem(tr("FRONT")); TypeCB->insertItem(tr("SLICE")); GroupArgumentsLayout->addMultiCellWidget( TypeCB, 1, 1, 0, 4 ); - + Layout1->addWidget( GroupArguments, 2, 0 ); - + /* Initialisations */ SpinBox_Near->RangeStepAndValidator( -999999.999, +999999.999, 10.0, 3 ); SpinBox_Far->RangeStepAndValidator( -999999.999, +999999.999, 10.0, 3 ); - - //GeometryGUI* aGeomGUI = GeometryGUI::GetGeomGUI(); - + /* signals and slots connections */ - connect( buttonOk, SIGNAL( clicked() ), this, SLOT( ClickOnOk() ) ); - connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( ClickOnCancel() ) ) ; - connect( buttonApply, SIGNAL( clicked() ), this, SLOT( ClickOnApply() ) ); - + connect( buttonOk , SIGNAL( clicked() ), this, SLOT( ClickOnOk() ) ); + connect( buttonApply, SIGNAL( clicked() ), this, SLOT( ClickOnApply() ) ); + connect( resetButton, SIGNAL (clicked() ), this, SLOT( onReset() ) ) ; - - // connect( aGeomGUI, SIGNAL ( SignalDeactivateActiveDialog() ), this, SLOT( onDeactivate() ) ) ; - //connect( aGeomGUI, SIGNAL ( SignalCloseAllDialogs() ), this, SLOT( ClickOnCancel() ) ) ; + + setHelpFileName("none.htm"); Init(); } @@ -134,7 +132,6 @@ OperationGUI_ClippingDlg::~ OperationGUI_ClippingDlg() // no need to delete child widgets, Qt does it all for us } - //================================================================================= // function : Init() // purpose : @@ -171,7 +168,7 @@ void OperationGUI_ClippingDlg::Init() double position[3]; anActiveCamera->GetPosition(position); - float bounds[6]; + vtkFloatingPointType bounds[6]; aRenderer->ComputeVisiblePropBounds(bounds); double center[3]; @@ -187,7 +184,7 @@ void OperationGUI_ClippingDlg::Init() (position[1]-center[1])*(position[1]-center[1]) + (position[2]-center[2])*(position[2]-center[2])); - float range[2] = {distance - width/2.0, distance + width/2.0}; + vtkFloatingPointType range[2] = {distance - width/2.0, distance + width/2.0}; SpinBox_Near->SetValue(range[0]); SpinBox_Far->SetValue(range[1]); @@ -240,7 +237,7 @@ bool OperationGUI_ClippingDlg::ClickOnApply() return false; } - float range[2] = { SpinBox_Near->GetValue(), SpinBox_Far->GetValue() }; + vtkFloatingPointType range[2] = { SpinBox_Near->GetValue(), SpinBox_Far->GetValue() }; if (range[0] < 0.0) range[0] = 0.0; anActiveCamera->SetClippingRange( range ); @@ -274,17 +271,6 @@ void OperationGUI_ClippingDlg::ClickOnOk() ClickOnCancel(); } - -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void OperationGUI_ClippingDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : onActivate() // purpose : @@ -294,27 +280,16 @@ void OperationGUI_ClippingDlg::onActivate() GEOMBase_Skeleton::ActivateThisDialog(); } - -//================================================================================= -// function : onDeactivate() -// purpose : public slot to deactivate if active -//================================================================================= -void OperationGUI_ClippingDlg::DeactivateActiveDialog() -{ - return; -} - //================================================================================= // function : enterEvent() // purpose : //================================================================================= -void OperationGUI_ClippingDlg::enterEvent(QEvent* e) +void OperationGUI_ClippingDlg::enterEvent(QEvent*) { this->setEnabled(true); return; } - //================================================================================= // function : closeEvent // purpose : @@ -324,14 +299,14 @@ void OperationGUI_ClippingDlg::closeEvent( QCloseEvent* e ) QDialog::closeEvent( e ); } - //================================================================================= // function : onReset() // purpose : //================================================================================= void OperationGUI_ClippingDlg::onReset() { - SUIT_ViewWindow* anActiveWindow = SUIT_Session::session()->activeApplication()->desktop()->activeWindow(); + SUIT_ViewWindow* anActiveWindow = + SUIT_Session::session()->activeApplication()->desktop()->activeWindow(); if (!anActiveWindow) return; @@ -356,7 +331,7 @@ void OperationGUI_ClippingDlg::onReset() double position[3]; anActiveCamera->GetPosition(position); - float bounds[6]; + vtkFloatingPointType bounds[6]; aRenderer->ComputeVisiblePropBounds(bounds); double center[3]; @@ -372,7 +347,7 @@ void OperationGUI_ClippingDlg::onReset() (position[1]-center[1])*(position[1]-center[1]) + (position[2]-center[2])*(position[2]-center[2])); - float range[2] = {distance - width/2.0, distance + width/2.0}; + vtkFloatingPointType range[2] = {distance - width/2.0, distance + width/2.0}; SpinBox_Near->SetValue(range[0]); SpinBox_Far->SetValue(range[1]); @@ -397,7 +372,5 @@ void OperationGUI_ClippingDlg::onReset() TypeCB->setCurrentItem(ztype); } - - return; } diff --git a/src/OperationGUI/OperationGUI_ClippingDlg.h b/src/OperationGUI/OperationGUI_ClippingDlg.h index ba5e6ee07..49e262448 100644 --- a/src/OperationGUI/OperationGUI_ClippingDlg.h +++ b/src/OperationGUI/OperationGUI_ClippingDlg.h @@ -24,7 +24,6 @@ // File : OperationGUI_ClippingDlg.h // Author : Michael Zorin // Module : GEOM -// $Header: #ifndef DIALOGBOX_CLIPPINGRANGE_H #define DIALOGBOX_CLIPPING_H @@ -46,20 +45,19 @@ enum ViewerTypes { VTK, OCC, OTHER }; class OperationGUI_ClippingDlg : public GEOMBase_Skeleton { Q_OBJECT - - public: - OperationGUI_ClippingDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + +public: + OperationGUI_ClippingDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0); ~OperationGUI_ClippingDlg(); - -private : +private: void Init(); ViewerTypes myViewerType; virtual void closeEvent( QCloseEvent* e ); void enterEvent(QEvent* e); - + QGroupBox* GroupArguments; QLabel* TextLabelNear; DlgRef_SpinBox* SpinBox_Near; @@ -71,10 +69,7 @@ private : private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void onActivate(); - void DeactivateActiveDialog(); - void onReset(); }; diff --git a/src/OperationGUI/OperationGUI_FilletDlg.cxx b/src/OperationGUI/OperationGUI_FilletDlg.cxx index 583aad057..2daeb7121 100644 --- a/src/OperationGUI/OperationGUI_FilletDlg.cxx +++ b/src/OperationGUI/OperationGUI_FilletDlg.cxx @@ -51,19 +51,20 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -OperationGUI_FilletDlg::OperationGUI_FilletDlg( QWidget* parent ) - :GEOMBase_Skeleton( parent, "OperationGUI_FilletDlg", false, - WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +OperationGUI_FilletDlg::OperationGUI_FilletDlg(GeometryGUI* theGeometryGUI, QWidget* parent) + :GEOMBase_Skeleton(theGeometryGUI, parent, "OperationGUI_FilletDlg", false, + WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { myConstructorId = -1; - - QPixmap image0( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_DLG_FILLET_ALL" ) ) ); - QPixmap image1( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_DLG_FILLET_EDGE" ) ) ); - QPixmap image2( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_DLG_FILLET_FACE" ) ) ); - - QPixmap iconSelect( SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM", tr( "ICON_SELECT" ) ) ); - setCaption( tr( "GEOM_FILLET_TITLE" ) ); + SUIT_ResourceMgr* aResMgr = myGeomGUI->getApp()->resourceMgr(); + QPixmap image0 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_FILLET_ALL"))); + QPixmap image1 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_FILLET_EDGE"))); + QPixmap image2 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_FILLET_FACE"))); + + QPixmap iconSelect(aResMgr->loadPixmap("GEOM", tr("ICON_SELECT"))); + + setCaption(tr("GEOM_FILLET_TITLE")); /***************************************************************/ GroupConstructors->setTitle( tr( "GEOM_FILLET" ) ); @@ -108,6 +109,8 @@ OperationGUI_FilletDlg::OperationGUI_FilletDlg( QWidget* parent ) Group2->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3); Group3->SpinBox_DX->RangeStepAndValidator(0.001, 999.999, SpecificStep, 3); + setHelpFileName("fillet.htm"); + /* Initialisations */ Init(); } @@ -158,17 +161,14 @@ void OperationGUI_FilletDlg::Init() connect(Group3->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); // selection - connect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), - SIGNAL( currentSelectionChanged() ), this, SLOT( SelectionIntoArgument() ) ); - + connect(myGeomGUI->getApp()->selectionMgr(), + SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); initName( tr( "GEOM_FILLET" ) ); Group2->hide(); Group3->hide(); Group1->show(); - - this->show(); } @@ -308,31 +308,31 @@ void OperationGUI_FilletDlg::SelectionIntoArgument() if ( aResult && !anObj->_is_nil() ) { - TColStd_IndexedMapOfInteger anIndexes; - ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr()->GetIndexes( firstIObject(), anIndexes ); - - if ( anIndexes.Extent() > 0 ) - { - QString aName; - if ( anIndexes.Extent() == 1 ) - { - int anIndex = anIndexes( 1 ); - - aName = QString( GEOMBase::GetName( anObj ) ) + QString( ":%1" ).arg( anIndex ); - } - else - aName = tr( "GEOM_MEN_POPUP_NAME" ).arg( anIndexes.Extent() ); - - myEditCurrentArgument->setText( aName ); - - if ( myConstructorId == 1 ) - myEdges = anIndexes; - else - myFaces = anIndexes; - - displayPreview(); - return; - } + TColStd_IndexedMapOfInteger anIndexes; + myGeomGUI->getApp()->selectionMgr()->GetIndexes( firstIObject(), anIndexes ); + + if ( anIndexes.Extent() > 0 ) + { + QString aName; + if ( anIndexes.Extent() == 1 ) + { + int anIndex = anIndexes( 1 ); + + aName = QString( GEOMBase::GetName( anObj ) ) + QString( ":%1" ).arg( anIndex ); + } + else + aName = tr( "GEOM_MEN_POPUP_NAME" ).arg( anIndexes.Extent() ); + + myEditCurrentArgument->setText( aName ); + + if ( myConstructorId == 1 ) + myEdges = anIndexes; + else + myFaces = anIndexes; + + displayPreview(); + return; + } } } myFaces.Clear(); @@ -400,17 +400,6 @@ void OperationGUI_FilletDlg::SetEditCurrentArgument() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void OperationGUI_FilletDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); - return; -} - - //================================================================================= // function : ActivateThisDialog() // purpose : @@ -419,8 +408,8 @@ void OperationGUI_FilletDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), - SIGNAL(currentSelectionChanged()), this, SLOT( SelectionIntoArgument() ) ); + connect(myGeomGUI->getApp()->selectionMgr(), + SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); activateSelection(); displayPreview(); @@ -626,10 +615,3 @@ double OperationGUI_FilletDlg::getRadius() const else if ( anId == 1 ) return Group2->SpinBox_DX->GetValue(); else return Group3->SpinBox_DX->GetValue(); } - - - - - - - diff --git a/src/OperationGUI/OperationGUI_FilletDlg.h b/src/OperationGUI/OperationGUI_FilletDlg.h index d794e834d..996aee91d 100644 --- a/src/OperationGUI/OperationGUI_FilletDlg.h +++ b/src/OperationGUI/OperationGUI_FilletDlg.h @@ -24,7 +24,6 @@ // File : OperationGUI_FilletDlg.h // Author : Damien COQUERET // Module : GEOM -// $Header$ #ifndef DIALOGBOX_FILLET_H #define DIALOGBOX_FILLET_H @@ -45,8 +44,8 @@ class OperationGUI_FilletDlg : public GEOMBase_Skeleton Q_OBJECT public: - OperationGUI_FilletDlg( QWidget* parent ); - ~OperationGUI_FilletDlg(); + OperationGUI_FilletDlg(GeometryGUI* theGeometryGUI, QWidget* parent); + ~OperationGUI_FilletDlg(); protected: // redefined from GEOMBase_Helper @@ -55,19 +54,16 @@ protected: virtual bool execute( ObjectList& objects ); private slots: - void ClickOnOk(); bool ClickOnApply(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); void ValueChangedInSpinBox( double newValue ); void ConstructorsClicked( int constructorId ); -private : - +private: void Init(); void enterEvent( QEvent* e ); void reset(); @@ -76,18 +72,16 @@ private : void enableWidgets(); double getRadius() const; -private : - +private: int myConstructorId; GEOM::GEOM_Object_var myShape; TColStd_IndexedMapOfInteger myEdges; TColStd_IndexedMapOfInteger myFaces; - + DlgRef_1Sel1Spin* Group1; DlgRef_2Sel1Spin* Group2; DlgRef_2Sel1Spin* Group3; }; #endif // DIALOGBOX_FILLET_H - diff --git a/src/OperationGUI/OperationGUI_MaterialDlg.cxx b/src/OperationGUI/OperationGUI_MaterialDlg.cxx index b3055d38d..b92dd5efb 100644 --- a/src/OperationGUI/OperationGUI_MaterialDlg.cxx +++ b/src/OperationGUI/OperationGUI_MaterialDlg.cxx @@ -47,15 +47,16 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -OperationGUI_MaterialDlg::OperationGUI_MaterialDlg (QWidget* parent, const char* name, - GEOM::ListOfGO ListShapes, +OperationGUI_MaterialDlg::OperationGUI_MaterialDlg (GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, GEOM::ListOfGO ListShapes, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { myListShapes = ListShapes; myParentDlg = parent; - QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_PARTITION"))); + QPixmap image0 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_PARTITION"))); setCaption(tr("GEOM_MATERIAL_TITLE")); @@ -77,11 +78,12 @@ OperationGUI_MaterialDlg::OperationGUI_MaterialDlg (QWidget* parent, const char* Layout1->addWidget(GroupPoints, 1, 0); /***************************************************************/ - + + setHelpFileName("none.htm"); + Init(); } - //================================================================================= // function : ~OperationGUI_MaterialDlg() // purpose : Destroys the object and frees any allocated resources @@ -91,7 +93,6 @@ OperationGUI_MaterialDlg::~OperationGUI_MaterialDlg() // no need to delete child widgets, Qt does it all for us } - //================================================================================= // function : Init() // purpose : @@ -128,20 +129,8 @@ void OperationGUI_MaterialDlg::Init() connect(GroupPoints->PushButton1, SIGNAL(clicked()), this, SLOT(SetMaterial())); -// connect(GroupPoints->ListView1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed())); -// connect(GroupPoints->SpinBox1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed())); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); - - /* displays Dialog */ - MESSAGE("GroupPoints->show() ..."); - GroupPoints->show(); - MESSAGE("this->show() ..."); - this->show(); - MESSAGE("return"); - - return; } @@ -182,17 +171,17 @@ void OperationGUI_MaterialDlg::ClickOnOk() //================================================================================= void OperationGUI_MaterialDlg::SelectionIntoArgument() { - QString aString = ""; /* name of selection */ + /*QString aString = ""; // name of selection - int nbSel = myGeomBase->GetNameOfSelectedIObjects(selectedIO(), aString); - if(nbSel < 1) { + int nbSel = GEOMBase::GetNameOfSelectedIObjects(selectedIO(), aString); + if (nbSel < 1) { return; } //myGeomBase->ConvertListOfIOInListOfIOR(selectedIO(), myListShapes); - /* no simulation */ - return; + // no simulation + return;*/ } @@ -233,6 +222,6 @@ void OperationGUI_MaterialDlg::ActivateThisDialog() //================================================================================= void OperationGUI_MaterialDlg::enterEvent(QEvent* e) { - if(!GroupConstructors->isEnabled()) + if (!GroupConstructors->isEnabled()) this->ActivateThisDialog(); } diff --git a/src/OperationGUI/OperationGUI_MaterialDlg.h b/src/OperationGUI/OperationGUI_MaterialDlg.h index a57dfe514..ae073e4f1 100644 --- a/src/OperationGUI/OperationGUI_MaterialDlg.h +++ b/src/OperationGUI/OperationGUI_MaterialDlg.h @@ -23,7 +23,6 @@ // File : OperationGUI_MaterialDlg.h // Author : Julia DOROVSKIKH // Module : GEOM -// $Header$ #ifndef DIALOGBOX_MATERIAL_H #define DIALOGBOX_MATERIAL_H @@ -41,8 +40,8 @@ class OperationGUI_MaterialDlg : public GEOMBase_Skeleton Q_OBJECT public: - OperationGUI_MaterialDlg (QWidget* parent, const char* name, - GEOM::ListOfGO ListShapes, + OperationGUI_MaterialDlg (GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, GEOM::ListOfGO ListShapes, bool modal = FALSE, WFlags fl = 0); ~OperationGUI_MaterialDlg(); @@ -52,8 +51,8 @@ private: QWidget* myParentDlg; - GEOM::ListOfGO myListShapes; - GEOM::ListOfLong myListMaterials; + GEOM::ListOfGO myListShapes; + GEOM::ListOfLong myListMaterials; DlgRef_1List1Spin1Btn_QTD* GroupPoints; @@ -65,7 +64,6 @@ private slots: void ActivateThisDialog(); void SelectionIntoArgument(); void SetMaterial(); - }; #endif // DIALOGBOX_MATERIAL_H diff --git a/src/OperationGUI/OperationGUI_PartitionDlg.cxx b/src/OperationGUI/OperationGUI_PartitionDlg.cxx index 9315616f4..f27e91962 100644 --- a/src/OperationGUI/OperationGUI_PartitionDlg.cxx +++ b/src/OperationGUI/OperationGUI_PartitionDlg.cxx @@ -49,12 +49,14 @@ // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -OperationGUI_PartitionDlg::OperationGUI_PartitionDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +OperationGUI_PartitionDlg::OperationGUI_PartitionDlg(GeometryGUI* theGeometryGUI, QWidget* parent) + :GEOMBase_Skeleton(theGeometryGUI, parent, "OperationGUI_PartitionDlg", false, + WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_PARTITION"))); - QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_PARTITION_PLANE"))); - QPixmap image2(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); + SUIT_ResourceMgr* aResMgr = myGeomGUI->getApp()->resourceMgr(); + QPixmap image0 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_PARTITION"))); + QPixmap image1 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_PARTITION_PLANE"))); + QPixmap image2 (aResMgr->loadPixmap("GEOM", tr("ICON_SELECT"))); setCaption(tr("GEOM_PARTITION_TITLE")); @@ -86,6 +88,8 @@ OperationGUI_PartitionDlg::OperationGUI_PartitionDlg(QWidget* parent, const char Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + + setHelpFileName("partition.htm"); Init(); } @@ -135,7 +139,7 @@ void OperationGUI_PartitionDlg::Init() connect(GroupPoints->ComboBox1, SIGNAL(activated(int)), this, SLOT(ComboTextChanged())); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); initName( tr( "GEOM_PARTITION" ) ); @@ -149,7 +153,7 @@ void OperationGUI_PartitionDlg::Init() //================================================================================= void OperationGUI_PartitionDlg::ConstructorsClicked(int constructorId) { - disconnect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), 0, this, 0); + disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0); globalSelection(); myListShapes.length(0); @@ -186,14 +190,14 @@ void OperationGUI_PartitionDlg::ConstructorsClicked(int constructorId) break; } } - + myEditCurrentArgument = GroupPoints->LineEdit1; GroupPoints->LineEdit1->clear(); GroupPoints->LineEdit2->clear(); onRemoveWebs(false); myEditCurrentArgument->setFocus(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); MESSAGE(width()<<" "<LineEdit1 || send == GroupPoints->LineEdit2 || send == GroupPoints->LineEdit3 || @@ -353,30 +347,20 @@ void OperationGUI_PartitionDlg::LineEditReturnPressed() void OperationGUI_PartitionDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); ConstructorsClicked( getConstructorId() ); } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void OperationGUI_PartitionDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : enterEvent() // purpose : //================================================================================= void OperationGUI_PartitionDlg::enterEvent(QEvent* e) { - if(!GroupConstructors->isEnabled()) + if (!GroupConstructors->isEnabled()) this->ActivateThisDialog(); } @@ -397,8 +381,8 @@ GEOM::GEOM_IOperations_ptr OperationGUI_PartitionDlg::createOperation() //================================================================================= bool OperationGUI_PartitionDlg::isValid( QString& msg ) { - return (myListShapes.length() || myListTools.length() || - myListKeepInside.length() || myListRemoveInside.length()); + return (myListShapes.length() || myListTools.length() || + myListKeepInside.length() || myListRemoveInside.length()); } @@ -409,35 +393,30 @@ bool OperationGUI_PartitionDlg::isValid( QString& msg ) bool OperationGUI_PartitionDlg::execute( ObjectList& objects ) { bool res = false; - + GEOM::GEOM_Object_var anObj; QString msg; - + int aLimit = GetLimit(); int aConstructorId = getConstructorId(); - - if (aConstructorId==1) + + if (aConstructorId == 1) aLimit = GEOM::SHAPE; - - if (isValid( msg )) - { - - if ( aConstructorId==0 && !toRemoveWebs() ) - myListMaterials.length(0); - - anObj = GEOM::GEOM_IBooleanOperations::_narrow( getOperation() )->MakePartition(myListShapes, - myListTools, - myListKeepInside, - myListRemoveInside, - aLimit, - toRemoveWebs(), - myListMaterials); - res = true; - } - - if ( !anObj->_is_nil() ) + + if (isValid( msg )) { + if (aConstructorId == 0 && !toRemoveWebs()) + myListMaterials.length(0); + + anObj = GEOM::GEOM_IBooleanOperations::_narrow(getOperation())-> + MakePartition(myListShapes, myListTools, + myListKeepInside, myListRemoveInside, + aLimit, toRemoveWebs(), myListMaterials); + res = true; + } + + if (!anObj->_is_nil()) objects.push_back( anObj._retn() ); - + return res; } @@ -456,7 +435,6 @@ void OperationGUI_PartitionDlg::closeEvent( QCloseEvent* e ) //function : ComboTextChanged //purpose : //======================================================================= - void OperationGUI_PartitionDlg::ComboTextChanged() { bool IsEnabled = GroupPoints->ComboBox1->currentItem() < 3; @@ -475,11 +453,9 @@ void OperationGUI_PartitionDlg::ComboTextChanged() //================================================================================= void OperationGUI_PartitionDlg::SetMaterials() { - MESSAGE("OperationGUI_MaterialDlg ..."); - OperationGUI_MaterialDlg *aDlg = - new OperationGUI_MaterialDlg(this, "", myListShapes, true); - MESSAGE("OperationGUI_MaterialDlg"); - return; + OperationGUI_MaterialDlg* aDlg = + new OperationGUI_MaterialDlg(myGeomGUI, this, "", myListShapes, true); + aDlg->show(); } @@ -513,42 +489,17 @@ bool OperationGUI_PartitionDlg::toRemoveWebs() const int OperationGUI_PartitionDlg::GetLimit() const { int aLimit = GroupPoints->ComboBox1->currentItem(); - + switch(aLimit) - { - case 0 : - { - aLimit = GEOM::SOLID; - break; - } - case 1 : - { - aLimit = GEOM::SHELL; - break; - } - case 2 : - { - aLimit = GEOM::FACE; - break; - } - case 3 : - { - aLimit = GEOM::WIRE; - break; - } - case 4 : - { - aLimit = GEOM::EDGE; - break; - } - case 5 : - { - aLimit = GEOM::VERTEX; - break; - } - default : - aLimit = GEOM::SHAPE; - } - + { + case 0: aLimit = GEOM::SOLID ; break; + case 1: aLimit = GEOM::SHELL ; break; + case 2: aLimit = GEOM::FACE ; break; + case 3: aLimit = GEOM::WIRE ; break; + case 4: aLimit = GEOM::EDGE ; break; + case 5: aLimit = GEOM::VERTEX; break; + default: aLimit = GEOM::SHAPE ; + } + return aLimit; } diff --git a/src/OperationGUI/OperationGUI_PartitionDlg.h b/src/OperationGUI/OperationGUI_PartitionDlg.h index 1599bf1a8..2bf96727e 100644 --- a/src/OperationGUI/OperationGUI_PartitionDlg.h +++ b/src/OperationGUI/OperationGUI_PartitionDlg.h @@ -24,7 +24,6 @@ // File : OperationGUI_PartitionDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_PARTITION_H #define DIALOGBOX_PARTITION_H @@ -32,7 +31,6 @@ #include "GEOMBase_Skeleton.h" #include "DlgRef_4Sel1List1Check_QTD.h" - //================================================================================= // class : OperationGUI_PartitionDlg // purpose : @@ -42,7 +40,7 @@ class OperationGUI_PartitionDlg : public GEOMBase_Skeleton Q_OBJECT public: - OperationGUI_PartitionDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + OperationGUI_PartitionDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0); ~OperationGUI_PartitionDlg(); void SetListMaterials(GEOM::ListOfLong ListMaterials) @@ -64,21 +62,19 @@ private: void enterEvent(QEvent* e); bool toRemoveWebs() const; int GetLimit() const; - - GEOM::ListOfGO myListShapes; - GEOM::ListOfLong myListMaterials; - GEOM::ListOfGO myListTools; - GEOM::ListOfGO myListRemoveInside; - GEOM::ListOfGO myListKeepInside; - + + GEOM::ListOfGO myListShapes; + GEOM::ListOfLong myListMaterials; + GEOM::ListOfGO myListTools; + GEOM::ListOfGO myListRemoveInside; + GEOM::ListOfGO myListKeepInside; + DlgRef_4Sel1List1Check_QTD* GroupPoints; private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); diff --git a/src/PrimitiveGUI/PrimitiveGUI_BoxDlg.cxx b/src/PrimitiveGUI/PrimitiveGUI_BoxDlg.cxx index ea44ad1bc..ea5ead082 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_BoxDlg.cxx +++ b/src/PrimitiveGUI/PrimitiveGUI_BoxDlg.cxx @@ -49,8 +49,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -PrimitiveGUI_BoxDlg::PrimitiveGUI_BoxDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +PrimitiveGUI_BoxDlg::PrimitiveGUI_BoxDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_BOX_2P"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM", tr("ICON_DLG_BOX_DXYZ"))); @@ -80,6 +82,8 @@ PrimitiveGUI_BoxDlg::PrimitiveGUI_BoxDlg(GeometryGUI* theGeometryGUI, QWidget* p Layout1->addWidget(GroupPoints, 2, 0); Layout1->addWidget(GroupDimensions, 2, 0); /***************************************************************/ + + setHelpFileName("box.htm"); Init(); } @@ -125,6 +129,7 @@ void PrimitiveGUI_BoxDlg::Init() /* signals and slots connections */ connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); + connect(GroupConstructors, SIGNAL(clicked(int)), this, SLOT(ConstructorsClicked(int))); connect(GroupPoints->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument())); @@ -137,9 +142,9 @@ void PrimitiveGUI_BoxDlg::Init() connect(GroupDimensions->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); connect(GroupDimensions->SpinBox_DZ, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DZ, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DZ, SLOT(SetStep(double))); connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); @@ -215,16 +220,6 @@ bool PrimitiveGUI_BoxDlg::ClickOnApply() } -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void PrimitiveGUI_BoxDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection as changed @@ -323,16 +318,6 @@ void PrimitiveGUI_BoxDlg::enterEvent(QEvent* e) } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void PrimitiveGUI_BoxDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ValueChangedInSpinBox() // purpose : diff --git a/src/PrimitiveGUI/PrimitiveGUI_BoxDlg.h b/src/PrimitiveGUI/PrimitiveGUI_BoxDlg.h index 51d8ecedd..85bcdba10 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_BoxDlg.h +++ b/src/PrimitiveGUI/PrimitiveGUI_BoxDlg.h @@ -24,7 +24,6 @@ // File : PrimitiveGUI_BoxDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_BOX_H #define DIALOGBOX_BOX_H @@ -43,8 +42,9 @@ class PrimitiveGUI_BoxDlg : public GEOMBase_Skeleton { Q_OBJECT - public: - PrimitiveGUI_BoxDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); +public: + PrimitiveGUI_BoxDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~PrimitiveGUI_BoxDlg(); protected: @@ -59,8 +59,6 @@ private : void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint1, myPoint2; /* Points containing the vector */ DlgRef_2Sel_QTD* GroupPoints; @@ -69,15 +67,12 @@ private : private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); void ConstructorsClicked(int); void ValueChangedInSpinBox(); - }; #endif // DIALOGBOX_BOX_H diff --git a/src/PrimitiveGUI/PrimitiveGUI_ConeDlg.cxx b/src/PrimitiveGUI/PrimitiveGUI_ConeDlg.cxx index 45db91182..ef84b1033 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_ConeDlg.cxx +++ b/src/PrimitiveGUI/PrimitiveGUI_ConeDlg.cxx @@ -48,8 +48,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -PrimitiveGUI_ConeDlg::PrimitiveGUI_ConeDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +PrimitiveGUI_ConeDlg::PrimitiveGUI_ConeDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_CONE_PV"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_CONE_DXYZ"))); @@ -83,6 +85,8 @@ PrimitiveGUI_ConeDlg::PrimitiveGUI_ConeDlg(GeometryGUI* theGeometryGUI, QWidget* Layout1->addWidget(GroupDimensions, 2, 0); /***************************************************************/ + setHelpFileName( "cone.htm" ); + Init(); } @@ -148,12 +152,12 @@ void PrimitiveGUI_ConeDlg::Init() connect(GroupDimensions->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); connect(GroupDimensions->SpinBox_DZ, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DZ, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DZ, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DZ, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DZ, SLOT(SetStep(double))); connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; diff --git a/src/PrimitiveGUI/PrimitiveGUI_ConeDlg.h b/src/PrimitiveGUI/PrimitiveGUI_ConeDlg.h index 17d913e25..8699feafe 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_ConeDlg.h +++ b/src/PrimitiveGUI/PrimitiveGUI_ConeDlg.h @@ -24,7 +24,6 @@ // File : PrimitiveGUI_ConeDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_CONE_H #define DIALOGBOX_CONE_H @@ -42,7 +41,8 @@ class PrimitiveGUI_ConeDlg : public GEOMBase_Skeleton Q_OBJECT public: - PrimitiveGUI_ConeDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + PrimitiveGUI_ConeDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~PrimitiveGUI_ConeDlg(); protected: @@ -60,8 +60,6 @@ private: double getRadius2() const; double getHeight() const; - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint, myDir; DlgRef_2Sel3Spin* GroupPoints; @@ -78,7 +76,6 @@ private slots: void SetEditCurrentArgument(); void ConstructorsClicked(int); void ValueChangedInSpinBox(); - }; #endif // DIALOGBOX_CONE_H diff --git a/src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.cxx b/src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.cxx index 19aaff74d..69ca3cb23 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.cxx +++ b/src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.cxx @@ -48,8 +48,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -PrimitiveGUI_CylinderDlg::PrimitiveGUI_CylinderDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +PrimitiveGUI_CylinderDlg::PrimitiveGUI_CylinderDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_CYLINDER_PV"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_CYLINDER_DXYZ"))); @@ -81,6 +83,8 @@ PrimitiveGUI_CylinderDlg::PrimitiveGUI_CylinderDlg(GeometryGUI* theGeometryGUI, Layout1->addWidget(GroupDimensions, 2, 0); /***************************************************************/ + setHelpFileName("cylinder.htm"); + Init(); } @@ -143,10 +147,10 @@ void PrimitiveGUI_CylinderDlg::Init() connect(GroupDimensions->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); connect(GroupDimensions->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; diff --git a/src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.h b/src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.h index 3ed400a0e..f4e4384d2 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.h +++ b/src/PrimitiveGUI/PrimitiveGUI_CylinderDlg.h @@ -24,7 +24,6 @@ // File : PrimitiveGUI_CylinderDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_CYLINDER_H #define DIALOGBOX_CYLINDER_H @@ -43,7 +42,8 @@ class PrimitiveGUI_CylinderDlg : public GEOMBase_Skeleton Q_OBJECT public: - PrimitiveGUI_CylinderDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + PrimitiveGUI_CylinderDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~PrimitiveGUI_CylinderDlg(); protected: @@ -60,8 +60,6 @@ private: double getRadius() const; double getHeight() const; - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint, myDir; DlgRef_2Sel2Spin* GroupPoints; diff --git a/src/PrimitiveGUI/PrimitiveGUI_SphereDlg.cxx b/src/PrimitiveGUI/PrimitiveGUI_SphereDlg.cxx index 49bca1dc2..debdb9a85 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_SphereDlg.cxx +++ b/src/PrimitiveGUI/PrimitiveGUI_SphereDlg.cxx @@ -48,8 +48,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -PrimitiveGUI_SphereDlg::PrimitiveGUI_SphereDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +PrimitiveGUI_SphereDlg::PrimitiveGUI_SphereDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SPHERE_P"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SPHERE_DXYZ"))); @@ -77,6 +79,8 @@ PrimitiveGUI_SphereDlg::PrimitiveGUI_SphereDlg(GeometryGUI* theGeometryGUI, QWid Layout1->addWidget(GroupDimensions, 2, 0); /***************************************************************/ + setHelpFileName("sphere.htm"); + Init(); } @@ -124,9 +128,9 @@ void PrimitiveGUI_SphereDlg::Init() connect(GroupDimensions->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); connect(GroupPoints->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); - + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); + connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); diff --git a/src/PrimitiveGUI/PrimitiveGUI_SphereDlg.h b/src/PrimitiveGUI/PrimitiveGUI_SphereDlg.h index 10042e22f..03d34cff3 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_SphereDlg.h +++ b/src/PrimitiveGUI/PrimitiveGUI_SphereDlg.h @@ -24,7 +24,6 @@ // File : PrimitiveGUI_SphereDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_SPHERE_H #define DIALOGBOX_SPHERE_H @@ -43,7 +42,8 @@ class PrimitiveGUI_SphereDlg : public GEOMBase_Skeleton Q_OBJECT public: - PrimitiveGUI_SphereDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + PrimitiveGUI_SphereDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~PrimitiveGUI_SphereDlg(); protected: @@ -54,13 +54,11 @@ protected: virtual void closeEvent( QCloseEvent* e ); -private : +private: void Init(); void enterEvent(QEvent* e); double getRadius() const; - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint; /* Center point */ DlgRef_1Sel1Spin* GroupPoints; diff --git a/src/PrimitiveGUI/PrimitiveGUI_TorusDlg.cxx b/src/PrimitiveGUI/PrimitiveGUI_TorusDlg.cxx index 05e6c7b6c..9c32c9b64 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_TorusDlg.cxx +++ b/src/PrimitiveGUI/PrimitiveGUI_TorusDlg.cxx @@ -48,13 +48,15 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -PrimitiveGUI_TorusDlg::PrimitiveGUI_TorusDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +PrimitiveGUI_TorusDlg::PrimitiveGUI_TorusDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_TORUS_PV"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_TORUS_DXYZ"))); QPixmap image2(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); - + setCaption(tr("GEOM_TORUS_TITLE")); /***************************************************************/ @@ -80,6 +82,8 @@ PrimitiveGUI_TorusDlg::PrimitiveGUI_TorusDlg(GeometryGUI* theGeometryGUI, QWidge Layout1->addWidget(GroupPoints, 2, 0); Layout1->addWidget(GroupDimensions, 2, 0); /***************************************************************/ + + setHelpFileName("turus.htm"); Init(); } @@ -139,10 +143,10 @@ void PrimitiveGUI_TorusDlg::Init() connect(GroupDimensions->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); connect(GroupDimensions->SpinBox_DY, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY, SLOT(SetStep(double))); connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; @@ -152,7 +156,6 @@ void PrimitiveGUI_TorusDlg::Init() } - //================================================================================= // function : ConstructorsClicked() // purpose : Radio button management diff --git a/src/PrimitiveGUI/PrimitiveGUI_TorusDlg.h b/src/PrimitiveGUI/PrimitiveGUI_TorusDlg.h index ef90ffbdf..5dace29e3 100644 --- a/src/PrimitiveGUI/PrimitiveGUI_TorusDlg.h +++ b/src/PrimitiveGUI/PrimitiveGUI_TorusDlg.h @@ -24,7 +24,6 @@ // File : PrimitiveGUI_TorusDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_TORUS_H #define DIALOGBOX_TORUS_H @@ -43,7 +42,8 @@ class PrimitiveGUI_TorusDlg : public GEOMBase_Skeleton Q_OBJECT public: - PrimitiveGUI_TorusDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + PrimitiveGUI_TorusDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~PrimitiveGUI_TorusDlg(); protected: @@ -53,20 +53,18 @@ protected: virtual bool execute( ObjectList& objects ); virtual void closeEvent( QCloseEvent* e ); - + private: void Init(); void enterEvent(QEvent* e); double getRadius1() const; double getRadius2() const; - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myPoint, myDir; - + DlgRef_2Sel2Spin* GroupPoints; DlgRef_2Spin* GroupDimensions; - + private slots: void ClickOnOk(); bool ClickOnApply(); @@ -78,7 +76,6 @@ private: void SetEditCurrentArgument(); void ConstructorsClicked(int); void ValueChangedInSpinBox(); - }; #endif // DIALOGBOX_TORUS_H diff --git a/src/RepairGUI/RepairGUI.cxx b/src/RepairGUI/RepairGUI.cxx index fa4187134..9f0acb911 100644 --- a/src/RepairGUI/RepairGUI.cxx +++ b/src/RepairGUI/RepairGUI.cxx @@ -86,39 +86,19 @@ RepairGUI::~RepairGUI() bool RepairGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) { getGeometryGUI()->EmitSignalDeactivateDialog(); - + QDialog* aDlg = NULL; switch (theCommandID) { - case 601: // SEWING - aDlg = new RepairGUI_SewingDlg( parent, "" ); - break; - case 602: // GLUE FACES - aDlg = new RepairGUI_GlueDlg( parent, "" ); - break; - case 603: // SUPPRESS FACES - aDlg = new RepairGUI_SuppressFacesDlg( parent, "" ); - break; - case 604: // SUPPRESS HOLES - aDlg = new RepairGUI_RemoveHolesDlg( parent, "" ); - break; - case 605: // SHAPE PROCESSING - aDlg = new RepairGUI_ShapeProcessDlg( parent, "" ); - break; - case 606: // CLOSE CONTOUR - aDlg = new RepairGUI_CloseContourDlg( parent, "" ); - break; - case 607: // REMOVE INTERNAL WIRES - aDlg = new RepairGUI_RemoveIntWiresDlg( parent, "" ); - break; - case 608: // ADD POINT ON EDGE - aDlg = new RepairGUI_DivideEdgeDlg( getGeometryGUI(), parent, "" ); - break; - case 609: // FREE BOUNDARIES - aDlg = new RepairGUI_FreeBoundDlg( getGeometryGUI(), parent ); - break; - case 610: // FREE FACES - aDlg = new RepairGUI_FreeFacesDlg( getGeometryGUI(), parent, "" ); - break; + case 601: aDlg = new RepairGUI_SewingDlg (getGeometryGUI(), parent, ""); break; + case 602: aDlg = new RepairGUI_GlueDlg (getGeometryGUI(), parent, ""); break; + case 603: aDlg = new RepairGUI_SuppressFacesDlg (getGeometryGUI(), parent, ""); break; + case 604: aDlg = new RepairGUI_RemoveHolesDlg (getGeometryGUI(), parent, ""); break; + case 605: aDlg = new RepairGUI_ShapeProcessDlg (getGeometryGUI(), parent, ""); break; + case 606: aDlg = new RepairGUI_CloseContourDlg (getGeometryGUI(), parent, ""); break; + case 607: aDlg = new RepairGUI_RemoveIntWiresDlg(getGeometryGUI(), parent, ""); break; + case 608: aDlg = new RepairGUI_DivideEdgeDlg (getGeometryGUI(), parent, ""); break; + case 609: aDlg = new RepairGUI_FreeBoundDlg (getGeometryGUI(), parent, ""); break; + case 610: aDlg = new RepairGUI_FreeFacesDlg (getGeometryGUI(), parent, ""); break; default: SUIT_Session::session()->activeApplication()->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); break; @@ -126,7 +106,7 @@ bool RepairGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) if ( aDlg ) aDlg->show(); - + return true; } diff --git a/src/RepairGUI/RepairGUI_CloseContourDlg.cxx b/src/RepairGUI/RepairGUI_CloseContourDlg.cxx index e5bb3a708..76a818eaf 100644 --- a/src/RepairGUI/RepairGUI_CloseContourDlg.cxx +++ b/src/RepairGUI/RepairGUI_CloseContourDlg.cxx @@ -50,8 +50,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -RepairGUI_CloseContourDlg::RepairGUI_CloseContourDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +RepairGUI_CloseContourDlg::RepairGUI_CloseContourDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_CLOSECONTOUR"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -101,6 +103,8 @@ RepairGUI_CloseContourDlg::RepairGUI_CloseContourDlg(QWidget* parent, const char GroupPoints->getGroupBoxLayout()->addMultiCellWidget(myIsVertexGr, 2, 2, 0, 2); /***************************************************************/ + setHelpFileName("close_contour.htm"); + Init(); } @@ -131,10 +135,6 @@ void RepairGUI_CloseContourDlg::Init() initSelection(); /* signals and slots connections */ - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); - connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -143,7 +143,7 @@ void RepairGUI_CloseContourDlg::Init() connect(mySelectWiresBtn, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument())); connect(mySelectWiresEdt, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed())); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); initName( tr( "CLOSE_CONTOUR_NEW_OBJ_NAME" ) ); @@ -183,16 +183,6 @@ bool RepairGUI_CloseContourDlg::ClickOnApply() return true; } - -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void RepairGUI_CloseContourDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection as changed or other case @@ -221,7 +211,7 @@ void RepairGUI_CloseContourDlg::SelectionIntoArgument() { myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) ); TopoDS_Shape aShape; - if ( myGeomBase->GetShape( myObject, aShape, TopAbs_WIRE ) ) + if ( GEOMBase::GetShape( myObject, aShape, TopAbs_WIRE ) ) mySelectWiresEdt->setText( myEditCurrentArgument->text() ); } else @@ -230,7 +220,7 @@ void RepairGUI_CloseContourDlg::SelectionIntoArgument() else if ( myEditCurrentArgument == mySelectWiresEdt ) { TColStd_IndexedMapOfInteger aMap; - ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr()->GetIndexes( anIO, aMap ); + myGeomGUI->getApp()->selectionMgr()->GetIndexes( anIO, aMap ); const int n = aMap.Extent(); myWiresInd->length( n ); for ( int i = 1; i <= n; i++ ) @@ -276,17 +266,6 @@ void RepairGUI_CloseContourDlg::LineEditReturnPressed() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void RepairGUI_CloseContourDlg::DeactivateActiveDialog() -{ - //myGeomGUI->SetState( -1 ); - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ActivateThisDialog() // purpose : @@ -294,7 +273,7 @@ void RepairGUI_CloseContourDlg::DeactivateActiveDialog() void RepairGUI_CloseContourDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); myEditCurrentArgument = GroupPoints->LineEdit1; @@ -345,7 +324,7 @@ GEOM::GEOM_IOperations_ptr RepairGUI_CloseContourDlg::createOperation() bool RepairGUI_CloseContourDlg::isValid( QString& msg ) { TopoDS_Shape aTmpShape; - return !myObject->_is_nil() && ( myWiresInd->length() || myGeomBase->GetShape( myObject, aTmpShape, TopAbs_WIRE ) ); + return !myObject->_is_nil() && ( myWiresInd->length() || GEOMBase::GetShape( myObject, aTmpShape, TopAbs_WIRE ) ); } //================================================================================= @@ -394,5 +373,3 @@ void RepairGUI_CloseContourDlg::initSelection() localSelection( myObject, TopAbs_WIRE ); } } - - diff --git a/src/RepairGUI/RepairGUI_CloseContourDlg.h b/src/RepairGUI/RepairGUI_CloseContourDlg.h index 08c183664..a0470db76 100644 --- a/src/RepairGUI/RepairGUI_CloseContourDlg.h +++ b/src/RepairGUI/RepairGUI_CloseContourDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_CloseContourDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_CloseContour_H #define DIALOGBOX_CloseContour_H @@ -46,7 +45,8 @@ class RepairGUI_CloseContourDlg : public GEOMBase_Skeleton Q_OBJECT public: - RepairGUI_CloseContourDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + RepairGUI_CloseContourDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~RepairGUI_CloseContourDlg(); protected: @@ -55,7 +55,7 @@ protected: virtual bool isValid( QString& ); virtual bool execute( ObjectList& objects ); -private : +private: void Init(); void enterEvent(QEvent* e); void closeEvent(QCloseEvent* e); @@ -75,10 +75,8 @@ private : private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); diff --git a/src/RepairGUI/RepairGUI_DivideEdgeDlg.cxx b/src/RepairGUI/RepairGUI_DivideEdgeDlg.cxx index 969b7162a..0a719ca7d 100644 --- a/src/RepairGUI/RepairGUI_DivideEdgeDlg.cxx +++ b/src/RepairGUI/RepairGUI_DivideEdgeDlg.cxx @@ -50,11 +50,9 @@ using namespace std; //================================================================================= RepairGUI_DivideEdgeDlg::RepairGUI_DivideEdgeDlg (GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - : GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | + : GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - myGeomGUI = theGeometryGUI; - QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_DIVIDE_EDGE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -92,10 +90,11 @@ RepairGUI_DivideEdgeDlg::RepairGUI_DivideEdgeDlg (GeometryGUI* theGeometryGUI, Q GroupPoints->getGroupBoxLayout()->addLayout( aLay, 2, 0 ); /***************************************************************/ + setHelpFileName("add_point_on_edge.htm"); + Init(); } - //================================================================================= // function : ~RepairGUI_DivideEdgeDlg() // purpose : Destroys the object and frees any allocated resources @@ -104,7 +103,6 @@ RepairGUI_DivideEdgeDlg::~RepairGUI_DivideEdgeDlg() { } - //================================================================================= // function : Init() // purpose : @@ -121,10 +119,6 @@ void RepairGUI_DivideEdgeDlg::Init() initSelection(); /* signals and slots connections */ - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); - connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -170,16 +164,6 @@ bool RepairGUI_DivideEdgeDlg::ClickOnApply() } -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void RepairGUI_DivideEdgeDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection as changed or other case @@ -200,7 +184,7 @@ void RepairGUI_DivideEdgeDlg::SelectionIntoArgument() if ( !CORBA::is_nil( aSelectedObj ) && aRes ) { TopoDS_Shape aShape; - if ( myGeomBase->GetShape( aSelectedObj, aShape, TopAbs_SHAPE ) ) + if ( GEOMBase::GetShape( aSelectedObj, aShape, TopAbs_SHAPE ) ) { const int aType = aShape.ShapeType(); if ( aType <= TopAbs_EDGE ) // edge, wire, face, shell, solid, compound @@ -264,16 +248,6 @@ void RepairGUI_DivideEdgeDlg::LineEditReturnPressed() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void RepairGUI_DivideEdgeDlg::DeactivateActiveDialog() -{ - //myGeomGUI->SetState( -1 ); - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - //================================================================================= // function : ActivateThisDialog() // purpose : diff --git a/src/RepairGUI/RepairGUI_DivideEdgeDlg.h b/src/RepairGUI/RepairGUI_DivideEdgeDlg.h index 02cf3a262..b8f7ee85b 100644 --- a/src/RepairGUI/RepairGUI_DivideEdgeDlg.h +++ b/src/RepairGUI/RepairGUI_DivideEdgeDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_DivideEdgeDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_DivideEdge_H #define DIALOGBOX_DivideEdge_H @@ -57,7 +56,7 @@ protected: virtual bool isValid( QString& ); virtual bool execute( ObjectList& objects ); -private : +private: void Init(); void enterEvent(QEvent* e); void closeEvent(QCloseEvent* e); @@ -75,10 +74,8 @@ private : protected slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); diff --git a/src/RepairGUI/RepairGUI_FreeBoundDlg.cxx b/src/RepairGUI/RepairGUI_FreeBoundDlg.cxx index 896c0f0d4..07ef99fb7 100644 --- a/src/RepairGUI/RepairGUI_FreeBoundDlg.cxx +++ b/src/RepairGUI/RepairGUI_FreeBoundDlg.cxx @@ -33,7 +33,9 @@ #include "GEOMImpl_Types.hxx" #include "SalomeApp_Application.h" +#include "LightApp_Application.h" #include "LightApp_SelectionMgr.h" +#include "SUIT_MessageBox.h" #include "SUIT_Session.h" #include @@ -47,21 +49,20 @@ #define SPACING 5 #define MARGIN 10 -/* - Calss : RepairGUI_FreeBoundDlg +/*! + Class : RepairGUI_FreeBoundDlg Description : Dialog for displaying free boundaries of selected face, shell or solid */ - //================================================================================= // function : RepairGUI_FreeBoundDlg // purpose : Constructor //================================================================================= -RepairGUI_FreeBoundDlg::RepairGUI_FreeBoundDlg( GeometryGUI* theGUI, QWidget* theParent ) +RepairGUI_FreeBoundDlg::RepairGUI_FreeBoundDlg(GeometryGUI* theGUI, QWidget* theParent, const char*) : QDialog( theParent, "RepairGUI_FreeBoundDlg", false, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose ), GEOMBase_Helper( dynamic_cast( theParent ) ), - myGeomGUI ( theGUI ) + myGeomGUI( theGUI ) { setCaption( tr( "CAPTION" ) ); @@ -84,10 +85,11 @@ RepairGUI_FreeBoundDlg::RepairGUI_FreeBoundDlg( GeometryGUI* theGUI, QWidget* th QFrame* aFrame = new QFrame( this ); aFrame->setFrameStyle( QFrame::Box | QFrame::Sunken ); QPushButton* aCloseBtn = new QPushButton( tr( "GEOM_BUT_CLOSE" ), aFrame ); + QPushButton* aHelpBtn = new QPushButton( tr( "GEOM_BUT_HELP" ), aFrame ); QHBoxLayout* aBtnLay = new QHBoxLayout( aFrame, MARGIN, SPACING ); - aBtnLay->addItem( new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ) ); aBtnLay->addWidget( aCloseBtn ); aBtnLay->addItem( new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ) ); + aBtnLay->addWidget( aHelpBtn ); QVBoxLayout* aLay = new QVBoxLayout( this ); aLay->setSpacing( SPACING ); @@ -95,7 +97,10 @@ RepairGUI_FreeBoundDlg::RepairGUI_FreeBoundDlg( GeometryGUI* theGUI, QWidget* th aLay->addWidget( aMainGrp ); aLay->addWidget( aFrame ); + myHelpFileName = "check_free_boundaries.htm"; + connect( aCloseBtn, SIGNAL( clicked() ), SLOT( onClose() ) ); + connect( aHelpBtn, SIGNAL( clicked() ), SLOT( onHelp() ) ); Init(); } @@ -121,6 +126,23 @@ void RepairGUI_FreeBoundDlg::onClose() erasePreview(); } +//================================================================================= +// function : onHelp() +// purpose : +//================================================================================= +void RepairGUI_FreeBoundDlg::onHelp() +{ + LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication()); + if (app) + app->onHelpContextModule(myGeomGUI ? app->moduleName(myGeomGUI->moduleName()) : QString(""), myHelpFileName); + else { + SUIT_MessageBox::warn1 + (0, tr("WRN_WARNING"), tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName), + tr("BUT_OK")); + } +} + //================================================================================= // function : onDeactivate // purpose : Deactivate this dialog @@ -129,7 +151,7 @@ void RepairGUI_FreeBoundDlg::onDeactivate() { setEnabled(false); globalSelection(); - disconnect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), 0, this, 0 ); + disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0); myGeomGUI->SetActiveDialogBox( 0 ); } @@ -168,7 +190,6 @@ void RepairGUI_FreeBoundDlg::onSelectionDone() myObj = anObj; displayPreview( false, true, true, 3 ); } - } //================================================================================= @@ -277,6 +298,3 @@ bool RepairGUI_FreeBoundDlg::execute( ObjectList& objects ) return result; } - - - diff --git a/src/RepairGUI/RepairGUI_FreeBoundDlg.h b/src/RepairGUI/RepairGUI_FreeBoundDlg.h index e317cc3a7..8e82a1054 100644 --- a/src/RepairGUI/RepairGUI_FreeBoundDlg.h +++ b/src/RepairGUI/RepairGUI_FreeBoundDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_FreeBoundDlg.h // Author : Sergey LITONIN // Module : GEOM -// $Header$ #ifndef DIALOGBOX_WHATIS_H #define DIALOGBOX_WHATIS_H @@ -47,18 +46,17 @@ class RepairGUI_FreeBoundDlg : public QDialog, Q_OBJECT public: - RepairGUI_FreeBoundDlg( GeometryGUI*, QWidget* ); - ~RepairGUI_FreeBoundDlg(); + RepairGUI_FreeBoundDlg(GeometryGUI*, QWidget*, const char* name = 0); + ~RepairGUI_FreeBoundDlg(); private slots: - void onClose(); + void onHelp(); void onDeactivate(); void onActivate(); void onSelectionDone(); private: - void Init(); void enterEvent( QEvent* e ); void closeEvent( QCloseEvent* e ); @@ -69,7 +67,6 @@ private: virtual bool isValid( QString& ); private: - QLineEdit* myEdit; QLabel* myClosedLbl; QLabel* myOpenLbl; @@ -77,16 +74,7 @@ private: GeometryGUI* myGeomGUI; int myNbClosed; int myNbOpen; + QString myHelpFileName; }; #endif // DIALOGBOX_WHATIS_H - - - - - - - - - - diff --git a/src/RepairGUI/RepairGUI_FreeFacesDlg.cxx b/src/RepairGUI/RepairGUI_FreeFacesDlg.cxx index 3143b7fec..a3565996e 100644 --- a/src/RepairGUI/RepairGUI_FreeFacesDlg.cxx +++ b/src/RepairGUI/RepairGUI_FreeFacesDlg.cxx @@ -28,10 +28,12 @@ #include "RepairGUI_FreeFacesDlg.h" -#include "SalomeApp_Application.h" +#include "LightApp_Application.h" #include "LightApp_SelectionMgr.h" +#include "SalomeApp_Application.h" #include "SalomeApp_Tools.h" +#include "SUIT_MessageBox.h" #include "SUIT_Session.h" #include "SUIT_OverrideCursor.h" @@ -64,11 +66,12 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -RepairGUI_FreeFacesDlg::RepairGUI_FreeFacesDlg(GeometryGUI* GUI, QWidget* parent, const char* name, bool modal, WFlags fl) -:QDialog( parent, "RepairGUI_FreeBoundDlg", false, - WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose ), - GEOMBase_Helper( dynamic_cast( parent ) ), - myGeomGUI( GUI ) +RepairGUI_FreeFacesDlg::RepairGUI_FreeFacesDlg(GeometryGUI* GUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :QDialog(parent, "RepairGUI_FreeBoundDlg", false, + WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu | WDestructiveClose), + GEOMBase_Helper(dynamic_cast(parent)), + myGeomGUI(GUI) { myDisplayer = 0; @@ -97,10 +100,11 @@ RepairGUI_FreeFacesDlg::RepairGUI_FreeFacesDlg(GeometryGUI* GUI, QWidget* parent QFrame* aFrame = new QFrame( this ); aFrame->setFrameStyle( QFrame::Box | QFrame::Sunken ); QPushButton* aCloseBtn = new QPushButton( tr( "GEOM_BUT_CLOSE" ), aFrame ); + QPushButton* aHelpBtn = new QPushButton( tr( "GEOM_BUT_HELP" ), aFrame ); QHBoxLayout* aBtnLay = new QHBoxLayout( aFrame, MARGIN, SPACING ); - aBtnLay->addItem( new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ) ); aBtnLay->addWidget( aCloseBtn ); aBtnLay->addItem( new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ) ); + aBtnLay->addWidget( aHelpBtn ); QVBoxLayout* aLay = new QVBoxLayout( this ); aLay->setSpacing( SPACING ); @@ -109,7 +113,10 @@ RepairGUI_FreeFacesDlg::RepairGUI_FreeFacesDlg(GeometryGUI* GUI, QWidget* parent aLay->addItem( new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum ) ); aLay->addWidget( aFrame ); + myHelpFileName = "check_free_faces.htm"; + connect( aCloseBtn, SIGNAL( clicked() ), SLOT( onClose() ) ); + connect( aHelpBtn, SIGNAL( clicked() ), SLOT( onHelp() ) ); connect( mySelBtn, SIGNAL( clicked() ), this, SLOT ( onSetEditCurrentArgument() ) ); /***************************************************************/ @@ -140,6 +147,23 @@ void RepairGUI_FreeFacesDlg::onClose() erasePreview(); } +//================================================================================= +// function : onHelp() +// purpose : +//================================================================================= +void RepairGUI_FreeFacesDlg::onHelp() +{ + LightApp_Application* app = (LightApp_Application*)(SUIT_Session::session()->activeApplication()); + if (app) + app->onHelpContextModule(myGeomGUI ? app->moduleName(myGeomGUI->moduleName()) : QString(""), myHelpFileName); + else { + SUIT_MessageBox::warn1(0, QObject::tr("WRN_WARNING"), + QObject::tr("EXTERNAL_BROWSER_CANNOT_SHOW_PAGE"). + arg(app->resourceMgr()->stringValue("ExternalBrowser", "application")).arg(myHelpFileName), + QObject::tr("BUT_OK")); + } +} + //================================================================================= // function : onDeactivate // purpose : Deactivate this dialog diff --git a/src/RepairGUI/RepairGUI_FreeFacesDlg.h b/src/RepairGUI/RepairGUI_FreeFacesDlg.h index f42589b24..69b830314 100644 --- a/src/RepairGUI/RepairGUI_FreeFacesDlg.h +++ b/src/RepairGUI/RepairGUI_FreeFacesDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_FreeFacesDlg.h // Author : VKN // Module : GEOM -// $Header$ #ifndef DIALOGBOX_FreeFaces_H #define DIALOGBOX_FreeFaces_H @@ -47,7 +46,8 @@ class RepairGUI_FreeFacesDlg : public QDialog, Q_OBJECT public: - RepairGUI_FreeFacesDlg(GeometryGUI* GUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + RepairGUI_FreeFacesDlg(GeometryGUI* GUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~RepairGUI_FreeFacesDlg(); protected: @@ -56,30 +56,28 @@ protected: virtual bool isValid( QString& ); virtual bool execute( ObjectList& objects ); -private : - +private: void Init(); void enterEvent(QEvent* e); void closeEvent(QCloseEvent* e); void activateSelection(); - GEOM_Displayer* getDisplayer(); + GEOM_Displayer* getDisplayer(); private slots: + void onClose(); + void onHelp(); + void onDeactivate(); + void onActivate(); + void onSelectionDone(); + void onSetEditCurrentArgument(); - void onClose(); - void onDeactivate(); - void onActivate(); - void onSelectionDone(); - void onSetEditCurrentArgument(); - -private : - +private: GEOM_Displayer* myDisplayer; GEOM::GEOM_Object_var myObj; QPushButton* mySelBtn; QLineEdit* myEdit; GeometryGUI* myGeomGUI; - + QString myHelpFileName; }; #endif // DIALOGBOX_FreeFaces_H diff --git a/src/RepairGUI/RepairGUI_GlueDlg.cxx b/src/RepairGUI/RepairGUI_GlueDlg.cxx index 789a0a704..aec6d8cdb 100644 --- a/src/RepairGUI/RepairGUI_GlueDlg.cxx +++ b/src/RepairGUI/RepairGUI_GlueDlg.cxx @@ -58,11 +58,13 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -RepairGUI_GlueDlg::RepairGUI_GlueDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +RepairGUI_GlueDlg::RepairGUI_GlueDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_GLUE_FACES"))); - QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); + QPixmap image0 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_GLUE_FACES"))); + QPixmap image1 (SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); setCaption(tr("GEOM_GLUE_TITLE")); @@ -82,7 +84,7 @@ RepairGUI_GlueDlg::RepairGUI_GlueDlg(QWidget* parent, const char* name, bool mod QGridLayout* aLay = new QGridLayout( 0, 2, 2, 0, 6, "aLay" ); QLabel* aLbl1 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->GroupBox1 ); - myTolEdt = new QtxDblSpinBox( 0, 100, 1e-7, GroupPoints->GroupBox1 );//QAD_SpinBoxDbl( GroupPoints->GroupBox1, 0, 100, 1e-7, 10, 1e-10 ); + myTolEdt = new QtxDblSpinBox( 0, 100, 1e-7, GroupPoints->GroupBox1 ); myTolEdt->setPrecision( 10 ); myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE ); @@ -92,6 +94,8 @@ RepairGUI_GlueDlg::RepairGUI_GlueDlg(QWidget* parent, const char* name, bool mod GroupPoints->getGroupBoxLayout()->addLayout( aLay, 3, 0 ); /***************************************************************/ + setHelpFileName("glue_faces.htm"); + Init(); } @@ -120,10 +124,6 @@ void RepairGUI_GlueDlg::Init() globalSelection( GEOM_COMPOUND ); /* signals and slots connections */ - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); - connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -148,7 +148,6 @@ void RepairGUI_GlueDlg::ClickOnOk() } - //================================================================================= // function : ClickOnApply() // purpose : @@ -169,16 +168,6 @@ bool RepairGUI_GlueDlg::ClickOnApply() } -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void RepairGUI_GlueDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection @@ -226,17 +215,6 @@ void RepairGUI_GlueDlg::LineEditReturnPressed() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void RepairGUI_GlueDlg::DeactivateActiveDialog() -{ - //myGeomGUI->SetState( -1 ); - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ActivateThisDialog() // purpose : diff --git a/src/RepairGUI/RepairGUI_GlueDlg.h b/src/RepairGUI/RepairGUI_GlueDlg.h index 2c493dfa5..9e505c3d1 100644 --- a/src/RepairGUI/RepairGUI_GlueDlg.h +++ b/src/RepairGUI/RepairGUI_GlueDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_GlueDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_Glue_H #define DIALOGBOX_Glue_H @@ -43,7 +42,8 @@ class RepairGUI_GlueDlg : public GEOMBase_Skeleton Q_OBJECT public: - RepairGUI_GlueDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + RepairGUI_GlueDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~RepairGUI_GlueDlg(); protected: @@ -52,7 +52,7 @@ protected: virtual bool isValid( QString& ); virtual bool execute( ObjectList& objects ); -private : +private: void Init(); void enterEvent(QEvent* e); void closeEvent(QCloseEvent* e); @@ -70,10 +70,8 @@ private : private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); diff --git a/src/RepairGUI/RepairGUI_RemoveHolesDlg.cxx b/src/RepairGUI/RepairGUI_RemoveHolesDlg.cxx index 6dc3188eb..0bc38c1df 100644 --- a/src/RepairGUI/RepairGUI_RemoveHolesDlg.cxx +++ b/src/RepairGUI/RepairGUI_RemoveHolesDlg.cxx @@ -49,8 +49,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -RepairGUI_RemoveHolesDlg::RepairGUI_RemoveHolesDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +RepairGUI_RemoveHolesDlg::RepairGUI_RemoveHolesDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SUPPRESS_HOLES"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -103,6 +105,8 @@ RepairGUI_RemoveHolesDlg::RepairGUI_RemoveHolesDlg(QWidget* parent, const char* GroupPoints->getGroupBoxLayout()->addLayout( aDetectLay, 3, 0 ); /***************************************************************/ + setHelpFileName("suppress_holes.htm"); + Init(); } @@ -136,10 +140,6 @@ void RepairGUI_RemoveHolesDlg::Init() myOpen = -1; /* signals and slots connections */ - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); - connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -168,8 +168,6 @@ void RepairGUI_RemoveHolesDlg::ClickOnOk() ClickOnCancel(); } - - //================================================================================= // function : ClickOnApply() // purpose : @@ -193,16 +191,6 @@ bool RepairGUI_RemoveHolesDlg::ClickOnApply() } -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void RepairGUI_RemoveHolesDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection @@ -276,17 +264,6 @@ void RepairGUI_RemoveHolesDlg::LineEditReturnPressed() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void RepairGUI_RemoveHolesDlg::DeactivateActiveDialog() -{ - //myGeomGUI->SetState( -1 ); - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ActivateThisDialog() // purpose : diff --git a/src/RepairGUI/RepairGUI_RemoveHolesDlg.h b/src/RepairGUI/RepairGUI_RemoveHolesDlg.h index 42edf5b6e..fca7592b2 100644 --- a/src/RepairGUI/RepairGUI_RemoveHolesDlg.h +++ b/src/RepairGUI/RepairGUI_RemoveHolesDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_RemoveHolesDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_RemoveHoles_H #define DIALOGBOX_RemoveHoles_H @@ -48,7 +47,8 @@ class RepairGUI_RemoveHolesDlg : public GEOMBase_Skeleton Q_OBJECT public: - RepairGUI_RemoveHolesDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + RepairGUI_RemoveHolesDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~RepairGUI_RemoveHolesDlg(); protected: @@ -57,7 +57,7 @@ protected: virtual bool isValid( QString& ); virtual bool execute( ObjectList& objects ); -private : +private: void Init(); void enterEvent(QEvent* e); void closeEvent(QCloseEvent* e); @@ -73,16 +73,14 @@ private : QLineEdit* mySelectWiresEdt; QPushButton* myFreeBoundBtn; - int myClosed; // number of free closed boundaries detected. calculated in execute(), used in onDetect(). - int myOpen; // number of free open boundaries detected. calculated in execute(), used in onDetect(). + int myClosed; // Number of free closed boundaries detected. Calculated in execute(), used in onDetect(). + int myOpen; // Number of free open boundaries detected. Calculated in execute(), used in onDetect(). private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); diff --git a/src/RepairGUI/RepairGUI_RemoveIntWiresDlg.cxx b/src/RepairGUI/RepairGUI_RemoveIntWiresDlg.cxx index 91822ded9..3acf067e1 100644 --- a/src/RepairGUI/RepairGUI_RemoveIntWiresDlg.cxx +++ b/src/RepairGUI/RepairGUI_RemoveIntWiresDlg.cxx @@ -47,11 +47,13 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -RepairGUI_RemoveIntWiresDlg::RepairGUI_RemoveIntWiresDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +RepairGUI_RemoveIntWiresDlg::RepairGUI_RemoveIntWiresDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SUPPRESS_INT_WIRES"))); - QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); + QPixmap image0 (myGeomGUI->getApp()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SUPPRESS_INT_WIRES"))); + QPixmap image1 (myGeomGUI->getApp()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); setCaption(tr("GEOM_REMOVE_INTERNAL_WIRES_TITLE")); @@ -94,6 +96,8 @@ RepairGUI_RemoveIntWiresDlg::RepairGUI_RemoveIntWiresDlg(QWidget* parent, const GroupPoints->getGroupBoxLayout()->addLayout( aSelectWiresLay, 2, 0 ); /***************************************************************/ + setHelpFileName("suppress_internal_wires.htm"); + Init(); } @@ -124,10 +128,6 @@ void RepairGUI_RemoveIntWiresDlg::Init() initSelection(); /* signals and slots connections */ - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); - connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -155,8 +155,6 @@ void RepairGUI_RemoveIntWiresDlg::ClickOnOk() ClickOnCancel(); } - - //================================================================================= // function : ClickOnApply() // purpose : @@ -180,16 +178,6 @@ bool RepairGUI_RemoveIntWiresDlg::ClickOnApply() } -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void RepairGUI_RemoveIntWiresDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection @@ -263,17 +251,6 @@ void RepairGUI_RemoveIntWiresDlg::LineEditReturnPressed() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void RepairGUI_RemoveIntWiresDlg::DeactivateActiveDialog() -{ - //myGeomGUI->SetState( -1 ); - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ActivateThisDialog() // purpose : @@ -294,7 +271,6 @@ void RepairGUI_RemoveIntWiresDlg::ActivateThisDialog() initSelection(); } - //================================================================================= // function : enterEvent() // purpose : Mouse enter onto the dialog to activate it @@ -305,7 +281,6 @@ void RepairGUI_RemoveIntWiresDlg::enterEvent(QEvent* e) ActivateThisDialog(); } - //================================================================================= // function : closeEvent() // purpose : @@ -340,12 +315,13 @@ bool RepairGUI_RemoveIntWiresDlg::isValid( QString& msg ) //================================================================================= bool RepairGUI_RemoveIntWiresDlg::execute( ObjectList& objects ) { - GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->RemoveIntWires( myObject, myWiresInd ); - bool aResult = !anObj->_is_nil(); - if ( aResult ) - objects.push_back( anObj._retn() ); + GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )-> + RemoveIntWires( myObject, myWiresInd ); + bool aResult = !anObj->_is_nil(); + if ( aResult ) + objects.push_back( anObj._retn() ); - return aResult; + return aResult; } //================================================================================= @@ -354,7 +330,7 @@ bool RepairGUI_RemoveIntWiresDlg::execute( ObjectList& objects ) //================================================================================= void RepairGUI_RemoveIntWiresDlg::onRemoveAllClicked() { - bool b = myAllChk->isOn(); + bool b = myAllChk->isOn(); mySelectWiresLbl->setEnabled( !b ); mySelectWiresBtn->setEnabled( !b ); mySelectWiresEdt->setEnabled( !b ); @@ -387,5 +363,3 @@ void RepairGUI_RemoveIntWiresDlg::initSelection() localSelection( myObject, TopAbs_WIRE ); } } - - diff --git a/src/RepairGUI/RepairGUI_RemoveIntWiresDlg.h b/src/RepairGUI/RepairGUI_RemoveIntWiresDlg.h index 2142784a3..051bfd97a 100644 --- a/src/RepairGUI/RepairGUI_RemoveIntWiresDlg.h +++ b/src/RepairGUI/RepairGUI_RemoveIntWiresDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_RemoveIntWiresDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_RemoveIntWires_H #define DIALOGBOX_RemoveIntWires_H @@ -48,7 +47,8 @@ class RepairGUI_RemoveIntWiresDlg : public GEOMBase_Skeleton Q_OBJECT public: - RepairGUI_RemoveIntWiresDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + RepairGUI_RemoveIntWiresDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~RepairGUI_RemoveIntWiresDlg(); protected: @@ -57,14 +57,14 @@ protected: virtual bool isValid( QString& ); virtual bool execute( ObjectList& objects ); -private : +private: void Init(); void enterEvent(QEvent* e); void closeEvent(QCloseEvent* e); void initSelection(); - GEOM::GEOM_Object_var myObject; - GEOM::short_array_var myWiresInd; + GEOM::GEOM_Object_var myObject; + GEOM::short_array_var myWiresInd; DlgRef_1Sel_Ext* GroupPoints; QCheckBox* myAllChk; @@ -75,10 +75,8 @@ private : private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); diff --git a/src/RepairGUI/RepairGUI_SewingDlg.cxx b/src/RepairGUI/RepairGUI_SewingDlg.cxx index 05ed77509..fe1c1ef5e 100644 --- a/src/RepairGUI/RepairGUI_SewingDlg.cxx +++ b/src/RepairGUI/RepairGUI_SewingDlg.cxx @@ -50,8 +50,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -RepairGUI_SewingDlg::RepairGUI_SewingDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +RepairGUI_SewingDlg::RepairGUI_SewingDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SEWING"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -87,6 +89,8 @@ RepairGUI_SewingDlg::RepairGUI_SewingDlg(QWidget* parent, const char* name, bool GroupPoints->getGroupBoxLayout()->addLayout( aLay, 3, 0 ); /***************************************************************/ + setHelpFileName("sewing.htm"); + Init(); } @@ -118,10 +122,6 @@ void RepairGUI_SewingDlg::Init() myOpen = -1; /* signals and slots connections */ - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); - connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -147,8 +147,6 @@ void RepairGUI_SewingDlg::ClickOnOk() ClickOnCancel(); } - - //================================================================================= // function : ClickOnApply() // purpose : @@ -169,16 +167,6 @@ bool RepairGUI_SewingDlg::ClickOnApply() } -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void RepairGUI_SewingDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection @@ -229,17 +217,6 @@ void RepairGUI_SewingDlg::LineEditReturnPressed() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void RepairGUI_SewingDlg::DeactivateActiveDialog() -{ - //myGeomGUI->SetState( -1 ); - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ActivateThisDialog() // purpose : diff --git a/src/RepairGUI/RepairGUI_SewingDlg.h b/src/RepairGUI/RepairGUI_SewingDlg.h index c2c459507..9331db1a4 100644 --- a/src/RepairGUI/RepairGUI_SewingDlg.h +++ b/src/RepairGUI/RepairGUI_SewingDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_SewingDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_Sewing_H #define DIALOGBOX_Sewing_H @@ -49,7 +48,8 @@ class RepairGUI_SewingDlg : public GEOMBase_Skeleton Q_OBJECT public: - RepairGUI_SewingDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + RepairGUI_SewingDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~RepairGUI_SewingDlg(); protected: @@ -58,7 +58,7 @@ protected: virtual bool isValid( QString& ); virtual bool execute( ObjectList& objects ); -private : +private: void Init(); void enterEvent(QEvent* e); void closeEvent(QCloseEvent* e); @@ -70,16 +70,14 @@ private : QtxDblSpinBox* myTolEdt; QPushButton* myFreeBoundBtn; - int myClosed; // number of free closed boundaries detected. calculated in execute(), used in onDetect(). - int myOpen; // number of free open boundaries detected. calculated in execute(), used in onDetect(). + int myClosed; // Number of free closed boundaries detected. Calculated in execute(), used in onDetect(). + int myOpen; // Number of free open boundaries detected. Calculated in execute(), used in onDetect(). private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); diff --git a/src/RepairGUI/RepairGUI_ShapeProcessDlg.cxx b/src/RepairGUI/RepairGUI_ShapeProcessDlg.cxx index 7c9005a1a..d8f8fa39d 100755 --- a/src/RepairGUI/RepairGUI_ShapeProcessDlg.cxx +++ b/src/RepairGUI/RepairGUI_ShapeProcessDlg.cxx @@ -52,13 +52,15 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -RepairGUI_ShapeProcessDlg::RepairGUI_ShapeProcessDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +RepairGUI_ShapeProcessDlg::RepairGUI_ShapeProcessDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { + setHelpFileName("shape_processing.htm"); init(); } - //================================================================================= // function : ~RepairGUI_ShapeProcessDlg() // purpose : Destroys the object and frees any allocated resources @@ -67,7 +69,6 @@ RepairGUI_ShapeProcessDlg::~RepairGUI_ShapeProcessDlg() { } - //================================================================================= // function : Init() // purpose : @@ -296,10 +297,6 @@ void RepairGUI_ShapeProcessDlg::init() myStack->addWidget( aFrame, myOpLst.findIndex( "SameParameter" ) ); // signals and slots connections - connect( myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(deactivate()) ); - connect( myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(onCancel()) ); - - connect( buttonCancel, SIGNAL(clicked()), this, SLOT(onCancel()) ); connect( buttonOk, SIGNAL(clicked()), this, SLOT(onOk()) ); connect( buttonApply, SIGNAL(clicked()), this, SLOT(onApply()) ); @@ -341,12 +338,10 @@ void RepairGUI_ShapeProcessDlg::operationChanged() //================================================================================= void RepairGUI_ShapeProcessDlg::onOk() { - if ( onApply() ) - onCancel(); + if (onApply()) + ClickOnCancel(); } - - //================================================================================= // function : onApply() // purpose : @@ -365,16 +360,6 @@ bool RepairGUI_ShapeProcessDlg::onApply() } -//================================================================================= -// function : onCancel() -// purpose : -//================================================================================= -void RepairGUI_ShapeProcessDlg::onCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : selectionChanged() // purpose : Called when selection as changed or other case @@ -423,17 +408,6 @@ void RepairGUI_ShapeProcessDlg::lineEditReturnPressed() } -//================================================================================= -// function : deactivate() -// purpose : -//================================================================================= -void RepairGUI_ShapeProcessDlg::deactivate() -{ - //myGeomGUI->SetState( -1 ); - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : activate() // purpose : @@ -842,6 +816,8 @@ void RepairGUI_ShapeProcessDlg::advOptionToggled( bool on ) { QButton* btn = (QButton*)sender(); if ( on && btn->isToggleButton() && - QMessageBox::warning( SUIT_Session::session()->activeApplication()->desktop(), tr( "GEOM_WRN_WARNING" ), tr( "TIME_CONSUMING" ), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::No ) + QMessageBox::warning(myGeomGUI->getApp()->desktop(), + tr( "GEOM_WRN_WARNING" ), tr( "TIME_CONSUMING" ), + QMessageBox::Yes, QMessageBox::No ) == QMessageBox::No ) btn->toggle(); } diff --git a/src/RepairGUI/RepairGUI_ShapeProcessDlg.h b/src/RepairGUI/RepairGUI_ShapeProcessDlg.h index 656ab7afa..adf359577 100755 --- a/src/RepairGUI/RepairGUI_ShapeProcessDlg.h +++ b/src/RepairGUI/RepairGUI_ShapeProcessDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_ShapeProcessDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_ShapeProcess_H #define DIALOGBOX_ShapeProcess_H @@ -52,7 +51,8 @@ class RepairGUI_ShapeProcessDlg : public GEOMBase_Skeleton Q_OBJECT public: - RepairGUI_ShapeProcessDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + RepairGUI_ShapeProcessDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~RepairGUI_ShapeProcessDlg(); protected: @@ -63,14 +63,15 @@ protected: virtual void closeEvent( QCloseEvent* e ); -private : +private: void init(); void reset(); void loadDefaults(); // initialize all controls with default values (from resource file) - GEOM::string_array* getActiveOperators(); - GEOM::string_array* getParameters( const GEOM::string_array& theOperators ); - GEOM::string_array* getValues( const GEOM::string_array& theParameters ); - + + GEOM::string_array* getActiveOperators(); + GEOM::string_array* getParameters( const GEOM::string_array& theOperators ); + GEOM::string_array* getValues( const GEOM::string_array& theParameters ); + void enterEvent(QEvent* e); QWidget* getControl( const char* ); @@ -78,7 +79,7 @@ private : // (analize its class and convert the value string) const char* getValue( QWidget* theControl ) const; // retrieve value of the control in the proper way - QStringList myOpLst; // list of available Shape Healing Operators + QStringList myOpLst; // list of available Shape Healing Operators QMap myValMap; // map of parameters of operators //QDict myCtrlMap; // map of controls (values) of parameters void initParamsValues(); // initialize the data structures @@ -90,27 +91,27 @@ private : QListView* myOpList; QWidgetStack* myStack; - QtxDblSpinBox* myFixShapeTol3D; - QtxDblSpinBox* myFixShapeMaxTol3D; - - QtxDblSpinBox* myFixFaceSizeTol; + QtxDblSpinBox* myFixShapeTol3D; + QtxDblSpinBox* myFixShapeMaxTol3D; - QtxDblSpinBox* myDropSmallEdgesTol3D; + QtxDblSpinBox* myFixFaceSizeTol; - QtxDblSpinBox* mySplitAngleAngle; - QtxDblSpinBox* mySplitAngleMaxTol; + QtxDblSpinBox* myDropSmallEdgesTol3D; + + QtxDblSpinBox* mySplitAngleAngle; + QtxDblSpinBox* mySplitAngleMaxTol; QSpinBox* mySplitClosedFacesNum; - QtxDblSpinBox* mySplitContTol3D; + QtxDblSpinBox* mySplitContTol3D; QComboBox* mySplitContSurfCont; QComboBox* mySplitContCurvCont; QCheckBox* myBSplineSurfModeChk; QCheckBox* myBSpline3DCurveChk; QCheckBox* myBSpline2DCurveChk; - QtxDblSpinBox* myBSplineTol3D; - QtxDblSpinBox* myBSplineTol2D; + QtxDblSpinBox* myBSplineTol3D; + QtxDblSpinBox* myBSplineTol2D; QSpinBox* myBSplineDegree; QSpinBox* myBSplineSegments; QComboBox* myBSpline2DCont; @@ -119,17 +120,15 @@ private : QCheckBox* myToBezierSurfModeChk; QCheckBox* myToBezier3DCurveChk; QCheckBox* myToBezier2DCurveChk; - QtxDblSpinBox* myToBezierMaxTol; + QtxDblSpinBox* myToBezierMaxTol; - QtxDblSpinBox* mySameParameterTol3D; + QtxDblSpinBox* mySameParameterTol3D; private slots: void onOk(); bool onApply(); - void onCancel(); - + void activate(); - void deactivate(); void lineEditReturnPressed(); void selectionChanged(); diff --git a/src/RepairGUI/RepairGUI_SuppressFacesDlg.cxx b/src/RepairGUI/RepairGUI_SuppressFacesDlg.cxx index 4d996d2a1..945f0714b 100644 --- a/src/RepairGUI/RepairGUI_SuppressFacesDlg.cxx +++ b/src/RepairGUI/RepairGUI_SuppressFacesDlg.cxx @@ -48,8 +48,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -RepairGUI_SuppressFacesDlg::RepairGUI_SuppressFacesDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +RepairGUI_SuppressFacesDlg::RepairGUI_SuppressFacesDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SUPRESS_FACE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -70,6 +72,8 @@ RepairGUI_SuppressFacesDlg::RepairGUI_SuppressFacesDlg(QWidget* parent, const ch Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + + setHelpFileName("suppress_faces.htm"); Init(); } @@ -100,10 +104,6 @@ void RepairGUI_SuppressFacesDlg::Init() initSelection(); /* signals and slots connections */ - connect(buttonCancel, SIGNAL(clicked()), this, SLOT(ClickOnCancel())); - connect(myGeomGUI, SIGNAL(SignalDeactivateActiveDialog()), this, SLOT(DeactivateActiveDialog())); - connect(myGeomGUI, SIGNAL(SignalCloseAllDialogs()), this, SLOT(ClickOnCancel())); - connect(buttonOk, SIGNAL(clicked()), this, SLOT(ClickOnOk())); connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); @@ -127,8 +127,6 @@ void RepairGUI_SuppressFacesDlg::ClickOnOk() ClickOnCancel(); } - - //================================================================================= // function : ClickOnApply() // purpose : @@ -150,16 +148,6 @@ bool RepairGUI_SuppressFacesDlg::ClickOnApply() } -//================================================================================= -// function : ClickOnCancel() -// purpose : -//================================================================================= -void RepairGUI_SuppressFacesDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection as changed or other case @@ -181,14 +169,14 @@ void RepairGUI_SuppressFacesDlg::SelectionIntoArgument() if ( !CORBA::is_nil( aSelectedObject ) && aRes ) { TopoDS_Shape aShape; - if ( myGeomBase->GetShape( aSelectedObject, aShape, TopAbs_SHAPE ) ) + if ( GEOMBase::GetShape( aSelectedObject, aShape, TopAbs_SHAPE ) ) { if ( aShape.ShapeType() <= TopAbs_FACE ) // FACE, SHELL, SOLID, COMPOUND { GEOM::short_array anIndexes; TColStd_IndexedMapOfInteger aMap; - ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr()->GetIndexes( anIO, aMap ); + myGeomGUI->getApp()->selectionMgr()->GetIndexes( anIO, aMap ); if ( !aMap.IsEmpty() ) { @@ -247,17 +235,6 @@ void RepairGUI_SuppressFacesDlg::LineEditReturnPressed() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : -//================================================================================= -void RepairGUI_SuppressFacesDlg::DeactivateActiveDialog() -{ - //myGeomGUI->SetState( -1 ); - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ActivateThisDialog() // purpose : diff --git a/src/RepairGUI/RepairGUI_SuppressFacesDlg.h b/src/RepairGUI/RepairGUI_SuppressFacesDlg.h index e725f0e64..0c54ab681 100644 --- a/src/RepairGUI/RepairGUI_SuppressFacesDlg.h +++ b/src/RepairGUI/RepairGUI_SuppressFacesDlg.h @@ -24,7 +24,6 @@ // File : RepairGUI_SuppressFacesDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_SUPPRESSFACES_H #define DIALOGBOX_SUPPRESSFACES_H @@ -43,7 +42,8 @@ class RepairGUI_SuppressFacesDlg : public GEOMBase_Skeleton Q_OBJECT public: - RepairGUI_SuppressFacesDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + RepairGUI_SuppressFacesDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~RepairGUI_SuppressFacesDlg(); protected: @@ -57,25 +57,23 @@ private : void enterEvent(QEvent* e); void closeEvent(QCloseEvent* e); - GEOM::ListOfGO_var myObjects; - QValueList myFaces; - // GEOM::short_array-s contain indexes of selected faces, - // index of a GEOM::short_array in myFaces list equals to index of - // GEOM::GEOM_Object in myObjects list to which the faces belong to. - - void Convert( const TColStd_IndexedMapOfInteger&, GEOM::short_array& ); + GEOM::ListOfGO_var myObjects; + QValueList myFaces; + // GEOM::short_array-s contain indexes of selected faces, + // index of a GEOM::short_array in myFaces list equals to index of + // GEOM::GEOM_Object in myObjects list to which the faces belong to. + + void Convert( const TColStd_IndexedMapOfInteger&, GEOM::short_array& ); + + void initSelection(); - void initSelection(); - DlgRef_1Sel_QTD* GroupPoints; private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); - + void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); diff --git a/src/STEPExport/STEPExport.cxx b/src/STEPExport/STEPExport.cxx index d7ed96b6f..1bd902c09 100644 --- a/src/STEPExport/STEPExport.cxx +++ b/src/STEPExport/STEPExport.cxx @@ -46,7 +46,9 @@ extern "C" { SALOME_WNT_EXPORT - int Export(const TopoDS_Shape& theShape, const TCollection_AsciiString& theFileName) + int Export(const TopoDS_Shape& theShape, + const TCollection_AsciiString& theFileName, + const TCollection_AsciiString& /*theFormatName*/) { MESSAGE("Export STEP into file " << theFileName.ToCString()); diff --git a/src/STEPImport/STEPImport.cxx b/src/STEPImport/STEPImport.cxx index 3fb9cc511..1eb9ea062 100644 --- a/src/STEPImport/STEPImport.cxx +++ b/src/STEPImport/STEPImport.cxx @@ -52,6 +52,7 @@ extern "C" { SALOME_WNT_EXPORT TopoDS_Shape Import (const TCollection_AsciiString& theFileName, + const TCollection_AsciiString& /*theFormatName*/, TCollection_AsciiString& theError) { MESSAGE("Import STEP model from file " << theFileName.ToCString()); diff --git a/src/TransformationGUI/TransformationGUI.cxx b/src/TransformationGUI/TransformationGUI.cxx index 84c79078f..5dfdd8955 100644 --- a/src/TransformationGUI/TransformationGUI.cxx +++ b/src/TransformationGUI/TransformationGUI.cxx @@ -86,53 +86,35 @@ bool TransformationGUI::OnGUIEvent(int theCommandID, SUIT_Desktop* parent) QDialog* aDlg = NULL; switch (theCommandID) - { - case 5021: // TRANSLATION - { - aDlg = new TransformationGUI_TranslationDlg( getGeometryGUI(), parent, "" ); - break; - } - case 5022: // ROTATION - { - aDlg = new TransformationGUI_RotationDlg( parent, "" ); - break; - } - case 5023: // POSITION - { - aDlg = new TransformationGUI_PositionDlg( parent, "" ); - break; - } - case 5024: // MIRROR - { - aDlg = new TransformationGUI_MirrorDlg( parent, "" ); - break; - } - case 5025: // SCALE - { - aDlg = new TransformationGUI_ScaleDlg( getGeometryGUI(), parent, "" ); - break; - } - case 5026: // OFFSET - { - aDlg = new TransformationGUI_OffsetDlg( parent, "" ); - break; - } - case 5027: // MULTI TRANSLATION - { - aDlg = new TransformationGUI_MultiTranslationDlg( getGeometryGUI(), parent, "" ); - break; - } - case 5028: // MULTI ROTATION - { - aDlg = new TransformationGUI_MultiRotationDlg( getGeometryGUI(), parent, "" ); - break; - } - default: - { - SUIT_Session::session()->activeApplication()->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); - break; - } - } + { + case 5021: // TRANSLATION + aDlg = new TransformationGUI_TranslationDlg( getGeometryGUI(), parent, "" ); + break; + case 5022: // ROTATION + aDlg = new TransformationGUI_RotationDlg( getGeometryGUI(), parent, "" ); + break; + case 5023: // POSITION + aDlg = new TransformationGUI_PositionDlg( getGeometryGUI(), parent, "" ); + break; + case 5024: // MIRROR + aDlg = new TransformationGUI_MirrorDlg( getGeometryGUI(), parent, "" ); + break; + case 5025: // SCALE + aDlg = new TransformationGUI_ScaleDlg( getGeometryGUI(), parent, "" ); + break; + case 5026: // OFFSET + aDlg = new TransformationGUI_OffsetDlg( getGeometryGUI(), parent, "" ); + break; + case 5027: // MULTI TRANSLATION + aDlg = new TransformationGUI_MultiTranslationDlg( getGeometryGUI(), parent, "" ); + break; + case 5028: // MULTI ROTATION + aDlg = new TransformationGUI_MultiRotationDlg( getGeometryGUI(), parent, "" ); + break; + default: + SUIT_Session::session()->activeApplication()->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID)); + break; + } if ( aDlg != NULL ) aDlg->show(); diff --git a/src/TransformationGUI/TransformationGUI_MirrorDlg.cxx b/src/TransformationGUI/TransformationGUI_MirrorDlg.cxx index 8f09b83f8..240550bae 100644 --- a/src/TransformationGUI/TransformationGUI_MirrorDlg.cxx +++ b/src/TransformationGUI/TransformationGUI_MirrorDlg.cxx @@ -49,8 +49,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -TransformationGUI_MirrorDlg::TransformationGUI_MirrorDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +TransformationGUI_MirrorDlg::TransformationGUI_MirrorDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_MIRROR_POINT"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_MIRROR_AXE"))); @@ -77,8 +79,9 @@ TransformationGUI_MirrorDlg::TransformationGUI_MirrorDlg(QWidget* parent, const GroupPoints->PushButton2->setPixmap(image3); GroupPoints->CheckButton1->setText(tr("GEOM_CREATE_COPY")); Layout1->addWidget(GroupPoints, 2, 0); - /***************************************************************/ + + setHelpFileName("mirror_image.htm"); Init(); } @@ -124,7 +127,7 @@ void TransformationGUI_MirrorDlg::Init() connect(GroupPoints->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(CreateCopyModeChanged(bool))); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); initName( tr( "GEOM_MIRROR" ) ); @@ -132,14 +135,13 @@ void TransformationGUI_MirrorDlg::Init() } - //================================================================================= // function : ConstructorsClicked() // purpose : Radio button management //================================================================================= void TransformationGUI_MirrorDlg::ConstructorsClicked(int constructorId) { - disconnect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), 0, this, 0 ); + disconnect( myGeomGUI->getApp()->selectionMgr(), 0, this, 0 ); globalSelection(); myEditCurrentArgument = GroupPoints->LineEdit1; @@ -164,7 +166,7 @@ void TransformationGUI_MirrorDlg::ConstructorsClicked(int constructorId) break; } } - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); } @@ -196,16 +198,6 @@ bool TransformationGUI_MirrorDlg::ClickOnApply() } -//======================================================================= -// function : ClickOnCancel() -// purpose : -//======================================================================= -void TransformationGUI_MirrorDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection has changed @@ -310,22 +302,12 @@ void TransformationGUI_MirrorDlg::SetEditCurrentArgument() void TransformationGUI_MirrorDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); ConstructorsClicked( getConstructorId() ); } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void TransformationGUI_MirrorDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : enterEvent() // purpose : when mouse enter onto the QWidget diff --git a/src/TransformationGUI/TransformationGUI_MirrorDlg.h b/src/TransformationGUI/TransformationGUI_MirrorDlg.h index 150d3edae..44d71b1da 100644 --- a/src/TransformationGUI/TransformationGUI_MirrorDlg.h +++ b/src/TransformationGUI/TransformationGUI_MirrorDlg.h @@ -24,7 +24,6 @@ // File : TransformationGUI_MirrorDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_MIRROR_H #define DIALOGBOX_MIRROR_H @@ -44,7 +43,8 @@ class TransformationGUI_MirrorDlg : public GEOMBase_Skeleton Q_OBJECT public: - TransformationGUI_MirrorDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + TransformationGUI_MirrorDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~TransformationGUI_MirrorDlg(); protected: @@ -55,7 +55,7 @@ protected: virtual void closeEvent( QCloseEvent* e ); -private : +private: void Init(); void enterEvent(QEvent* e); @@ -67,9 +67,7 @@ private : private slots : void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); diff --git a/src/TransformationGUI/TransformationGUI_MultiRotationDlg.cxx b/src/TransformationGUI/TransformationGUI_MultiRotationDlg.cxx index 88b262a44..c437f06e1 100644 --- a/src/TransformationGUI/TransformationGUI_MultiRotationDlg.cxx +++ b/src/TransformationGUI/TransformationGUI_MultiRotationDlg.cxx @@ -49,12 +49,15 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -TransformationGUI_MultiRotationDlg::TransformationGUI_MultiRotationDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +TransformationGUI_MultiRotationDlg::TransformationGUI_MultiRotationDlg + (GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_MULTIROTATION_SIMPLE"))); - QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_MULTIROTATION_DOUBLE"))); - QPixmap image2(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); + SUIT_ResourceMgr* aResMgr = myGeomGUI->getApp()->resourceMgr(); + QPixmap image0(aResMgr->loadPixmap("GEOM",tr("ICON_DLG_MULTIROTATION_SIMPLE"))); + QPixmap image1(aResMgr->loadPixmap("GEOM",tr("ICON_DLG_MULTIROTATION_DOUBLE"))); + QPixmap image2(aResMgr->loadPixmap("GEOM",tr("ICON_SELECT"))); setCaption(tr("GEOM_MULTIROTATION_TITLE")); @@ -92,6 +95,8 @@ TransformationGUI_MultiRotationDlg::TransformationGUI_MultiRotationDlg(GeometryG Layout1->addWidget(GroupDimensions, 2, 0); /***************************************************************/ + setHelpFileName("multi_rotation.htm"); + Init(); } @@ -152,15 +157,15 @@ void TransformationGUI_MultiRotationDlg::Init() connect(GroupDimensions->SpinBox_DX2, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); connect(GroupDimensions->SpinBox_DY2, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX1, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY1, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX2, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY2, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX1, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY1, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX2, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY2, SLOT(SetStep(double))); connect(GroupDimensions->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(ReverseAngle())); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); initName( tr( "GEOM_MULTIROTATION" ) ); @@ -174,12 +179,12 @@ void TransformationGUI_MultiRotationDlg::Init() //================================================================================= void TransformationGUI_MultiRotationDlg::ConstructorsClicked(int constructorId) { - disconnect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), 0, this, 0); - + disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0); + myAng = 45.0; myStep = 50.0; myNbTimes1 = myNbTimes2 = 2; - + globalSelection( GEOM_ALLSHAPES ); switch (constructorId) @@ -219,7 +224,8 @@ void TransformationGUI_MultiRotationDlg::ConstructorsClicked(int constructorId) myEditCurrentArgument->setFocus(); myBase = myVector = GEOM::GEOM_Object::_nil(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), + this, SLOT(SelectionIntoArgument())); } @@ -249,16 +255,6 @@ bool TransformationGUI_MultiRotationDlg::ClickOnApply() } -//======================================================================= -// function : ClickOnCancel() -// purpose : -//======================================================================= -void TransformationGUI_MultiRotationDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection as changed or other case @@ -266,28 +262,32 @@ void TransformationGUI_MultiRotationDlg::ClickOnCancel() void TransformationGUI_MultiRotationDlg::SelectionIntoArgument() { myEditCurrentArgument->setText(""); - - if(IObjectCount() != 1) { - if(myEditCurrentArgument == GroupPoints->LineEdit1 || myEditCurrentArgument == GroupDimensions->LineEdit1) + + if (IObjectCount() != 1) { + if (myEditCurrentArgument == GroupPoints->LineEdit1 || + myEditCurrentArgument == GroupDimensions->LineEdit1) myBase = GEOM::GEOM_Object::_nil(); - else if(myEditCurrentArgument == GroupPoints->LineEdit2 || myEditCurrentArgument == GroupDimensions->LineEdit2) + else if (myEditCurrentArgument == GroupPoints->LineEdit2 || + myEditCurrentArgument == GroupDimensions->LineEdit2) myVector = GEOM::GEOM_Object::_nil(); return; } - + // nbSel == 1 Standard_Boolean testResult = Standard_False;; - GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject(firstIObject(), testResult ); + GEOM::GEOM_Object_var aSelectedObject = + GEOMBase::ConvertIOinGEOMObject(firstIObject(), testResult ); - if ( !testResult || CORBA::is_nil( aSelectedObject ) || !GEOMBase::IsShape( aSelectedObject ) ) + if (!testResult || CORBA::is_nil(aSelectedObject) || !GEOMBase::IsShape(aSelectedObject)) return; - - if(myEditCurrentArgument == GroupPoints->LineEdit1 || myEditCurrentArgument == GroupDimensions->LineEdit1) + if (myEditCurrentArgument == GroupPoints->LineEdit1 || + myEditCurrentArgument == GroupDimensions->LineEdit1) myBase = aSelectedObject; - else if(myEditCurrentArgument == GroupPoints->LineEdit2 || myEditCurrentArgument == GroupDimensions->LineEdit2) + else if (myEditCurrentArgument == GroupPoints->LineEdit2 || + myEditCurrentArgument == GroupDimensions->LineEdit2) myVector = aSelectedObject; - + myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) ); displayPreview(); @@ -347,23 +347,13 @@ void TransformationGUI_MultiRotationDlg::LineEditReturnPressed() void TransformationGUI_MultiRotationDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); ConstructorsClicked( getConstructorId() ); } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void TransformationGUI_MultiRotationDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : enterEvent() // purpose : @@ -421,7 +411,7 @@ void TransformationGUI_MultiRotationDlg::ReverseAngle() //================================================================================= GEOM::GEOM_IOperations_ptr TransformationGUI_MultiRotationDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetITransformOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetITransformOperations( getStudyId() ); } @@ -449,7 +439,8 @@ bool TransformationGUI_MultiRotationDlg::execute( ObjectList& objects ) case 0 : { if ( !CORBA::is_nil( myBase ) && !CORBA::is_nil( myVector ) ) { - anObj = GEOM::GEOM_ITransformOperations::_narrow( getOperation() )->MultiRotate1D( myBase, myVector, myNbTimes1 ); + anObj = GEOM::GEOM_ITransformOperations::_narrow( getOperation() )-> + MultiRotate1D( myBase, myVector, myNbTimes1 ); res = true; } break; @@ -458,7 +449,8 @@ bool TransformationGUI_MultiRotationDlg::execute( ObjectList& objects ) { if ( !CORBA::is_nil( myBase ) && !CORBA::is_nil( myVector ) ) { - anObj = GEOM::GEOM_ITransformOperations::_narrow( getOperation() )->MultiRotate2D( myBase, myVector, myAng, myNbTimes1, myStep, myNbTimes2 ); + anObj = GEOM::GEOM_ITransformOperations::_narrow( getOperation() )-> + MultiRotate2D( myBase, myVector, myAng, myNbTimes1, myStep, myNbTimes2 ); res = true; } break; diff --git a/src/TransformationGUI/TransformationGUI_MultiRotationDlg.h b/src/TransformationGUI/TransformationGUI_MultiRotationDlg.h index c122bc3eb..328819119 100644 --- a/src/TransformationGUI/TransformationGUI_MultiRotationDlg.h +++ b/src/TransformationGUI/TransformationGUI_MultiRotationDlg.h @@ -24,7 +24,6 @@ // File : TransformationGUI_MultiRotationDlg.h // Author : Damien COQUERET // Module : GEOM -// $Header$ #ifndef DIALOGBOX_MULTIROTATION_H #define DIALOGBOX_MULTIROTATION_H @@ -43,7 +42,8 @@ class TransformationGUI_MultiRotationDlg : public GEOMBase_Skeleton Q_OBJECT public: - TransformationGUI_MultiRotationDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + TransformationGUI_MultiRotationDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~TransformationGUI_MultiRotationDlg(); protected: @@ -58,8 +58,6 @@ private : void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myBase, myVector; int myNbTimes1; int myNbTimes2; @@ -72,16 +70,13 @@ private : private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); void ReverseAngle(); void ValueChangedInSpinBox(double newValue); void ConstructorsClicked(int constructorId); - }; #endif // DIALOGBOX_MULTIROTATION_H diff --git a/src/TransformationGUI/TransformationGUI_MultiTranslationDlg.cxx b/src/TransformationGUI/TransformationGUI_MultiTranslationDlg.cxx index 255df8858..7b67ebe5f 100644 --- a/src/TransformationGUI/TransformationGUI_MultiTranslationDlg.cxx +++ b/src/TransformationGUI/TransformationGUI_MultiTranslationDlg.cxx @@ -50,12 +50,15 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -TransformationGUI_MultiTranslationDlg::TransformationGUI_MultiTranslationDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +TransformationGUI_MultiTranslationDlg::TransformationGUI_MultiTranslationDlg + (GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM",tr("ICON_DLG_MULTITRANSLATION_SIMPLE"))); - QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM",tr("ICON_DLG_MULTITRANSLATION_DOUBLE"))); - QPixmap image2(SUIT_Session::session()->resourceMgr()->loadPixmap( "GEOM",tr("ICON_SELECT"))); + SUIT_ResourceMgr* aResMgr = myGeomGUI->getApp()->resourceMgr(); + QPixmap image0 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_MULTITRANSLATION_SIMPLE"))); + QPixmap image1 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_MULTITRANSLATION_DOUBLE"))); + QPixmap image2 (aResMgr->loadPixmap("GEOM", tr("ICON_SELECT"))); setCaption(tr("GEOM_MULTITRANSLATION_TITLE")); @@ -99,6 +102,8 @@ TransformationGUI_MultiTranslationDlg::TransformationGUI_MultiTranslationDlg(Geo Layout1->addWidget(GroupDimensions, 2, 0); /***************************************************************/ + setHelpFileName("multi_translation.htm"); + Init(); } @@ -163,18 +168,18 @@ void TransformationGUI_MultiTranslationDlg::Init() connect(GroupDimensions->SpinBox_DX2, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); connect(GroupDimensions->SpinBox_DY2, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX1, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY1, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX2, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY2, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DY, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX1, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY1, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DX2, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupDimensions->SpinBox_DY2, SLOT(SetStep(double))); connect(GroupPoints->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(ReverseStepU())); connect(GroupDimensions->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(ReverseStepU())); connect(GroupDimensions->CheckButton2, SIGNAL(toggled(bool)), this, SLOT(ReverseStepV())); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); @@ -189,7 +194,7 @@ void TransformationGUI_MultiTranslationDlg::Init() //================================================================================= void TransformationGUI_MultiTranslationDlg::ConstructorsClicked(int constructorId) { - disconnect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), 0, this, 0); + disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0); myStepU = myStepV = 50.0; myNbTimesU = myNbTimesV = 2; @@ -236,7 +241,7 @@ void TransformationGUI_MultiTranslationDlg::ConstructorsClicked(int constructorI myEditCurrentArgument->setFocus(); myBase = myVectorU = GEOM::GEOM_Object::_nil(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); } @@ -267,16 +272,6 @@ bool TransformationGUI_MultiTranslationDlg::ClickOnApply() } -//======================================================================= -// function : ClickOnCancel() -// purpose : -//======================================================================= -void TransformationGUI_MultiTranslationDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection as changed or other case @@ -374,23 +369,13 @@ void TransformationGUI_MultiTranslationDlg::LineEditReturnPressed() void TransformationGUI_MultiTranslationDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); ConstructorsClicked( getConstructorId() ); } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void TransformationGUI_MultiTranslationDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : enterEvent() // purpose : @@ -477,7 +462,7 @@ void TransformationGUI_MultiTranslationDlg::ReverseStepV() //================================================================================= GEOM::GEOM_IOperations_ptr TransformationGUI_MultiTranslationDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetITransformOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetITransformOperations( getStudyId() ); } diff --git a/src/TransformationGUI/TransformationGUI_MultiTranslationDlg.h b/src/TransformationGUI/TransformationGUI_MultiTranslationDlg.h index 8fd449628..792e19d1e 100644 --- a/src/TransformationGUI/TransformationGUI_MultiTranslationDlg.h +++ b/src/TransformationGUI/TransformationGUI_MultiTranslationDlg.h @@ -24,7 +24,6 @@ // File : TransformationGUI_MultiTranslationDlg.h // Author : Damien COQUERET // Module : GEOM -// $Header$ #ifndef DIALOGBOX_MULTITRANSLATION_H #define DIALOGBOX_MULTITRANSLATION_H @@ -43,7 +42,8 @@ class TransformationGUI_MultiTranslationDlg : public GEOMBase_Skeleton Q_OBJECT public: - TransformationGUI_MultiTranslationDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + TransformationGUI_MultiTranslationDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~TransformationGUI_MultiTranslationDlg(); protected: @@ -58,8 +58,6 @@ private : void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myBase, myVectorU, myVectorV ; int myNbTimesU; int myNbTimesV; @@ -72,9 +70,7 @@ private : private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); @@ -82,7 +78,6 @@ private slots: void ReverseStepV(); void ValueChangedInSpinBox(double newValue); void ConstructorsClicked(int constructorId); - }; #endif // DIALOGBOX_MULTITRANSLATION_H diff --git a/src/TransformationGUI/TransformationGUI_OffsetDlg.cxx b/src/TransformationGUI/TransformationGUI_OffsetDlg.cxx index 805bc8a72..28713cbab 100644 --- a/src/TransformationGUI/TransformationGUI_OffsetDlg.cxx +++ b/src/TransformationGUI/TransformationGUI_OffsetDlg.cxx @@ -47,8 +47,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -TransformationGUI_OffsetDlg::TransformationGUI_OffsetDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +TransformationGUI_OffsetDlg::TransformationGUI_OffsetDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_OFFSET"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -75,6 +77,8 @@ TransformationGUI_OffsetDlg::TransformationGUI_OffsetDlg(QWidget* parent, const Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + + setHelpFileName("offset_surface.htm"); Init(); } @@ -118,7 +122,7 @@ void TransformationGUI_OffsetDlg::Init() connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply())); connect(GroupPoints->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument())); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); connect(GroupPoints->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); @@ -156,16 +160,6 @@ bool TransformationGUI_OffsetDlg::ClickOnApply() } -//======================================================================= -// function : ClickOnCancel() -// purpose : -//======================================================================= -void TransformationGUI_OffsetDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection has changed @@ -243,7 +237,7 @@ void TransformationGUI_OffsetDlg::enterEvent(QEvent * e) void TransformationGUI_OffsetDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); globalSelection( GEOM_ALLSHAPES ); myEditCurrentArgument = GroupPoints->LineEdit1; @@ -251,16 +245,6 @@ void TransformationGUI_OffsetDlg::ActivateThisDialog() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void TransformationGUI_OffsetDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : ValueChangedInSpinBox() // purpose : diff --git a/src/TransformationGUI/TransformationGUI_OffsetDlg.h b/src/TransformationGUI/TransformationGUI_OffsetDlg.h index da127fbc0..2fd6a4a28 100644 --- a/src/TransformationGUI/TransformationGUI_OffsetDlg.h +++ b/src/TransformationGUI/TransformationGUI_OffsetDlg.h @@ -24,7 +24,6 @@ // File : TransformationGUI_OffsetDlg.h // Author : Michael Zorin // Module : GEOM -// $Header: /dn05/salome/PAL/GEOM/GEOM_SRC/src/TransformationGUI/TransformationGUI_Offset.h #ifndef DIALOGBOX_OFFSET_H #define DIALOGBOX_OFFSET_H @@ -42,7 +41,8 @@ class TransformationGUI_OffsetDlg : public GEOMBase_Skeleton Q_OBJECT public: - TransformationGUI_OffsetDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + TransformationGUI_OffsetDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~TransformationGUI_OffsetDlg(); protected: @@ -53,7 +53,7 @@ protected: virtual void closeEvent( QCloseEvent* e ); -private : +private: void Init(); void enterEvent(QEvent* e); double GetOffset() const; @@ -62,12 +62,10 @@ private : DlgRef_1Sel1Spin1Check* GroupPoints; -private slots : +private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void SelectionIntoArgument(); void LineEditReturnPressed(); void SetEditCurrentArgument(); @@ -76,4 +74,3 @@ private slots : }; #endif // DIALOGBOX_OFFSET_H - diff --git a/src/TransformationGUI/TransformationGUI_PositionDlg.cxx b/src/TransformationGUI/TransformationGUI_PositionDlg.cxx index e16e3bbd3..c7c440693 100644 --- a/src/TransformationGUI/TransformationGUI_PositionDlg.cxx +++ b/src/TransformationGUI/TransformationGUI_PositionDlg.cxx @@ -51,12 +51,15 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -TransformationGUI_PositionDlg::TransformationGUI_PositionDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +TransformationGUI_PositionDlg::TransformationGUI_PositionDlg + (GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) + : GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_POSITION"))); - QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_POSITION2"))); - QPixmap imageselect(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); + SUIT_ResourceMgr* aResMgr = myGeomGUI->getApp()->resourceMgr(); + QPixmap image0(aResMgr->loadPixmap("GEOM",tr("ICON_DLG_POSITION"))); + QPixmap image1(aResMgr->loadPixmap("GEOM",tr("ICON_DLG_POSITION2"))); + QPixmap imageselect(aResMgr->loadPixmap("GEOM",tr("ICON_SELECT"))); setCaption(tr("GEOM_POSITION_TITLE")); @@ -85,6 +88,8 @@ TransformationGUI_PositionDlg::TransformationGUI_PositionDlg(QWidget* parent, c Layout1->addWidget(Group1, 2, 0); /***************************************************************/ + + setHelpFileName("modify_the_location.htm"); Init(); } @@ -133,7 +138,7 @@ void TransformationGUI_PositionDlg::Init() connect(Group1->CheckBox1, SIGNAL(toggled(bool)), this, SLOT(CreateCopyModeChanged(bool))); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); initName( tr( "GEOM_POSITION" ) ); @@ -148,7 +153,7 @@ void TransformationGUI_PositionDlg::Init() //================================================================================= void TransformationGUI_PositionDlg::ConstructorsClicked(int constructorId) { - disconnect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), 0, this, 0 ); + disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0); globalSelection(); myEditCurrentArgument = Group1->LineEdit1; @@ -174,13 +179,12 @@ void TransformationGUI_PositionDlg::ConstructorsClicked(int constructorId) break; } } - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); SelectionIntoArgument(); } - //================================================================================= // function : ClickOnOk() // purpose : @@ -207,16 +211,6 @@ bool TransformationGUI_PositionDlg::ClickOnApply() } -//======================================================================= -// function : ClickOnCancel() -// purpose : -//======================================================================= -void TransformationGUI_PositionDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection has changed @@ -328,22 +322,12 @@ void TransformationGUI_PositionDlg::SetEditCurrentArgument() void TransformationGUI_PositionDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); ConstructorsClicked( getConstructorId() ); } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void TransformationGUI_PositionDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : enterEvent() // purpose : when mouse enter onto the QWidget diff --git a/src/TransformationGUI/TransformationGUI_PositionDlg.h b/src/TransformationGUI/TransformationGUI_PositionDlg.h index 2e5e499b4..0f064952d 100644 --- a/src/TransformationGUI/TransformationGUI_PositionDlg.h +++ b/src/TransformationGUI/TransformationGUI_PositionDlg.h @@ -24,7 +24,6 @@ // File : TransformationGUI_PositionDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_POSITION_H #define DIALOGBOX_POSITION_H @@ -44,7 +43,8 @@ class TransformationGUI_PositionDlg : public GEOMBase_Skeleton Q_OBJECT public: - TransformationGUI_PositionDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + TransformationGUI_PositionDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~TransformationGUI_PositionDlg(); protected: @@ -55,7 +55,7 @@ protected: virtual void closeEvent( QCloseEvent* e ); -private : +private: void Init(); void enterEvent(QEvent* e); @@ -65,12 +65,10 @@ private : DlgRef_3Sel3Spin1Check* Group1; -private slots : +private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); diff --git a/src/TransformationGUI/TransformationGUI_RotationDlg.cxx b/src/TransformationGUI/TransformationGUI_RotationDlg.cxx index 7b1abd28b..5cb4dc03f 100644 --- a/src/TransformationGUI/TransformationGUI_RotationDlg.cxx +++ b/src/TransformationGUI/TransformationGUI_RotationDlg.cxx @@ -49,8 +49,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -TransformationGUI_RotationDlg::TransformationGUI_RotationDlg(QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) +TransformationGUI_RotationDlg::TransformationGUI_RotationDlg + (GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_ROTATION"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -101,9 +103,11 @@ TransformationGUI_RotationDlg::TransformationGUI_RotationDlg(QWidget* parent, c connect(GroupPoints->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(CreateCopyModeChanged(bool))); connect(GroupPoints->CheckButton2, SIGNAL(toggled(bool)), this, SLOT(onReverse())); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; + setHelpFileName("rotation.htm"); + Init(); } @@ -159,16 +163,6 @@ bool TransformationGUI_RotationDlg::ClickOnApply() } -//======================================================================= -// function : ClickOnCancel() -// purpose : -//======================================================================= -void TransformationGUI_RotationDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection as changed or other case @@ -254,7 +248,7 @@ void TransformationGUI_RotationDlg::LineEditReturnPressed() void TransformationGUI_RotationDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); globalSelection(); GroupPoints->LineEdit1->setFocus(); @@ -264,16 +258,6 @@ void TransformationGUI_RotationDlg::ActivateThisDialog() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void TransformationGUI_RotationDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : enterEvent() // purpose : diff --git a/src/TransformationGUI/TransformationGUI_RotationDlg.h b/src/TransformationGUI/TransformationGUI_RotationDlg.h index 173ce35de..420a21bc9 100644 --- a/src/TransformationGUI/TransformationGUI_RotationDlg.h +++ b/src/TransformationGUI/TransformationGUI_RotationDlg.h @@ -24,7 +24,6 @@ // File : TransformationGUI_RotationDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_ROTATION_H #define DIALOGBOX_ROTATION_H @@ -41,7 +40,8 @@ class TransformationGUI_RotationDlg : public GEOMBase_Skeleton Q_OBJECT public: - TransformationGUI_RotationDlg(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + TransformationGUI_RotationDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~TransformationGUI_RotationDlg(); protected: @@ -52,7 +52,7 @@ protected: virtual void closeEvent( QCloseEvent* e ); -private : +private: void Init(); void enterEvent(QEvent* e); double GetAngle() const; @@ -65,9 +65,7 @@ private : private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); diff --git a/src/TransformationGUI/TransformationGUI_ScaleDlg.cxx b/src/TransformationGUI/TransformationGUI_ScaleDlg.cxx index a215ba028..4256a3e58 100644 --- a/src/TransformationGUI/TransformationGUI_ScaleDlg.cxx +++ b/src/TransformationGUI/TransformationGUI_ScaleDlg.cxx @@ -49,8 +49,10 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -TransformationGUI_ScaleDlg::TransformationGUI_ScaleDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +TransformationGUI_ScaleDlg::TransformationGUI_ScaleDlg(GeometryGUI* theGeometryGUI, QWidget* parent, + const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_SCALE"))); QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); @@ -101,12 +103,14 @@ TransformationGUI_ScaleDlg::TransformationGUI_ScaleDlg(GeometryGUI* theGeometryG connect(GroupPoints->LineEdit2, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed())); connect(GroupPoints->SpinBox_DX, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox_DX, SLOT(SetStep(double))); connect(GroupPoints->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(CreateCopyModeChanged(bool))); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; + setHelpFileName("scale_transform.htm"); + Init(); } @@ -161,16 +165,6 @@ bool TransformationGUI_ScaleDlg::ClickOnApply() } -//======================================================================= -// function : ClickOnCancel() -// purpose : -//======================================================================= -void TransformationGUI_ScaleDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection as changed or other case @@ -256,7 +250,7 @@ void TransformationGUI_ScaleDlg::SetEditCurrentArgument() void TransformationGUI_ScaleDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); globalSelection(); GroupPoints->LineEdit1->setFocus(); @@ -264,16 +258,6 @@ void TransformationGUI_ScaleDlg::ActivateThisDialog() } -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void TransformationGUI_ScaleDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); -} - - //================================================================================= // function : enterEvent() // purpose : @@ -301,7 +285,7 @@ void TransformationGUI_ScaleDlg::ValueChangedInSpinBox() //================================================================================= GEOM::GEOM_IOperations_ptr TransformationGUI_ScaleDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetITransformOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetITransformOperations( getStudyId() ); } //================================================================================= diff --git a/src/TransformationGUI/TransformationGUI_ScaleDlg.h b/src/TransformationGUI/TransformationGUI_ScaleDlg.h index 8f0e61c07..277de85e2 100644 --- a/src/TransformationGUI/TransformationGUI_ScaleDlg.h +++ b/src/TransformationGUI/TransformationGUI_ScaleDlg.h @@ -24,7 +24,6 @@ // File : TransformationGUI_ScaleDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_SCALE_H #define DIALOGBOX_SCALE_H @@ -42,7 +41,8 @@ class TransformationGUI_ScaleDlg : public GEOMBase_Skeleton Q_OBJECT public: - TransformationGUI_ScaleDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + TransformationGUI_ScaleDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~TransformationGUI_ScaleDlg(); protected: @@ -58,19 +58,15 @@ private : void enterEvent(QEvent* e); double GetFactor() const; - GeometryGUI* myGeometryGUI; - GEOM::ListOfGO myObjects; GEOM::GEOM_Object_var myPoint; /* Central Point */ DlgRef_2Sel1Spin2Check* GroupPoints; -private slots : +private slots: void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); diff --git a/src/TransformationGUI/TransformationGUI_TranslationDlg.cxx b/src/TransformationGUI/TransformationGUI_TranslationDlg.cxx index d221fb855..3e296be67 100644 --- a/src/TransformationGUI/TransformationGUI_TranslationDlg.cxx +++ b/src/TransformationGUI/TransformationGUI_TranslationDlg.cxx @@ -49,13 +49,16 @@ using namespace std; // The dialog will by default be modeless, unless you set 'modal' to // TRUE to construct a modal dialog. //================================================================================= -TransformationGUI_TranslationDlg::TransformationGUI_TranslationDlg(GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) - :GEOMBase_Skeleton(parent, name, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu), myGeometryGUI(theGeometryGUI) +TransformationGUI_TranslationDlg::TransformationGUI_TranslationDlg + (GeometryGUI* theGeometryGUI, QWidget* parent, const char* name, bool modal, WFlags fl) + :GEOMBase_Skeleton(theGeometryGUI, parent, name, modal, WStyle_Customize | + WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu) { - QPixmap image0(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_TRANSLATION_DXYZ"))); - QPixmap image1(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_TRANSLATION_POINTS"))); - QPixmap image2(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_DLG_TRANSLATION_VECTOR"))); - QPixmap image3(SUIT_Session::session()->resourceMgr()->loadPixmap("GEOM",tr("ICON_SELECT"))); + SUIT_ResourceMgr* aResMgr = myGeomGUI->getApp()->resourceMgr(); + QPixmap image0 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_TRANSLATION_DXYZ"))); + QPixmap image1 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_TRANSLATION_POINTS"))); + QPixmap image2 (aResMgr->loadPixmap("GEOM", tr("ICON_DLG_TRANSLATION_VECTOR"))); + QPixmap image3 (aResMgr->loadPixmap("GEOM", tr("ICON_SELECT"))); setCaption(tr("GEOM_TRANSLATION_TITLE")); @@ -82,6 +85,8 @@ TransformationGUI_TranslationDlg::TransformationGUI_TranslationDlg(GeometryGUI* Layout1->addWidget(GroupPoints, 2, 0); /***************************************************************/ + setHelpFileName("translation.htm"); + Init(); } @@ -142,13 +147,13 @@ void TransformationGUI_TranslationDlg::Init() connect(GroupPoints->SpinBox2, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); connect(GroupPoints->SpinBox3, SIGNAL(valueChanged(double)), this, SLOT(ValueChangedInSpinBox())); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox1, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox2, SLOT(SetStep(double))); - connect(myGeometryGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox3, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox1, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox2, SLOT(SetStep(double))); + connect(myGeomGUI, SIGNAL(SignalDefaultStepValueChanged(double)), GroupPoints->SpinBox3, SLOT(SetStep(double))); connect(GroupPoints->CheckBox1, SIGNAL(toggled(bool)), this, SLOT(CreateCopyModeChanged(bool))); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ; initName( tr( "GEOM_TRANSLATION" ) ); @@ -162,7 +167,7 @@ void TransformationGUI_TranslationDlg::Init() //================================================================================= void TransformationGUI_TranslationDlg::ConstructorsClicked(int constructorId) { - disconnect( ((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), 0, this, 0 ); + disconnect(myGeomGUI->getApp()->selectionMgr(), 0, this, 0); myEditCurrentArgument = GroupPoints->LineEdit1; globalSelection(); @@ -200,7 +205,7 @@ void TransformationGUI_TranslationDlg::ConstructorsClicked(int constructorId) } myEditCurrentArgument->setFocus(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); } @@ -231,16 +236,6 @@ bool TransformationGUI_TranslationDlg::ClickOnApply() } -//======================================================================= -// function : ClickOnCancel() -// purpose : -//======================================================================= -void TransformationGUI_TranslationDlg::ClickOnCancel() -{ - GEOMBase_Skeleton::ClickOnCancel(); -} - - //================================================================================= // function : SelectionIntoArgument() // purpose : Called when selection as changed or other case @@ -349,20 +344,10 @@ void TransformationGUI_TranslationDlg::SetEditCurrentArgument() void TransformationGUI_TranslationDlg::ActivateThisDialog() { GEOMBase_Skeleton::ActivateThisDialog(); - connect(((SalomeApp_Application*)(SUIT_Session::session()->activeApplication()))->selectionMgr(), + connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())); - - ConstructorsClicked( getConstructorId() ); -} - -//================================================================================= -// function : DeactivateActiveDialog() -// purpose : public slot to deactivate if active -//================================================================================= -void TransformationGUI_TranslationDlg::DeactivateActiveDialog() -{ - GEOMBase_Skeleton::DeactivateActiveDialog(); + ConstructorsClicked( getConstructorId() ); } @@ -393,7 +378,7 @@ void TransformationGUI_TranslationDlg::ValueChangedInSpinBox() //================================================================================= GEOM::GEOM_IOperations_ptr TransformationGUI_TranslationDlg::createOperation() { - return myGeometryGUI->GetGeomGen()->GetITransformOperations( getStudyId() ); + return myGeomGUI->GetGeomGen()->GetITransformOperations( getStudyId() ); } diff --git a/src/TransformationGUI/TransformationGUI_TranslationDlg.h b/src/TransformationGUI/TransformationGUI_TranslationDlg.h index 069c33435..1d4008098 100644 --- a/src/TransformationGUI/TransformationGUI_TranslationDlg.h +++ b/src/TransformationGUI/TransformationGUI_TranslationDlg.h @@ -24,7 +24,6 @@ // File : TransformationGUI_TranslationDlg.h // Author : Lucien PIGNOLONI // Module : GEOM -// $Header$ #ifndef DIALOGBOX_TRANSLATION_H #define DIALOGBOX_TRANSLATION_H @@ -42,7 +41,8 @@ class TransformationGUI_TranslationDlg : public GEOMBase_Skeleton Q_OBJECT public: - TransformationGUI_TranslationDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0); + TransformationGUI_TranslationDlg(GeometryGUI* theGeometryGUI, QWidget* parent = 0, + const char* name = 0, bool modal = FALSE, WFlags fl = 0); ~TransformationGUI_TranslationDlg(); protected: @@ -57,8 +57,6 @@ private : void Init(); void enterEvent(QEvent* e); - GeometryGUI* myGeometryGUI; - GEOM::GEOM_Object_var myVector, myPoint1, myPoint2; GEOM::ListOfGO myObjects; @@ -67,9 +65,7 @@ private : private slots : void ClickOnOk(); bool ClickOnApply(); - void ClickOnCancel(); void ActivateThisDialog(); - void DeactivateActiveDialog(); void LineEditReturnPressed(); void SelectionIntoArgument(); void SetEditCurrentArgument(); -- 2.30.2