]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Merge with PAL/SALOME 2.1.0d PAL_OCC OCC-V2_1_0d
authoradmin <salome-admin@opencascade.com>
Wed, 17 Nov 2004 15:16:34 +0000 (15:16 +0000)
committeradmin <salome-admin@opencascade.com>
Wed, 17 Nov 2004 15:16:34 +0000 (15:16 +0000)
169 files changed:
Makefile.in
doc/salome/gui/GEOM/GEOM.log
doc/salome/gui/GEOM/blocks.htm
doc/salome/gui/GEOM/changing_displaying_parameters.htm
doc/salome/gui/GEOM/files/introduction_to_geom.htm
doc/salome/gui/GEOM/files/salome2_sp3_basicgui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_booleangui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_buildgui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_displaygui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_generationgui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_geomtoolsgui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_measuregui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_operationgui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_primitivegui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_repairgui_functions.htm
doc/salome/gui/GEOM/files/salome2_sp3_transformationgui_functions.htm
doc/salome/gui/GEOM/image196.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image197.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image199.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image200.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image201.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image202.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image203.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image204.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image205.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image206.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image207.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image208.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image209.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image210.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image211.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image212.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image213.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image214.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image215.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image216.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image217.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image218.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image219.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image220.jpg [new file with mode: 0755]
doc/salome/gui/GEOM/image59.gif [new file with mode: 0755]
doc/salome/gui/GEOM/image61.gif [new file with mode: 0755]
doc/salome/gui/GEOM/newentity_blocks.htm
doc/salome/gui/GEOM/sketcher.htm
doc/salome/gui/GEOM/whdata/whfwdata0.htm
doc/salome/gui/GEOM/whdata/whfwdata0.xml
doc/salome/gui/GEOM/whgdata/whlstf0.htm
doc/salome/gui/GEOM/whgdata/whlstf1.htm
doc/salome/gui/GEOM/whgdata/whlstf2.htm
doc/salome/gui/GEOM/whgdata/whlstf3.htm
doc/salome/gui/GEOM/whgdata/whlstf4.htm
doc/salome/gui/GEOM/whgdata/whlstf5.htm
doc/salome/gui/GEOM/whgdata/whlstfl18.htm
doc/salome/gui/GEOM/whgdata/whlstfl4.htm
doc/salome/gui/GEOM/whskin_info.htm
doc/salome/gui/GEOM/working_with_groups.htm
idl/GEOM_Gen.idl
idl/GEOM_Superv.idl [new file with mode: 0644]
idl/Makefile.in
resources/GEOMCatalog.xml
resources/GEOM_en.xml
resources/glue.png [new file with mode: 0644]
src/BasicGUI/BasicGUI.cxx
src/BasicGUI/BasicGUI_CircleDlg.cxx
src/BasicGUI/BasicGUI_MarkerDlg.cxx
src/BlocksGUI/BlocksGUI_BlockDlg.cxx
src/BlocksGUI/BlocksGUI_ExplodeDlg.cxx
src/BlocksGUI/BlocksGUI_QuadFaceDlg.cxx
src/BlocksGUI/BlocksGUI_TrsfDlg.cxx
src/BooleanGUI/BooleanGUI_Dialog.cxx
src/BuildGUI/BuildGUI_CompoundDlg.cxx
src/BuildGUI/BuildGUI_ShellDlg.cxx
src/EntityGUI/EntityGUI.cxx
src/EntityGUI/EntityGUI_SubShapeDlg.cxx
src/GEOM/GEOM_Engine.cxx
src/GEOM/GEOM_Function.cxx
src/GEOM/GEOM_SubShapeDriver.cxx
src/GEOMBase/GEOMBase.cxx
src/GEOMBase/GEOMBase.h
src/GEOMBase/GEOMBase_Helper.cxx
src/GEOMBase/GEOMBase_Helper.h
src/GEOMClient/GEOM_Client.cxx
src/GEOMClient/GEOM_Client.hxx
src/GEOMFiltersSelection/GEOM_LogicalFilter.cxx
src/GEOMFiltersSelection/GEOM_LogicalFilter.hxx
src/GEOMFiltersSelection/GEOM_ShapeTypeFilter.cxx
src/GEOMFiltersSelection/GEOM_ShapeTypeFilter.hxx
src/GEOMGUI/GEOM_Displayer.cxx
src/GEOMGUI/GEOM_Displayer.h
src/GEOMGUI/GEOM_icons.po
src/GEOMGUI/GEOM_msg_en.po
src/GEOMGUI/GeometryGUI.cxx
src/GEOMGUI/GeometryGUI.h
src/GEOMGUI/GeometryGUI_Swig.cxx
src/GEOMImpl/GEOMImpl_Block6Explorer.cxx
src/GEOMImpl/GEOMImpl_Block6Explorer.hxx
src/GEOMImpl/GEOMImpl_BlockDriver.cxx
src/GEOMImpl/GEOMImpl_ChamferDriver.cxx
src/GEOMImpl/GEOMImpl_FilletDriver.cxx
src/GEOMImpl/GEOMImpl_FillingDriver.cxx
src/GEOMImpl/GEOMImpl_GlueDriver.cxx
src/GEOMImpl/GEOMImpl_IBasicOperations.cxx
src/GEOMImpl/GEOMImpl_IBasicOperations.hxx
src/GEOMImpl/GEOMImpl_IBlocksOperations.cxx
src/GEOMImpl/GEOMImpl_IBlocksOperations.hxx
src/GEOMImpl/GEOMImpl_ILocalOperations.cxx
src/GEOMImpl/GEOMImpl_ILocalOperations.hxx
src/GEOMImpl/GEOMImpl_IShapesOperations.cxx
src/GEOMImpl/GEOMImpl_IShapesOperations.hxx
src/GEOMImpl/GEOMImpl_LineDriver.cxx
src/GEOMImpl/GEOMImpl_PipeDriver.cxx
src/GEOMImpl/GEOMImpl_PointDriver.cxx
src/GEOMImpl/GEOMImpl_RevolutionDriver.cxx
src/GEOMImpl/GEOMImpl_ShapeDriver.cxx
src/GEOMImpl/GEOMImpl_TorusDriver.cxx
src/GEOMImpl/GEOMImpl_Types.hxx
src/GEOMToolsGUI/GEOMToolsGUI.cxx
src/GEOMToolsGUI/GEOMToolsGUI_1.cxx
src/GEOMToolsGUI/GEOMToolsGUI_TransparencyDlg.cxx
src/GEOM_I/GEOM_IBasicOperations_i.cc
src/GEOM_I/GEOM_IBasicOperations_i.hh
src/GEOM_I/GEOM_IBlocksOperations_i.cc
src/GEOM_I/GEOM_IBlocksOperations_i.hh
src/GEOM_I/GEOM_ILocalOperations_i.cc
src/GEOM_I/GEOM_IShapesOperations_i.cc
src/GEOM_I/GEOM_IShapesOperations_i.hh
src/GEOM_I/GEOM_Object_i.cc
src/GEOM_I/GEOM_Object_i.hh
src/GEOM_I/Makefile.in
src/GEOM_I_Superv/GEOM_Superv_i.cc [new file with mode: 0644]
src/GEOM_I_Superv/GEOM_Superv_i.hh [new file with mode: 0644]
src/GEOM_I_Superv/Makefile.in [new file with mode: 0644]
src/GEOM_SWIG/GEOM_Partition1.py
src/GEOM_SWIG/GEOM_Spanner.py
src/GEOM_SWIG/GEOM_TestAll.py
src/GEOM_SWIG/GEOM_TestHealing.py [new file with mode: 0644]
src/GEOM_SWIG/GEOM_TestMeasures.py
src/GEOM_SWIG/GEOM_TestOthers.py [new file with mode: 0644]
src/GEOM_SWIG/GEOM_all.py [deleted file]
src/GEOM_SWIG/GEOM_moteur.py
src/GEOM_SWIG/GEOM_usinggeom.py
src/GEOM_SWIG/Makefile.in
src/GEOM_SWIG/batchmode_geompy.py
src/GEOM_SWIG/geompy.py
src/GenerationGUI/GenerationGUI_FillingDlg.cxx
src/GenerationGUI/GenerationGUI_PipeDlg.cxx
src/GenerationGUI/GenerationGUI_PrismDlg.cxx
src/GenerationGUI/GenerationGUI_RevolDlg.cxx
src/GroupGUI/GroupGUI_GroupDlg.cxx
src/Makefile.in
src/MeasureGUI/MeasureGUI_Skeleton.cxx
src/OperationGUI/OperationGUI_ArchimedeDlg.cxx
src/OperationGUI/OperationGUI_PartitionDlg.cxx
src/RepairGUI/Makefile.in
src/RepairGUI/RepairGUI.cxx
src/RepairGUI/RepairGUI_CloseContourDlg.cxx
src/RepairGUI/RepairGUI_DivideEdgeDlg.cxx
src/RepairGUI/RepairGUI_FreeBoundDlg.cxx
src/RepairGUI/RepairGUI_GlueDlg.cxx [new file with mode: 0644]
src/RepairGUI/RepairGUI_GlueDlg.h [new file with mode: 0644]
src/RepairGUI/RepairGUI_RemoveHolesDlg.cxx
src/RepairGUI/RepairGUI_RemoveIntWiresDlg.cxx
src/RepairGUI/RepairGUI_SewingDlg.cxx
src/RepairGUI/RepairGUI_ShapeProcessDlg.cxx
src/RepairGUI/RepairGUI_SuppressFacesDlg.cxx
src/TransformationGUI/TransformationGUI_MultiRotationDlg.cxx
src/TransformationGUI/TransformationGUI_MultiTranslationDlg.cxx
src/TransformationGUI/TransformationGUI_OffsetDlg.cxx
src/TransformationGUI/TransformationGUI_PositionDlg.cxx

index 02831b24e0a6e662731cb844b33b16f78477fb52..933016af022ac181d4105d9e3afd6e745f894fa2 100644 (file)
@@ -168,7 +168,8 @@ block_multitrsf_simple.png \
 tree_block.png \
 subblock.png \
 group_new.png \
-group_edit.png
+group_edit.png \
+glue.png
 
 BIN_SCRIPT= \
 VERSION
index 6fcae47ea578036410be2ac0d811d7def327c187..e17a2ed87fef392f0d8ae31c3b96939b116aad2f 100755 (executable)
@@ -1,5 +1,5 @@
 |SourceProjectName:GEOM.hpr\r
-|DestinationProjectName:geom_help.html\r
+|DestinationProjectName:geom.html\r
 whhost.js\r
 whmsg.js\r
 whmozemu.js\r
@@ -124,9 +124,9 @@ wht_toc3.gif
 whskin_frmset010.htm\r
 whst_topics.xml\r
 whskin_frmset01.htm\r
-geom_help_hha.hhk\r
-geom_help.hhc\r
-geom_help.hhk\r
+geom_hha.hhk\r
+geom.hhc\r
+geom.hhk\r
 blocks.htm\r
 changing_displaying_parameters.htm\r
 files\introduction_to_geom.htm\r
@@ -144,254 +144,266 @@ files\salome2_sp3_transformationgui_functions.htm
 newentity_blocks.htm\r
 sketcher.htm\r
 working_with_groups.htm\r
-geom_help.glo\r
+geom.glo\r
 default.css\r
+image61.gif\r
+image191.jpg\r
+image180.jpg\r
+image109.jpg\r
+image97.jpg\r
+image86.jpg\r
+image75.jpg\r
+image53.jpg\r
+image20.jpg\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image131.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image31.gif\r
+image192.jpg\r
+image181.jpg\r
+image51.gif\r
+image170.jpg\r
+image98.jpg\r
+image87.jpg\r
+image76.jpg\r
+image65.jpg\r
+image54.jpg\r
+image21.jpg\r
+image10.jpg\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image132.gif\r
+files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image121.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image32.gif\r
+image193.jpg\r
+image182.jpg\r
+image52.gif\r
+image171.jpg\r
+image160.jpg\r
+image41.gif\r
+image99.jpg\r
+image88.jpg\r
+image66.jpg\r
+image55.jpg\r
+image22.jpg\r
+image11.jpg\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image133.gif\r
+files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image122.gif\r
+files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image87.gif\r
+image3.jpg\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image33.gif\r
 image194.jpg\r
 image183.jpg\r
+image53.gif\r
 image172.jpg\r
-image44.gif\r
+image42.gif\r
 image161.jpg\r
 image150.jpg\r
-image22.gif\r
-image69.jpg\r
-image58.jpg\r
-image11.gif\r
-image14.jpg\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image133.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image75.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image13.gif\r
-image56.gif\r
+image89.jpg\r
+image78.jpg\r
+image20.gif\r
+image67.jpg\r
+image56.jpg\r
+image23.jpg\r
+image12.jpg\r
+files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image88.gif\r
+files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image1.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image34.gif\r
 image184.jpg\r
 image173.jpg\r
 image151.jpg\r
+image32.gif\r
 image140.jpg\r
-image23.gif\r
-image59.jpg\r
-image26.jpg\r
-image12.gif\r
-image15.jpg\r
+image79.jpg\r
+image21.gif\r
+image68.jpg\r
+image57.jpg\r
+image24.jpg\r
+image13.jpg\r
 image2.gif\r
 image5.jpg\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image76.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image14.gif\r
-image57.gif\r
+files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image89.gif\r
+files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image2.gif\r
+image196.jpg\r
 image185.jpg\r
+image44.gif\r
 image163.jpg\r
 image152.jpg\r
-image35.gif\r
 image141.jpg\r
 image130.jpg\r
-image24.gif\r
-image27.jpg\r
-image13.gif\r
-image16.jpg\r
-files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image121.gif\r
-files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image90.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image77.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image30.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image15.gif\r
+image22.gif\r
+image69.jpg\r
+image58.jpg\r
+files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image51.gif\r
+image11.gif\r
+image14.jpg\r
+files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image56.gif\r
+files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image3.gif\r
+image197.jpg\r
+image56.gif\r
 image186.jpg\r
 image175.jpg\r
 image164.jpg\r
 image142.jpg\r
-image25.gif\r
 image131.jpg\r
+image23.gif\r
 image120.jpg\r
-image28.jpg\r
-image14.gif\r
-image17.jpg\r
+image59.jpg\r
+image26.jpg\r
+image12.gif\r
+image15.jpg\r
 image7.jpg\r
 image4.gif\r
-files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image122.gif\r
-files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image100.gif\r
-files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image99.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image78.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image31.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image16.gif\r
+files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image57.gif\r
+files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image52.gif\r
+files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image4.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image13.gif\r
+image57.gif\r
 image187.jpg\r
 image176.jpg\r
 image165.jpg\r
 image154.jpg\r
-image37.gif\r
+image35.gif\r
 image132.jpg\r
+image24.gif\r
 image121.jpg\r
 image110.jpg\r
-image15.gif\r
-image29.jpg\r
-image18.jpg\r
+image27.jpg\r
+image13.gif\r
+image16.jpg\r
 image8.jpg\r
 image5.gif\r
-files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image101.gif\r
-files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image56.gif\r
-files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image1.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image32.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image17.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image71.gif\r
+files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image58.gif\r
+files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image53.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image27.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image14.gif\r
+image199.jpg\r
 image188.jpg\r
-image49.gif\r
 image166.jpg\r
 image144.jpg\r
 image133.jpg\r
+image25.gif\r
 image122.jpg\r
 image111.jpg\r
 image100.jpg\r
-image90.jpg\r
-image16.gif\r
-image19.jpg\r
+image28.jpg\r
+image14.gif\r
+image17.jpg\r
 image9.jpg\r
 image6.gif\r
-files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image102.gif\r
-files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image57.gif\r
-files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image2.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image33.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image18.gif\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image128.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image72.gif\r
+files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image59.gif\r
+files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image54.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image28.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image15.gif\r
+i_blue.jpg\r
+image200.jpg\r
+image59.gif\r
 image189.jpg\r
 image167.jpg\r
 image156.jpg\r
+image37.gif\r
 image145.jpg\r
 image134.jpg\r
 image123.jpg\r
 image112.jpg\r
 image101.jpg\r
-image91.jpg\r
-image80.jpg\r
-image17.gif\r
+image15.gif\r
+image29.jpg\r
+image18.jpg\r
 image7.gif\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image128.gif\r
-files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image103.gif\r
-files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image58.gif\r
-files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image3.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image34.gif\r
-salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image19.gif\r
-i_blue.jpg\r
+files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image129.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif\r
+files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image55.gif\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image29.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image16.gif\r
+image201.jpg\r
 image179.jpg\r
-image29.gif\r
+image49.gif\r
 image168.jpg\r
 image146.jpg\r
 image135.jpg\r
 image124.jpg\r
 image113.jpg\r
 image102.jpg\r
-image92.jpg\r
-image81.jpg\r
-image70.jpg\r
+image90.jpg\r
+image16.gif\r
+image19.jpg\r
 image8.gif\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image129.gif\r
-files\salome2_sp3_generationgui_functions_salome2_sp3_generationgui_functions_image59.gif\r
-files\salome2_sp3_booleangui_functions_salome2_sp3_booleangui_functions_image4.gif\r
+files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image119.gif\r
+files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image100.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image74.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image17.gif\r
+image202.jpg\r
 image169.jpg\r
 image158.jpg\r
 image147.jpg\r
 image136.jpg\r
 image125.jpg\r
 image103.jpg\r
-image93.jpg\r
-image82.jpg\r
-image71.jpg\r
-image19.gif\r
-image60.jpg\r
+image91.jpg\r
+image80.jpg\r
+image17.gif\r
 image9.gif\r
+files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image101.gif\r
+files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image90.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image75.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image18.gif\r
+image203.jpg\r
+image29.gif\r
 image137.jpg\r
 image126.jpg\r
 image115.jpg\r
 image104.jpg\r
-image94.jpg\r
-image83.jpg\r
-image72.jpg\r
-image61.jpg\r
+image92.jpg\r
+image81.jpg\r
+image70.jpg\r
+files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image102.gif\r
+files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image99.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image76.gif\r
+salome2_sp3_buildgui_functions_salome2_sp3_buildgui_functions_image19.gif\r
+image204.jpg\r
 image149.jpg\r
 image138.jpg\r
 image127.jpg\r
 image116.jpg\r
 image105.jpg\r
-image95.jpg\r
-image84.jpg\r
-image73.jpg\r
-image62.jpg\r
-image51.jpg\r
-files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image51.gif\r
-files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image87.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image27.gif\r
+image93.jpg\r
+image82.jpg\r
+image71.jpg\r
+image19.gif\r
+image60.jpg\r
+files\salome2_sp3_primitivegui_functions_salome2_sp3_primitivegui_functions_image103.gif\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image77.gif\r
+image205.jpg\r
 image139.jpg\r
 image128.jpg\r
 image117.jpg\r
 image106.jpg\r
-image96.jpg\r
-image85.jpg\r
-image74.jpg\r
-image63.jpg\r
-image52.jpg\r
-files\salome2_sp3_repairgui_functions_salome2_sp3_repairgui_functions_image119.gif\r
-files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image88.gif\r
-files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image52.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image28.gif\r
+image94.jpg\r
+image83.jpg\r
+image72.jpg\r
+image61.jpg\r
+files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image78.gif\r
+image206.jpg\r
 image129.jpg\r
 image118.jpg\r
 image107.jpg\r
-image97.jpg\r
-image86.jpg\r
-image75.jpg\r
-image53.jpg\r
-image20.jpg\r
-files\salome2_sp3_operationgui_functions_salome2_sp3_operationgui_functions_image89.gif\r
-files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image53.gif\r
-files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image29.gif\r
+image95.jpg\r
+image84.jpg\r
+image73.jpg\r
+image62.jpg\r
+image51.jpg\r
 image190.jpg\r
-image51.gif\r
 image119.jpg\r
 image108.jpg\r
-image98.jpg\r
-image87.jpg\r
-image76.jpg\r
-image65.jpg\r
-image54.jpg\r
-image21.jpg\r
-image10.jpg\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image71.gif\r
-files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image54.gif\r
-image191.jpg\r
-image180.jpg\r
-image52.gif\r
-image41.gif\r
-image109.jpg\r
-image99.jpg\r
-image88.jpg\r
-image66.jpg\r
-image55.jpg\r
-image22.jpg\r
-image11.jpg\r
+image96.jpg\r
+image85.jpg\r
+image74.jpg\r
+image63.jpg\r
+image52.jpg\r
 files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image130.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image72.gif\r
-files\salome2_sp3_displaygui_functions_salome2_sp3_displaygui_functions_image55.gif\r
-image192.jpg\r
-image181.jpg\r
-image53.gif\r
-image170.jpg\r
-image42.gif\r
-image89.jpg\r
-image78.jpg\r
-image20.gif\r
-image67.jpg\r
-image56.jpg\r
-image23.jpg\r
-image12.jpg\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image131.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image73.gif\r
-image193.jpg\r
-image182.jpg\r
-image171.jpg\r
-image160.jpg\r
-image32.gif\r
-image79.jpg\r
-image21.gif\r
-image68.jpg\r
-image57.jpg\r
-image24.jpg\r
-image13.jpg\r
-files\salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image132.gif\r
-files\salome2_sp3_measuregui_functions_salome2_sp3_measuregui_functions_image74.gif\r
-image3.jpg\r
+files\salome2_sp3_basicgui_functions_salome2_sp3_basicgui_functions_image30.gif\r
 ehlpdhtm.js\r
-geom_help.ppf\r
+geom.ppf\r
 default_ns.css\r
 whdata\whtdata0.xml\r
 whdata\whtdata0.htm\r
@@ -437,6 +449,6 @@ whgdata\whlstf3.htm
 whgdata\whlstf4.htm\r
 whgdata\whlstf5.htm\r
 whgdata\whlstg0.htm\r
-geom_help.html\r
-geom_help_csh.html\r
-geom_help_rhc.html\r
+geom.html\r
+geom_csh.html\r
+geom_rhc.html\r
index 5847850ace10e4052413e922c0c5bd7e4e2f38b6..ce53dbc61b347381a4d2da80cab4f615ac68f9c1 100755 (executable)
@@ -86,7 +86,7 @@ if (window.gbWhTopic)
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("geom_help.html");\r
+       setRelStartPage("geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index ee420e3d6707139997601a869d64111b36e1fb0c..db074bc3b7cacaf4feab5c5a0bdb8b0c18d976b3 100755 (executable)
@@ -100,7 +100,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("geom_help.html");\r
+       setRelStartPage("geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index 3f411c6319bc6c5e6d87d844c1f3c36cb6c39e62..1b5797f4baf4a526561912addcd3a98487ead404 100755 (executable)
@@ -94,7 +94,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index fcc095a1f3856fb05cf6a02c85c729d05fa36995..dc3c7060b73c784e4eb2f82e874aa234705650af 100755 (executable)
@@ -29,8 +29,8 @@
 <meta name=filetype content=kadov>\r
 <meta name=filetype-version content=1>\r
 <meta name=page-count content=1>\r
-<meta name=layout-height content=7535>\r
-<meta name=layout-width content=684>\r
+<meta name=layout-height content=8407>\r
+<meta name=layout-width content=778>\r
 \r
 \r
 <!--(Links)=========================================================-->\r
@@ -64,43 +64,82 @@ p.whs4 {font-size: 12pt;}
 p.whs5 {margin-left: 40px;}\r
 p.whs6 {font-family: 'Times New Roman', serif; font-size: 14pt;}\r
 img_whs7 {border-style: none; width: 20px; height: 20px;}\r
-p.whs8 {font-size: 12pt; margin-left: 40px;}\r
-img_whs9 {border-style: none; border: none; width: 200px; height: 176px;}\r
-p.whs10 {color: #808080; font-size: 12pt;}\r
-p.whs11 {font-size: 12pt; color: #000000;}\r
-p.whs12 {color: #808080; font-size: 12pt; margin-left: 40px;}\r
-img_whs13 {border-style: none; border: none; width: 150px; height: 140px;}\r
-img_whs14 {border-style: none; border: none; width: 150px; height: 139px;}\r
-img_whs15 {border-style: none; border: none; width: 200px; height: 193px;}\r
-img_whs16 {border-style: none; border: none; width: 150px; height: 129px;}\r
-img_whs17 {border-style: none; border: none; width: 200px; height: 211px;}\r
-p.whs18 {font-size: 12pt; margin-left: 40px; font-weight: bold;}\r
-img_whs19 {border-style: none; border: none; width: 150px; height: 154px;}\r
-img_whs20 {border-style: none; border: none; width: 200px; height: 202px;}\r
-img_whs21 {border-style: none; border: none; width: 150px; height: 123px;}\r
-p.whs22 {font-size: 14pt;}\r
-img_whs23 {border-style: none; border: none; width: 20px; height: 20px;}\r
-img_whs24 {border-style: none; border: none; width: 200px; height: 194px;}\r
-p.whs25 {font-size: 12pt; font-weight: bold;}\r
-p.whs26 {font-size: 12pt; font-weight: bold; font-style: italic; x-text-underline: off; /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ }\r
-img_whs27 {border-style: none; border: none; width: 200px; height: 181px; float: none;}\r
-img_whs28 {border-style: none; border: none; width: 175px; height: 181px;}\r
-img_whs29 {border-style: none; border: none; width: 203px; height: 181px;}\r
-img_whs30 {border-style: none; border: none; width: 200px; height: 175px;}\r
-img_whs31 {border-style: none; border: none; width: 150px; height: 128px;}\r
-img_whs32 {border-style: none; border: none; width: 200px; height: 192px;}\r
-p.whs33 {font-size: 12pt; font-weight: bold; color: #000000;}\r
-img_whs34 {border-style: none; border: none; width: 150px; height: 131px;}\r
-p.whs35 {margin-left: 40px; font-size: 12pt;}\r
-img_whs36 {border-style: none; border: none; width: 200px; height: 162px;}\r
-p.whs37 {font-size: 12pt; margin-left: 40px; font-weight: bold; text-indent: -40px;}\r
-img_whs38 {border-style: none; border: none; width: 16px; height: 16px;}\r
-p.whs39 {margin-left: 40px; font-weight: bold; text-indent: -40px; font-size: 14pt;}\r
-p.whs40 {font-weight: bold; text-indent: -40px; font-size: 14pt; margin-left: 80px;}\r
-img_whs41 {border-style: none; border: none; width: 200px; height: 185px;}\r
-p.whs42 {font-weight: bold; margin-left: 80px; text-indent: -80px; font-size: 12pt;}\r
-p.whs43 {font-weight: bold; text-indent: -80px; font-size: 12pt; margin-left: 120px;}\r
-img_whs44 {border-style: none; border: none; width: 200px; height: 219px;}\r
+table.whs8 {x-cell-content-align: top; border-spacing: 0; width: 84.306%; border-spacing: 0px;}\r
+col.whs9 {width: 33.333%;}\r
+col.whs10 {width: 28.501%;}\r
+col.whs11 {width: 31.796%;}\r
+tr.whs12 {x-cell-content-align: top;}\r
+td.whs13 {width: 33.333%; padding-right: 10px; padding-left: 10px; border-right-style: none; border-left-style: none; border-top-style: none; border-bottom-style: none;}\r
+img_whs14 {border-style: none; border: none; width: 218px; height: 250px;}\r
+td.whs15 {width: 28.501%; padding-right: 10px; padding-left: 10px; border-right-style: none; border-top-style: none; border-bottom-style: none;}\r
+p.whs16 {font-size: 12pt; margin-right: 0px;}\r
+img_whs17 {border-style: none; border: none; width: 150px; height: 250px;}\r
+td.whs18 {width: 31.796%; padding-right: 10px; padding-left: 10px; border-top-style: none; border-bottom-style: none; border-right-style: none;}\r
+img_whs19 {border-style: none; border: none; width: 170px; height: 250px;}\r
+p.whs20 {font-size: 12pt; margin-left: 40px;}\r
+p.whs21 {color: #808080; font-size: 12pt;}\r
+p.whs22 {font-size: 12pt; color: #000000;}\r
+p.whs23 {color: #808080; font-size: 12pt; margin-left: 40px;}\r
+img_whs24 {border-style: none; border: none; width: 150px; height: 140px;}\r
+img_whs25 {border-style: none; border: none; width: 200px; height: 176px;}\r
+img_whs26 {border-style: none; border: none; width: 150px; height: 139px;}\r
+table.whs27 {x-cell-content-align: top; border-spacing: 0; width: 65.278%; border-spacing: 0px;}\r
+col.whs28 {width: 50.213%;}\r
+col.whs29 {width: 49.787%;}\r
+td.whs30 {width: 50.213%; padding-right: 10px; padding-left: 10px; border-right-style: none; border-left-style: none; border-top-style: none; border-bottom-style: none;}\r
+img_whs31 {border-style: none; border: none; width: 212px; height: 250px;}\r
+td.whs32 {width: 49.787%; padding-right: 10px; padding-left: 10px; border-top-style: none; border-bottom-style: none; border-right-style: none;}\r
+img_whs33 {border-style: none; border: none; width: 211px; height: 250px;}\r
+img_whs34 {border-style: none; border: none; width: 150px; height: 129px;}\r
+img_whs35 {border-style: none; border: none; width: 200px; height: 211px;}\r
+p.whs36 {font-size: 12pt; margin-left: 40px; font-weight: bold;}\r
+img_whs37 {border-style: none; border: none; width: 150px; height: 154px;}\r
+img_whs38 {border-style: none; border: none; width: 200px; height: 202px;}\r
+img_whs39 {border-style: none; border: none; width: 150px; height: 123px;}\r
+p.whs40 {font-size: 14pt;}\r
+img_whs41 {border-style: none; border: none; width: 20px; height: 20px;}\r
+img_whs42 {border-style: none; border: none; width: 200px; height: 194px;}\r
+p.whs43 {font-size: 12pt; font-weight: bold;}\r
+p.whs44 {font-size: 12pt; font-weight: bold; font-style: italic; x-text-underline: off; /*begin!kadov{{*/ text-decoration: none; /*}}end!kadov*/ }\r
+img_whs45 {border-style: none; border: none; width: 200px; height: 181px; float: none;}\r
+img_whs46 {border-style: none; border: none; width: 175px; height: 181px;}\r
+img_whs47 {border-style: none; border: none; width: 203px; height: 181px;}\r
+img_whs48 {border-style: none; border: none; width: 200px; height: 175px;}\r
+img_whs49 {border-style: none; border: none; width: 150px; height: 128px;}\r
+table.whs50 {x-cell-content-align: top; border-spacing: 0; width: 94.306%; border-spacing: 0px;}\r
+col.whs51 {width: 32.254%;}\r
+col.whs52 {width: 32.547%;}\r
+col.whs53 {width: 35.199%;}\r
+td.whs54 {width: 32.254%; padding-right: 10px; padding-left: 10px; border-right-style: none; border-left-style: none; border-top-style: none; border-bottom-style: none;}\r
+img_whs55 {border-style: none; border: none; width: 196px; height: 250px;}\r
+td.whs56 {width: 32.547%; padding-right: 10px; padding-left: 10px; border-right-style: none; border-top-style: none; border-bottom-style: none;}\r
+img_whs57 {border-style: none; border: none; width: 195px; height: 250px;}\r
+td.whs58 {width: 35.199%; padding-right: 10px; padding-left: 10px; border-top-style: none; border-bottom-style: none; border-right-style: none;}\r
+img_whs59 {border-style: none; border: none; width: 214px; height: 250px;}\r
+p.whs60 {font-size: 12pt; font-weight: bold; color: #000000;}\r
+img_whs61 {border-style: none; border: none; width: 150px; height: 131px;}\r
+table.whs62 {x-cell-content-align: top; width: 100%; border-spacing: 0;}\r
+td.whs63 {padding-right: 10px; padding-left: 10px; border-right-style: none; border-left-style: none; border-top-style: none; border-bottom-style: none;}\r
+img_whs64 {border: none; width: 234px; height: 200px;}\r
+td.whs65 {padding-right: 10px; padding-left: 10px; border-right-style: none; border-top-style: none; border-bottom-style: none;}\r
+img_whs66 {border: none; width: 235px; height: 200px;}\r
+td.whs67 {padding-right: 10px; padding-left: 10px; border-top-style: none; border-bottom-style: none; border-right-style: none;}\r
+img_whs68 {border-style: none; border: none; width: 221px; height: 200px;}\r
+p.whs69 {font-size: 12pt; margin-left: 0px;}\r
+p.whs70 {font-size: 12pt; margin-left: 40px; font-weight: bold; text-indent: -40px;}\r
+img_whs71 {border-style: none; border: none; width: 16px; height: 16px;}\r
+table.whs72 {x-cell-content-align: top; border-spacing: 0; width: 81.667%;}\r
+col.whs73 {width: 4.762%;}\r
+p.whs74 {font-weight: bold; font-size: 14pt;}\r
+img_whs75 {border: none; width: 272px; height: 250px;}\r
+img_whs76 {border: none; width: 242px; height: 250px;}\r
+p.whs77 {margin-left: 40px; font-weight: bold; text-indent: -40px; font-size: 14pt;}\r
+p.whs78 {font-weight: bold; text-indent: -40px; font-size: 14pt; margin-left: 40px;}\r
+img_whs79 {border: none; width: 257px; height: 250px;}\r
+p.whs80 {font-weight: bold; text-indent: -40px; font-size: 14pt; margin-left: 80px;}\r
+p.whs81 {font-weight: bold; margin-left: 80px; text-indent: -80px; font-size: 12pt;}\r
+p.whs82 {font-weight: bold; text-indent: -80px; font-size: 12pt; margin-left: 120px;}\r
+img_whs83 {border-style: none; border: none; width: 200px; height: 219px;}\r
 -->\r
 </style>\r
 <script type="text/javascript" language="JavaScript">\r
@@ -108,11 +147,14 @@ img_whs44 {border-style: none; border: none; width: 200px; height: 219px;}
 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
 {\r
   var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs37 {text-indent:1; }";\r
-  strNSS += "p.whs39 {text-indent:1; }";\r
-  strNSS += "p.whs40 {text-indent:1; }";\r
-  strNSS += "p.whs42 {text-indent:1; }";\r
-  strNSS += "p.whs43 {text-indent:1; }";\r
+  strNSS += "p.whs16 {margin-right:1; }";\r
+  strNSS += "p.whs69 {margin-left:1; }";\r
+  strNSS += "p.whs70 {text-indent:1; }";\r
+  strNSS += "p.whs77 {text-indent:1; }";\r
+  strNSS += "p.whs78 {text-indent:1; }";\r
+  strNSS += "p.whs80 {text-indent:1; }";\r
+  strNSS += "p.whs81 {text-indent:1; }";\r
+  strNSS += "p.whs82 {text-indent:1; }";\r
   strNSS +="</style>";\r
   document.write(strNSS);\r
 }\r
@@ -167,7 +209,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
@@ -279,6 +321,10 @@ else
        <li class=kadov-p><p class="whs4"><b style="font-weight: bold;">1st \r
  Constructor:</b> 3 coordinates.</p></li>\r
        \r
+       <li class=kadov-p><p class="whs4"><span style="font-weight: bold;"><B>2nd \r
+ Constructor: </B></span><span>1 reference point + 3 coordinates defining the \r
+ position of this point regarding the reference one</span></p></li>\r
+       \r
        <li class=kadov-p><p class="whs4"><b style="font-weight: bold;">2nd \r
  Constructor:</b> 1 edge &nbsp;+ \r
  1 Parameter defining the position of the point on the given edge.</p></li>\r
@@ -290,17 +336,36 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs8"><img src="../image63.jpg" width="200px" height="176px" border="0" class="img_whs9"> &nbsp;<img src="../image65.jpg" width="200px" height="176px" border="0" class="img_whs9"></p>\r
+<!--(Table)=========================================================-->\r
+<table x-use-null-cells cellspacing="0" width="84.306%" class="whs8">\r
+<col class="whs9">\r
+<col class="whs10">\r
+<col class="whs11">\r
+\r
+<tr valign="top" class="whs12">\r
+<td width="33.333%" class="whs13">\r
+<p class="whs4"><img src="../image207.jpg" width="218px" height="250px" border="0" class="img_whs14"></td>\r
+<td width="28.501%" class="whs15">\r
+<p class="whs16"><img src="../image208.jpg" width="150px" height="250px" border="0" class="img_whs17"></td>\r
+<td width="31.796%" class="whs18">\r
+<p class="whs4"><img src="../image209.jpg" width="170px" height="250px" border="0" class="img_whs19"></td></tr>\r
+</table>\r
+\r
+<p class="whs4">&nbsp;</p>\r
+\r
+<p class="whs4">&nbsp;</p>\r
+\r
+<p class="whs20">&nbsp;&nbsp;&nbsp;</p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs11"><b style="font-weight: bold;">Example:</b></p>\r
+<p class="whs22"><b style="font-weight: bold;">Example:</b></p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs12"><img src="../image16.gif" width="150px" height="140px" border="0" class="img_whs13"></p>\r
+<p class="whs23"><img src="../image16.gif" width="150px" height="140px" border="0" class="img_whs24"></p>\r
 \r
-<p class="whs12">&nbsp;</p>\r
+<p class="whs23">&nbsp;</p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
@@ -335,15 +400,15 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs8"><img src="../image66.jpg" width="200px" height="176px" border="0" class="img_whs9"></p>\r
+<p class="whs20"><img src="../image66.jpg" width="200px" height="176px" border="0" class="img_whs25"></p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs11"><b style="font-weight: bold;">Example:</b></p>\r
+<p class="whs22"><b style="font-weight: bold;">Example:</b></p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs12"><img src="../image67.jpg" width="150px" height="139px" border="0" class="img_whs14"></p>\r
+<p class="whs23"><img src="../image67.jpg" width="150px" height="139px" border="0" class="img_whs26"></p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
@@ -372,7 +437,21 @@ else
 <p class="whs4">&nbsp;</p>\r
 \r
 <p class="whs4"><b style="font-weight: bold;">Arguments:</b> \r
- 1 vertex (for the center) + 1 edge (for the direction) + Radius.</p>\r
+ </p>\r
+\r
+<ul>\r
+       \r
+       <li class=kadov-p><p class="whs4"><b style="font-weight: bold;">1st \r
+ Constructor:</b> 1 vertex (for the center) + 1 edge (for the direction) \r
+ + Radius.</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs4"><span style="font-weight: bold;"><B>2nd \r
+ Constructor: </B></span><span>3 points which will form the circle.</span></p></li>\r
+</ul>\r
+\r
+<p class="whs4">&nbsp;</p>\r
+\r
+<p class="whs4">&nbsp;</p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
@@ -380,15 +459,31 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs8"><img src="../image68.jpg" width="200px" height="193px" border="0" class="img_whs15"></p>\r
+<!--(Table)=========================================================-->\r
+<table x-use-null-cells cellspacing="0" width="65.278%" class="whs27">\r
+<col class="whs28">\r
+<col class="whs29">\r
+\r
+<tr valign="top" class="whs12">\r
+<td width="50.213%" class="whs30">\r
+<p class="whs4"><img src="../image210.jpg" width="212px" height="250px" border="0" class="img_whs31"></td>\r
+<td width="49.787%" class="whs32">\r
+<p class="whs4"><img src="../image211.jpg" width="211px" height="250px" border="0" class="img_whs33"></td></tr>\r
+</table>\r
+\r
+<p class="whs4">&nbsp;</p>\r
+\r
+<p class="whs4">&nbsp;</p>\r
+\r
+<p class="whs20">&nbsp;</p>\r
 \r
-<p class="whs8">&nbsp;</p>\r
+<p class="whs20">&nbsp;</p>\r
 \r
-<p class="whs11"><b style="font-weight: bold;">Example:</b></p>\r
+<p class="whs22"><b style="font-weight: bold;">Example:</b></p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs12"><img src="../image17.gif" width="150px" height="129px" border="0" class="img_whs16"></p>\r
+<p class="whs23"><img src="../image17.gif" width="150px" height="129px" border="0" class="img_whs34"></p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
@@ -425,15 +520,15 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs8"><img src="../image69.jpg" width="200px" height="211px" border="0" class="img_whs17"></p>\r
+<p class="whs20"><img src="../image69.jpg" width="200px" height="211px" border="0" class="img_whs35"></p>\r
 \r
-<p class="whs18">&nbsp;</p>\r
+<p class="whs36">&nbsp;</p>\r
 \r
-<p class="whs11"><b style="font-weight: bold;">Example:</b></p>\r
+<p class="whs22"><b style="font-weight: bold;">Example:</b></p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs12"><img src="../image19.gif" width="150px" height="154px" border="0" class="img_whs19"></p>\r
+<p class="whs23"><img src="../image19.gif" width="150px" height="154px" border="0" class="img_whs37"></p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
@@ -470,21 +565,21 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs8"><img src="../image70.jpg" width="200px" height="202px" border="0" class="img_whs20"></p>\r
+<p class="whs20"><img src="../image70.jpg" width="200px" height="202px" border="0" class="img_whs38"></p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs11"><b style="font-weight: bold;">Example:</b></p>\r
+<p class="whs22"><b style="font-weight: bold;">Example:</b></p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs12"><img src="../image20.gif" width="150px" height="123px" border="0" class="img_whs21"></p>\r
+<p class="whs23"><img src="../image20.gif" width="150px" height="123px" border="0" class="img_whs39"></p>\r
 \r
-<p class="whs12">&nbsp;</p>\r
+<p class="whs23">&nbsp;</p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs22"><b style="font-weight: bold;"><a NAME=_Toc57604488><img src="../image32.gif" width="20px" height="20px" border="0" class="img_whs23"> Curve</a></b></p>\r
+<p class="whs40"><b style="font-weight: bold;"><a NAME=_Toc57604488><img src="../image32.gif" width="20px" height="20px" border="0" class="img_whs41"> Curve</a></b></p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
@@ -524,21 +619,21 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs8"><img src="../image144.jpg" width="200px" height="194px" border="0" class="img_whs24"></p>\r
+<p class="whs20"><img src="../image144.jpg" width="200px" height="194px" border="0" class="img_whs42"></p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs25">Example:</p>\r
+<p class="whs43">Example:</p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs26">Polyline \r
+<p class="whs44">Polyline \r
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bezier \r
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B-Spline</p>\r
 \r
-<p class="whs4"><img src="../image147.jpg" x-maintain-ratio="TRUE" width="200px" height="181px" border="0" class="img_whs27"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../image149.jpg" width="175px" height="181px" border="0" class="img_whs28"> &nbsp;&nbsp;&nbsp;&nbsp;<img src="../image150.jpg" width="203px" height="181px" border="0" class="img_whs29"></p>\r
+<p class="whs4"><img src="../image147.jpg" x-maintain-ratio="TRUE" width="200px" height="181px" border="0" class="img_whs45"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../image149.jpg" width="175px" height="181px" border="0" class="img_whs46"> &nbsp;&nbsp;&nbsp;&nbsp;<img src="../image150.jpg" width="203px" height="181px" border="0" class="img_whs47"></p>\r
 \r
-<p class="whs8">&nbsp;</p>\r
+<p class="whs20">&nbsp;</p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
@@ -582,15 +677,15 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs8"><img src="../image71.jpg" width="200px" height="175px" border="0" class="img_whs30"> &nbsp;&nbsp;&nbsp;<img src="../image72.jpg" width="200px" height="175px" border="0" class="img_whs30"></p>\r
+<p class="whs20"><img src="../image71.jpg" width="200px" height="175px" border="0" class="img_whs48"> &nbsp;&nbsp;&nbsp;<img src="../image72.jpg" width="200px" height="175px" border="0" class="img_whs48"></p>\r
 \r
-<p class="whs8">&nbsp;</p>\r
+<p class="whs20">&nbsp;</p>\r
 \r
-<p class="whs11"><b style="font-weight: bold;">Example:</b></p>\r
+<p class="whs22"><b style="font-weight: bold;">Example:</b></p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs12"><img src="../image21.gif" width="150px" height="128px" border="0" class="img_whs31"></p>\r
+<p class="whs23"><img src="../image21.gif" width="150px" height="128px" border="0" class="img_whs49"></p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
@@ -622,15 +717,15 @@ else
 <ul>\r
        \r
        <li class=kadov-p><p class="whs4"><b style="font-weight: bold;">1st \r
- Constructor :</b> 1 vertex + 1 edge &nbsp;+ \r
+ Constructor :</b> 1 vertex + 1 vector &nbsp;+ \r
  1 value (to define the size of the plane).</p></li>\r
        \r
        <li class=kadov-p><p class="whs4"><b style="font-weight: bold;">2nd \r
- Constructor :</b> 1 vertex + 3 values (for the direction) + 1 value (to \r
+ Constructor :</b> 1 vertex + 3 points (for the direction) + 1 value (to \r
  define the size of the plane).</p></li>\r
        \r
        <li class=kadov-p><p class="whs4"><b style="font-weight: bold;">3rd \r
- Constructor :</b> 1 face + 1 value (to define the size of the plane).</p></li>\r
+ Constructor :</b> 1 selection + 1 value (to define the size of the plane).</p></li>\r
 </ul>\r
 \r
 <p class="whs4">&nbsp;</p>\r
@@ -639,15 +734,34 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs4">&nbsp; <img src="../image73.jpg" width="200px" height="192px" border="0" class="img_whs32"> &nbsp;<img src="../image74.jpg" width="200px" height="192px" border="0" class="img_whs32"> &nbsp;<img src="../image75.jpg" width="200px" height="192px" border="0" class="img_whs32"> &nbsp;</p>\r
+<!--(Table)=========================================================-->\r
+<table x-use-null-cells cellspacing="0" width="94.306%" class="whs50">\r
+<col class="whs51">\r
+<col class="whs52">\r
+<col class="whs53">\r
+\r
+<tr valign="top" class="whs12">\r
+<td width="32.254%" class="whs54">\r
+<p class="whs4"><img src="../image212.jpg" width="196px" height="250px" border="0" class="img_whs55"></td>\r
+<td width="32.547%" class="whs56">\r
+<p class="whs4"><img src="../image213.jpg" width="195px" height="250px" border="0" class="img_whs57"></td>\r
+<td width="35.199%" class="whs58">\r
+<p class="whs4"><img src="../image214.jpg" width="214px" height="250px" border="0" class="img_whs59"></td></tr>\r
+</table>\r
+\r
+<p class="whs4">&nbsp;</p>\r
+\r
+<p class="whs4">&nbsp;</p>\r
+\r
+<p class="whs4">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs33"><b><span style="font-weight: bold;"><B>Example:</B></span></b></p>\r
+<p class="whs60"><b><span style="font-weight: bold;"><B>Example:</B></span></b></p>\r
 \r
-<p class="whs10">&nbsp;</p>\r
+<p class="whs21">&nbsp;</p>\r
 \r
-<p class="whs12"><img src="../image76.jpg" width="150px" height="131px" border="0" class="img_whs34"></p>\r
+<p class="whs23"><img src="../image76.jpg" width="150px" height="131px" border="0" class="img_whs61"></p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
@@ -669,7 +783,8 @@ else
 \r
 <ul type="disc" class="whs3">\r
        \r
-       <li class=kadov-p><p class="whs4">1 face, or</p></li>\r
+       <li class=kadov-p><p class="whs4">1 selection (face or \r
+ planar face), or</p></li>\r
        \r
        <li class=kadov-p><p class="whs4">2 vectors, or</p></li>\r
        \r
@@ -680,23 +795,40 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs4"><b style="font-weight: bold;">Dialog Box:</b></p>\r
+<p class="whs4"><b>Dialog Box:</b></p>\r
+\r
+<p class="whs4">&nbsp;</p>\r
+\r
+<!--(Table)=========================================================-->\r
+<table x-use-null-cells cellspacing="0" width="100%" class="whs62">\r
+<col class="whs9">\r
+<col class="whs9">\r
+<col class="whs9">\r
+\r
+<tr valign=top>\r
+<td width="33.333%" class="whs63">\r
+<p class="whs4"><img src="../image216.jpg" width="234px" height="200px" border="0" class="img_whs64"></td>\r
+<td width="33.333%" class="whs65">\r
+<p class="whs4"><img src="../image217.jpg" width="235px" height="200px" border="0" class="img_whs66"></td>\r
+<td width="33.333%" class="whs67">\r
+<p class="whs4"><img src="../image215.jpg" width="221px" height="200px" border="0" class="img_whs68"></td></tr>\r
+</table>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs35"><img src="../image175.jpg" width="200px" height="162px" border="0" class="img_whs36"></p>\r
+<p class="whs69">&nbsp;</p>\r
 \r
-<p class="whs8">&nbsp;</p>\r
+<p class="whs20">&nbsp;</p>\r
 \r
-<p class="whs18">&nbsp;</p>\r
+<p class="whs36">&nbsp;</p>\r
 \r
-<p class="whs37">&nbsp;</p>\r
+<p class="whs70">&nbsp;</p>\r
 \r
-<p class="whs37"><a name=_Toc57604489><img src="../image35.gif" width="16px" height="16px" border="0" class="img_whs38"><span \r
+<p class="whs70"><a name=_Toc57604489><img src="../image35.gif" width="16px" height="16px" border="0" class="img_whs71"><span \r
  style="font-size: 14pt;"> <font size=4 style="font-size:14pt;"></font></span><b><span style="font-size: 14pt;"><font size=4 style="font-size:14pt;">Local \r
  coordinate system</font></span></b></a></p>\r
 \r
-<p class="whs37">&nbsp;</p>\r
+<p class="whs70">&nbsp;</p>\r
 \r
 <p class="whs4"><b style="font-weight: bold;">Description:</b> \r
  &nbsp;The user \r
@@ -730,30 +862,57 @@ else
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs4"><b style="font-weight: bold;">Arguments:</b> \r
- </p>\r
+<p class="whs4"><b>Arguments:</b> </p>\r
+\r
+<ul>\r
+       \r
+       <li class=kadov-p><p class="whs4"><b>1st Constructor :</b> \r
+ Coordinates of origin, <span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">X axis direction, \r
+ Y axis direction</font></span></p></li>\r
+       \r
+       <li class=kadov-p><p class="whs4"><b>2nd Constructor :</b> \r
+ reference object.</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs4"><b>3rd Constructor :</b> \r
+ 1 point of origin + X axis direction, Y axis direction.</p></li>\r
+</ul>\r
+\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs4">Coordinates of origin</p>\r
+<p class="whs4">.</p>\r
 \r
-<p class="whs4">X axis direction</p>\r
+<p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs4"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;">Y axis direction</font></span>.</p>\r
+<p class="whs4"><b>Dialog Box:</b></p>\r
 \r
 <p class="whs4">&nbsp;</p>\r
 \r
-<p class="whs4"><b style="font-weight: bold;">Dialog Box:</b></p>\r
+<!--(Table)=========================================================-->\r
+<table x-use-null-cells width="81.667%" cellspacing="0" class="whs72">\r
+<col class="whs9">\r
+<col class="whs9">\r
+<col class="whs73">\r
+\r
+<tr valign=top>\r
+<td width="33.333%" class="whs63">\r
+<p class="whs74"><img src="../image220.jpg" width="272px" height="250px" border="0" class="img_whs75"></td>\r
+<td width="33.333%" class="whs65">\r
+<p class="whs74"><img src="../image219.jpg" width="242px" height="250px" border="0" class="img_whs76"></td>\r
+<td width="4.762%" class="whs67">\r
+<p class="whs74">&nbsp;</td></tr>\r
+</table>\r
 \r
-<p class="whs39">&nbsp;</p>\r
+<p class="whs77">&nbsp;</p>\r
 \r
-<p class="whs40"><img src="../image146.jpg" width="200px" height="185px" border="0" class="img_whs41"></p>\r
+<p class="whs78">&nbsp;<img src="../image218.jpg" width="257px" height="250px" border="0" class="img_whs79"></p>\r
 \r
-<p class="whs40">&nbsp;</p>\r
+<p class="whs80">&nbsp;</p>\r
 \r
-<p class="whs42">Example:</p>\r
+<p class="whs81">Example:</p>\r
 \r
-<p class="whs42">&nbsp;</p>\r
+<p class="whs81">&nbsp;</p>\r
 \r
-<p class="whs43"><img src="../image145.jpg" width="200px" height="219px" border="0" class="img_whs44"></p>\r
+<p class="whs82"><img src="../image145.jpg" width="200px" height="219px" border="0" class="img_whs83"></p>\r
 \r
 <script type="text/javascript" language="javascript1.2">\r
 <!--\r
index 2f2b49b65ea85d88b86a0f345ca22b86ea3e5105..35a35ff0c3dafb7530cd92faf2fea145da0894bb 100755 (executable)
@@ -130,7 +130,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index 537b57fc4de0af28c3bf6f262440aed9882d76d1..bf2ce3777c93079391212d06e1c425e837e29342 100755 (executable)
@@ -115,7 +115,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index 576f449a7e31401984d118f45f85a7f69bcbf216..af0c4cf8b48b8c0d0eeddad65321ea1ba570bc29 100755 (executable)
@@ -101,7 +101,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index 22b819a8f5ab1599404dbb4bcf4ffae1ab23d6f0..260fc51a76ce86213e53a29057702298e50f8ac3 100755 (executable)
@@ -123,7 +123,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index 8526e53fe4b7f2a05ba958780229d6585704843c..c70dca7fa69e94d39a5ebd09becd772814cefdcf 100755 (executable)
@@ -30,8 +30,8 @@
 <meta name=filetype content=kadov>\r
 <meta name=filetype-version content=1>\r
 <meta name=page-count content=1>\r
-<meta name=layout-height content=1054>\r
-<meta name=layout-width content=547>\r
+<meta name=layout-height content=1096>\r
+<meta name=layout-width content=532>\r
 \r
 \r
 <!--(Links)=========================================================-->\r
@@ -101,7 +101,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index 214832d3b0361beb035d25adda1f5e238d7b46ec..c85165ba1de26da1ac61c61f30ea39fb8299bd13 100755 (executable)
@@ -131,7 +131,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index fe4d09919776270cf5080d809d545aae874813df..2e86269593ca25f63f84cc5eaa7b06fc3400d421 100755 (executable)
@@ -156,7 +156,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index dc78563ac67853d6fbbd694a8f237b6b3e156e88..95806a8e87762645739a1698557a9962f667f4db 100755 (executable)
@@ -112,7 +112,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index 1caa9c1bd4653535c43494db033b2abaab0dfd1d..c4e183e2ded2a05f4e8cb41dbaf5e18708c8f196 100755 (executable)
@@ -29,8 +29,8 @@
 <meta name=filetype content=kadov>\r
 <meta name=filetype-version content=1>\r
 <meta name=page-count content=1>\r
-<meta name=layout-height content=8452>\r
-<meta name=layout-width content=532>\r
+<meta name=layout-height content=8252>\r
+<meta name=layout-width content=766>\r
 \r
 \r
 <!--(Links)=========================================================-->\r
@@ -101,14 +101,20 @@ p.whs41 {margin-left: 80px; font-size: 12pt; text-indent: -40px;}
 img_whs42 {border-style: none; border: none; width: 200px; height: 231px;}\r
 img_whs43 {border-style: none; border: none; width: 185px; height: 231px;}\r
 p.whs44 {font-size: 12pt; text-indent: -68px; margin-left: 72px;}\r
-p.whs45 {font-size: 12pt; text-indent: -40px; margin-left: 80px;}\r
-p.whs46 {font-size: 12pt; margin-left: 80px; text-indent: -80px;}\r
-p.whs47 {font-size: 12pt; margin-left: 80px; text-indent: -68px;}\r
-img_whs48 {border-style: none; border: none; width: 200px; height: 180px;}\r
-p.whs49 {font-size: 12pt; margin-left: 0px;}\r
-img_whs50 {border-style: none; border: none; width: 209px; height: 138px;}\r
-img_whs51 {border-style: none; border: none; width: 192px; height: 138px;}\r
-img_whs52 {border-style: none; border: none; width: 191px; height: 138px;}\r
+p.whs45 {font-size: 12pt; text-indent: -68px; margin-left: 112px;}\r
+img_whs46 {border-style: none; border: none; width: 200px; height: 216px;}\r
+p.whs47 {font-size: 12pt; margin-left: 112px; text-indent: -112px;}\r
+p.whs48 {font-size: 12pt; text-indent: -112px; margin-left: 152px;}\r
+img_whs49 {border-style: none; border: none; width: 200px; height: 150px; float: none;}\r
+img_whs50 {border-style: none; border: none; width: 204px; height: 150px;}\r
+p.whs51 {font-size: 12pt; text-indent: -40px; margin-left: 80px;}\r
+p.whs52 {font-size: 12pt; margin-left: 80px; text-indent: -80px;}\r
+p.whs53 {font-size: 12pt; margin-left: 80px; text-indent: -68px;}\r
+img_whs54 {border-style: none; border: none; width: 200px; height: 180px;}\r
+p.whs55 {font-size: 12pt; margin-left: 0px;}\r
+img_whs56 {border-style: none; border: none; width: 209px; height: 138px;}\r
+img_whs57 {border-style: none; border: none; width: 192px; height: 138px;}\r
+img_whs58 {border-style: none; border: none; width: 191px; height: 138px;}\r
 -->\r
 </style>\r
 <script type="text/javascript" language="JavaScript">\r
@@ -121,9 +127,12 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
   strNSS += "p.whs41 {text-indent:1; }";\r
   strNSS += "p.whs44 {text-indent:1; }";\r
   strNSS += "p.whs45 {text-indent:1; }";\r
-  strNSS += "p.whs46 {text-indent:1; }";\r
   strNSS += "p.whs47 {text-indent:1; }";\r
-  strNSS += "p.whs49 {margin-left:1; }";\r
+  strNSS += "p.whs48 {text-indent:1; }";\r
+  strNSS += "p.whs51 {text-indent:1; }";\r
+  strNSS += "p.whs52 {text-indent:1; }";\r
+  strNSS += "p.whs53 {text-indent:1; }";\r
+  strNSS += "p.whs55 {margin-left:1; }";\r
   strNSS +="</style>";\r
   document.write(strNSS);\r
 }\r
@@ -178,7 +187,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
@@ -219,6 +228,9 @@ else
        <li class=kadov-p><p class="whs1"><a \r
  HREF="#_Toc57113182">&nbsp;</a><a HREF="#sewing">Sewing</a></p></li>\r
        \r
+       <li class=kadov-p><p class="whs1">&nbsp;<a \r
+ href="#Glue_faces">Glue faces</a></p></li>\r
+       \r
        <li class=kadov-p><p class="whs1"><a \r
  HREF="#_Toc57113183">&nbsp;</a><a href="#AddPointOnEdge">Add \r
  point on edge</a></p></li>\r
@@ -752,13 +764,65 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
 \r
 <p class="whs44">&nbsp;</p>\r
 \r
-<p class="whs45">&nbsp;</p>\r
+<p class="whs44">&nbsp;</p>\r
 \r
-<p class="whs46"><a name=CheckFreeBound><img src="../image44.gif" width="22px" height="22px" border="0" class="img_whs35"> <span \r
- style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Check free boundaries</B></font></span></a></p>\r
+<p class="whs44">&nbsp;</p>\r
+\r
+<p class="whs44"><a name=Glue_faces><img src="../image61.gif" width="25px" height="24px" border="0" class="img_whs6"><span \r
+ style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B> Glue faces</B></font></span></a></p>\r
+\r
+<p class="whs44">&nbsp;</p>\r
+\r
+<p class="whs44"><b style="font-weight: bold;">Description:</b> \r
+ Glues faces that are coincident with respect to the given tolerance </p>\r
+\r
+<p class="whs44">value.</p>\r
+\r
+<p class="whs44">&nbsp;</p>\r
+\r
+<p class="whs44"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Result:</b> \r
+ GEOM_Object.</font></span></p>\r
+\r
+<p class="whs44">&nbsp;</p>\r
+\r
+<p class="whs44"><b style="font-weight: bold;">TUI Command \r
+ : </b><span style="font-style: italic;"><I>geompy.MakeGlueFaces(theShape, \r
+ theTolerance)</I></span>, where theShape is a compound of shapesto be glued, \r
+ theTolerance is a maximum distance between two faces, which can be considered \r
+ as coincident.</p>\r
+\r
+<p class="whs44"><i><span style="font-style: italic;"><I>&nbsp;</I></span></i></p>\r
+\r
+<p class="whs44"><b style="font-weight: bold;">Arguments: \r
+ </b>1 <i><span style="font-style: normal;">Compound + Tolerance Value</span></i></p>\r
+\r
+<p class="whs44">&nbsp;</p>\r
+\r
+<p class="whs44"><b style="font-weight: bold;">Dialog Box:</b></p>\r
+\r
+<p class="whs44">&nbsp;</p>\r
+\r
+<p class="whs45"><img src="../image200.jpg" width="200px" height="216px" border="0" class="img_whs46"></p>\r
 \r
 <p class="whs47">&nbsp;</p>\r
 \r
+<p class="whs47"><b style="font-weight: bold;">Example:</b></p>\r
+\r
+<p class="whs47">&nbsp;</p>\r
+\r
+<p class="whs48"><img src="../image201.jpg" x-maintain-ratio="TRUE" width="200px" height="150px" border="0" class="img_whs49"> &nbsp;&nbsp;<img src="../image202.jpg" width="204px" height="150px" border="0" class="img_whs50"></p>\r
+\r
+<p class="whs51">&nbsp;</p>\r
+\r
+<p class="whs51">&nbsp;</p>\r
+\r
+<p class="whs51">&nbsp;</p>\r
+\r
+<p class="whs52"><a name=CheckFreeBound><img src="../image44.gif" width="22px" height="22px" border="0" class="img_whs35"> <span \r
+ style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Check free boundaries</B></font></span></a></p>\r
+\r
+<p class="whs53">&nbsp;</p>\r
+\r
 <p class="whs4"><b style="font-weight: bold;">Description:</b> \r
  Detects wires and edges that correspond to the shape's boundary, and highlights \r
  it</p>\r
@@ -787,19 +851,19 @@ if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))
 \r
 <p class="whs36">&nbsp;</p>\r
 \r
-<p class="whs15"><b style="font-weight: bold;"><img src="../image169.jpg" width="200px" height="180px" border="0" class="img_whs48"></b></p>\r
+<p class="whs15"><b style="font-weight: bold;"><img src="../image169.jpg" width="200px" height="180px" border="0" class="img_whs54"></b></p>\r
 \r
-<p class="whs49">&nbsp;</p>\r
+<p class="whs55">&nbsp;</p>\r
 \r
-<p class="whs49"><b style="font-weight: bold;">Example:</b></p>\r
+<p class="whs55"><b style="font-weight: bold;">Example:</b></p>\r
 \r
-<p class="whs49">&nbsp;</p>\r
+<p class="whs55">&nbsp;</p>\r
 \r
-<p class="whs49"><img src="../image170.jpg" width="209px" height="138px" border="0" class="img_whs50"> &nbsp;<img src="../image171.jpg" width="192px" height="138px" border="0" class="img_whs51">&nbsp; <img src="../image172.jpg" width="191px" height="138px" border="0" class="img_whs52"></p>\r
+<p class="whs55"><img src="../image170.jpg" width="209px" height="138px" border="0" class="img_whs56"> &nbsp;<img src="../image171.jpg" width="192px" height="138px" border="0" class="img_whs57">&nbsp; <img src="../image172.jpg" width="191px" height="138px" border="0" class="img_whs58"></p>\r
 \r
-<p class="whs49">&nbsp;</p>\r
+<p class="whs55">&nbsp;</p>\r
 \r
-<p class="whs49">&nbsp;</p>\r
+<p class="whs55">&nbsp;</p>\r
 \r
 <script type="text/javascript" language="javascript1.2">\r
 <!--\r
index b65f514d6b42239318e1400d78606a4cfd9adf53..345a72190d44c321aa93c7e8b9294a795a9e7fcd 100755 (executable)
@@ -29,8 +29,8 @@
 <meta name=filetype content=kadov>\r
 <meta name=filetype-version content=1>\r
 <meta name=page-count content=1>\r
-<meta name=layout-height content=6092>\r
-<meta name=layout-width content=517>\r
+<meta name=layout-height content=7022>\r
+<meta name=layout-width content=510>\r
 \r
 \r
 <!--(Links)=========================================================-->\r
@@ -73,19 +73,26 @@ p.whs9 {margin-left: 40px;}
 img_whs10 {border-style: none; border: none; width: 150px; height: 163px;}\r
 img_whs11 {border-style: none; border: none; width: 200px; height: 193px;}\r
 img_whs12 {border-style: none; border: none; width: 150px; height: 145px;}\r
-img_whs13 {border-style: none; border: none; width: 200px; height: 176px;}\r
-img_whs14 {border-style: none; border: none; width: 150px; height: 127px;}\r
-p.whs15 {margin-left: 40px; font-size: 12pt;}\r
-img_whs16 {border-style: none; border: none; width: 150px; height: 153px;}\r
-p.whs17 {font-size: 12pt; margin-left: 40px; text-indent: -40px;}\r
-img_whs18 {border-style: none; border: none; width: 24px; height: 22px;}\r
-img_whs19 {border-style: none; border: none; width: 200px; height: 164px;}\r
-p.whs20 {font-size: 12pt; font-weight: bold;}\r
-img_whs21 {border-style: none; border: none; width: 200px; height: 191px;}\r
-img_whs22 {border-style: none; border: none; width: 200px; height: 227px;}\r
-img_whs23 {border-style: none; border: none; width: 150px; height: 123px;}\r
-img_whs24 {border-style: none; border: none; width: 150px; height: 128px;}\r
-img_whs25 {border-style: none; border: none; width: 150px; height: 113px;}\r
+p.whs13 {margin-left: 48px; text-indent: -48px;}\r
+p.whs14 {margin-left: 48px; text-indent: -48px; font-size: 14pt; font-weight: bold;}\r
+img_whs15 {border-style: none; border: none; width: 25px; height: 22px;}\r
+img_whs16 {border-style: none; border: none; width: 209px; height: 234px;}\r
+img_whs17 {border-style: none; border: none; width: 200px; height: 234px;}\r
+p.whs18 {font-size: 12pt; margin-left: 40px; text-indent: -40px;}\r
+p.whs19 {font-size: 12pt; text-indent: -40px; margin-left: 80px;}\r
+img_whs20 {border-style: none; border: none; width: 200px; height: 209px;}\r
+img_whs21 {border-style: none; border: none; width: 200px; height: 176px;}\r
+img_whs22 {border-style: none; border: none; width: 150px; height: 127px;}\r
+p.whs23 {margin-left: 40px; font-size: 12pt;}\r
+img_whs24 {border-style: none; border: none; width: 150px; height: 153px;}\r
+img_whs25 {border-style: none; border: none; width: 24px; height: 22px;}\r
+img_whs26 {border-style: none; border: none; width: 200px; height: 164px;}\r
+p.whs27 {font-size: 12pt; font-weight: bold;}\r
+img_whs28 {border-style: none; border: none; width: 200px; height: 191px;}\r
+img_whs29 {border-style: none; border: none; width: 200px; height: 227px;}\r
+img_whs30 {border-style: none; border: none; width: 150px; height: 123px;}\r
+img_whs31 {border-style: none; border: none; width: 150px; height: 128px;}\r
+img_whs32 {border-style: none; border: none; width: 150px; height: 113px;}\r
 -->\r
 </style>\r
 <script type="text/javascript" language="JavaScript">\r
@@ -93,7 +100,10 @@ img_whs25 {border-style: none; border: none; width: 150px; height: 113px;}
 if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
 {\r
   var strNSS = "<style type='text/css'>";\r
-  strNSS += "p.whs17 {text-indent:1; }";\r
+  strNSS += "p.whs13 {text-indent:1; }";\r
+  strNSS += "p.whs14 {text-indent:1; }";\r
+  strNSS += "p.whs18 {text-indent:1; }";\r
+  strNSS += "p.whs19 {text-indent:1; }";\r
   strNSS +="</style>";\r
   document.write(strNSS);\r
 }\r
@@ -148,7 +158,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("../geom_help.html");\r
+       setRelStartPage("../geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
@@ -173,7 +183,10 @@ else
  HREF="#_Toc57113210"><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Translation&#9;</font></span></font></a></p></li>\r
        \r
        <li class=kadov-p><p class="whs4"><a \r
- HREF="#_Toc57113211"><font><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Rotation&#9;</font></span></font></a></p></li>\r
+ HREF="#_Toc57113211">Rotation</a></p></li>\r
+       \r
+       <li class=kadov-p><p class="whs4"><a \r
+ href="#_Toc57113217">Modify the location</a><a HREF="#_Toc57113211">&#9;</a></p></li>\r
        \r
        <li class=kadov-p><p class="whs4"><a \r
  HREF="#_Toc57113212"><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Mirror \r
@@ -190,8 +203,7 @@ else
  (Pattern)&#9;</font></span></a></p></li>\r
        \r
        <li class=kadov-p><p class="whs4"><a \r
- HREF="#_Toc57113215"><span style="font-family: 'Times New Roman', serif; font-size: 12pt;"><font size=3 style="font-size:12pt;">Multi-Rotation \r
- (Pattern)&#9;</font></span></a></p></li>\r
+ HREF="#_Toc57113215">Multi-Rotation (Pattern)</a></p></li>\r
 </ul>\r
 \r
 <p class="whs1">&nbsp;</p>\r
@@ -287,7 +299,53 @@ else
 \r
 <p class="whs9">&nbsp;</p>\r
 \r
-<p class="whs9">&nbsp;</p>\r
+<p class="whs13">&nbsp;</p>\r
+\r
+<p class="whs14"><a name=_Toc57113217\r
+                                                                       style="font-size: 14pt; font-weight: bold;"><img src="../image59.gif" width="25px" height="22px" border="0" class="img_whs15"> Modify the Location</a></p>\r
+\r
+<p class="whs13">&nbsp;</p>\r
+\r
+<p class="whs1"><span style="font-size: 12pt;"><font size=3 style="font-size:12pt;"><b style="font-weight: bold;">Description:</b> \r
+ Modification of location of an object.</font></span></p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1"><b style="font-weight: bold;">Result:</b> GEOM_Object.</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1"><b style="font-weight: bold;">TUI Command:</b><i> \r
+ geompy.MakePosition(theObject, theStartLCS, theEndLCS), </i>where&nbsp;theObject \r
+ is a shape, location of which is modified, theStartLCS is a location to \r
+ move the shape from, theEndLCS is a location to move the shape to.</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1"><b style="font-weight: bold;">Arguments:</b> \r
+ 1 GEOM_Object + [Starting Coordinate System] + End Coordinate System.</p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs1"><b style="font-weight: bold;">Dialog Box:</b></p>\r
+\r
+<p class="whs1">&nbsp;</p>\r
+\r
+<p class="whs7"><img src="../image199.jpg" width="209px" height="234px" border="0" class="img_whs16"> &nbsp;&nbsp;<img src="../image196.jpg" width="200px" height="234px" border="0" class="img_whs17"></p>\r
+\r
+<p class="whs18">&nbsp;</p>\r
+\r
+<p class="whs18"><b style="font-weight: bold;">Example:</b></p>\r
+\r
+<p class="whs18">&nbsp;</p>\r
+\r
+<p class="whs19"><img src="../image197.jpg" width="200px" height="209px" border="0" class="img_whs20"></p>\r
+\r
+<p class="whs18">&nbsp;</p>\r
+\r
+<p class="whs18">&nbsp;</p>\r
+\r
+<p class="whs18">&nbsp;</p>\r
 \r
 <p class="whs5"><a NAME=_Toc57113212><span \r
  style="font-size: 14pt;"><font size=4 style="font-size:14pt;"><img src="salome2_sp3_transformationgui_functions_salome2_sp3_transformationgui_functions_image130.gif" width="20px" height="20px" border="0" class="img_whs6"><b style="font-size: 14pt;"> Mirror</b></a> \r
@@ -320,7 +378,7 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs7"><img src="../image120.jpg" width="200px" height="176px" border="0" class="img_whs13"></p>\r
+<p class="whs7"><img src="../image120.jpg" width="200px" height="176px" border="0" class="img_whs21"></p>\r
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
@@ -328,7 +386,7 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs7"><img src="../image121.jpg" width="150px" height="127px" border="0" class="img_whs14"> &nbsp;<img src="../image122.jpg" width="150px" height="127px" border="0" class="img_whs14"></p>\r
+<p class="whs7"><img src="../image121.jpg" width="150px" height="127px" border="0" class="img_whs22"> &nbsp;<img src="../image122.jpg" width="150px" height="127px" border="0" class="img_whs22"></p>\r
 \r
 <p class="whs7">&nbsp;</p>\r
 \r
@@ -372,14 +430,14 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs15"><img src="../image23.gif" width="150px" height="153px" border="0" class="img_whs16"> &nbsp;<img src="../image124.jpg" width="150px" height="153px" border="0" class="img_whs16"></p>\r
+<p class="whs23"><img src="../image23.gif" width="150px" height="153px" border="0" class="img_whs24"> &nbsp;<img src="../image124.jpg" width="150px" height="153px" border="0" class="img_whs24"></p>\r
 \r
 <p class="whs7">&nbsp;</p>\r
 \r
-<p class="whs17"><a name=_Toc57113216><img src="../image37.gif" width="24px" height="22px" border="0" class="img_whs18"> <span \r
+<p class="whs18"><a name=_Toc57113216><img src="../image37.gif" width="24px" height="22px" border="0" class="img_whs25"> <span \r
  style="font-size: 14pt; font-weight: bold;"><font size=4 style="font-size:14pt;"><B>Offset surface</B></font></span></a></p>\r
 \r
-<p class="whs17">&nbsp;</p>\r
+<p class="whs18">&nbsp;</p>\r
 \r
 <p class="whs1"><b style="font-weight: bold;">Description:</b> \r
  Each point is translated along a local normal by a given distance (signed \r
@@ -416,13 +474,13 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs7"><b style="font-weight: bold;"><img src="../image152.jpg" width="200px" height="164px" border="0" class="img_whs19"></b></p>\r
+<p class="whs7"><b style="font-weight: bold;"><img src="../image152.jpg" width="200px" height="164px" border="0" class="img_whs26"></b></p>\r
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs20">Example:</p>\r
+<p class="whs27">Example:</p>\r
 \r
-<p class="whs7"><img src="../image151.jpg" width="200px" height="191px" border="0" class="img_whs21"></p>\r
+<p class="whs7"><img src="../image151.jpg" width="200px" height="191px" border="0" class="img_whs28"></p>\r
 \r
 <p class="whs7">&nbsp;</p>\r
 \r
@@ -483,7 +541,7 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs7"><img src="../image125.jpg" width="200px" height="227px" border="0" class="img_whs22"> &nbsp;<img src="../image126.jpg" width="200px" height="227px" border="0" class="img_whs22"></p>\r
+<p class="whs7"><img src="../image125.jpg" width="200px" height="227px" border="0" class="img_whs29"> &nbsp;<img src="../image126.jpg" width="200px" height="227px" border="0" class="img_whs29"></p>\r
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
@@ -495,7 +553,7 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs7"><img src="../image24.gif" width="150px" height="123px" border="0" class="img_whs23"> &nbsp;<img src="../image128.jpg" width="150px" height="123px" border="0" class="img_whs23"></p>\r
+<p class="whs7"><img src="../image24.gif" width="150px" height="123px" border="0" class="img_whs30"> &nbsp;<img src="../image128.jpg" width="150px" height="123px" border="0" class="img_whs30"></p>\r
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
@@ -503,7 +561,7 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs7"><img src="../image24.gif" width="150px" height="123px" border="0" class="img_whs23"> &nbsp;<img src="../image127.jpg" width="150px" height="123px" border="0" class="img_whs23"></p>\r
+<p class="whs7"><img src="../image24.gif" width="150px" height="123px" border="0" class="img_whs30"> &nbsp;<img src="../image127.jpg" width="150px" height="123px" border="0" class="img_whs30"></p>\r
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
@@ -576,7 +634,7 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs7"><img src="../image129.jpg" width="150px" height="128px" border="0" class="img_whs24"> &nbsp;<img src="../image130.jpg" width="150px" height="128px" border="0" class="img_whs24"></p>\r
+<p class="whs7"><img src="../image129.jpg" width="150px" height="128px" border="0" class="img_whs31"> &nbsp;<img src="../image130.jpg" width="150px" height="128px" border="0" class="img_whs31"></p>\r
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
@@ -584,7 +642,7 @@ else
 \r
 <p class="whs1">&nbsp;</p>\r
 \r
-<p class="whs7"><img src="../image25.gif" width="150px" height="113px" border="0" class="img_whs25"> &nbsp;<img src="../image133.jpg" width="150px" height="113px" border="0" class="img_whs25"></p>\r
+<p class="whs7"><img src="../image25.gif" width="150px" height="113px" border="0" class="img_whs32"> &nbsp;<img src="../image133.jpg" width="150px" height="113px" border="0" class="img_whs32"></p>\r
 \r
 <p>&nbsp;</p>\r
 \r
diff --git a/doc/salome/gui/GEOM/image196.jpg b/doc/salome/gui/GEOM/image196.jpg
new file mode 100755 (executable)
index 0000000..1f6dba3
Binary files /dev/null and b/doc/salome/gui/GEOM/image196.jpg differ
diff --git a/doc/salome/gui/GEOM/image197.jpg b/doc/salome/gui/GEOM/image197.jpg
new file mode 100755 (executable)
index 0000000..11eb06e
Binary files /dev/null and b/doc/salome/gui/GEOM/image197.jpg differ
diff --git a/doc/salome/gui/GEOM/image199.jpg b/doc/salome/gui/GEOM/image199.jpg
new file mode 100755 (executable)
index 0000000..277d5ed
Binary files /dev/null and b/doc/salome/gui/GEOM/image199.jpg differ
diff --git a/doc/salome/gui/GEOM/image200.jpg b/doc/salome/gui/GEOM/image200.jpg
new file mode 100755 (executable)
index 0000000..c590171
Binary files /dev/null and b/doc/salome/gui/GEOM/image200.jpg differ
diff --git a/doc/salome/gui/GEOM/image201.jpg b/doc/salome/gui/GEOM/image201.jpg
new file mode 100755 (executable)
index 0000000..0a6a1b4
Binary files /dev/null and b/doc/salome/gui/GEOM/image201.jpg differ
diff --git a/doc/salome/gui/GEOM/image202.jpg b/doc/salome/gui/GEOM/image202.jpg
new file mode 100755 (executable)
index 0000000..0674262
Binary files /dev/null and b/doc/salome/gui/GEOM/image202.jpg differ
diff --git a/doc/salome/gui/GEOM/image203.jpg b/doc/salome/gui/GEOM/image203.jpg
new file mode 100755 (executable)
index 0000000..8ecfef5
Binary files /dev/null and b/doc/salome/gui/GEOM/image203.jpg differ
diff --git a/doc/salome/gui/GEOM/image204.jpg b/doc/salome/gui/GEOM/image204.jpg
new file mode 100755 (executable)
index 0000000..ce23e6a
Binary files /dev/null and b/doc/salome/gui/GEOM/image204.jpg differ
diff --git a/doc/salome/gui/GEOM/image205.jpg b/doc/salome/gui/GEOM/image205.jpg
new file mode 100755 (executable)
index 0000000..2e22430
Binary files /dev/null and b/doc/salome/gui/GEOM/image205.jpg differ
diff --git a/doc/salome/gui/GEOM/image206.jpg b/doc/salome/gui/GEOM/image206.jpg
new file mode 100755 (executable)
index 0000000..85e9e80
Binary files /dev/null and b/doc/salome/gui/GEOM/image206.jpg differ
diff --git a/doc/salome/gui/GEOM/image207.jpg b/doc/salome/gui/GEOM/image207.jpg
new file mode 100755 (executable)
index 0000000..8d93229
Binary files /dev/null and b/doc/salome/gui/GEOM/image207.jpg differ
diff --git a/doc/salome/gui/GEOM/image208.jpg b/doc/salome/gui/GEOM/image208.jpg
new file mode 100755 (executable)
index 0000000..5b91272
Binary files /dev/null and b/doc/salome/gui/GEOM/image208.jpg differ
diff --git a/doc/salome/gui/GEOM/image209.jpg b/doc/salome/gui/GEOM/image209.jpg
new file mode 100755 (executable)
index 0000000..3d2de5f
Binary files /dev/null and b/doc/salome/gui/GEOM/image209.jpg differ
diff --git a/doc/salome/gui/GEOM/image210.jpg b/doc/salome/gui/GEOM/image210.jpg
new file mode 100755 (executable)
index 0000000..c651db3
Binary files /dev/null and b/doc/salome/gui/GEOM/image210.jpg differ
diff --git a/doc/salome/gui/GEOM/image211.jpg b/doc/salome/gui/GEOM/image211.jpg
new file mode 100755 (executable)
index 0000000..8217b6b
Binary files /dev/null and b/doc/salome/gui/GEOM/image211.jpg differ
diff --git a/doc/salome/gui/GEOM/image212.jpg b/doc/salome/gui/GEOM/image212.jpg
new file mode 100755 (executable)
index 0000000..0bea713
Binary files /dev/null and b/doc/salome/gui/GEOM/image212.jpg differ
diff --git a/doc/salome/gui/GEOM/image213.jpg b/doc/salome/gui/GEOM/image213.jpg
new file mode 100755 (executable)
index 0000000..23f9da9
Binary files /dev/null and b/doc/salome/gui/GEOM/image213.jpg differ
diff --git a/doc/salome/gui/GEOM/image214.jpg b/doc/salome/gui/GEOM/image214.jpg
new file mode 100755 (executable)
index 0000000..ed92bdd
Binary files /dev/null and b/doc/salome/gui/GEOM/image214.jpg differ
diff --git a/doc/salome/gui/GEOM/image215.jpg b/doc/salome/gui/GEOM/image215.jpg
new file mode 100755 (executable)
index 0000000..0cdc46d
Binary files /dev/null and b/doc/salome/gui/GEOM/image215.jpg differ
diff --git a/doc/salome/gui/GEOM/image216.jpg b/doc/salome/gui/GEOM/image216.jpg
new file mode 100755 (executable)
index 0000000..8cf5671
Binary files /dev/null and b/doc/salome/gui/GEOM/image216.jpg differ
diff --git a/doc/salome/gui/GEOM/image217.jpg b/doc/salome/gui/GEOM/image217.jpg
new file mode 100755 (executable)
index 0000000..f9e5cd7
Binary files /dev/null and b/doc/salome/gui/GEOM/image217.jpg differ
diff --git a/doc/salome/gui/GEOM/image218.jpg b/doc/salome/gui/GEOM/image218.jpg
new file mode 100755 (executable)
index 0000000..96b49d8
Binary files /dev/null and b/doc/salome/gui/GEOM/image218.jpg differ
diff --git a/doc/salome/gui/GEOM/image219.jpg b/doc/salome/gui/GEOM/image219.jpg
new file mode 100755 (executable)
index 0000000..62a5832
Binary files /dev/null and b/doc/salome/gui/GEOM/image219.jpg differ
diff --git a/doc/salome/gui/GEOM/image220.jpg b/doc/salome/gui/GEOM/image220.jpg
new file mode 100755 (executable)
index 0000000..616ddb7
Binary files /dev/null and b/doc/salome/gui/GEOM/image220.jpg differ
diff --git a/doc/salome/gui/GEOM/image59.gif b/doc/salome/gui/GEOM/image59.gif
new file mode 100755 (executable)
index 0000000..f470df2
Binary files /dev/null and b/doc/salome/gui/GEOM/image59.gif differ
diff --git a/doc/salome/gui/GEOM/image61.gif b/doc/salome/gui/GEOM/image61.gif
new file mode 100755 (executable)
index 0000000..0a7efcd
Binary files /dev/null and b/doc/salome/gui/GEOM/image61.gif differ
index 2c3816fee143e80ad41693ebbcc12a654a5d440d..8fb6b151154c11415ce63c2f83616c57cd433156 100755 (executable)
@@ -126,7 +126,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("geom_help.html");\r
+       setRelStartPage("geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index e14ece2a0d94677a91a6c8185758a0f1742da221..98a5508941e1f43627c18e54d183592c4a8b3915 100755 (executable)
@@ -19,8 +19,8 @@
 <meta name=filetype content=kadov>\r
 <meta name=filetype-version content=1>\r
 <meta name=page-count content=1>\r
-<meta name=layout-height content=536>\r
-<meta name=layout-width content=491>\r
+<meta name=layout-height content=1268>\r
+<meta name=layout-width content=740>\r
 \r
 \r
 <!--(Links)=========================================================-->\r
@@ -36,8 +36,30 @@ if (navigator.appName !="Netscape")
 <!--\r
 img_whs1 {border-style: none; border: none; float: none; width: 30px; height: 30px;}\r
 p.whs2 {font-size: 12pt;}\r
+ul.whs3 {list-style: disc;}\r
+p.whs4 {margin-left: 40px; font-size: 12pt;}\r
+img_whs5 {border-style: none; border: none; width: 200px; height: 277px;}\r
+img_whs6 {border-style: none; border: none; width: 200px; height: 276px;}\r
+p.whs7 {font-size: 12pt; margin-left: 40px; text-indent: -40px;}\r
+p.whs8 {font-size: 12pt; margin-left: 40px; text-indent: -40px; font-weight: bold;}\r
+p.whs9 {font-size: 12pt; text-indent: -40px; font-weight: bold; margin-left: 80px;}\r
+img_whs10 {border-style: none; border: none; width: 200px; height: 200px;}\r
+img_whs11 {border-style: none; border: none; width: 200px; height: 195px;}\r
 -->\r
 </style>\r
+<script type="text/javascript" language="JavaScript">\r
+<!--\r
+if ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4))\r
+{\r
+  var strNSS = "<style type='text/css'>";\r
+  strNSS += "p.whs7 {text-indent:1; }";\r
+  strNSS += "p.whs8 {text-indent:1; }";\r
+  strNSS += "p.whs9 {text-indent:1; }";\r
+  strNSS +="</style>";\r
+  document.write(strNSS);\r
+}\r
+//-->\r
+</script>\r
 <script type="text/javascript" language="JavaScript" title="WebHelpInlineScript">\r
 <!--\r
 function reDo() {\r
@@ -87,7 +109,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("geom_help.html");\r
+       setRelStartPage("geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
@@ -135,12 +157,63 @@ else
 <p class="whs2">&nbsp;</p>\r
 \r
 <p class="whs2"><b style="font-weight: bold;">Arguments:</b> \r
- 1 shape + 3 values (coordinates).</p>\r
+ </p>\r
+\r
+<p class="whs2"><span><font size=3 style="font-size:12pt;">1. Element type (segment or arc).</font></span></p>\r
+\r
+<p class="whs2">2. Destination type (point or direction).</p>\r
+\r
+<p class="whs2">3. <span>Destination point by means of:</span></p>\r
+\r
+<ul type="disc" class="whs3">\r
+       \r
+       <li class=kadov-p><p class="whs2">absolute coordinates \r
+ X,Y;</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs2">relative coordinates \r
+ DX, DY (with respect to the current point);</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs2">selection of an existing \r
+ point.</p></li>\r
+</ul>\r
+\r
+<p class="whs2">4. Destination direction by means of:</p>\r
+\r
+<ul type="disc" class="whs3">\r
+       \r
+       <li class=kadov-p><p class="whs2">angle between the new \r
+ segment and the previous one;</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs2">perpendicular to the \r
+ previous segment (same as previous, but angle is predefined and is equal \r
+ to 90 degrees);</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs2">tangent to the previous \r
+ segment;</p></li>\r
+       \r
+       <li class=kadov-p><p class="whs2">vector components VX, \r
+ DY.</p></li>\r
+</ul>\r
+\r
+<p class="whs2">5. Parameters of an element (for segment : \r
+ length or target X or Y coordinate value, for arc : radius and angle).</p>\r
 \r
 <p class="whs2">&nbsp;</p>\r
 \r
 <p class="whs2"><b style="font-weight: bold;">Dialog Box:</b></p>\r
 \r
+<p class="whs2">&nbsp;</p>\r
+\r
+<p class="whs4"><img src="image203.jpg" width="200px" height="277px" border="0" class="img_whs5"> &nbsp;&nbsp;<img src="image205.jpg" width="200px" height="276px" border="0" class="img_whs6"></p>\r
+\r
+<p class="whs7">&nbsp;</p>\r
+\r
+<p class="whs8">Example:</p>\r
+\r
+<p class="whs9">&nbsp;</p>\r
+\r
+<p class="whs9"><img src="image204.jpg" width="200px" height="200px" border="0" class="img_whs10"> &nbsp;&nbsp;<img src="image206.jpg" width="200px" height="195px" border="0" class="img_whs11"></p>\r
+\r
 <script type="text/javascript" language="javascript1.2">\r
 <!--\r
 if (window.writeIntopicBar)\r
index 98d9e1163510c26ab22e54d732a8911c5e07cd48..82fe9859b18509edc6519dbe4c7aa6bbf17934a8 100755 (executable)
 aWE("«apply»",3);\r
 aWE("«ok»",3);\r
 aWE("0",1,12);\r
-aWE("1",1,15,3,4,7,5,11,12,13,10,9,16);\r
-aWE("1d",3,10);\r
-aWE("1st",3,11,12,13,10);\r
-aWE("2",14,1,15,3,4,5,11,12,13,10,9);\r
-aWE("2d",3,4,7,5,12,10);\r
-aWE("2nd",3,11,12,13,10);\r
-aWE("3",15,3,4,11,12,13,10);\r
-aWE("3d",3,4,6,7,5,11,12,10,9);\r
-aWE("3rd",3,10);\r
-aWE("4",14,4,12,10);\r
-aWE("5",7,12);\r
+aWE("1",1,15,11,12,7,9,10,5,13,4,3,16);\r
+aWE("1d",10,3);\r
+aWE("1st",11,12,10,13,3);\r
+aWE("2",14,1,15,11,12,9,10,5,13,4,3);\r
+aWE("2d",12,7,10,5,4,3);\r
+aWE("2nd",11,12,10,13,3);\r
+aWE("3",15,11,12,10,13,4,3);\r
+aWE("3d",11,12,7,9,10,6,5,4,3);\r
+aWE("3rd",10,3);\r
+aWE("4",14,15,12,10,4);\r
+aWE("5",15,12,7);\r
 aWE("6",14,12);\r
 aWE("7",12);\r
 aWE("8",12);\r
 aWE("9",15,12);\r
+aWE("90",15);\r
 aWE("abl",15);\r
-aWE("accord",3,12);\r
+aWE("absolut",15);\r
+aWE("accord",12,3);\r
 aWE("accordanc",12);\r
 aWE("achiev",12);\r
 aWE("ad",12,16);\r
@@ -40,8 +42,8 @@ aWE("advanc",7,5);
 aWE("aim",10);\r
 aWE("algorithm",10);\r
 aWE("allow",14,15,8,13,16);\r
-aWE("along",7,13,10);\r
-aWE("angl",15,7,12,13);\r
+aWE("along",7,10,13);\r
+aWE("angl",15,12,7,13);\r
 aWE("anoth",4);\r
 aWE("any",12);\r
 aWE("ap",12);\r
@@ -51,75 +53,76 @@ aWE("apply",12);
 aWE("approximation",12);\r
 aWE("arc",15,3);\r
 aWE("archimed",10);\r
-aWE("argument",14,1,15,3,4,7,5,11,12,13,10,9,16);\r
+aWE("argument",14,1,15,11,12,7,9,10,5,13,4,3,16);\r
 aWE("around",7);\r
 aWE("associat",6);\r
 aWE("attribut",6);\r
 aWE("automatical",14,3);\r
 aWE("availabl",6);\r
 aWE("ax",3);\r
-aWE("axi",3,7,11,13,9);\r
+aWE("axi",11,7,9,13,3);\r
 aWE("b",3);\r
 aWE("back",12);\r
-aWE("bas",7,11,12,13);\r
+aWE("bas",11,12,7,13);\r
 aWE("baseshap",7);\r
 aWE("basi",7);\r
-aWE("basic",2,15,3,5,10,9);\r
+aWE("basic",2,15,9,10,5,3);\r
 aWE("basicproperti",9);\r
 aWE("befor",15,12);\r
 aWE("below",14);\r
-aWE("bezi",3,12);\r
+aWE("bezi",12,3);\r
 aWE("block",14,0,10);\r
-aWE("boolean",2,4,5,9);\r
+aWE("boolean",2,9,5,4);\r
 aWE("both",6);\r
 aWE("bound",9);\r
 aWE("boundari",12);\r
 aWE("boundary",12);\r
 aWE("boundingbox",9);\r
-aWE("box",14,1,15,3,4,8,7,5,11,12,13,10,9,16);\r
+aWE("box",14,1,15,8,11,12,7,9,10,5,13,4,3,16);\r
 aWE("brep",2,8);\r
-aWE("brows",3,6,8);\r
+aWE("brows",8,6,3);\r
 aWE("bsplin",12);\r
 aWE("bsplinerestriction",12);\r
-aWE("build",14,0,2,5,10);\r
+aWE("build",14,0,2,10,5);\r
 aWE("button",3);\r
 aWE("bypas",14);\r
 aWE("cad",2);\r
 aWE("camera",3);\r
-aWE("cas",14,3,12);\r
-aWE("cent",15,3,11,13,9);\r
+aWE("cas",14,12,3);\r
+aWE("cent",15,11,9,13,3);\r
 aWE("centerofscal",13);\r
 aWE("central",11);\r
 aWE("chamf",10);\r
 aWE("chang",1);\r
-aWE("check",12,10,9);\r
+aWE("check",12,9,10);\r
 aWE("checkshap",9);\r
-aWE("choos",6,8,10);\r
+aWE("choos",8,10,6);\r
 aWE("circl",3);\r
-aWE("click",1,6,8);\r
-aWE("clos",5,12);\r
+aWE("click",1,8,6);\r
+aWE("clos",12,5);\r
 aWE("closecontour",12);\r
 aWE("closedwir",12);\r
 aWE("closur",12);\r
+aWE("coincident",12);\r
 aWE("color",1);\r
-aWE("command",14,1,15,3,4,6,8,7,5,11,12,13,10,9,16);\r
-aWE("common",4,12);\r
-aWE("complex",2,4,7,10);\r
-aWE("component",3,13);\r
+aWE("command",14,1,15,8,11,12,7,9,10,6,5,13,4,3,16);\r
+aWE("common",12,4);\r
+aWE("complex",2,7,10,4);\r
+aWE("component",15,13,3);\r
 aWE("compos",14,9);\r
-aWE("compound",14,4,5,13,10);\r
+aWE("compound",14,12,10,5,13,4);\r
 aWE("compsolid",7);\r
-aWE("comput",10,9);\r
+aWE("comput",9,10);\r
 aWE("con",11);\r
 aWE("concern",9);\r
 aWE("confirm",8);\r
 aWE("conical",12);\r
-aWE("connect",5,10);\r
+aWE("connect",10,5);\r
 aWE("consider",12);\r
 aWE("constraint",14);\r
-aWE("construct",14,5,11);\r
+aWE("construct",14,11,5);\r
 aWE("construction",2,4);\r
-aWE("constructor",3,11,12,13,10);\r
+aWE("constructor",11,12,10,13,3);\r
 aWE("contain",15,8,12);\r
 aWE("content",8);\r
 aWE("context",12);\r
@@ -129,51 +132,51 @@ aWE("continuity2d",12);
 aWE("continuity3d",12);\r
 aWE("contour",12);\r
 aWE("conversion",12);\r
-aWE("coordinat",15,3,11,13,9);\r
+aWE("coordinat",15,11,9,13,3);\r
 aWE("copy",13);\r
 aWE("corner",11);\r
 aWE("correction",12);\r
-aWE("correspond",3,7,5,11,12,10);\r
+aWE("correspond",11,12,7,10,5,3);\r
 aWE("coupl",15);\r
-aWE("creat",14,15,3,6,7,5,11,12,13,10,9,16);\r
+aWE("creat",14,15,11,12,7,9,10,6,5,13,3,16);\r
 aWE("creategroup",16);\r
-aWE("creation",2,7,12,10);\r
+aWE("creation",2,12,7,10);\r
 aWE("current",15,6);\r
-aWE("curv",15,3,7,12);\r
+aWE("curv",15,12,7,3);\r
 aWE("curve2dmod",12);\r
 aWE("curve3dmod",12);\r
 aWE("curvecontinuity",12);\r
-aWE("cut",4,12);\r
+aWE("cut",12,4);\r
 aWE("cylind",11);\r
 aWE("cylindrical",12);\r
 aWE("d1",10);\r
 aWE("d2",10);\r
 aWE("data",9);\r
 aWE("default",15);\r
-aWE("defin",15,3,11,12,10);\r
+aWE("defin",15,11,12,10,3);\r
 aWE("definit",9);\r
-aWE("definition",7,12);\r
+aWE("definition",12,7);\r
 aWE("deflection",10);\r
-aWE("degre",7,12);\r
+aWE("degre",15,12,7);\r
 aWE("delet",10);\r
 aWE("density",10);\r
 aWE("depend",10);\r
 aWE("describ",8);\r
-aWE("description",14,1,15,3,4,6,7,5,11,12,13,10,9,16);\r
+aWE("description",14,1,15,11,12,7,9,10,6,5,13,4,3,16);\r
 aWE("desir",12);\r
 aWE("destin",2);\r
 aWE("destination",15);\r
 aWE("detect",12);\r
 aWE("detection",12);\r
 aWE("diagonal",11);\r
-aWE("dialog",14,1,15,3,4,8,7,5,11,12,13,10,9,16);\r
+aWE("dialog",14,1,15,8,11,12,7,9,10,5,13,4,3,16);\r
 aWE("dif",6);\r
-aWE("different",1,6,11,9);\r
-aWE("dimension",7,11,10,9);\r
+aWE("different",1,11,9,6);\r
+aWE("dimension",11,7,9,10);\r
 aWE("dir",13);\r
 aWE("dir1",13);\r
 aWE("dir2",13);\r
-aWE("direction",15,3,7,11,13,10);\r
+aWE("direction",15,11,7,10,13,3);\r
 aWE("dirface1v",10);\r
 aWE("dirfaceid1",10);\r
 aWE("dirfaceid1u",10);\r
@@ -181,45 +184,46 @@ aWE("dirfaceid1v",10);
 aWE("dirfaceid2",10);\r
 aWE("dirfaceid2u",10);\r
 aWE("dirfaceid2v",10);\r
-aWE("display",1,3,6,8,9);\r
+aWE("display",1,8,9,6,3);\r
 aWE("displayall",6);\r
 aWE("displayon",6);\r
-aWE("distanc",13,9);\r
+aWE("distanc",12,9,13);\r
 aWE("divid",12);\r
 aWE("divideedg",12);\r
 aWE("don",12,13);\r
 aWE("doubl",1,15);\r
 aWE("dropsmalledg",12);\r
-aWE("dx",13);\r
-aWE("dy",13);\r
+aWE("dx",15,13);\r
+aWE("dy",15,13);\r
 aWE("dz",13);\r
 aWE("e",6);\r
 aWE("e1",14);\r
 aWE("e2",14);\r
 aWE("e3",14);\r
 aWE("e4",14);\r
-aWE("edg",14,3,7,5,11,12,13,10);\r
+aWE("edg",14,11,12,7,10,5,13,3);\r
 aWE("edgeid",12);\r
 aWE("edit",16);\r
 aWE("egdemaxtol",9);\r
 aWE("egdemintol",9);\r
 aWE("eith",14);\r
-aWE("element",3,4,6,7,5,11,12,9);\r
+aWE("element",15,11,12,7,9,6,5,4,3);\r
 aWE("elementary",14);\r
 aWE("ellips",3);\r
 aWE("empty",12);\r
-aWE("end",15,3,12);\r
-aWE("ent",3,8);\r
-aWE("entity",15,3,7,5,11,16);\r
+aWE("end",15,12,13,3);\r
+aWE("ent",8,3);\r
+aWE("entity",15,11,7,5,3,16);\r
+aWE("equal",15);\r
 aWE("eras",6);\r
 aWE("eraseall",6);\r
 aWE("eraseon",6);\r
 aWE("error",12);\r
-aWE("etc",5,12);\r
-aWE("exampl",14,1,3,4,7,5,11,12,13,10,16);\r
+aWE("etc",12,5);\r
+aWE("exampl",14,1,15,11,12,7,10,5,13,4,3,16);\r
 aWE("except",12);\r
-aWE("exist",16);\r
-aWE("explod",0,5,10);\r
+aWE("exist",15,16);\r
+aWE("explod",0,10,5);\r
 aWE("export",2,8);\r
 aWE("exportation",8);\r
 aWE("extract",10);\r
@@ -231,7 +235,7 @@ aWE("f3",14);
 aWE("f4",14);\r
 aWE("f5",14);\r
 aWE("f6",14);\r
-aWE("fac",14,3,7,5,12,13,10);\r
+aWE("fac",14,12,7,10,5,13,3);\r
 aWE("face1",10);\r
 aWE("face2",10);\r
 aWE("facemaxtol",9);\r
@@ -239,15 +243,15 @@ aWE("facemintol",9);
 aWE("factor",13);\r
 aWE("fals",12);\r
 aWE("field",3);\r
-aWE("fil",3,8,7);\r
+aWE("fil",8,7,3);\r
 aWE("filenam",8);\r
 aWE("fill",7);\r
 aWE("fillet",10);\r
-aWE("first",3,4,5,11,13,10);\r
+aWE("first",11,10,5,13,4,3);\r
 aWE("fix",12);\r
 aWE("fixfacesiz",12);\r
 aWE("fixshap",12);\r
-aWE("follow",14,4,6,5);\r
+aWE("follow",14,6,5,4);\r
 aWE("format",2,8);\r
 aWE("formatnam",8);\r
 aWE("four",14);\r
@@ -258,27 +262,27 @@ aWE("gap",12);
 aWE("general",14);\r
 aWE("generat",7);\r
 aWE("generation",2,7);\r
-aWE("geom",1,2,3,4,6,8,7,5,11,13,10,9);\r
-aWE("geom_object",14,15,3,4,7,5,11,12,13,10,9,16);\r
+aWE("geom",1,2,8,11,7,9,10,6,5,13,4,3);\r
+aWE("geom_object",14,15,11,12,7,9,10,5,13,4,3,16);\r
 aWE("geometric",14);\r
-aWE("geometrical",1,2,3,4,6,8,7,5,11,12,13,10,9,16);\r
+aWE("geometrical",1,2,8,11,12,7,9,10,6,5,13,4,3,16);\r
 aWE("geometry",12);\r
-aWE("geompy",14,15,3,4,8,7,5,11,12,13,10,9,16);\r
-aWE("get",4,5,9);\r
+aWE("geompy",14,15,8,11,12,7,9,10,5,13,4,3,16);\r
+aWE("get",9,5,4);\r
 aWE("getfreeboundary",12);\r
 aWE("getobjectid",16);\r
 aWE("getsubshapeid",5);\r
 aWE("gg",1);\r
 aWE("giv",3);\r
-aWE("given",3,5,13,10);\r
-aWE("glu",10);\r
+aWE("given",12,10,5,13,3);\r
+aWE("glu",12,10);\r
 aWE("graphic",6);\r
 aWE("gravity",9);\r
 aWE("group",16);\r
 aWE("gui",10);\r
 aWE("half",3);\r
-aWE("hav",5,12);\r
-aWE("height",7,11);\r
+aWE("hav",12,5);\r
+aWE("height",11,7);\r
 aWE("hexahedral",14,10);\r
 aWE("hexahedron",14);\r
 aWE("hid",6);\r
@@ -294,15 +298,15 @@ aWE("i23",9);
 aWE("i31",9);\r
 aWE("i32",9);\r
 aWE("i33",9);\r
-aWE("id",1,6,5,12,10,16);\r
-aWE("if",5,12,10,9);\r
+aWE("id",1,12,10,6,5,16);\r
+aWE("if",12,9,10,5);\r
 aWE("ig",2,8);\r
 aWE("imag",13);\r
-aWE("import",2,6,8,9);\r
+aWE("import",2,8,9,6);\r
 aWE("importation",8);\r
 aWE("in",13);\r
 aWE("increas",12);\r
-aWE("independent",4,6);\r
+aWE("independent",6,4);\r
 aWE("indic",10);\r
 aWE("inertia",9);\r
 aWE("initial",13);\r
@@ -329,33 +333,33 @@ aWE("ix",9);
 aWE("iy",9);\r
 aWE("iz",9);\r
 aWE("just",14);\r
-aWE("last",3,5);\r
+aWE("last",5,3);\r
 aWE("lc",3);\r
 aWE("least",3);\r
 aWE("length",15,12,9);\r
 aWE("les",12);\r
 aWE("limit",10);\r
-aWE("lin",15,3,10);\r
-aWE("list",15,3,7,5,12,10,16);\r
+aWE("lin",15,10,3);\r
+aWE("list",15,12,7,10,5,3,16);\r
 aWE("listoffaceid",10);\r
 aWE("listofgeomshap",12);\r
-aWE("listofid",5,12);\r
+aWE("listofid",12,5);\r
 aWE("listofkeepinsid",10);\r
 aWE("listofmaterial",10);\r
 aWE("listofremoveinsid",10);\r
-aWE("listofshap",3,5,12,10);\r
+aWE("listofshap",12,10,5,3);\r
 aWE("listofshapeid",10);\r
 aWE("listoftool",10);\r
 aWE("listofwireid",12);\r
-aWE("local",15,3,12,13);\r
+aWE("local",15,12,13,3);\r
 aWE("locat",3);\r
-aWE("location",3,8);\r
+aWE("location",8,13,3);\r
 aWE("lwp",15);\r
 aWE("ly",15,12);\r
-aWE("main",0,3,4,6,7,5,11,12,10,9,16);\r
+aWE("main",0,11,12,7,9,10,6,5,4,3,16);\r
 aWE("mainshap",16);\r
-aWE("major",3,11);\r
-aWE("mak",13,10);\r
+aWE("major",11,3);\r
+aWE("mak",10,13);\r
 aWE("makearc",3);\r
 aWE("makebezi",3);\r
 aWE("makeblockexplod",10);\r
@@ -373,6 +377,7 @@ aWE("makeellips",3);
 aWE("makefac",5);\r
 aWE("makefil",7);\r
 aWE("makefillet",10);\r
+aWE("makegluefac",12);\r
 aWE("makehexasolid",14);\r
 aWE("makehexasolidtwofac",14);\r
 aWE("makeinterpol",3);\r
@@ -390,6 +395,7 @@ aWE("makepartition",10);
 aWE("makepip",7);\r
 aWE("makeplan",3);\r
 aWE("makepolylin",3);\r
+aWE("makeposition",13);\r
 aWE("makeprism",7);\r
 aWE("makequadfac",14);\r
 aWE("makequadfaceedg",14);\r
@@ -411,9 +417,9 @@ aWE("manual",3);
 aWE("mas",9);\r
 aWE("material",10);\r
 aWE("matrix",9);\r
-aWE("max",7,12,10);\r
+aWE("max",12,7,10);\r
 aWE("maxdegre",7);\r
-aWE("maximal",7,12,10,9);\r
+aWE("maximal",12,7,9,10);\r
 aWE("maximum",12,10);\r
 aWE("maxnbfac",10);\r
 aWE("maxtoleranc",12);\r
@@ -422,96 +428,100 @@ aWE("mean",15,13);
 aWE("measur",9);\r
 aWE("measurement",9);\r
 aWE("mention",14);\r
-aWE("menu",0,1,3,4,6,8,7,5,11,12,10,9,16);\r
+aWE("menu",0,1,8,11,12,7,9,10,6,5,4,3,16);\r
 aWE("merg",12);\r
 aWE("mesh",14,10);\r
 aWE("meshingdeflection",10);\r
 aWE("method",5);\r
 aWE("middl",3);\r
-aWE("min",7,10,9);\r
+aWE("min",7,9,10);\r
 aWE("mindegre",7);\r
 aWE("mindistanc",9);\r
-aWE("minimal",7,10,9);\r
+aWE("minimal",7,9,10);\r
 aWE("minimum",10);\r
 aWE("minnbfac",10);\r
-aWE("minor",3,11);\r
+aWE("minor",11,3);\r
 aWE("mirror",13);\r
 aWE("mod",1,12);\r
 aWE("model",2,10);\r
-aWE("modifi",3,12);\r
-aWE("modification",12);\r
+aWE("modifi",12,13,3);\r
+aWE("modification",12,13);\r
+aWE("modify",13);\r
 aWE("modul",2,6);\r
 aWE("moment",9);\r
 aWE("mov",13);\r
-aWE("multi",0,13,10);\r
+aWE("multi",0,10,13);\r
 aWE("must",12,13);\r
 aWE("nam",8,12);\r
 aWE("nbit",7);\r
 aWE("nbsplitpoint",12);\r
-aWE("nbtim",13,10);\r
+aWE("nbtim",10,13);\r
 aWE("nbtimes1",13);\r
 aWE("nbtimes2",13);\r
 aWE("nbtimesu",10);\r
 aWE("nbtimesv",10);\r
-aWE("necessary",15,6,12,9);\r
+aWE("necessary",15,12,9,6);\r
 aWE("need",12);\r
 aWE("negativ",13);\r
 aWE("neigbour",12);\r
-aWE("new",15,3,7,5,11,12,16);\r
+aWE("new",15,11,12,7,5,3,16);\r
 aWE("noerror",12);\r
-aWE("normal",3,7,13);\r
+aWE("normal",7,13,3);\r
 aWE("notion",14);\r
-aWE("numb",1,7,12,13,10);\r
+aWE("numb",1,12,7,10,13);\r
 aWE("number",10);\r
 aWE("numeb",10);\r
-aWE("object",1,2,3,4,6,8,7,5,11,12,13,10,9,16);\r
+aWE("object",1,2,8,11,12,7,9,10,6,5,13,4,3,16);\r
 aWE("occ",1,6);\r
 aWE("occur",12);\r
 aWE("offset",13);\r
 aWE("ok",8);\r
-aWE("on",4,6,12,13,10);\r
+aWE("on",15,12,10,6,13,4);\r
 aWE("open",12);\r
 aWE("openwir",12);\r
-aWE("operation",14,2,4,6,7,12,13,10,16);\r
+aWE("operation",14,2,12,7,10,6,13,4,16);\r
 aWE("operator",12);\r
 aWE("opposit",11);\r
 aWE("optimization",2);\r
 aWE("option",0);\r
 aWE("ord",12);\r
 aWE("orient",14,3);\r
-aWE("origin",3,11);\r
+aWE("origin",11,3);\r
 aWE("otherwis",12);\r
 aWE("outsid",10);\r
 aWE("ox",15,3);\r
 aWE("oy",3);\r
 aWE("oz",15,3);\r
-aWE("paramet",3,5,12);\r
-aWE("parameter",1,3,7,12);\r
+aWE("paramet",12,5,3);\r
+aWE("parameter",1,15,12,7,3);\r
 aWE("paramt",12);\r
-aWE("part",4,11);\r
+aWE("part",11,4);\r
 aWE("partition",10);\r
 aWE("pas",3);\r
 aWE("path",7);\r
 aWE("pathshap",7);\r
 aWE("pattern",13);\r
 aWE("perform",10,16);\r
+aWE("perpendicular",15);\r
 aWE("pip",7);\r
-aWE("plan",15,3,13,10);\r
+aWE("plan",15,10,13,3);\r
 aWE("planar",15,5);\r
 aWE("plung",10);\r
-aWE("point",14,15,3,11,12,13,9);\r
+aWE("point",14,15,11,12,9,13,3);\r
 aWE("point1",3);\r
 aWE("point2",3);\r
 aWE("point3",3);\r
 aWE("pointcoordinat",9);\r
 aWE("polylin",3);\r
 aWE("pop",1,6);\r
-aWE("position",3,12);\r
+aWE("position",12,3);\r
 aWE("possibility",12);\r
-aWE("possibl",6,12);\r
+aWE("possibl",12,6);\r
 aWE("precision",12);\r
+aWE("predefin",15);\r
 aWE("pres",3);\r
 aWE("preview",3);\r
+aWE("previou",15);\r
 aWE("primitiv",2,11);\r
 aWE("prism",7);\r
 aWE("problem",12);\r
@@ -522,16 +532,17 @@ aWE("put",10);
 aWE("python",9);\r
 aWE("quadrangl",14,3);\r
 aWE("radian",12);\r
-aWE("radiu",15,3,11,10);\r
-aWE("radius",3,11);\r
+aWE("radiu",15,11,10,3);\r
+aWE("radius",11,3);\r
 aWE("radius1",11);\r
 aWE("radius2",11);\r
-aWE("radiusmajor",3,11);\r
-aWE("radiusminor",3,11);\r
+aWE("radiusmajor",11,3);\r
+aWE("radiusminor",11,3);\r
 aWE("rang",2,12);\r
 aWE("re",12);\r
 aWE("reasonabl",6);\r
 aWE("reconstruction",10);\r
+aWE("relativ",15);\r
 aWE("remov",12,16);\r
 aWE("removeobject",16);\r
 aWE("removeweb",10);\r
@@ -539,57 +550,59 @@ aWE("repair",2,12);
 aWE("repetition",13);\r
 aWE("represent",3);\r
 aWE("request",5);\r
-aWE("requir",6,8,12);\r
+aWE("requir",8,12,6);\r
 aWE("requireddegre",12);\r
 aWE("requirednbsegment",12);\r
+aWE("respect",15,12);\r
 aWE("restriction",12);\r
-aWE("result",14,15,3,4,7,5,11,12,13,10,9,16);\r
+aWE("result",14,15,11,12,7,9,10,5,13,4,3,16);\r
 aWE("resultant",12);\r
 aWE("retriev",5);\r
-aWE("return",5,10,9,16);\r
-aWE("revolution",7,12);\r
+aWE("return",9,10,5,16);\r
+aWE("revolution",12,7);\r
 aWE("right",1,6);\r
 aWE("rotat",7,13);\r
 aWE("rotation",13);\r
-aWE("s",3,5,12,10,16);\r
+aWE("s",12,10,5,3,16);\r
 aWE("salom",2);\r
-aWE("sam",12);\r
+aWE("sam",15,12);\r
 aWE("sameparamet",12);\r
 aWE("scal",13);\r
 aWE("se",8);\r
 aWE("search",8);\r
-aWE("second",4,11,13,10);\r
-aWE("section",4,10);\r
+aWE("second",11,10,13,4);\r
+aWE("section",10,4);\r
 aWE("segment",15,12);\r
-aWE("select",0,1,15,3,4,6,8,7,5,11,12,10,9,16);\r
-aWE("selection",12,10);\r
+aWE("select",0,1,15,8,11,12,7,9,10,6,5,4,3,16);\r
+aWE("selection",15,12,10);\r
 aWE("sens",10);\r
 aWE("serv",7);\r
-aWE("set",1,3,12,13,10);\r
+aWE("set",1,12,10,13,3);\r
 aWE("setcolor",1);\r
 aWE("setdisplaymod",1);\r
 aWE("settransparency",1);\r
 aWE("sew",12);\r
 aWE("sg",6);\r
 aWE("shad",1);\r
-aWE("shap",1,2,15,4,6,8,7,5,12,13,10,9,16);\r
-aWE("shape1",4,9);\r
-aWE("shape2",4,9);\r
+aWE("shap",1,2,8,12,7,9,10,6,5,13,4,16);\r
+aWE("shape1",9,4);\r
+aWE("shape2",9,4);\r
+aWE("shapesto",12);\r
 aWE("shapetyp",10,16);\r
 aWE("shel",5,13);\r
-aWE("shell",14,7,5,12,13);\r
+aWE("shell",14,12,7,5,13);\r
 aWE("short",1);\r
 aWE("shown",3);\r
 aWE("sid",3);\r
 aWE("sign",13);\r
 aWE("six",14);\r
-aWE("siz",3,12,10);\r
+aWE("siz",12,10,3);\r
 aWE("sketch",15);\r
-aWE("small",3,12);\r
-aWE("solid",14,7,5,11,13,10);\r
+aWE("small",12,3);\r
+aWE("solid",14,11,7,10,5,13);\r
 aWE("soon",3);\r
-aWE("spac",3,9);\r
-aWE("specifi",3,12,10);\r
+aWE("spac",9,3);\r
+aWE("specifi",12,10,3);\r
 aWE("specific",14);\r
 aWE("specify",12);\r
 aWE("spher",11);\r
@@ -601,60 +614,66 @@ aWE("splitcontinuity",12);
 aWE("spot",12);\r
 aWE("stag",14);\r
 aWE("standard",8);\r
-aWE("start",15,3);\r
+aWE("start",15,13,3);\r
 aWE("step",14,2,8,13);\r
 aWE("step1",13);\r
 aWE("step2",13);\r
 aWE("str",15,8);\r
 aWE("strip",12);\r
 aWE("study",6);\r
-aWE("sub",5,12,16);\r
-aWE("submenu",0,5,12,9);\r
-aWE("subshap",5,10,16);\r
+aWE("sub",12,5,16);\r
+aWE("submenu",0,12,9,5);\r
+aWE("subshap",10,5,16);\r
 aWE("subshapeall",5);\r
 aWE("subshapeid",16);\r
 aWE("suppres",12);\r
 aWE("suppressfac",12);\r
 aWE("suppresshol",12);\r
 aWE("suppressinternalwir",12);\r
-aWE("surfac",12,13,9);\r
+aWE("surfac",12,9,13);\r
 aWE("surfacecontinuity",12);\r
 aWE("surfacemod",12);\r
 aWE("symmetrical",13);\r
 aWE("symmetry",11,13);\r
-aWE("system",3);\r
+aWE("system",13,3);\r
 aWE("tak",14);\r
-aWE("target",10);\r
+aWE("tangent",15);\r
+aWE("target",15,10);\r
 aWE("tetrahedral",14);\r
+aWE("theendlc",13);\r
 aWE("them",12);\r
+aWE("theobject",13);\r
 aWE("therefor",15);\r
+aWE("theshap",12);\r
+aWE("thestartlc",13);\r
+aWE("thetoleranc",12);\r
 aWE("tim",13);\r
 aWE("tobezi",12);\r
 aWE("tol2d",7);\r
 aWE("tol3d",7);\r
-aWE("toleranc",7,12,9);\r
+aWE("toleranc",12,7,9);\r
 aWE("tolerance2d",12);\r
 aWE("tolerance3d",12);\r
 aWE("tool",9);\r
 aWE("toru",11);\r
-aWE("transform",4,13,10);\r
-aWE("transformation",0,2,13,10);\r
+aWE("transform",10,13,4);\r
+aWE("transformation",0,2,10,13);\r
 aWE("translat",13);\r
-aWE("translation",13,10);\r
+aWE("translation",10,13);\r
 aWE("transparency",1);\r
 aWE("travers",12);\r
 aWE("trihedron",3);\r
 aWE("trimsiz",3);\r
-aWE("tru",12,10,9);\r
-aWE("tui",14,1,15,3,4,6,8,7,5,11,12,13,10,9,16);\r
+aWE("tru",12,9,10);\r
+aWE("tui",14,1,15,8,11,12,7,9,10,6,5,13,4,3,16);\r
 aWE("tupl",9);\r
-aWE("two",14,11,12,13,10);\r
-aWE("typ",15,4,5,11,12,10,9,16);\r
+aWE("two",14,11,12,10,13);\r
+aWE("typ",15,11,12,9,10,5,4,16);\r
 aWE("typeofshap",5);\r
 aWE("underly",12);\r
-aWE("up",1,6,11,10);\r
+aWE("up",1,11,10,6);\r
 aWE("updat",3);\r
-aWE("us",14,2,15,3,4,6,7,5,12,13,10,9);\r
+aWE("us",14,2,15,12,7,9,10,6,5,13,4,3);\r
 aWE("v1",14);\r
 aWE("v2",14);\r
 aWE("v3",14);\r
@@ -662,35 +681,36 @@ aWE("v4",14);
 aWE("val",12);\r
 aWE("valid",9);\r
 aWE("validity",9);\r
-aWE("valu",1,15,3,7,11,12,13,10,9);\r
+aWE("valu",1,15,11,12,7,9,10,13,3);\r
 aWE("variou",12);\r
-aWE("vector",3,7,11,13);\r
-aWE("vertex",3,7,5,11,12,13,9);\r
+aWE("vector",15,11,7,13,3);\r
+aWE("vertex",11,12,7,9,5,13,3);\r
 aWE("vertex1",5);\r
 aWE("vertex2",5);\r
 aWE("vertexmaxtol",9);\r
 aWE("vertexmintol",9);\r
-aWE("vertic",14,3,5,11,12);\r
-aWE("view",1,3,6);\r
+aWE("vertic",14,11,12,5,3);\r
+aWE("view",1,6,3);\r
 aWE("viewer",6);\r
 aWE("visibility",6);\r
 aWE("visualization",1,6);\r
 aWE("volum",9);\r
 aWE("vtk",6);\r
+aWE("vx",15);\r
 aWE("wantplanarfac",5);\r
 aWE("wat",10);\r
 aWE("waterdensity",10);\r
 aWE("weight",10);\r
 aWE("whati",9);\r
 aWE("whil",12);\r
-aWE("whos",5,9);\r
+aWE("whos",9,5);\r
 aWE("wid",2);\r
-aWE("will",8,12,13,10);\r
-aWE("wir",14,7,5,12);\r
+aWE("will",8,12,10,13);\r
+aWE("wir",14,12,7,5);\r
 aWE("wirefram",1);\r
 aWE("within",1,12);\r
-aWE("work",15,3,6,12,16);\r
-aWE("x",3,9);\r
+aWE("work",15,12,6,3,16);\r
+aWE("x",15,9,3);\r
 aWE("x1",11);\r
 aWE("x2",11);\r
 aWE("xdx",3);\r
@@ -700,7 +720,7 @@ aWE("xmax",9);
 aWE("xmin",9);\r
 aWE("xoy",15);\r
 aWE("xyz",3);\r
-aWE("y",3,9);\r
+aWE("y",15,9,3);\r
 aWE("y1",11);\r
 aWE("y2",11);\r
 aWE("ydx",3);\r
@@ -709,7 +729,7 @@ aWE("ydz",3);
 aWE("ymax",9);\r
 aWE("ymin",9);\r
 aWE("your",8,9);\r
-aWE("z",3,10,9);\r
+aWE("z",9,10,3);\r
 aWE("z1",11);\r
 aWE("z2",11);\r
 aWE("zmax",9);\r
index 7d1b3f248723ce9415096e7ff4b0e0228782f6fa..63e637001bccffe5480e4091fcf0f5077ab7a796 100755 (executable)
@@ -3,23 +3,25 @@
 <key name="«apply»"> 3, </key>\r
 <key name="«ok»"> 3, </key>\r
 <key name="0"> 1,12, </key>\r
-<key name="1"> 1,15,3,4,7,5,11,12,13,10,9,16, </key>\r
-<key name="1d"> 3,10, </key>\r
-<key name="1st"> 3,11,12,13,10, </key>\r
-<key name="2"> 14,1,15,3,4,5,11,12,13,10,9, </key>\r
-<key name="2d"> 3,4,7,5,12,10, </key>\r
-<key name="2nd"> 3,11,12,13,10, </key>\r
-<key name="3"> 15,3,4,11,12,13,10, </key>\r
-<key name="3d"> 3,4,6,7,5,11,12,10,9, </key>\r
-<key name="3rd"> 3,10, </key>\r
-<key name="4"> 14,4,12,10, </key>\r
-<key name="5"> 7,12, </key>\r
+<key name="1"> 1,15,11,12,7,9,10,5,13,4,3,16, </key>\r
+<key name="1d"> 10,3, </key>\r
+<key name="1st"> 11,12,10,13,3, </key>\r
+<key name="2"> 14,1,15,11,12,9,10,5,13,4,3, </key>\r
+<key name="2d"> 12,7,10,5,4,3, </key>\r
+<key name="2nd"> 11,12,10,13,3, </key>\r
+<key name="3"> 15,11,12,10,13,4,3, </key>\r
+<key name="3d"> 11,12,7,9,10,6,5,4,3, </key>\r
+<key name="3rd"> 10,3, </key>\r
+<key name="4"> 14,15,12,10,4, </key>\r
+<key name="5"> 15,12,7, </key>\r
 <key name="6"> 14,12, </key>\r
 <key name="7"> 12, </key>\r
 <key name="8"> 12, </key>\r
 <key name="9"> 15,12, </key>\r
+<key name="90"> 15, </key>\r
 <key name="abl"> 15, </key>\r
-<key name="accord"> 3,12, </key>\r
+<key name="absolut"> 15, </key>\r
+<key name="accord"> 12,3, </key>\r
 <key name="accordanc"> 12, </key>\r
 <key name="achiev"> 12, </key>\r
 <key name="ad"> 12,16, </key>\r
@@ -30,8 +32,8 @@
 <key name="aim"> 10, </key>\r
 <key name="algorithm"> 10, </key>\r
 <key name="allow"> 14,15,8,13,16, </key>\r
-<key name="along"> 7,13,10, </key>\r
-<key name="angl"> 15,7,12,13, </key>\r
+<key name="along"> 7,10,13, </key>\r
+<key name="angl"> 15,12,7,13, </key>\r
 <key name="anoth"> 4, </key>\r
 <key name="any"> 12, </key>\r
 <key name="ap"> 12, </key>\r
 <key name="approximation"> 12, </key>\r
 <key name="arc"> 15,3, </key>\r
 <key name="archimed"> 10, </key>\r
-<key name="argument"> 14,1,15,3,4,7,5,11,12,13,10,9,16, </key>\r
+<key name="argument"> 14,1,15,11,12,7,9,10,5,13,4,3,16, </key>\r
 <key name="around"> 7, </key>\r
 <key name="associat"> 6, </key>\r
 <key name="attribut"> 6, </key>\r
 <key name="automatical"> 14,3, </key>\r
 <key name="availabl"> 6, </key>\r
 <key name="ax"> 3, </key>\r
-<key name="axi"> 3,7,11,13,9, </key>\r
+<key name="axi"> 11,7,9,13,3, </key>\r
 <key name="b"> 3, </key>\r
 <key name="back"> 12, </key>\r
-<key name="bas"> 7,11,12,13, </key>\r
+<key name="bas"> 11,12,7,13, </key>\r
 <key name="baseshap"> 7, </key>\r
 <key name="basi"> 7, </key>\r
-<key name="basic"> 2,15,3,5,10,9, </key>\r
+<key name="basic"> 2,15,9,10,5,3, </key>\r
 <key name="basicproperti"> 9, </key>\r
 <key name="befor"> 15,12, </key>\r
 <key name="below"> 14, </key>\r
-<key name="bezi"> 3,12, </key>\r
+<key name="bezi"> 12,3, </key>\r
 <key name="block"> 14,0,10, </key>\r
-<key name="boolean"> 2,4,5,9, </key>\r
+<key name="boolean"> 2,9,5,4, </key>\r
 <key name="both"> 6, </key>\r
 <key name="bound"> 9, </key>\r
 <key name="boundari"> 12, </key>\r
 <key name="boundary"> 12, </key>\r
 <key name="boundingbox"> 9, </key>\r
-<key name="box"> 14,1,15,3,4,8,7,5,11,12,13,10,9,16, </key>\r
+<key name="box"> 14,1,15,8,11,12,7,9,10,5,13,4,3,16, </key>\r
 <key name="brep"> 2,8, </key>\r
-<key name="brows"> 3,6,8, </key>\r
+<key name="brows"> 8,6,3, </key>\r
 <key name="bsplin"> 12, </key>\r
 <key name="bsplinerestriction"> 12, </key>\r
-<key name="build"> 14,0,2,5,10, </key>\r
+<key name="build"> 14,0,2,10,5, </key>\r
 <key name="button"> 3, </key>\r
 <key name="bypas"> 14, </key>\r
 <key name="cad"> 2, </key>\r
 <key name="camera"> 3, </key>\r
-<key name="cas"> 14,3,12, </key>\r
-<key name="cent"> 15,3,11,13,9, </key>\r
+<key name="cas"> 14,12,3, </key>\r
+<key name="cent"> 15,11,9,13,3, </key>\r
 <key name="centerofscal"> 13, </key>\r
 <key name="central"> 11, </key>\r
 <key name="chamf"> 10, </key>\r
 <key name="chang"> 1, </key>\r
-<key name="check"> 12,10,9, </key>\r
+<key name="check"> 12,9,10, </key>\r
 <key name="checkshap"> 9, </key>\r
-<key name="choos"> 6,8,10, </key>\r
+<key name="choos"> 8,10,6, </key>\r
 <key name="circl"> 3, </key>\r
-<key name="click"> 1,6,8, </key>\r
-<key name="clos"> 5,12, </key>\r
+<key name="click"> 1,8,6, </key>\r
+<key name="clos"> 12,5, </key>\r
 <key name="closecontour"> 12, </key>\r
 <key name="closedwir"> 12, </key>\r
 <key name="closur"> 12, </key>\r
+<key name="coincident"> 12, </key>\r
 <key name="color"> 1, </key>\r
-<key name="command"> 14,1,15,3,4,6,8,7,5,11,12,13,10,9,16, </key>\r
-<key name="common"> 4,12, </key>\r
-<key name="complex"> 2,4,7,10, </key>\r
-<key name="component"> 3,13, </key>\r
+<key name="command"> 14,1,15,8,11,12,7,9,10,6,5,13,4,3,16, </key>\r
+<key name="common"> 12,4, </key>\r
+<key name="complex"> 2,7,10,4, </key>\r
+<key name="component"> 15,13,3, </key>\r
 <key name="compos"> 14,9, </key>\r
-<key name="compound"> 14,4,5,13,10, </key>\r
+<key name="compound"> 14,12,10,5,13,4, </key>\r
 <key name="compsolid"> 7, </key>\r
-<key name="comput"> 10,9, </key>\r
+<key name="comput"> 9,10, </key>\r
 <key name="con"> 11, </key>\r
 <key name="concern"> 9, </key>\r
 <key name="confirm"> 8, </key>\r
 <key name="conical"> 12, </key>\r
-<key name="connect"> 5,10, </key>\r
+<key name="connect"> 10,5, </key>\r
 <key name="consider"> 12, </key>\r
 <key name="constraint"> 14, </key>\r
-<key name="construct"> 14,5,11, </key>\r
+<key name="construct"> 14,11,5, </key>\r
 <key name="construction"> 2,4, </key>\r
-<key name="constructor"> 3,11,12,13,10, </key>\r
+<key name="constructor"> 11,12,10,13,3, </key>\r
 <key name="contain"> 15,8,12, </key>\r
 <key name="content"> 8, </key>\r
 <key name="context"> 12, </key>\r
 <key name="continuity3d"> 12, </key>\r
 <key name="contour"> 12, </key>\r
 <key name="conversion"> 12, </key>\r
-<key name="coordinat"> 15,3,11,13,9, </key>\r
+<key name="coordinat"> 15,11,9,13,3, </key>\r
 <key name="copy"> 13, </key>\r
 <key name="corner"> 11, </key>\r
 <key name="correction"> 12, </key>\r
-<key name="correspond"> 3,7,5,11,12,10, </key>\r
+<key name="correspond"> 11,12,7,10,5,3, </key>\r
 <key name="coupl"> 15, </key>\r
-<key name="creat"> 14,15,3,6,7,5,11,12,13,10,9,16, </key>\r
+<key name="creat"> 14,15,11,12,7,9,10,6,5,13,3,16, </key>\r
 <key name="creategroup"> 16, </key>\r
-<key name="creation"> 2,7,12,10, </key>\r
+<key name="creation"> 2,12,7,10, </key>\r
 <key name="current"> 15,6, </key>\r
-<key name="curv"> 15,3,7,12, </key>\r
+<key name="curv"> 15,12,7,3, </key>\r
 <key name="curve2dmod"> 12, </key>\r
 <key name="curve3dmod"> 12, </key>\r
 <key name="curvecontinuity"> 12, </key>\r
-<key name="cut"> 4,12, </key>\r
+<key name="cut"> 12,4, </key>\r
 <key name="cylind"> 11, </key>\r
 <key name="cylindrical"> 12, </key>\r
 <key name="d1"> 10, </key>\r
 <key name="d2"> 10, </key>\r
 <key name="data"> 9, </key>\r
 <key name="default"> 15, </key>\r
-<key name="defin"> 15,3,11,12,10, </key>\r
+<key name="defin"> 15,11,12,10,3, </key>\r
 <key name="definit"> 9, </key>\r
-<key name="definition"> 7,12, </key>\r
+<key name="definition"> 12,7, </key>\r
 <key name="deflection"> 10, </key>\r
-<key name="degre"> 7,12, </key>\r
+<key name="degre"> 15,12,7, </key>\r
 <key name="delet"> 10, </key>\r
 <key name="density"> 10, </key>\r
 <key name="depend"> 10, </key>\r
 <key name="describ"> 8, </key>\r
-<key name="description"> 14,1,15,3,4,6,7,5,11,12,13,10,9,16, </key>\r
+<key name="description"> 14,1,15,11,12,7,9,10,6,5,13,4,3,16, </key>\r
 <key name="desir"> 12, </key>\r
 <key name="destin"> 2, </key>\r
 <key name="destination"> 15, </key>\r
 <key name="detect"> 12, </key>\r
 <key name="detection"> 12, </key>\r
 <key name="diagonal"> 11, </key>\r
-<key name="dialog"> 14,1,15,3,4,8,7,5,11,12,13,10,9,16, </key>\r
+<key name="dialog"> 14,1,15,8,11,12,7,9,10,5,13,4,3,16, </key>\r
 <key name="dif"> 6, </key>\r
-<key name="different"> 1,6,11,9, </key>\r
-<key name="dimension"> 7,11,10,9, </key>\r
+<key name="different"> 1,11,9,6, </key>\r
+<key name="dimension"> 11,7,9,10, </key>\r
 <key name="dir"> 13, </key>\r
 <key name="dir1"> 13, </key>\r
 <key name="dir2"> 13, </key>\r
-<key name="direction"> 15,3,7,11,13,10, </key>\r
+<key name="direction"> 15,11,7,10,13,3, </key>\r
 <key name="dirface1v"> 10, </key>\r
 <key name="dirfaceid1"> 10, </key>\r
 <key name="dirfaceid1u"> 10, </key>\r
 <key name="dirfaceid2"> 10, </key>\r
 <key name="dirfaceid2u"> 10, </key>\r
 <key name="dirfaceid2v"> 10, </key>\r
-<key name="display"> 1,3,6,8,9, </key>\r
+<key name="display"> 1,8,9,6,3, </key>\r
 <key name="displayall"> 6, </key>\r
 <key name="displayon"> 6, </key>\r
-<key name="distanc"> 13,9, </key>\r
+<key name="distanc"> 12,9,13, </key>\r
 <key name="divid"> 12, </key>\r
 <key name="divideedg"> 12, </key>\r
 <key name="don"> 12,13, </key>\r
 <key name="doubl"> 1,15, </key>\r
 <key name="dropsmalledg"> 12, </key>\r
-<key name="dx"> 13, </key>\r
-<key name="dy"> 13, </key>\r
+<key name="dx"> 15,13, </key>\r
+<key name="dy"> 15,13, </key>\r
 <key name="dz"> 13, </key>\r
 <key name="e"> 6, </key>\r
 <key name="e1"> 14, </key>\r
 <key name="e2"> 14, </key>\r
 <key name="e3"> 14, </key>\r
 <key name="e4"> 14, </key>\r
-<key name="edg"> 14,3,7,5,11,12,13,10, </key>\r
+<key name="edg"> 14,11,12,7,10,5,13,3, </key>\r
 <key name="edgeid"> 12, </key>\r
 <key name="edit"> 16, </key>\r
 <key name="egdemaxtol"> 9, </key>\r
 <key name="egdemintol"> 9, </key>\r
 <key name="eith"> 14, </key>\r
-<key name="element"> 3,4,6,7,5,11,12,9, </key>\r
+<key name="element"> 15,11,12,7,9,6,5,4,3, </key>\r
 <key name="elementary"> 14, </key>\r
 <key name="ellips"> 3, </key>\r
 <key name="empty"> 12, </key>\r
-<key name="end"> 15,3,12, </key>\r
-<key name="ent"> 3,8, </key>\r
-<key name="entity"> 15,3,7,5,11,16, </key>\r
+<key name="end"> 15,12,13,3, </key>\r
+<key name="ent"> 8,3, </key>\r
+<key name="entity"> 15,11,7,5,3,16, </key>\r
+<key name="equal"> 15, </key>\r
 <key name="eras"> 6, </key>\r
 <key name="eraseall"> 6, </key>\r
 <key name="eraseon"> 6, </key>\r
 <key name="error"> 12, </key>\r
-<key name="etc"> 5,12, </key>\r
-<key name="exampl"> 14,1,3,4,7,5,11,12,13,10,16, </key>\r
+<key name="etc"> 12,5, </key>\r
+<key name="exampl"> 14,1,15,11,12,7,10,5,13,4,3,16, </key>\r
 <key name="except"> 12, </key>\r
-<key name="exist"> 16, </key>\r
-<key name="explod"> 0,5,10, </key>\r
+<key name="exist"> 15,16, </key>\r
+<key name="explod"> 0,10,5, </key>\r
 <key name="export"> 2,8, </key>\r
 <key name="exportation"> 8, </key>\r
 <key name="extract"> 10, </key>\r
 <key name="f4"> 14, </key>\r
 <key name="f5"> 14, </key>\r
 <key name="f6"> 14, </key>\r
-<key name="fac"> 14,3,7,5,12,13,10, </key>\r
+<key name="fac"> 14,12,7,10,5,13,3, </key>\r
 <key name="face1"> 10, </key>\r
 <key name="face2"> 10, </key>\r
 <key name="facemaxtol"> 9, </key>\r
 <key name="factor"> 13, </key>\r
 <key name="fals"> 12, </key>\r
 <key name="field"> 3, </key>\r
-<key name="fil"> 3,8,7, </key>\r
+<key name="fil"> 8,7,3, </key>\r
 <key name="filenam"> 8, </key>\r
 <key name="fill"> 7, </key>\r
 <key name="fillet"> 10, </key>\r
-<key name="first"> 3,4,5,11,13,10, </key>\r
+<key name="first"> 11,10,5,13,4,3, </key>\r
 <key name="fix"> 12, </key>\r
 <key name="fixfacesiz"> 12, </key>\r
 <key name="fixshap"> 12, </key>\r
-<key name="follow"> 14,4,6,5, </key>\r
+<key name="follow"> 14,6,5,4, </key>\r
 <key name="format"> 2,8, </key>\r
 <key name="formatnam"> 8, </key>\r
 <key name="four"> 14, </key>\r
 <key name="general"> 14, </key>\r
 <key name="generat"> 7, </key>\r
 <key name="generation"> 2,7, </key>\r
-<key name="geom"> 1,2,3,4,6,8,7,5,11,13,10,9, </key>\r
-<key name="geom_object"> 14,15,3,4,7,5,11,12,13,10,9,16, </key>\r
+<key name="geom"> 1,2,8,11,7,9,10,6,5,13,4,3, </key>\r
+<key name="geom_object"> 14,15,11,12,7,9,10,5,13,4,3,16, </key>\r
 <key name="geometric"> 14, </key>\r
-<key name="geometrical"> 1,2,3,4,6,8,7,5,11,12,13,10,9,16, </key>\r
+<key name="geometrical"> 1,2,8,11,12,7,9,10,6,5,13,4,3,16, </key>\r
 <key name="geometry"> 12, </key>\r
-<key name="geompy"> 14,15,3,4,8,7,5,11,12,13,10,9,16, </key>\r
-<key name="get"> 4,5,9, </key>\r
+<key name="geompy"> 14,15,8,11,12,7,9,10,5,13,4,3,16, </key>\r
+<key name="get"> 9,5,4, </key>\r
 <key name="getfreeboundary"> 12, </key>\r
 <key name="getobjectid"> 16, </key>\r
 <key name="getsubshapeid"> 5, </key>\r
 <key name="gg"> 1, </key>\r
 <key name="giv"> 3, </key>\r
-<key name="given"> 3,5,13,10, </key>\r
-<key name="glu"> 10, </key>\r
+<key name="given"> 12,10,5,13,3, </key>\r
+<key name="glu"> 12,10, </key>\r
 <key name="graphic"> 6, </key>\r
 <key name="gravity"> 9, </key>\r
 <key name="group"> 16, </key>\r
 <key name="gui"> 10, </key>\r
 <key name="half"> 3, </key>\r
-<key name="hav"> 5,12, </key>\r
-<key name="height"> 7,11, </key>\r
+<key name="hav"> 12,5, </key>\r
+<key name="height"> 11,7, </key>\r
 <key name="hexahedral"> 14,10, </key>\r
 <key name="hexahedron"> 14, </key>\r
 <key name="hid"> 6, </key>\r
 <key name="i31"> 9, </key>\r
 <key name="i32"> 9, </key>\r
 <key name="i33"> 9, </key>\r
-<key name="id"> 1,6,5,12,10,16, </key>\r
-<key name="if"> 5,12,10,9, </key>\r
+<key name="id"> 1,12,10,6,5,16, </key>\r
+<key name="if"> 12,9,10,5, </key>\r
 <key name="ig"> 2,8, </key>\r
 <key name="imag"> 13, </key>\r
-<key name="import"> 2,6,8,9, </key>\r
+<key name="import"> 2,8,9,6, </key>\r
 <key name="importation"> 8, </key>\r
 <key name="in"> 13, </key>\r
 <key name="increas"> 12, </key>\r
-<key name="independent"> 4,6, </key>\r
+<key name="independent"> 6,4, </key>\r
 <key name="indic"> 10, </key>\r
 <key name="inertia"> 9, </key>\r
 <key name="initial"> 13, </key>\r
 <key name="iy"> 9, </key>\r
 <key name="iz"> 9, </key>\r
 <key name="just"> 14, </key>\r
-<key name="last"> 3,5, </key>\r
+<key name="last"> 5,3, </key>\r
 <key name="lc"> 3, </key>\r
 <key name="least"> 3, </key>\r
 <key name="length"> 15,12,9, </key>\r
 <key name="les"> 12, </key>\r
 <key name="limit"> 10, </key>\r
-<key name="lin"> 15,3,10, </key>\r
-<key name="list"> 15,3,7,5,12,10,16, </key>\r
+<key name="lin"> 15,10,3, </key>\r
+<key name="list"> 15,12,7,10,5,3,16, </key>\r
 <key name="listoffaceid"> 10, </key>\r
 <key name="listofgeomshap"> 12, </key>\r
-<key name="listofid"> 5,12, </key>\r
+<key name="listofid"> 12,5, </key>\r
 <key name="listofkeepinsid"> 10, </key>\r
 <key name="listofmaterial"> 10, </key>\r
 <key name="listofremoveinsid"> 10, </key>\r
-<key name="listofshap"> 3,5,12,10, </key>\r
+<key name="listofshap"> 12,10,5,3, </key>\r
 <key name="listofshapeid"> 10, </key>\r
 <key name="listoftool"> 10, </key>\r
 <key name="listofwireid"> 12, </key>\r
-<key name="local"> 15,3,12,13, </key>\r
+<key name="local"> 15,12,13,3, </key>\r
 <key name="locat"> 3, </key>\r
-<key name="location"> 3,8, </key>\r
+<key name="location"> 8,13,3, </key>\r
 <key name="lwp"> 15, </key>\r
 <key name="ly"> 15,12, </key>\r
-<key name="main"> 0,3,4,6,7,5,11,12,10,9,16, </key>\r
+<key name="main"> 0,11,12,7,9,10,6,5,4,3,16, </key>\r
 <key name="mainshap"> 16, </key>\r
-<key name="major"> 3,11, </key>\r
-<key name="mak"> 13,10, </key>\r
+<key name="major"> 11,3, </key>\r
+<key name="mak"> 10,13, </key>\r
 <key name="makearc"> 3, </key>\r
 <key name="makebezi"> 3, </key>\r
 <key name="makeblockexplod"> 10, </key>\r
 <key name="makefac"> 5, </key>\r
 <key name="makefil"> 7, </key>\r
 <key name="makefillet"> 10, </key>\r
+<key name="makegluefac"> 12, </key>\r
 <key name="makehexasolid"> 14, </key>\r
 <key name="makehexasolidtwofac"> 14, </key>\r
 <key name="makeinterpol"> 3, </key>\r
 <key name="makepip"> 7, </key>\r
 <key name="makeplan"> 3, </key>\r
 <key name="makepolylin"> 3, </key>\r
+<key name="makeposition"> 13, </key>\r
 <key name="makeprism"> 7, </key>\r
 <key name="makequadfac"> 14, </key>\r
 <key name="makequadfaceedg"> 14, </key>\r
 <key name="mas"> 9, </key>\r
 <key name="material"> 10, </key>\r
 <key name="matrix"> 9, </key>\r
-<key name="max"> 7,12,10, </key>\r
+<key name="max"> 12,7,10, </key>\r
 <key name="maxdegre"> 7, </key>\r
-<key name="maximal"> 7,12,10,9, </key>\r
+<key name="maximal"> 12,7,9,10, </key>\r
 <key name="maximum"> 12,10, </key>\r
 <key name="maxnbfac"> 10, </key>\r
 <key name="maxtoleranc"> 12, </key>\r
 <key name="measur"> 9, </key>\r
 <key name="measurement"> 9, </key>\r
 <key name="mention"> 14, </key>\r
-<key name="menu"> 0,1,3,4,6,8,7,5,11,12,10,9,16, </key>\r
+<key name="menu"> 0,1,8,11,12,7,9,10,6,5,4,3,16, </key>\r
 <key name="merg"> 12, </key>\r
 <key name="mesh"> 14,10, </key>\r
 <key name="meshingdeflection"> 10, </key>\r
 <key name="method"> 5, </key>\r
 <key name="middl"> 3, </key>\r
-<key name="min"> 7,10,9, </key>\r
+<key name="min"> 7,9,10, </key>\r
 <key name="mindegre"> 7, </key>\r
 <key name="mindistanc"> 9, </key>\r
-<key name="minimal"> 7,10,9, </key>\r
+<key name="minimal"> 7,9,10, </key>\r
 <key name="minimum"> 10, </key>\r
 <key name="minnbfac"> 10, </key>\r
-<key name="minor"> 3,11, </key>\r
+<key name="minor"> 11,3, </key>\r
 <key name="mirror"> 13, </key>\r
 <key name="mod"> 1,12, </key>\r
 <key name="model"> 2,10, </key>\r
-<key name="modifi"> 3,12, </key>\r
-<key name="modification"> 12, </key>\r
+<key name="modifi"> 12,13,3, </key>\r
+<key name="modification"> 12,13, </key>\r
+<key name="modify"> 13, </key>\r
 <key name="modul"> 2,6, </key>\r
 <key name="moment"> 9, </key>\r
 <key name="mov"> 13, </key>\r
-<key name="multi"> 0,13,10, </key>\r
+<key name="multi"> 0,10,13, </key>\r
 <key name="must"> 12,13, </key>\r
 <key name="nam"> 8,12, </key>\r
 <key name="nbit"> 7, </key>\r
 <key name="nbsplitpoint"> 12, </key>\r
-<key name="nbtim"> 13,10, </key>\r
+<key name="nbtim"> 10,13, </key>\r
 <key name="nbtimes1"> 13, </key>\r
 <key name="nbtimes2"> 13, </key>\r
 <key name="nbtimesu"> 10, </key>\r
 <key name="nbtimesv"> 10, </key>\r
-<key name="necessary"> 15,6,12,9, </key>\r
+<key name="necessary"> 15,12,9,6, </key>\r
 <key name="need"> 12, </key>\r
 <key name="negativ"> 13, </key>\r
 <key name="neigbour"> 12, </key>\r
-<key name="new"> 15,3,7,5,11,12,16, </key>\r
+<key name="new"> 15,11,12,7,5,3,16, </key>\r
 <key name="noerror"> 12, </key>\r
-<key name="normal"> 3,7,13, </key>\r
+<key name="normal"> 7,13,3, </key>\r
 <key name="notion"> 14, </key>\r
-<key name="numb"> 1,7,12,13,10, </key>\r
+<key name="numb"> 1,12,7,10,13, </key>\r
 <key name="number"> 10, </key>\r
 <key name="numeb"> 10, </key>\r
-<key name="object"> 1,2,3,4,6,8,7,5,11,12,13,10,9,16, </key>\r
+<key name="object"> 1,2,8,11,12,7,9,10,6,5,13,4,3,16, </key>\r
 <key name="occ"> 1,6, </key>\r
 <key name="occur"> 12, </key>\r
 <key name="offset"> 13, </key>\r
 <key name="ok"> 8, </key>\r
-<key name="on"> 4,6,12,13,10, </key>\r
+<key name="on"> 15,12,10,6,13,4, </key>\r
 <key name="open"> 12, </key>\r
 <key name="openwir"> 12, </key>\r
-<key name="operation"> 14,2,4,6,7,12,13,10,16, </key>\r
+<key name="operation"> 14,2,12,7,10,6,13,4,16, </key>\r
 <key name="operator"> 12, </key>\r
 <key name="opposit"> 11, </key>\r
 <key name="optimization"> 2, </key>\r
 <key name="option"> 0, </key>\r
 <key name="ord"> 12, </key>\r
 <key name="orient"> 14,3, </key>\r
-<key name="origin"> 3,11, </key>\r
+<key name="origin"> 11,3, </key>\r
 <key name="otherwis"> 12, </key>\r
 <key name="outsid"> 10, </key>\r
 <key name="ox"> 15,3, </key>\r
 <key name="oy"> 3, </key>\r
 <key name="oz"> 15,3, </key>\r
-<key name="paramet"> 3,5,12, </key>\r
-<key name="parameter"> 1,3,7,12, </key>\r
+<key name="paramet"> 12,5,3, </key>\r
+<key name="parameter"> 1,15,12,7,3, </key>\r
 <key name="paramt"> 12, </key>\r
-<key name="part"> 4,11, </key>\r
+<key name="part"> 11,4, </key>\r
 <key name="partition"> 10, </key>\r
 <key name="pas"> 3, </key>\r
 <key name="path"> 7, </key>\r
 <key name="pathshap"> 7, </key>\r
 <key name="pattern"> 13, </key>\r
 <key name="perform"> 10,16, </key>\r
+<key name="perpendicular"> 15, </key>\r
 <key name="pip"> 7, </key>\r
-<key name="plan"> 15,3,13,10, </key>\r
+<key name="plan"> 15,10,13,3, </key>\r
 <key name="planar"> 15,5, </key>\r
 <key name="plung"> 10, </key>\r
-<key name="point"> 14,15,3,11,12,13,9, </key>\r
+<key name="point"> 14,15,11,12,9,13,3, </key>\r
 <key name="point1"> 3, </key>\r
 <key name="point2"> 3, </key>\r
 <key name="point3"> 3, </key>\r
 <key name="pointcoordinat"> 9, </key>\r
 <key name="polylin"> 3, </key>\r
 <key name="pop"> 1,6, </key>\r
-<key name="position"> 3,12, </key>\r
+<key name="position"> 12,3, </key>\r
 <key name="possibility"> 12, </key>\r
-<key name="possibl"> 6,12, </key>\r
+<key name="possibl"> 12,6, </key>\r
 <key name="precision"> 12, </key>\r
+<key name="predefin"> 15, </key>\r
 <key name="pres"> 3, </key>\r
 <key name="preview"> 3, </key>\r
+<key name="previou"> 15, </key>\r
 <key name="primitiv"> 2,11, </key>\r
 <key name="prism"> 7, </key>\r
 <key name="problem"> 12, </key>\r
 <key name="python"> 9, </key>\r
 <key name="quadrangl"> 14,3, </key>\r
 <key name="radian"> 12, </key>\r
-<key name="radiu"> 15,3,11,10, </key>\r
-<key name="radius"> 3,11, </key>\r
+<key name="radiu"> 15,11,10,3, </key>\r
+<key name="radius"> 11,3, </key>\r
 <key name="radius1"> 11, </key>\r
 <key name="radius2"> 11, </key>\r
-<key name="radiusmajor"> 3,11, </key>\r
-<key name="radiusminor"> 3,11, </key>\r
+<key name="radiusmajor"> 11,3, </key>\r
+<key name="radiusminor"> 11,3, </key>\r
 <key name="rang"> 2,12, </key>\r
 <key name="re"> 12, </key>\r
 <key name="reasonabl"> 6, </key>\r
 <key name="reconstruction"> 10, </key>\r
+<key name="relativ"> 15, </key>\r
 <key name="remov"> 12,16, </key>\r
 <key name="removeobject"> 16, </key>\r
 <key name="removeweb"> 10, </key>\r
 <key name="repetition"> 13, </key>\r
 <key name="represent"> 3, </key>\r
 <key name="request"> 5, </key>\r
-<key name="requir"> 6,8,12, </key>\r
+<key name="requir"> 8,12,6, </key>\r
 <key name="requireddegre"> 12, </key>\r
 <key name="requirednbsegment"> 12, </key>\r
+<key name="respect"> 15,12, </key>\r
 <key name="restriction"> 12, </key>\r
-<key name="result"> 14,15,3,4,7,5,11,12,13,10,9,16, </key>\r
+<key name="result"> 14,15,11,12,7,9,10,5,13,4,3,16, </key>\r
 <key name="resultant"> 12, </key>\r
 <key name="retriev"> 5, </key>\r
-<key name="return"> 5,10,9,16, </key>\r
-<key name="revolution"> 7,12, </key>\r
+<key name="return"> 9,10,5,16, </key>\r
+<key name="revolution"> 12,7, </key>\r
 <key name="right"> 1,6, </key>\r
 <key name="rotat"> 7,13, </key>\r
 <key name="rotation"> 13, </key>\r
-<key name="s"> 3,5,12,10,16, </key>\r
+<key name="s"> 12,10,5,3,16, </key>\r
 <key name="salom"> 2, </key>\r
-<key name="sam"> 12, </key>\r
+<key name="sam"> 15,12, </key>\r
 <key name="sameparamet"> 12, </key>\r
 <key name="scal"> 13, </key>\r
 <key name="se"> 8, </key>\r
 <key name="search"> 8, </key>\r
-<key name="second"> 4,11,13,10, </key>\r
-<key name="section"> 4,10, </key>\r
+<key name="second"> 11,10,13,4, </key>\r
+<key name="section"> 10,4, </key>\r
 <key name="segment"> 15,12, </key>\r
-<key name="select"> 0,1,15,3,4,6,8,7,5,11,12,10,9,16, </key>\r
-<key name="selection"> 12,10, </key>\r
+<key name="select"> 0,1,15,8,11,12,7,9,10,6,5,4,3,16, </key>\r
+<key name="selection"> 15,12,10, </key>\r
 <key name="sens"> 10, </key>\r
 <key name="serv"> 7, </key>\r
-<key name="set"> 1,3,12,13,10, </key>\r
+<key name="set"> 1,12,10,13,3, </key>\r
 <key name="setcolor"> 1, </key>\r
 <key name="setdisplaymod"> 1, </key>\r
 <key name="settransparency"> 1, </key>\r
 <key name="sew"> 12, </key>\r
 <key name="sg"> 6, </key>\r
 <key name="shad"> 1, </key>\r
-<key name="shap"> 1,2,15,4,6,8,7,5,12,13,10,9,16, </key>\r
-<key name="shape1"> 4,9, </key>\r
-<key name="shape2"> 4,9, </key>\r
+<key name="shap"> 1,2,8,12,7,9,10,6,5,13,4,16, </key>\r
+<key name="shape1"> 9,4, </key>\r
+<key name="shape2"> 9,4, </key>\r
+<key name="shapesto"> 12, </key>\r
 <key name="shapetyp"> 10,16, </key>\r
 <key name="shel"> 5,13, </key>\r
-<key name="shell"> 14,7,5,12,13, </key>\r
+<key name="shell"> 14,12,7,5,13, </key>\r
 <key name="short"> 1, </key>\r
 <key name="shown"> 3, </key>\r
 <key name="sid"> 3, </key>\r
 <key name="sign"> 13, </key>\r
 <key name="six"> 14, </key>\r
-<key name="siz"> 3,12,10, </key>\r
+<key name="siz"> 12,10,3, </key>\r
 <key name="sketch"> 15, </key>\r
-<key name="small"> 3,12, </key>\r
-<key name="solid"> 14,7,5,11,13,10, </key>\r
+<key name="small"> 12,3, </key>\r
+<key name="solid"> 14,11,7,10,5,13, </key>\r
 <key name="soon"> 3, </key>\r
-<key name="spac"> 3,9, </key>\r
-<key name="specifi"> 3,12,10, </key>\r
+<key name="spac"> 9,3, </key>\r
+<key name="specifi"> 12,10,3, </key>\r
 <key name="specific"> 14, </key>\r
 <key name="specify"> 12, </key>\r
 <key name="spher"> 11, </key>\r
 <key name="spot"> 12, </key>\r
 <key name="stag"> 14, </key>\r
 <key name="standard"> 8, </key>\r
-<key name="start"> 15,3, </key>\r
+<key name="start"> 15,13,3, </key>\r
 <key name="step"> 14,2,8,13, </key>\r
 <key name="step1"> 13, </key>\r
 <key name="step2"> 13, </key>\r
 <key name="str"> 15,8, </key>\r
 <key name="strip"> 12, </key>\r
 <key name="study"> 6, </key>\r
-<key name="sub"> 5,12,16, </key>\r
-<key name="submenu"> 0,5,12,9, </key>\r
-<key name="subshap"> 5,10,16, </key>\r
+<key name="sub"> 12,5,16, </key>\r
+<key name="submenu"> 0,12,9,5, </key>\r
+<key name="subshap"> 10,5,16, </key>\r
 <key name="subshapeall"> 5, </key>\r
 <key name="subshapeid"> 16, </key>\r
 <key name="suppres"> 12, </key>\r
 <key name="suppressfac"> 12, </key>\r
 <key name="suppresshol"> 12, </key>\r
 <key name="suppressinternalwir"> 12, </key>\r
-<key name="surfac"> 12,13,9, </key>\r
+<key name="surfac"> 12,9,13, </key>\r
 <key name="surfacecontinuity"> 12, </key>\r
 <key name="surfacemod"> 12, </key>\r
 <key name="symmetrical"> 13, </key>\r
 <key name="symmetry"> 11,13, </key>\r
-<key name="system"> 3, </key>\r
+<key name="system"> 13,3, </key>\r
 <key name="tak"> 14, </key>\r
-<key name="target"> 10, </key>\r
+<key name="tangent"> 15, </key>\r
+<key name="target"> 15,10, </key>\r
 <key name="tetrahedral"> 14, </key>\r
+<key name="theendlc"> 13, </key>\r
 <key name="them"> 12, </key>\r
+<key name="theobject"> 13, </key>\r
 <key name="therefor"> 15, </key>\r
+<key name="theshap"> 12, </key>\r
+<key name="thestartlc"> 13, </key>\r
+<key name="thetoleranc"> 12, </key>\r
 <key name="tim"> 13, </key>\r
 <key name="tobezi"> 12, </key>\r
 <key name="tol2d"> 7, </key>\r
 <key name="tol3d"> 7, </key>\r
-<key name="toleranc"> 7,12,9, </key>\r
+<key name="toleranc"> 12,7,9, </key>\r
 <key name="tolerance2d"> 12, </key>\r
 <key name="tolerance3d"> 12, </key>\r
 <key name="tool"> 9, </key>\r
 <key name="toru"> 11, </key>\r
-<key name="transform"> 4,13,10, </key>\r
-<key name="transformation"> 0,2,13,10, </key>\r
+<key name="transform"> 10,13,4, </key>\r
+<key name="transformation"> 0,2,10,13, </key>\r
 <key name="translat"> 13, </key>\r
-<key name="translation"> 13,10, </key>\r
+<key name="translation"> 10,13, </key>\r
 <key name="transparency"> 1, </key>\r
 <key name="travers"> 12, </key>\r
 <key name="trihedron"> 3, </key>\r
 <key name="trimsiz"> 3, </key>\r
-<key name="tru"> 12,10,9, </key>\r
-<key name="tui"> 14,1,15,3,4,6,8,7,5,11,12,13,10,9,16, </key>\r
+<key name="tru"> 12,9,10, </key>\r
+<key name="tui"> 14,1,15,8,11,12,7,9,10,6,5,13,4,3,16, </key>\r
 <key name="tupl"> 9, </key>\r
-<key name="two"> 14,11,12,13,10, </key>\r
-<key name="typ"> 15,4,5,11,12,10,9,16, </key>\r
+<key name="two"> 14,11,12,10,13, </key>\r
+<key name="typ"> 15,11,12,9,10,5,4,16, </key>\r
 <key name="typeofshap"> 5, </key>\r
 <key name="underly"> 12, </key>\r
-<key name="up"> 1,6,11,10, </key>\r
+<key name="up"> 1,11,10,6, </key>\r
 <key name="updat"> 3, </key>\r
-<key name="us"> 14,2,15,3,4,6,7,5,12,13,10,9, </key>\r
+<key name="us"> 14,2,15,12,7,9,10,6,5,13,4,3, </key>\r
 <key name="v1"> 14, </key>\r
 <key name="v2"> 14, </key>\r
 <key name="v3"> 14, </key>\r
 <key name="val"> 12, </key>\r
 <key name="valid"> 9, </key>\r
 <key name="validity"> 9, </key>\r
-<key name="valu"> 1,15,3,7,11,12,13,10,9, </key>\r
+<key name="valu"> 1,15,11,12,7,9,10,13,3, </key>\r
 <key name="variou"> 12, </key>\r
-<key name="vector"> 3,7,11,13, </key>\r
-<key name="vertex"> 3,7,5,11,12,13,9, </key>\r
+<key name="vector"> 15,11,7,13,3, </key>\r
+<key name="vertex"> 11,12,7,9,5,13,3, </key>\r
 <key name="vertex1"> 5, </key>\r
 <key name="vertex2"> 5, </key>\r
 <key name="vertexmaxtol"> 9, </key>\r
 <key name="vertexmintol"> 9, </key>\r
-<key name="vertic"> 14,3,5,11,12, </key>\r
-<key name="view"> 1,3,6, </key>\r
+<key name="vertic"> 14,11,12,5,3, </key>\r
+<key name="view"> 1,6,3, </key>\r
 <key name="viewer"> 6, </key>\r
 <key name="visibility"> 6, </key>\r
 <key name="visualization"> 1,6, </key>\r
 <key name="volum"> 9, </key>\r
 <key name="vtk"> 6, </key>\r
+<key name="vx"> 15, </key>\r
 <key name="wantplanarfac"> 5, </key>\r
 <key name="wat"> 10, </key>\r
 <key name="waterdensity"> 10, </key>\r
 <key name="weight"> 10, </key>\r
 <key name="whati"> 9, </key>\r
 <key name="whil"> 12, </key>\r
-<key name="whos"> 5,9, </key>\r
+<key name="whos"> 9,5, </key>\r
 <key name="wid"> 2, </key>\r
-<key name="will"> 8,12,13,10, </key>\r
-<key name="wir"> 14,7,5,12, </key>\r
+<key name="will"> 8,12,10,13, </key>\r
+<key name="wir"> 14,12,7,5, </key>\r
 <key name="wirefram"> 1, </key>\r
 <key name="within"> 1,12, </key>\r
-<key name="work"> 15,3,6,12,16, </key>\r
-<key name="x"> 3,9, </key>\r
+<key name="work"> 15,12,6,3,16, </key>\r
+<key name="x"> 15,9,3, </key>\r
 <key name="x1"> 11, </key>\r
 <key name="x2"> 11, </key>\r
 <key name="xdx"> 3, </key>\r
 <key name="xmin"> 9, </key>\r
 <key name="xoy"> 15, </key>\r
 <key name="xyz"> 3, </key>\r
-<key name="y"> 3,9, </key>\r
+<key name="y"> 15,9,3, </key>\r
 <key name="y1"> 11, </key>\r
 <key name="y2"> 11, </key>\r
 <key name="ydx"> 3, </key>\r
 <key name="ymax"> 9, </key>\r
 <key name="ymin"> 9, </key>\r
 <key name="your"> 8,9, </key>\r
-<key name="z"> 3,10,9, </key>\r
+<key name="z"> 9,10,3, </key>\r
 <key name="z1"> 11, </key>\r
 <key name="z2"> 11, </key>\r
 <key name="zmax"> 9, </key>\r
index 93109291028e910be2e52430ed7564448e8c892e..946decd1e87dfce8288b2878012cdda99de2152b 100755 (executable)
@@ -36,11 +36,11 @@ A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; }
 \r
 <a name="bm_{"></a><a name="subkey_{A"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>«apply»</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>«ok»</b></a> <br><nobr>1d <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>1st <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><nobr>2d <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> </nobr><br><nobr>2nd <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><nobr>3d <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>9</b></a> </nobr><br><nobr>3rd <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br>\r
 <br><br>\r
-<a name="bm_A"></a><a name="subkey_AB"></a><a href="../sketcher.htm"><b>able</b></a> <br><a name="bms_AC"></a><a name="subkey_AC"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>accordance</b></a> <br><nobr>according <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>achieve</b></a> <br><a name="bms_AD"></a><a name="subkey_AD"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>add</b></a> <br><nobr>added <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><a href="../working_with_groups.htm"><b>addobject</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>adjustment</b></a> <br><nobr>advanced <a href="../files/salome2_sp3_generationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_AI"></a><a name="subkey_AI"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>aimed</b></a> <br><a name="bms_AL"></a><a name="subkey_AL"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>algorithm</b></a> <br><nobr>allowing <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> </nobr><br><nobr>allows <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../working_with_groups.htm"><b>3</b></a> </nobr><br><nobr>along <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_AN"></a><a name="subkey_AN"></a>angle <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>another</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>any</b></a> <br><a name="bms_AP"></a><a name="subkey_AP"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>applicable</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>applied</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>apply</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>applying</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>approximation</b></a> <br><nobr><a name="bms_AR"></a><a name="subkey_AR"></a>arc <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>archimede</b></a> <br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>argument</b></a> <br><nobr>arguments <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../changing_displaying_parameters.htm"><b>12</b></a> <a href="../working_with_groups.htm"><b>13</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>around</b></a> <br><a name="bms_AS"></a><a name="subkey_AS"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>associated</b></a> <br><a name="bms_AT"></a><a name="subkey_AT"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>attributes</b></a> <br><nobr><a name="bms_AU"></a><a name="subkey_AU"></a>automatically <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_AV"></a><a name="subkey_AV"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>available</b></a> <br><a name="bms_AX"></a><a name="subkey_AX"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>axes</b></a> <br><nobr>axis <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br>\r
+<a name="bm_A"></a><a name="subkey_AB"></a><a href="../sketcher.htm"><b>able</b></a> <br><a href="../sketcher.htm"><b>absolute</b></a> <br><a name="bms_AC"></a><a name="subkey_AC"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>accordance</b></a> <br><nobr>according <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>achieve</b></a> <br><a name="bms_AD"></a><a name="subkey_AD"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>add</b></a> <br><nobr>added <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><a href="../working_with_groups.htm"><b>addobject</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>adjustment</b></a> <br><nobr>advanced <a href="../files/salome2_sp3_generationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_AI"></a><a name="subkey_AI"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>aimed</b></a> <br><a name="bms_AL"></a><a name="subkey_AL"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>algorithm</b></a> <br><nobr>allowing <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> </nobr><br><nobr>allows <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../working_with_groups.htm"><b>3</b></a> </nobr><br><nobr>along <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_AN"></a><a name="subkey_AN"></a>angle <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>another</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>any</b></a> <br><a name="bms_AP"></a><a name="subkey_AP"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>applicable</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>applied</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>apply</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>applying</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>approximation</b></a> <br><nobr><a name="bms_AR"></a><a name="subkey_AR"></a>arc <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>archimede</b></a> <br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>argument</b></a> <br><nobr>arguments <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../changing_displaying_parameters.htm"><b>12</b></a> <a href="../working_with_groups.htm"><b>13</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>around</b></a> <br><a name="bms_AS"></a><a name="subkey_AS"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>associated</b></a> <br><a name="bms_AT"></a><a name="subkey_AT"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>attributes</b></a> <br><nobr><a name="bms_AU"></a><a name="subkey_AU"></a>automatically <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_AV"></a><a name="subkey_AV"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>available</b></a> <br><a name="bms_AX"></a><a name="subkey_AX"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>axes</b></a> <br><nobr>axis <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br>\r
 <br><br>\r
 <a name="bm_B"></a><a name="subkey_B{"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>b</b></a> <br><a name="bms_BA"></a><a name="subkey_BA"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>back</b></a> <br><nobr>base <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>based</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>baseshape</b></a> <br><nobr>basic <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> <a href="../files/introduction_to_geom.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>basicproperties</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>basing</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>basis</b></a> <br><nobr><a name="bms_BE"></a><a name="subkey_BE"></a>before <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br><a href="../newentity_blocks.htm"><b>below</b></a> <br><nobr>bezier <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_BL"></a><a name="subkey_BL"></a>block <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><nobr>blocks <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../blocks.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_BO"></a><a name="subkey_BO"></a>boolean <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>3</b></a> <a href="../files/introduction_to_geom.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>both</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>boundaries</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>boundary</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>bounding</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>boundingbox</b></a> <br><nobr>box <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>12</b></a> <a href="../changing_displaying_parameters.htm"><b>13</b></a> <a href="../working_with_groups.htm"><b>14</b></a> </nobr><br><nobr><a name="bms_BR"></a><a name="subkey_BR"></a>brep <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><nobr>browser <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a name="bms_BS"></a><a name="subkey_BS"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>bspline</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>bsplinerestriction</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>bsplines</b></a> <br><nobr><a name="bms_BU"></a><a name="subkey_BU"></a>build <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><nobr>building <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../files/introduction_to_geom.htm"><b>3</b></a> <a href="../blocks.htm"><b>4</b></a> </nobr><br><nobr>builds <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>button</b></a> <br><a name="bms_BY"></a><a name="subkey_BY"></a><a href="../newentity_blocks.htm"><b>bypassing</b></a> <br>\r
 <br><br>\r
-<a name="bm_C"></a><a name="subkey_CA"></a><a href="../files/introduction_to_geom.htm"><b>cad</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>camera</b></a> <br><nobr>case <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_CE"></a><a name="subkey_CE"></a>center <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>centerofscale</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>central</b></a> <br><a name="bms_CH"></a><a name="subkey_CH"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>chamfer</b></a> <br><a href="../changing_displaying_parameters.htm"><b>change</b></a> <br><a href="../changing_displaying_parameters.htm"><b>changes</b></a> <br><a href="../changing_displaying_parameters.htm"><b>changing</b></a> <br><nobr>check <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> </nobr><br><nobr>checked <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> </nobr><br><nobr>checking <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>checkshape</b></a> <br><nobr>choose <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>3</b></a> </nobr><br><a name="bms_CI"></a><a name="subkey_CI"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>circle</b></a> <br><nobr><a name="bms_CL"></a><a name="subkey_CL"></a>click <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../changing_displaying_parameters.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>close</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>closecontour</b></a> <br><nobr>closed <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>closedwires</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>closes</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>closure</b></a> <br><a name="bms_CO"></a><a name="subkey_CO"></a><a href="../changing_displaying_parameters.htm"><b>color</b></a> <br><nobr>command <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>12</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>13</b></a> <a href="../changing_displaying_parameters.htm"><b>14</b></a> <a href="../working_with_groups.htm"><b>15</b></a> </nobr><br><nobr>common <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><nobr>complex <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>3</b></a> <a href="../files/introduction_to_geom.htm"><b>4</b></a> </nobr><br><nobr>components <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../newentity_blocks.htm"><b>composed</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>composing</b></a> <br><nobr>compound <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>compsolid</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>compute</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>computed</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>concerning</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>cone</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>confirm</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>conical</b></a> <br><nobr>connected <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>considered</b></a> <br><a href="../newentity_blocks.htm"><b>constraints</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>construct</b></a> <br><nobr>constructed <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>constructing</b></a> <br><nobr>construction <a href="../files/salome2_sp3_booleangui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><nobr>constructor <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../sketcher.htm"><b>containing</b></a> <br><nobr>contains <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>contents</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>context</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>continuities</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>continuity</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>continuity2d</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>continuity3d</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>contour</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>conversion</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>coordinate</b></a> <br><nobr>coordinates <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>copy</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>corners</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>correction</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>correspond</b></a> <br><nobr>corresponding <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>correspondingly <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../sketcher.htm"><b>coupled</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf1.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
+<a name="bm_C"></a><a name="subkey_CA"></a><a href="../files/introduction_to_geom.htm"><b>cad</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>camera</b></a> <br><nobr>case <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_CE"></a><a name="subkey_CE"></a>center <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>centerofscale</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>central</b></a> <br><a name="bms_CH"></a><a name="subkey_CH"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>chamfer</b></a> <br><a href="../changing_displaying_parameters.htm"><b>change</b></a> <br><a href="../changing_displaying_parameters.htm"><b>changes</b></a> <br><a href="../changing_displaying_parameters.htm"><b>changing</b></a> <br><nobr>check <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> </nobr><br><nobr>checked <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> </nobr><br><nobr>checking <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>checkshape</b></a> <br><nobr>choose <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>3</b></a> </nobr><br><a name="bms_CI"></a><a name="subkey_CI"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>circle</b></a> <br><nobr><a name="bms_CL"></a><a name="subkey_CL"></a>click <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../changing_displaying_parameters.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>close</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>closecontour</b></a> <br><nobr>closed <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>closedwires</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>closes</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>closure</b></a> <br><a name="bms_CO"></a><a name="subkey_CO"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>coincident</b></a> <br><a href="../changing_displaying_parameters.htm"><b>color</b></a> <br><nobr>command <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>12</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>13</b></a> <a href="../changing_displaying_parameters.htm"><b>14</b></a> <a href="../working_with_groups.htm"><b>15</b></a> </nobr><br><nobr>common <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><nobr>complex <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>3</b></a> <a href="../files/introduction_to_geom.htm"><b>4</b></a> </nobr><br><nobr>components <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../newentity_blocks.htm"><b>composed</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>composing</b></a> <br><nobr>compound <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>compsolid</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>compute</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>computed</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>concerning</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>cone</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>confirm</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>conical</b></a> <br><nobr>connected <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>considered</b></a> <br><a href="../newentity_blocks.htm"><b>constraints</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>construct</b></a> <br><nobr>constructed <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>constructing</b></a> <br><nobr>construction <a href="../files/salome2_sp3_booleangui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><nobr>constructor <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../sketcher.htm"><b>containing</b></a> <br><nobr>contains <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>contents</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>context</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>continuities</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>continuity</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>continuity2d</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>continuity3d</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>contour</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>conversion</b></a> <br><nobr>coordinate <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr>coordinates <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>copy</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>corners</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>correction</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>correspond</b></a> <br><nobr>corresponding <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>correspondingly <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../sketcher.htm"><b>coupled</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf1.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
 \r
 </body>\r
 \r
index 0f6f4f3b10476b7c2eb7cdee0ef4dfc657741432..ad0295277d0a0698578af991d48e0496c3e4f6d6 100755 (executable)
@@ -35,9 +35,9 @@ A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; }
 <p class="ftsbody">\r
 <nobr><a name="bms_CR"></a><a name="subkey_CR"></a>create <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> <a href="../working_with_groups.htm"><b>7</b></a> </nobr><br><nobr>created <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>6</b></a> <a href="../working_with_groups.htm"><b>7</b></a> </nobr><br><a href="../working_with_groups.htm"><b>creategroup</b></a> <br><nobr>creates <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>8</b></a> <a href="../working_with_groups.htm"><b>9</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>creating</b></a> <br><nobr>creation <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/introduction_to_geom.htm"><b>4</b></a> </nobr><br><nobr><a name="bms_CU"></a><a name="subkey_CU"></a>current <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> </nobr><br><nobr>curve <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>curve2dmode</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>curve3dmode</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>curvecontinuity</b></a> <br><nobr>curves <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>curving</b></a> <br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>cut</b></a> <br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>cuts</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>cutting</b></a> <br><a name="bms_CY"></a><a name="subkey_CY"></a><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>cylinder</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>cylindrical</b></a> <br>\r
 <br><br>\r
-<a name="bm_D"></a><a name="subkey_D{"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>d1</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>d2</b></a> <br><a name="bms_DA"></a><a name="subkey_DA"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>data</b></a> <br><a name="bms_DE"></a><a name="subkey_DE"></a><a href="../sketcher.htm"><b>default</b></a> <br><nobr>define <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr>defined <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br><nobr>defines <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>defining <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>definite</b></a> <br><nobr>definition <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>deflection</b></a> <br><nobr>degree <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>deleted</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>density</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>depending</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>describes</b></a> <br><nobr>description <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>12</b></a> <a href="../changing_displaying_parameters.htm"><b>13</b></a> <a href="../working_with_groups.htm"><b>14</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>desired</b></a> <br><a href="../sketcher.htm"><b>destination</b></a> <br><a href="../files/introduction_to_geom.htm"><b>destined</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>detection</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>detects</b></a> <br><a name="bms_DI"></a><a name="subkey_DI"></a><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>diagonal</b></a> <br><nobr>dialog <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>12</b></a> <a href="../changing_displaying_parameters.htm"><b>13</b></a> <a href="../working_with_groups.htm"><b>14</b></a> </nobr><br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>differ</b></a> <br><nobr>different <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>3</b></a> <a href="../changing_displaying_parameters.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>dimension</b></a> <br><nobr>dimensions <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dir</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dir1</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dir2</b></a> <br><nobr>direction <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> </nobr><br><nobr>directions <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirface1v</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid1</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid1u</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid1v</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid2</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid2u</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid2v</b></a> <br><nobr>display <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../changing_displaying_parameters.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>displayall</b></a> <br><nobr>displayed <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> <a href="../changing_displaying_parameters.htm"><b>4</b></a> </nobr><br><nobr>displaying <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>displayonly</b></a> <br><nobr>displays <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> </nobr><br><nobr>distance <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>divided</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>divideedge</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>dividing</b></a> <br><nobr><a name="bms_DO"></a><a name="subkey_DO"></a>done <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br><a href="../changing_displaying_parameters.htm"><b>double</b></a> <br><a href="../sketcher.htm"><b>doubles</b></a> <br><a name="bms_DR"></a><a name="subkey_DR"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>dropsmalledges</b></a> <br><a name="bms_DX"></a><a name="subkey_DX"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dx</b></a> <br><a name="bms_DY"></a><a name="subkey_DY"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dy</b></a> <br><a name="bms_DZ"></a><a name="subkey_DZ"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dz</b></a> <br>\r
+<a name="bm_D"></a><a name="subkey_D{"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>d1</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>d2</b></a> <br><a name="bms_DA"></a><a name="subkey_DA"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>data</b></a> <br><a name="bms_DE"></a><a name="subkey_DE"></a><a href="../sketcher.htm"><b>default</b></a> <br><nobr>define <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr>defined <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br><nobr>defines <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>defining <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>definite</b></a> <br><nobr>definition <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>deflection</b></a> <br><nobr>degree <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../sketcher.htm"><b>degrees</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>deleted</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>density</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>depending</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>describes</b></a> <br><nobr>description <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>12</b></a> <a href="../changing_displaying_parameters.htm"><b>13</b></a> <a href="../working_with_groups.htm"><b>14</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>desired</b></a> <br><a href="../sketcher.htm"><b>destination</b></a> <br><a href="../files/introduction_to_geom.htm"><b>destined</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>detection</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>detects</b></a> <br><a name="bms_DI"></a><a name="subkey_DI"></a><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>diagonal</b></a> <br><nobr>dialog <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>12</b></a> <a href="../changing_displaying_parameters.htm"><b>13</b></a> <a href="../working_with_groups.htm"><b>14</b></a> </nobr><br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>differ</b></a> <br><nobr>different <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>3</b></a> <a href="../changing_displaying_parameters.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>dimension</b></a> <br><nobr>dimensions <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dir</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dir1</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dir2</b></a> <br><nobr>direction <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> </nobr><br><nobr>directions <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirface1v</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid1</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid1u</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid1v</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid2</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid2u</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>dirfaceid2v</b></a> <br><nobr>display <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../changing_displaying_parameters.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>displayall</b></a> <br><nobr>displayed <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> <a href="../changing_displaying_parameters.htm"><b>4</b></a> </nobr><br><nobr>displaying <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>displayonly</b></a> <br><nobr>displays <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> </nobr><br><nobr>distance <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>divided</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>divideedge</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>dividing</b></a> <br><nobr><a name="bms_DO"></a><a name="subkey_DO"></a>done <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br><a href="../changing_displaying_parameters.htm"><b>double</b></a> <br><a href="../sketcher.htm"><b>doubles</b></a> <br><a name="bms_DR"></a><a name="subkey_DR"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>dropsmalledges</b></a> <br><nobr><a name="bms_DX"></a><a name="subkey_DX"></a>dx <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_DY"></a><a name="subkey_DY"></a>dy <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_DZ"></a><a name="subkey_DZ"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>dz</b></a> <br>\r
 <br><br>\r
-<a name="bm_E"></a><a name="subkey_E{"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>e</b></a> <br><a href="../newentity_blocks.htm"><b>e1</b></a> <br><a href="../newentity_blocks.htm"><b>e2</b></a> <br><a href="../newentity_blocks.htm"><b>e3</b></a> <br><a href="../newentity_blocks.htm"><b>e4</b></a> <br><nobr><a name="bms_ED"></a><a name="subkey_ED"></a>edge <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>7</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>edgeid</b></a> <br><nobr>edges <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>6</b></a> </nobr><br><a href="../working_with_groups.htm"><b>edit</b></a> <br><a name="bms_EG"></a><a name="subkey_EG"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>egdemaxtol</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>egdemintol</b></a> <br><a name="bms_EI"></a><a name="subkey_EI"></a><a href="../newentity_blocks.htm"><b>either</b></a> <br><nobr><a name="bms_EL"></a><a name="subkey_EL"></a>element <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> </nobr><br><a href="../newentity_blocks.htm"><b>elementary</b></a> <br><nobr>elements <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ellipse</b></a> <br><a name="bms_EM"></a><a name="subkey_EM"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>empty</b></a> <br><nobr><a name="bms_EN"></a><a name="subkey_EN"></a>end <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ending</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>ends</b></a> <br><nobr>enter <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>entity <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> <a href="../working_with_groups.htm"><b>6</b></a> </nobr><br><a name="bms_ER"></a><a name="subkey_ER"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>erase</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>eraseall</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>eraseonly</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>erases</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>error</b></a> <br><nobr><a name="bms_ET"></a><a name="subkey_ET"></a>etc <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_EX"></a><a name="subkey_EX"></a>example <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>9</b></a> <a href="../changing_displaying_parameters.htm"><b>10</b></a> <a href="../working_with_groups.htm"><b>11</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>except</b></a> <br><a href="../working_with_groups.htm"><b>existing</b></a> <br><nobr>explode <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../blocks.htm"><b>3</b></a> </nobr><br><nobr>exploded <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><nobr>export <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>exportation</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>exported</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>exporting</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>extracted</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>extruded</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>extrusion</b></a> <br>\r
+<a name="bm_E"></a><a name="subkey_E{"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>e</b></a> <br><a href="../newentity_blocks.htm"><b>e1</b></a> <br><a href="../newentity_blocks.htm"><b>e2</b></a> <br><a href="../newentity_blocks.htm"><b>e3</b></a> <br><a href="../newentity_blocks.htm"><b>e4</b></a> <br><nobr><a name="bms_ED"></a><a name="subkey_ED"></a>edge <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>7</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>edgeid</b></a> <br><nobr>edges <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>6</b></a> </nobr><br><a href="../working_with_groups.htm"><b>edit</b></a> <br><a name="bms_EG"></a><a name="subkey_EG"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>egdemaxtol</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>egdemintol</b></a> <br><a name="bms_EI"></a><a name="subkey_EI"></a><a href="../newentity_blocks.htm"><b>either</b></a> <br><nobr><a name="bms_EL"></a><a name="subkey_EL"></a>element <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> </nobr><br><a href="../newentity_blocks.htm"><b>elementary</b></a> <br><nobr>elements <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ellipse</b></a> <br><a name="bms_EM"></a><a name="subkey_EM"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>empty</b></a> <br><nobr><a name="bms_EN"></a><a name="subkey_EN"></a>end <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ending</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>ends</b></a> <br><nobr>enter <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>entity <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> <a href="../working_with_groups.htm"><b>6</b></a> </nobr><br><a name="bms_EQ"></a><a name="subkey_EQ"></a><a href="../sketcher.htm"><b>equal</b></a> <br><a name="bms_ER"></a><a name="subkey_ER"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>erase</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>eraseall</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>eraseonly</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>erases</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>error</b></a> <br><nobr><a name="bms_ET"></a><a name="subkey_ET"></a>etc <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_EX"></a><a name="subkey_EX"></a>example <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>10</b></a> <a href="../changing_displaying_parameters.htm"><b>11</b></a> <a href="../working_with_groups.htm"><b>12</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>except</b></a> <br><nobr>existing <a href="../sketcher.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><nobr>explode <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../blocks.htm"><b>3</b></a> </nobr><br><nobr>exploded <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><nobr>export <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>exportation</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>exported</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>exporting</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>extracted</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>extruded</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>extrusion</b></a> <br>\r
 <br><br>\r
 <a name="bm_F"></a><a name="subkey_F{"></a><a href="../newentity_blocks.htm"><b>f1</b></a> <br><a href="../newentity_blocks.htm"><b>f2</b></a> <br><a href="../newentity_blocks.htm"><b>f3</b></a> <br><a href="../newentity_blocks.htm"><b>f4</b></a> <br><a href="../newentity_blocks.htm"><b>f5</b></a> <br><a href="../newentity_blocks.htm"><b>f6</b></a> <br><nobr><a name="bms_FA"></a><a name="subkey_FA"></a>face <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>7</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>face1</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>face2</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>facemaxtol</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>facemintol</b></a> <br><nobr>faces <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>factor</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>false</b></a> <br><a name="bms_FI"></a><a name="subkey_FI"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>fields</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>file</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>filename</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>files</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>fill</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>filled</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>fillet</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>fillets</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>filling</b></a> <br><nobr>first <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>fix</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>fixfacesize</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>fixing</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>fixshape</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf2.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
 \r
index 94ffc79ac53981590786cf24b1cc5595a2ba9757..ab6fb30c8f4b89e5c66a4c02541e578b959a2288 100755 (executable)
@@ -35,7 +35,7 @@ A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; }
 <p class="ftsbody">\r
 <nobr><a name="bms_FO"></a><a name="subkey_FO"></a>following <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>format</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>formatname</b></a> <br><a href="../files/introduction_to_geom.htm"><b>formats</b></a> <br><a href="../newentity_blocks.htm"><b>four</b></a> <br><a name="bms_FR"></a><a name="subkey_FR"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>free</b></a> <br><nobr><a name="bms_FU"></a><a name="subkey_FU"></a>functions <a href="../files/salome2_sp3_buildgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>fuse</b></a> <br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>fuses</b></a> <br>\r
 <br><br>\r
-<a name="bm_G"></a><a name="subkey_GA"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>gap</b></a> <br><a name="bms_GE"></a><a name="subkey_GE"></a><a href="../newentity_blocks.htm"><b>general</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>generating</b></a> <br><nobr>generation <a href="../files/salome2_sp3_generationgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><nobr>geom <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>10</b></a> <a href="../files/introduction_to_geom.htm"><b>11</b></a> <a href="../changing_displaying_parameters.htm"><b>12</b></a> </nobr><br><nobr>geom_object <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../working_with_groups.htm"><b>12</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>geom_objects</b></a> <br><a href="../newentity_blocks.htm"><b>geometric</b></a> <br><nobr>geometrical <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../files/introduction_to_geom.htm"><b>12</b></a> <a href="../changing_displaying_parameters.htm"><b>13</b></a> <a href="../working_with_groups.htm"><b>14</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>geometry</b></a> <br><nobr>geompy <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>12</b></a> <a href="../working_with_groups.htm"><b>13</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>get</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>getfreeboundary</b></a> <br><a href="../working_with_groups.htm"><b>getobjectids</b></a> <br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>gets</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>getsubshapeid</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>getting</b></a> <br><a name="bms_GG"></a><a name="subkey_GG"></a><a href="../changing_displaying_parameters.htm"><b>gg</b></a> <br><nobr><a name="bms_GI"></a><a name="subkey_GI"></a>given <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>gives</b></a> <br><a name="bms_GL"></a><a name="subkey_GL"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>glue</b></a> <br><a name="bms_GR"></a><a name="subkey_GR"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>graphic</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>gravity</b></a> <br><a href="../working_with_groups.htm"><b>group</b></a> <br><a href="../working_with_groups.htm"><b>groups</b></a> <br><a name="bms_GU"></a><a name="subkey_GU"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>gui</b></a> <br>\r
+<a name="bm_G"></a><a name="subkey_GA"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>gap</b></a> <br><a name="bms_GE"></a><a name="subkey_GE"></a><a href="../newentity_blocks.htm"><b>general</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>generating</b></a> <br><nobr>generation <a href="../files/salome2_sp3_generationgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><nobr>geom <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>10</b></a> <a href="../files/introduction_to_geom.htm"><b>11</b></a> <a href="../changing_displaying_parameters.htm"><b>12</b></a> </nobr><br><nobr>geom_object <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../working_with_groups.htm"><b>12</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>geom_objects</b></a> <br><a href="../newentity_blocks.htm"><b>geometric</b></a> <br><nobr>geometrical <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../files/introduction_to_geom.htm"><b>12</b></a> <a href="../changing_displaying_parameters.htm"><b>13</b></a> <a href="../working_with_groups.htm"><b>14</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>geometry</b></a> <br><nobr>geompy <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>12</b></a> <a href="../working_with_groups.htm"><b>13</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>get</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>getfreeboundary</b></a> <br><a href="../working_with_groups.htm"><b>getobjectids</b></a> <br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>gets</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>getsubshapeid</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>getting</b></a> <br><a name="bms_GG"></a><a name="subkey_GG"></a><a href="../changing_displaying_parameters.htm"><b>gg</b></a> <br><nobr><a name="bms_GI"></a><a name="subkey_GI"></a>given <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>gives</b></a> <br><nobr><a name="bms_GL"></a><a name="subkey_GL"></a>glue <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>glued</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>glues</b></a> <br><a name="bms_GR"></a><a name="subkey_GR"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>graphic</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>gravity</b></a> <br><a href="../working_with_groups.htm"><b>group</b></a> <br><a href="../working_with_groups.htm"><b>groups</b></a> <br><a name="bms_GU"></a><a name="subkey_GU"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>gui</b></a> <br>\r
 <br><br>\r
 <a name="bm_H"></a><a name="subkey_HA"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>half</b></a> <br><nobr>having <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_HE"></a><a name="subkey_HE"></a>height <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> </nobr><br><nobr>hexahedral <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../newentity_blocks.htm"><b>hexahedron</b></a> <br><a name="bms_HI"></a><a name="subkey_HI"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>hide</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>hiding</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>highlights</b></a> <br><a name="bms_HO"></a><a name="subkey_HO"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>hole</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>holes</b></a> <br>\r
 <br><br>\r
@@ -43,9 +43,9 @@ A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; }
 <br><br>\r
 <a name="bm_J"></a><a name="subkey_JU"></a><a href="../newentity_blocks.htm"><b>just</b></a> <br>\r
 <br><br>\r
-<nobr><a name="bm_L"></a><a name="subkey_LA"></a>last <a href="../files/salome2_sp3_buildgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_LC"></a><a name="subkey_LC"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>lcs</b></a> <br><a name="bms_LE"></a><a name="subkey_LE"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>least</b></a> <br><nobr>length <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>less</b></a> <br><a name="bms_LI"></a><a name="subkey_LI"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>limit</b></a> <br><nobr>line <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr>list <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> <a href="../working_with_groups.htm"><b>7</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listoffaceid</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>listofgeomshapes</b></a> <br><nobr>listofid <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listofkeepinside</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listofmaterials</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listofremoveinside</b></a> <br><nobr>listofshape <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listofshapeid</b></a> <br><nobr>listofshapes <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listoftools</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>listofwireid</b></a> <br><nobr><a name="bms_LO"></a><a name="subkey_LO"></a>local <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>located</b></a> <br><nobr>location <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_LW"></a><a name="subkey_LW"></a><a href="../sketcher.htm"><b>lwp</b></a> <br><nobr><a name="bms_LY"></a><a name="subkey_LY"></a>lying <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br>\r
+<nobr><a name="bm_L"></a><a name="subkey_LA"></a>last <a href="../files/salome2_sp3_buildgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_LC"></a><a name="subkey_LC"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>lcs</b></a> <br><a name="bms_LE"></a><a name="subkey_LE"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>least</b></a> <br><nobr>length <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>less</b></a> <br><a name="bms_LI"></a><a name="subkey_LI"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>limit</b></a> <br><nobr>line <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr>list <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> <a href="../working_with_groups.htm"><b>7</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listoffaceid</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>listofgeomshapes</b></a> <br><nobr>listofid <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listofkeepinside</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listofmaterials</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listofremoveinside</b></a> <br><nobr>listofshape <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listofshapeid</b></a> <br><nobr>listofshapes <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>listoftools</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>listofwireid</b></a> <br><nobr><a name="bms_LO"></a><a name="subkey_LO"></a>local <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>located</b></a> <br><nobr>location <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a name="bms_LW"></a><a name="subkey_LW"></a><a href="../sketcher.htm"><b>lwp</b></a> <br><nobr><a name="bms_LY"></a><a name="subkey_LY"></a>lying <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br>\r
 <br><br>\r
-<nobr><a name="bm_M"></a><a name="subkey_MA"></a>main <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>9</b></a> <a href="../blocks.htm"><b>10</b></a> <a href="../working_with_groups.htm"><b>11</b></a> </nobr><br><a href="../working_with_groups.htm"><b>mainshape</b></a> <br><nobr>major <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>make</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makearc</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makebezier</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makeblockexplode</b></a> <br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>makeboolean</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>makebox</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>makecdg</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makechamferedge</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makechamferface</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makecircle</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makecompound</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>makecone</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>makecylinder</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makeedge</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makeellipse</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makeface</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makefillet</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>makefilling</b></a> <br><a href="../newentity_blocks.htm"><b>makehexasolid</b></a> <br><a href="../newentity_blocks.htm"><b>makehexasolidtwofaces</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makeinterpol</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makeline</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makemarker</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemirrorbyplane</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemultirotation1d</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemultirotation2d</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makemultitransformation1d</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makemultitransformation2d</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemultitranslation1d</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemultitranslation2d</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makeoffset</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makepartition</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>makepipe</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makeplane</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makepolyline</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>makeprism</b></a> <br><a href="../newentity_blocks.htm"><b>makequadface</b></a> <br><a href="../newentity_blocks.htm"><b>makequadfaceedges</b></a> <br><a href="../newentity_blocks.htm"><b>makequadfacevertices</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>makerevolution</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makerotation</b></a> <br><nobr>makes <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makescaletransform</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>makesewing</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makeshell</b></a> <br><a href="../sketcher.htm"><b>makesketcher</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makesolid</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>makesphere</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>maketorus</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>maketranslation</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makevector</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makevertex</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makewire</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>manually</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>mass</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>materials</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>matrix</b></a> <br><nobr>max <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>maxdegree</b></a> <br><nobr>maximal <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> </nobr><br><nobr>maximum <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>maxnbfaces</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>maxtolerance</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>maxtolerance3d</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf3.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
+<nobr><a name="bm_M"></a><a name="subkey_MA"></a>main <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>9</b></a> <a href="../blocks.htm"><b>10</b></a> <a href="../working_with_groups.htm"><b>11</b></a> </nobr><br><a href="../working_with_groups.htm"><b>mainshape</b></a> <br><nobr>major <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>make</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makearc</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makebezier</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makeblockexplode</b></a> <br><a href="../files/salome2_sp3_booleangui_functions.htm"><b>makeboolean</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>makebox</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>makecdg</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makechamferedge</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makechamferface</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makecircle</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makecompound</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>makecone</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>makecylinder</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makeedge</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makeellipse</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makeface</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makefillet</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>makefilling</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>makegluefaces</b></a> <br><a href="../newentity_blocks.htm"><b>makehexasolid</b></a> <br><a href="../newentity_blocks.htm"><b>makehexasolidtwofaces</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makeinterpol</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makeline</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makemarker</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemirrorbyplane</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemultirotation1d</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemultirotation2d</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makemultitransformation1d</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makemultitransformation2d</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemultitranslation1d</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makemultitranslation2d</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makeoffset</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>makepartition</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>makepipe</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makeplane</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makepolyline</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makeposition</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>makeprism</b></a> <br><a href="../newentity_blocks.htm"><b>makequadface</b></a> <br><a href="../newentity_blocks.htm"><b>makequadfaceedges</b></a> <br><a href="../newentity_blocks.htm"><b>makequadfacevertices</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>makerevolution</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makerotation</b></a> <br><nobr>makes <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>makescaletransform</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>makesewing</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makeshell</b></a> <br><a href="../sketcher.htm"><b>makesketcher</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makesolid</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>makesphere</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>maketorus</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>maketranslation</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makevector</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>makevertex</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>makewire</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>manually</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>mass</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>materials</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>matrix</b></a> <br><nobr>max <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>maxdegree</b></a> <br><nobr>maximal <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> </nobr><br><nobr>maximum <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>maxnbfaces</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>maxtolerance</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>maxtolerance3d</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf3.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
 \r
 </body>\r
 \r
index 17e95c9a81c8565b197126339007d812cd5a4ca6..8ea70eba5f610897fc22ea2a7e67df6f09104c48 100755 (executable)
@@ -33,17 +33,17 @@ A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; }
 <body marginheight="0"  marginwidth="0">\r
 <p class="ftsbody" align="center"><a href="whlstf2.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
 <p class="ftsbody">\r
-<a name="bms_ME"></a><a name="subkey_ME"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>meaning</b></a> <br><a href="../sketcher.htm"><b>means</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>measurement</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>measures</b></a> <br><a href="../newentity_blocks.htm"><b>mentioned</b></a> <br><nobr>menu <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>10</b></a> <a href="../changing_displaying_parameters.htm"><b>11</b></a> <a href="../blocks.htm"><b>12</b></a> <a href="../working_with_groups.htm"><b>13</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>merging</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>mesh</b></a> <br><nobr>meshing <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>meshingdeflection</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>method</b></a> <br><a name="bms_MI"></a><a name="subkey_MI"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>middle</b></a> <br><nobr>min <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>mindegree</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>mindistance</b></a> <br><nobr>minimal <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>minimum</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>minnbfaces</b></a> <br><nobr>minor <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>mirror</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>mirrored</b></a> <br><nobr><a name="bms_MO"></a><a name="subkey_MO"></a>mode <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>modeled</b></a> <br><a href="../files/introduction_to_geom.htm"><b>models</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>modification</b></a> <br><nobr>modifies <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>module <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>moment</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>moved</b></a> <br><nobr><a name="bms_MU"></a><a name="subkey_MU"></a>multi <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../blocks.htm"><b>3</b></a> </nobr><br><nobr>must <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br>\r
+<a name="bms_ME"></a><a name="subkey_ME"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>meaning</b></a> <br><a href="../sketcher.htm"><b>means</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>measurement</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>measures</b></a> <br><a href="../newentity_blocks.htm"><b>mentioned</b></a> <br><nobr>menu <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>10</b></a> <a href="../changing_displaying_parameters.htm"><b>11</b></a> <a href="../blocks.htm"><b>12</b></a> <a href="../working_with_groups.htm"><b>13</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>merging</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>mesh</b></a> <br><nobr>meshing <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>meshingdeflection</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>method</b></a> <br><a name="bms_MI"></a><a name="subkey_MI"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>middle</b></a> <br><nobr>min <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>mindegree</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>mindistance</b></a> <br><nobr>minimal <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>minimum</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>minnbfaces</b></a> <br><nobr>minor <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>mirror</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>mirrored</b></a> <br><nobr><a name="bms_MO"></a><a name="subkey_MO"></a>mode <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>modeled</b></a> <br><a href="../files/introduction_to_geom.htm"><b>models</b></a> <br><nobr>modification <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>modified</b></a> <br><nobr>modifies <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>modify</b></a> <br><nobr>module <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>moment</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>move</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>moved</b></a> <br><nobr><a name="bms_MU"></a><a name="subkey_MU"></a>multi <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../blocks.htm"><b>3</b></a> </nobr><br><nobr>must <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br>\r
 <br><br>\r
 <a name="bm_N"></a><a name="subkey_NA"></a><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>name</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>names</b></a> <br><a name="bms_NB"></a><a name="subkey_NB"></a><a href="../files/salome2_sp3_generationgui_functions.htm"><b>nbiter</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>nbsplitpoints</b></a> <br><nobr>nbtimes <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>nbtimes1</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>nbtimes2</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>nbtimesu</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>nbtimesv</b></a> <br><nobr><a name="bms_NE"></a><a name="subkey_NE"></a>necessary <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>needed</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>negative</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>neigbour</b></a> <br><nobr>new <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> <a href="../working_with_groups.htm"><b>7</b></a> </nobr><br><a name="bms_NO"></a><a name="subkey_NO"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>noerror</b></a> <br><nobr>normal <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../newentity_blocks.htm"><b>notions</b></a> <br><nobr><a name="bms_NU"></a><a name="subkey_NU"></a>number <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../changing_displaying_parameters.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>numbers</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>numeber</b></a> <br>\r
 <br><br>\r
-<nobr><a name="bm_O"></a><a name="subkey_OB"></a>object <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>8</b></a> <a href="../changing_displaying_parameters.htm"><b>9</b></a> <a href="../working_with_groups.htm"><b>10</b></a> </nobr><br><nobr>objects <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../files/introduction_to_geom.htm"><b>12</b></a> <a href="../changing_displaying_parameters.htm"><b>13</b></a> </nobr><br><nobr><a name="bms_OC"></a><a name="subkey_OC"></a>occ <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>occurred</b></a> <br><a name="bms_OF"></a><a name="subkey_OF"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>offset</b></a> <br><a name="bms_OK"></a><a name="subkey_OK"></a><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>ok</b></a> <br><nobr><a name="bms_ON"></a><a name="subkey_ON"></a>one <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>ones</b></a> <br><a name="bms_OP"></a><a name="subkey_OP"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>open</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>openwires</b></a> <br><nobr>operation <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>4</b></a> </nobr><br><nobr>operations <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>6</b></a> <a href="../files/introduction_to_geom.htm"><b>7</b></a> <a href="../working_with_groups.htm"><b>8</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>operator</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>operators</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>opposite</b></a> <br><a href="../files/introduction_to_geom.htm"><b>optimization</b></a> <br><a href="../blocks.htm"><b>options</b></a> <br><a name="bms_OR"></a><a name="subkey_OR"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>order</b></a> <br><nobr>oriented <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>origin <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_OT"></a><a name="subkey_OT"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>otherwise</b></a> <br><a name="bms_OU"></a><a name="subkey_OU"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>outside</b></a> <br><nobr><a name="bms_OX"></a><a name="subkey_OX"></a>ox <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_OY"></a><a name="subkey_OY"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>oy</b></a> <br><nobr><a name="bms_OZ"></a><a name="subkey_OZ"></a>oz <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br>\r
+<nobr><a name="bm_O"></a><a name="subkey_OB"></a>object <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>8</b></a> <a href="../changing_displaying_parameters.htm"><b>9</b></a> <a href="../working_with_groups.htm"><b>10</b></a> </nobr><br><nobr>objects <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../files/introduction_to_geom.htm"><b>12</b></a> <a href="../changing_displaying_parameters.htm"><b>13</b></a> </nobr><br><nobr><a name="bms_OC"></a><a name="subkey_OC"></a>occ <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>occurred</b></a> <br><a name="bms_OF"></a><a name="subkey_OF"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>offset</b></a> <br><a name="bms_OK"></a><a name="subkey_OK"></a><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>ok</b></a> <br><nobr><a name="bms_ON"></a><a name="subkey_ON"></a>one <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>ones</b></a> <br><a name="bms_OP"></a><a name="subkey_OP"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>open</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>openwires</b></a> <br><nobr>operation <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>4</b></a> </nobr><br><nobr>operations <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>6</b></a> <a href="../files/introduction_to_geom.htm"><b>7</b></a> <a href="../working_with_groups.htm"><b>8</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>operator</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>operators</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>opposite</b></a> <br><a href="../files/introduction_to_geom.htm"><b>optimization</b></a> <br><a href="../blocks.htm"><b>options</b></a> <br><a name="bms_OR"></a><a name="subkey_OR"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>order</b></a> <br><nobr>oriented <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>origin <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_OT"></a><a name="subkey_OT"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>otherwise</b></a> <br><a name="bms_OU"></a><a name="subkey_OU"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>outside</b></a> <br><nobr><a name="bms_OX"></a><a name="subkey_OX"></a>ox <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_OY"></a><a name="subkey_OY"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>oy</b></a> <br><nobr><a name="bms_OZ"></a><a name="subkey_OZ"></a>oz <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br>\r
 <br><br>\r
-<nobr><a name="bm_P"></a><a name="subkey_PA"></a>parameter <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr>parameters <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> <a href="../changing_displaying_parameters.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>paramter</b></a> <br><nobr>part <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>partition</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>passes</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>path</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>pathshape</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>pattern</b></a> <br><nobr><a name="bms_PE"></a><a name="subkey_PE"></a>perform <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>performed</b></a> <br><a name="bms_PI"></a><a name="subkey_PI"></a><a href="../files/salome2_sp3_generationgui_functions.htm"><b>pipe</b></a> <br><nobr><a name="bms_PL"></a><a name="subkey_PL"></a>planar <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><nobr>plane <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>plunged</b></a> <br><nobr><a name="bms_PO"></a><a name="subkey_PO"></a>point <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>point1</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>point2</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>point3</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>pointcoordinates</b></a> <br><nobr>points <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>polyline</b></a> <br><nobr>pop <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><nobr>position <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>possibility</b></a> <br><nobr>possible <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_PR"></a><a name="subkey_PR"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>precision</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>presses</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>preview</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>primitive</b></a> <br><nobr>primitives <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>prism</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>problems</b></a> <br><nobr>processed <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>processes</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>processing</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>processshape</b></a> <br><nobr>properties <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a name="bms_PU"></a><a name="subkey_PU"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>put</b></a> <br><a name="bms_PY"></a><a name="subkey_PY"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>python</b></a> <br>\r
+<nobr><a name="bm_P"></a><a name="subkey_PA"></a>parameter <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr>parameters <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> <a href="../changing_displaying_parameters.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>paramter</b></a> <br><nobr>part <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>partition</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>passes</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>path</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>pathshape</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>pattern</b></a> <br><nobr><a name="bms_PE"></a><a name="subkey_PE"></a>perform <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>performed</b></a> <br><a href="../sketcher.htm"><b>perpendicular</b></a> <br><a name="bms_PI"></a><a name="subkey_PI"></a><a href="../files/salome2_sp3_generationgui_functions.htm"><b>pipe</b></a> <br><nobr><a name="bms_PL"></a><a name="subkey_PL"></a>planar <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><nobr>plane <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>plunged</b></a> <br><nobr><a name="bms_PO"></a><a name="subkey_PO"></a>point <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>point1</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>point2</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>point3</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>pointcoordinates</b></a> <br><nobr>points <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>polyline</b></a> <br><nobr>pop <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><nobr>position <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>possibility</b></a> <br><nobr>possible <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_PR"></a><a name="subkey_PR"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>precision</b></a> <br><a href="../sketcher.htm"><b>predefined</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>presses</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>preview</b></a> <br><a href="../sketcher.htm"><b>previous</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>primitive</b></a> <br><nobr>primitives <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>prism</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>problems</b></a> <br><nobr>processed <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>processes</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>processing</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>processshape</b></a> <br><nobr>properties <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a name="bms_PU"></a><a name="subkey_PU"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>put</b></a> <br><a name="bms_PY"></a><a name="subkey_PY"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>python</b></a> <br>\r
 <br><br>\r
 <nobr><a name="bm_Q"></a><a name="subkey_QU"></a>quadrangle <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br>\r
 <br><br>\r
-<a name="bm_R"></a><a name="subkey_RA"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>radians</b></a> <br><nobr>radius <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>radius1</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>radius2</b></a> <br><nobr>radiuses <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>radiusmajor <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>radiusminor <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>range <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a name="bms_RE"></a><a name="subkey_RE"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>re</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>reasonable</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>reconstruction</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>remove</b></a> <br><nobr>removed <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><a href="../working_with_groups.htm"><b>removeobject</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>removes</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>removewebs</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>removing</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>repair</b></a> <br><nobr>repairing <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>repetition</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>repetitions</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>representing</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>requested</b></a> <br><nobr>required <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>requireddegree</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>requirednbsegments</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>restriction</b></a> <br><nobr>result <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../working_with_groups.htm"><b>12</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>resultant</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>resulting</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>results</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>retrieved</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>return</b></a> <br><nobr>returned <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><nobr>returns <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> <a href="../working_with_groups.htm"><b>4</b></a> </nobr><br><nobr>revolution <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf4.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
+<a name="bm_R"></a><a name="subkey_RA"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>radians</b></a> <br><nobr>radius <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>radius1</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>radius2</b></a> <br><nobr>radiuses <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>radiusmajor <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>radiusminor <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>range <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a name="bms_RE"></a><a name="subkey_RE"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>re</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>reasonable</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>reconstruction</b></a> <br><a href="../sketcher.htm"><b>relative</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>remove</b></a> <br><nobr>removed <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><a href="../working_with_groups.htm"><b>removeobject</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>removes</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>removewebs</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>removing</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>repair</b></a> <br><nobr>repairing <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>repetition</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>repetitions</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>representing</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>requested</b></a> <br><nobr>required <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>requireddegree</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>requirednbsegments</b></a> <br><nobr>respect <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>restriction</b></a> <br><nobr>result <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../working_with_groups.htm"><b>12</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>resultant</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>resulting</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>results</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>retrieved</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>return</b></a> <br><nobr>returned <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><nobr>returns <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> <a href="../working_with_groups.htm"><b>4</b></a> </nobr><br><nobr>revolution <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> </nobr><br><br><br></p><p class="ftsbody" align="center"><a href="whlstf4.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
 \r
 </body>\r
 \r
index daffc6b5e52e409ac46050035c3887c5ca9ae4a7..0af363d75e3b7aa762b1723bc71477729ef57bb5 100755 (executable)
@@ -35,13 +35,13 @@ A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; }
 <p class="ftsbody">\r
 <nobr><a name="bms_RI"></a><a name="subkey_RI"></a>right <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a name="bms_RO"></a><a name="subkey_RO"></a><a href="../files/salome2_sp3_generationgui_functions.htm"><b>rotate</b></a> <br><nobr>rotated <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>rotates</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>rotation</b></a> <br>\r
 <br><br>\r
-<nobr><a name="bm_S"></a><a name="subkey_S{"></a>s <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> <a href="../working_with_groups.htm"><b>5</b></a> </nobr><br><a name="bms_SA"></a><a name="subkey_SA"></a><a href="../files/introduction_to_geom.htm"><b>salome</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>same</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>sameparameter</b></a> <br><a name="bms_SC"></a><a name="subkey_SC"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>scale</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>scaled</b></a> <br><a name="bms_SE"></a><a name="subkey_SE"></a><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>search</b></a> <br><nobr>second <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>4</b></a> </nobr><br><nobr>section <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>see</b></a> <br><a href="../sketcher.htm"><b>segment</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>segments</b></a> <br><nobr>select <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../changing_displaying_parameters.htm"><b>12</b></a> <a href="../blocks.htm"><b>13</b></a> <a href="../working_with_groups.htm"><b>14</b></a> </nobr><br><nobr>selected <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> <a href="../changing_displaying_parameters.htm"><b>4</b></a> </nobr><br><nobr>selection <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>sense</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>serving</b></a> <br><nobr>set <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../changing_displaying_parameters.htm"><b>3</b></a> </nobr><br><a href="../changing_displaying_parameters.htm"><b>setcolor</b></a> <br><a href="../changing_displaying_parameters.htm"><b>setdisplaymode</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>sets</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>setting</b></a> <br><a href="../changing_displaying_parameters.htm"><b>settransparency</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>sew</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>sewed</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>sewing</b></a> <br><a name="bms_SG"></a><a name="subkey_SG"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>sg</b></a> <br><a name="bms_SH"></a><a name="subkey_SH"></a><a href="../changing_displaying_parameters.htm"><b>shading</b></a> <br><nobr>shape <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../changing_displaying_parameters.htm"><b>11</b></a> <a href="../working_with_groups.htm"><b>12</b></a> </nobr><br><nobr>shape1 <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><nobr>shape2 <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><nobr>shapes <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>6</b></a> <a href="../files/introduction_to_geom.htm"><b>7</b></a> <a href="../working_with_groups.htm"><b>8</b></a> </nobr><br><nobr>shapetype <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><nobr>shell <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> </nobr><br><nobr>shells <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../changing_displaying_parameters.htm"><b>short</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>shown</b></a> <br><a name="bms_SI"></a><a name="subkey_SI"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>side</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>signed</b></a> <br><a href="../newentity_blocks.htm"><b>six</b></a> <br><nobr>size <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a name="bms_SK"></a><a name="subkey_SK"></a><a href="../sketcher.htm"><b>sketch</b></a> <br><a href="../sketcher.htm"><b>sketcher</b></a> <br><nobr><a name="bms_SM"></a><a name="subkey_SM"></a>small <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_SO"></a><a name="subkey_SO"></a>solid <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>solids</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>soon</b></a> <br><nobr><a name="bms_SP"></a><a name="subkey_SP"></a>space <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../newentity_blocks.htm"><b>specific</b></a> <br><nobr>specified <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>specifies</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>specifying</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>sphere</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>spline</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splitangle</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splitclosedfaces</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splitcontinuity</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splits</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splitting</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>spot</b></a> <br><a name="bms_ST"></a><a name="subkey_ST"></a><a href="../newentity_blocks.htm"><b>stage</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>standard</b></a> <br><a href="../sketcher.htm"><b>started</b></a> <br><nobr>starting <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr>step <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> <a href="../files/introduction_to_geom.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>step1</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>step2</b></a> <br><a href="../newentity_blocks.htm"><b>steps</b></a> <br><nobr>string <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>strip</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>study</b></a> <br><nobr><a name="bms_SU"></a><a name="subkey_SU"></a>sub <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../working_with_groups.htm"><b>3</b></a> </nobr><br><nobr>submenu <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> <a href="../blocks.htm"><b>4</b></a> </nobr><br><nobr>subshape <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../working_with_groups.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>subshapeall</b></a> <br><a href="../working_with_groups.htm"><b>subshapeid</b></a> <br><nobr>subshapes <a href="../files/salome2_sp3_buildgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppress</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppresses</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppressfaces</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppressholes</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppressinternalwires</b></a> <br><nobr>surface <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>surfacecontinuity</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>surfacemode</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>surfaces</b></a> <br><a name="bms_SY"></a><a name="subkey_SY"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>symmetrical</b></a> <br><nobr>symmetry <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>system</b></a> <br>\r
+<nobr><a name="bm_S"></a><a name="subkey_S{"></a>s <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> <a href="../working_with_groups.htm"><b>5</b></a> </nobr><br><a name="bms_SA"></a><a name="subkey_SA"></a><a href="../files/introduction_to_geom.htm"><b>salome</b></a> <br><nobr>same <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>sameparameter</b></a> <br><a name="bms_SC"></a><a name="subkey_SC"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>scale</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>scaled</b></a> <br><a name="bms_SE"></a><a name="subkey_SE"></a><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>search</b></a> <br><nobr>second <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>4</b></a> </nobr><br><nobr>section <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>see</b></a> <br><a href="../sketcher.htm"><b>segment</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>segments</b></a> <br><nobr>select <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>11</b></a> <a href="../changing_displaying_parameters.htm"><b>12</b></a> <a href="../blocks.htm"><b>13</b></a> <a href="../working_with_groups.htm"><b>14</b></a> </nobr><br><nobr>selected <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> <a href="../changing_displaying_parameters.htm"><b>4</b></a> </nobr><br><nobr>selection <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>sense</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>serving</b></a> <br><nobr>set <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../changing_displaying_parameters.htm"><b>3</b></a> </nobr><br><a href="../changing_displaying_parameters.htm"><b>setcolor</b></a> <br><a href="../changing_displaying_parameters.htm"><b>setdisplaymode</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>sets</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>setting</b></a> <br><a href="../changing_displaying_parameters.htm"><b>settransparency</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>sew</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>sewed</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>sewing</b></a> <br><a name="bms_SG"></a><a name="subkey_SG"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>sg</b></a> <br><a name="bms_SH"></a><a name="subkey_SH"></a><a href="../changing_displaying_parameters.htm"><b>shading</b></a> <br><nobr>shape <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>9</b></a> <a href="../changing_displaying_parameters.htm"><b>10</b></a> <a href="../working_with_groups.htm"><b>11</b></a> </nobr><br><nobr>shape1 <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><nobr>shape2 <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><nobr>shapes <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>6</b></a> <a href="../files/introduction_to_geom.htm"><b>7</b></a> <a href="../working_with_groups.htm"><b>8</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>shapesto</b></a> <br><nobr>shapetype <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><nobr>shell <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>5</b></a> </nobr><br><nobr>shells <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a href="../changing_displaying_parameters.htm"><b>short</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>shown</b></a> <br><a name="bms_SI"></a><a name="subkey_SI"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>side</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>signed</b></a> <br><a href="../newentity_blocks.htm"><b>six</b></a> <br><nobr>size <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a name="bms_SK"></a><a name="subkey_SK"></a><a href="../sketcher.htm"><b>sketch</b></a> <br><a href="../sketcher.htm"><b>sketcher</b></a> <br><nobr><a name="bms_SM"></a><a name="subkey_SM"></a>small <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_SO"></a><a name="subkey_SO"></a>solid <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>solids</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>soon</b></a> <br><nobr><a name="bms_SP"></a><a name="subkey_SP"></a>space <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../newentity_blocks.htm"><b>specific</b></a> <br><nobr>specified <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>specifies</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>specifying</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>sphere</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>spline</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splitangle</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splitclosedfaces</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splitcontinuity</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splits</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>splitting</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>spot</b></a> <br><a name="bms_ST"></a><a name="subkey_ST"></a><a href="../newentity_blocks.htm"><b>stage</b></a> <br><a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>standard</b></a> <br><a href="../sketcher.htm"><b>started</b></a> <br><nobr>starting <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><nobr>step <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> <a href="../files/introduction_to_geom.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>step1</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>step2</b></a> <br><a href="../newentity_blocks.htm"><b>steps</b></a> <br><nobr>string <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>strip</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>study</b></a> <br><nobr><a name="bms_SU"></a><a name="subkey_SU"></a>sub <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../working_with_groups.htm"><b>3</b></a> </nobr><br><nobr>submenu <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> <a href="../blocks.htm"><b>4</b></a> </nobr><br><nobr>subshape <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> <a href="../working_with_groups.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>subshapeall</b></a> <br><a href="../working_with_groups.htm"><b>subshapeid</b></a> <br><nobr>subshapes <a href="../files/salome2_sp3_buildgui_functions.htm"><b>1</b></a> <a href="../working_with_groups.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppress</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppresses</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppressfaces</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppressholes</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>suppressinternalwires</b></a> <br><nobr>surface <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>surfacecontinuity</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>surfacemode</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>surfaces</b></a> <br><a name="bms_SY"></a><a name="subkey_SY"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>symmetrical</b></a> <br><nobr>symmetry <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> </nobr><br><nobr>system <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br>\r
 <br><br>\r
-<a name="bm_T"></a><a name="subkey_TA"></a><a href="../newentity_blocks.htm"><b>take</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>target</b></a> <br><a name="bms_TE"></a><a name="subkey_TE"></a><a href="../newentity_blocks.htm"><b>tetrahedral</b></a> <br><a name="bms_TH"></a><a name="subkey_TH"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>them</b></a> <br><a href="../sketcher.htm"><b>therefore</b></a> <br><a name="bms_TI"></a><a name="subkey_TI"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>times</b></a> <br><a name="bms_TO"></a><a name="subkey_TO"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>tobezier</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>tol2d</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>tol3d</b></a> <br><nobr>tolerance <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>tolerance2d</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>tolerance3d</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>tolerances</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>tools</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>torus</b></a> <br><a name="bms_TR"></a><a name="subkey_TR"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>transform</b></a> <br><nobr>transformation <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../blocks.htm"><b>3</b></a> </nobr><br><nobr>transformations <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><nobr>transformed <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>translated</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>translation</b></a> <br><nobr>translations <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../changing_displaying_parameters.htm"><b>transparency</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>traversing</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>trihedron</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>trimsize</b></a> <br><nobr>true <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_TU"></a><a name="subkey_TU"></a>tui <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>12</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>13</b></a> <a href="../changing_displaying_parameters.htm"><b>14</b></a> <a href="../working_with_groups.htm"><b>15</b></a> </nobr><br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>tuple</b></a> <br><nobr><a name="bms_TW"></a><a name="subkey_TW"></a>two <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>5</b></a> </nobr><br><nobr><a name="bms_TY"></a><a name="subkey_TY"></a>type <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>4</b></a> <a href="../working_with_groups.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>typeofshape</b></a> <br><nobr>types <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> </nobr><br>\r
+<a name="bm_T"></a><a name="subkey_TA"></a><a href="../newentity_blocks.htm"><b>take</b></a> <br><a href="../sketcher.htm"><b>tangent</b></a> <br><nobr>target <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_TE"></a><a name="subkey_TE"></a><a href="../newentity_blocks.htm"><b>tetrahedral</b></a> <br><a name="bms_TH"></a><a name="subkey_TH"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>theendlcs</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>them</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>theobject</b></a> <br><a href="../sketcher.htm"><b>therefore</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>theshape</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>thestartlcs</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>thetolerance</b></a> <br><a name="bms_TI"></a><a name="subkey_TI"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>times</b></a> <br><a name="bms_TO"></a><a name="subkey_TO"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>tobezier</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>tol2d</b></a> <br><a href="../files/salome2_sp3_generationgui_functions.htm"><b>tol3d</b></a> <br><nobr>tolerance <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>tolerance2d</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>tolerance3d</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>tolerances</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>tools</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>torus</b></a> <br><a name="bms_TR"></a><a name="subkey_TR"></a><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>transform</b></a> <br><nobr>transformation <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../blocks.htm"><b>3</b></a> </nobr><br><nobr>transformations <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/introduction_to_geom.htm"><b>2</b></a> </nobr><br><nobr>transformed <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>translated</b></a> <br><a href="../files/salome2_sp3_transformationgui_functions.htm"><b>translation</b></a> <br><nobr>translations <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> </nobr><br><a href="../changing_displaying_parameters.htm"><b>transparency</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>traversing</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>trihedron</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>trimsize</b></a> <br><nobr>true <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> </nobr><br><nobr><a name="bms_TU"></a><a name="subkey_TU"></a>tui <a href="../sketcher.htm"><b>1</b></a> <a href="../newentity_blocks.htm"><b>2</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>9</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>10</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>11</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>12</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>13</b></a> <a href="../changing_displaying_parameters.htm"><b>14</b></a> <a href="../working_with_groups.htm"><b>15</b></a> </nobr><br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>tuple</b></a> <br><nobr><a name="bms_TW"></a><a name="subkey_TW"></a>two <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>5</b></a> </nobr><br><nobr><a name="bms_TY"></a><a name="subkey_TY"></a>type <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>5</b></a> <a href="../working_with_groups.htm"><b>6</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>typeofshape</b></a> <br><nobr>types <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> </nobr><br>\r
 <br><br>\r
 <a name="bm_U"></a><a name="subkey_UN"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>underlying</b></a> <br><nobr><a name="bms_UP"></a><a name="subkey_UP"></a>up <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> <a href="../changing_displaying_parameters.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>updated</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>upper</b></a> <br><nobr><a name="bms_US"></a><a name="subkey_US"></a>used <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> </nobr><br><nobr>user <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> </nobr><br><nobr>using <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>7</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>8</b></a> <a href="../files/salome2_sp3_booleangui_functions.htm"><b>9</b></a> <a href="../files/introduction_to_geom.htm"><b>10</b></a> </nobr><br>\r
 <br><br>\r
-<a name="bm_V"></a><a name="subkey_V{"></a><a href="../newentity_blocks.htm"><b>v1</b></a> <br><a href="../newentity_blocks.htm"><b>v2</b></a> <br><a href="../newentity_blocks.htm"><b>v3</b></a> <br><a href="../newentity_blocks.htm"><b>v4</b></a> <br><a name="bms_VA"></a><a name="subkey_VA"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>val</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>valid</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>validity</b></a> <br><nobr>value <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> </nobr><br><nobr>values <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>7</b></a> <a href="../changing_displaying_parameters.htm"><b>8</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>various</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf5.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
+<a name="bm_V"></a><a name="subkey_V{"></a><a href="../newentity_blocks.htm"><b>v1</b></a> <br><a href="../newentity_blocks.htm"><b>v2</b></a> <br><a href="../newentity_blocks.htm"><b>v3</b></a> <br><a href="../newentity_blocks.htm"><b>v4</b></a> <br><br><br></p><p class="ftsbody" align="center"><a href="whlstf5.htm" target="_self" title="previous search group"><b>&gt;&gt;</b></a>\r
 \r
 </body>\r
 \r
index 700f01d621fc6fb5e7e7d899cda82c96da917166..fe191de1560b3c1878f503b4f5545d55726cb2f8 100755 (executable)
@@ -33,13 +33,13 @@ A:hover {color:Navy; } A:hover {font-family:Tahoma; } A:hover {font-size:8pt; }
 <body marginheight="0"  marginwidth="0">\r
 <p class="ftsbody" align="center"><a href="whlstf4.htm" target="_self" title="previous search group"><b>&lt;&lt;</b></a><br><br></p>\r
 <p class="ftsbody">\r
-<nobr><a name="bms_VE"></a><a name="subkey_VE"></a>vector <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>4</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>vectors</b></a> <br><nobr>vertex <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>7</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>vertex1</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>vertex2</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>vertexmaxtol</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>vertexmintol</b></a> <br><nobr>vertices <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a name="bms_VI"></a><a name="subkey_VI"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>view</b></a> <br><nobr>viewer <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> <a href="../changing_displaying_parameters.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>viewers</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>visibility</b></a> <br><nobr>visualization <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a name="bms_VO"></a><a name="subkey_VO"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>volume</b></a> <br><a name="bms_VT"></a><a name="subkey_VT"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>vtk</b></a> <br>\r
+<a name="bms_VA"></a><a name="subkey_VA"></a><a href="../files/salome2_sp3_repairgui_functions.htm"><b>val</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>valid</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>validity</b></a> <br><nobr>value <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>7</b></a> </nobr><br><nobr>values <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>6</b></a> <a href="../changing_displaying_parameters.htm"><b>7</b></a> </nobr><br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>various</b></a> <br><nobr><a name="bms_VE"></a><a name="subkey_VE"></a>vector <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>vectors</b></a> <br><nobr>vertex <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>5</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>6</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>7</b></a> </nobr><br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>vertex1</b></a> <br><a href="../files/salome2_sp3_buildgui_functions.htm"><b>vertex2</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>vertexmaxtol</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>vertexmintol</b></a> <br><nobr>vertices <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_primitivegui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>4</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>5</b></a> </nobr><br><a name="bms_VI"></a><a name="subkey_VI"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>view</b></a> <br><nobr>viewer <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> <a href="../changing_displaying_parameters.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>viewers</b></a> <br><a href="../files/salome2_sp3_displaygui_functions.htm"><b>visibility</b></a> <br><nobr>visualization <a href="../files/salome2_sp3_displaygui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><a name="bms_VO"></a><a name="subkey_VO"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>volume</b></a> <br><a name="bms_VT"></a><a name="subkey_VT"></a><a href="../files/salome2_sp3_displaygui_functions.htm"><b>vtk</b></a> <br><a name="bms_VX"></a><a name="subkey_VX"></a><a href="../sketcher.htm"><b>vx</b></a> <br>\r
 <br><br>\r
 <a name="bm_W"></a><a name="subkey_WA"></a><a href="../files/salome2_sp3_buildgui_functions.htm"><b>wantplanarface</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>water</b></a> <br><a href="../files/salome2_sp3_operationgui_functions.htm"><b>waterdensity</b></a> <br><a name="bms_WE"></a><a name="subkey_WE"></a><a href="../files/salome2_sp3_operationgui_functions.htm"><b>weight</b></a> <br><a name="bms_WH"></a><a name="subkey_WH"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>whatis</b></a> <br><a href="../files/salome2_sp3_repairgui_functions.htm"><b>while</b></a> <br><nobr>whose <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>2</b></a> </nobr><br><a name="bms_WI"></a><a name="subkey_WI"></a><a href="../files/introduction_to_geom.htm"><b>wide</b></a> <br><nobr>will <a href="../files/salome2_sp3_transformationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_operationgui_functions.htm"><b>3</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>4</b></a> </nobr><br><nobr>wire <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_generationgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> </nobr><br><a href="../changing_displaying_parameters.htm"><b>wireframe</b></a> <br><nobr>wires <a href="../newentity_blocks.htm"><b>1</b></a> <a href="../files/salome2_sp3_repairgui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_buildgui_functions.htm"><b>3</b></a> </nobr><br><nobr>within <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../changing_displaying_parameters.htm"><b>2</b></a> </nobr><br><nobr><a name="bms_WO"></a><a name="subkey_WO"></a>work <a href="../files/salome2_sp3_repairgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_displaygui_functions.htm"><b>2</b></a> </nobr><br><nobr>working <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> <a href="../working_with_groups.htm"><b>3</b></a> </nobr><br>\r
 <br><br>\r
-<nobr><a name="bm_X"></a><a name="subkey_X{"></a>x <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>x1</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>x2</b></a> <br><a name="bms_XD"></a><a name="subkey_XD"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>xdx</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>xdy</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>xdz</b></a> <br><a name="bms_XM"></a><a name="subkey_XM"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>xmax</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>xmin</b></a> <br><a name="bms_XO"></a><a name="subkey_XO"></a><a href="../sketcher.htm"><b>xoy</b></a> <br><a name="bms_XY"></a><a name="subkey_XY"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>xyz</b></a> <br>\r
+<nobr><a name="bm_X"></a><a name="subkey_X{"></a>x <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>x1</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>x2</b></a> <br><a name="bms_XD"></a><a name="subkey_XD"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>xdx</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>xdy</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>xdz</b></a> <br><a name="bms_XM"></a><a name="subkey_XM"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>xmax</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>xmin</b></a> <br><a name="bms_XO"></a><a name="subkey_XO"></a><a href="../sketcher.htm"><b>xoy</b></a> <br><a name="bms_XY"></a><a name="subkey_XY"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>xyz</b></a> <br>\r
 <br><br>\r
-<nobr><a name="bm_Y"></a><a name="subkey_Y{"></a>y <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>2</b></a> </nobr><br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>y1</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>y2</b></a> <br><a name="bms_YD"></a><a name="subkey_YD"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ydx</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ydy</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ydz</b></a> <br><a name="bms_YM"></a><a name="subkey_YM"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>ymax</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>ymin</b></a> <br><nobr><a name="bms_YO"></a><a name="subkey_YO"></a>your <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> </nobr><br>\r
+<nobr><a name="bm_Y"></a><a name="subkey_Y{"></a>y <a href="../sketcher.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>y1</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>y2</b></a> <br><a name="bms_YD"></a><a name="subkey_YD"></a><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ydx</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ydy</b></a> <br><a href="../files/salome2_sp3_basicgui_functions.htm"><b>ydz</b></a> <br><a name="bms_YM"></a><a name="subkey_YM"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>ymax</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>ymin</b></a> <br><nobr><a name="bms_YO"></a><a name="subkey_YO"></a>your <a href="../files/salome2_sp3_measuregui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_geomtoolsgui_functions.htm"><b>2</b></a> </nobr><br>\r
 <br><br>\r
 <nobr><a name="bm_Z"></a><a name="subkey_Z{"></a>z <a href="../files/salome2_sp3_operationgui_functions.htm"><b>1</b></a> <a href="../files/salome2_sp3_measuregui_functions.htm"><b>2</b></a> <a href="../files/salome2_sp3_basicgui_functions.htm"><b>3</b></a> </nobr><br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>z1</b></a> <br><a href="../files/salome2_sp3_primitivegui_functions.htm"><b>z2</b></a> <br><a name="bms_ZM"></a><a name="subkey_ZM"></a><a href="../files/salome2_sp3_measuregui_functions.htm"><b>zmax</b></a> <br><a href="../files/salome2_sp3_measuregui_functions.htm"><b>zmin</b></a> <br><br><br></p>\r
 </body>\r
index e3a135a3cbab51067fa22d7ef160208b702179fc..40dbed58e53f1ae36f3309491982a471a77316d0 100755 (executable)
@@ -37,7 +37,7 @@ body {background-color:White; }
 </head>\r
 <body marginheight="0"  marginwidth="0">\r
 \r
-<p class="ftsheader"><a name="subkey_V"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf4.htm#bm_V" target="ftslist" title="search letter V "><b>V </b></a> <a href="whlstf4.htm#bms_VA" target="ftslist" title="search letter VA"><b>VA</b></a> <a href="whlstf5.htm#bms_VE" target="ftslist" title="search letter VE"><b>VE</b></a> <a href="whlstf5.htm#bms_VI" target="ftslist" title="search letter VI"><b>VI</b></a> <a href="whlstf5.htm#bms_VO" target="ftslist" title="search letter VO"><b>VO</b></a> <a href="whlstf5.htm#bms_VT" target="ftslist" title="search letter VT"><b>VT</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
+<p class="ftsheader"><a name="subkey_V"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf4.htm#bm_V" target="ftslist" title="search letter V "><b>V </b></a> <a href="whlstf5.htm#bms_VA" target="ftslist" title="search letter VA"><b>VA</b></a> <a href="whlstf5.htm#bms_VE" target="ftslist" title="search letter VE"><b>VE</b></a> <a href="whlstf5.htm#bms_VI" target="ftslist" title="search letter VI"><b>VI</b></a> <a href="whlstf5.htm#bms_VO" target="ftslist" title="search letter VO"><b>VO</b></a> <a href="whlstf5.htm#bms_VT" target="ftslist" title="search letter VT"><b>VT</b></a> <a href="whlstf5.htm#bms_VX" target="ftslist" title="search letter VX"><b>VX</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
 \r
 </body>\r
 \r
index 7e47823604a8854bd9f704a763e60a44b70e25a8..39b58618e6aed92730200babc06c79b7d941e5bc 100755 (executable)
@@ -37,7 +37,7 @@ body {background-color:White; }
 </head>\r
 <body marginheight="0"  marginwidth="0">\r
 \r
-<p class="ftsheader"><a name="subkey_E"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_E" target="ftslist" title="search letter E "><b>E </b></a> <a href="whlstf1.htm#bms_ED" target="ftslist" title="search letter ED"><b>ED</b></a> <a href="whlstf1.htm#bms_EG" target="ftslist" title="search letter EG"><b>EG</b></a> <a href="whlstf1.htm#bms_EI" target="ftslist" title="search letter EI"><b>EI</b></a> <a href="whlstf1.htm#bms_EL" target="ftslist" title="search letter EL"><b>EL</b></a> <a href="whlstf1.htm#bms_EM" target="ftslist" title="search letter EM"><b>EM</b></a> <a href="whlstf1.htm#bms_EN" target="ftslist" title="search letter EN"><b>EN</b></a> <a href="whlstf1.htm#bms_ER" target="ftslist" title="search letter ER"><b>ER</b></a> <a href="whlstf1.htm#bms_ET" target="ftslist" title="search letter ET"><b>ET</b></a> <a href="whlstf1.htm#bms_EX" target="ftslist" title="search letter EX"><b>EX</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
+<p class="ftsheader"><a name="subkey_E"></a> <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a> <a href="whlstf1.htm#bm_E" target="ftslist" title="search letter E "><b>E </b></a> <a href="whlstf1.htm#bms_ED" target="ftslist" title="search letter ED"><b>ED</b></a> <a href="whlstf1.htm#bms_EG" target="ftslist" title="search letter EG"><b>EG</b></a> <a href="whlstf1.htm#bms_EI" target="ftslist" title="search letter EI"><b>EI</b></a> <a href="whlstf1.htm#bms_EL" target="ftslist" title="search letter EL"><b>EL</b></a> <a href="whlstf1.htm#bms_EM" target="ftslist" title="search letter EM"><b>EM</b></a> <a href="whlstf1.htm#bms_EN" target="ftslist" title="search letter EN"><b>EN</b></a> <a href="whlstf1.htm#bms_EQ" target="ftslist" title="search letter EQ"><b>EQ</b></a> <a href="whlstf1.htm#bms_ER" target="ftslist" title="search letter ER"><b>ER</b></a> <a href="whlstf1.htm#bms_ET" target="ftslist" title="search letter ET"><b>ET</b></a> <a href="whlstf1.htm#bms_EX" target="ftslist" title="search letter EX"><b>EX</b></a>  <a href="whnvl32.htm#home" target="_self" title="back to top level"><b>^</b></a></p>\r
 \r
 </body>\r
 \r
index b4a7686c453358303ae9dd65625e66075bdc3e0e..397af575bca07e60eada7fef520204be1e7dfd4e 100755 (executable)
@@ -7,9 +7,9 @@
 <body>\r
 <h1> WebHelp 5.00 System  Info </h1>\r
 <table>\r
-<tr><td> Start Page </td><td>geom_help.html</td></tr>\r
+<tr><td> Start Page </td><td>geom.html</td></tr>\r
 <tr><td> Skin Name </td><td>Default</td></tr>\r
-<tr><td> Generating Time </td><td>16:16 09/24/2004</td></tr>\r
+<tr><td> Generating Time </td><td>18:40 11/11/2004</td></tr>\r
 <tr><td> Language ID </td><td>1033</td></tr>\r
 <tr><td> Compile Script </td><td>webhelp5_compile_script.xml</td></tr>\r
 <tr><td> Compile Build Version </td><td>10.00.949</td></tr>\r
index 2c36a144ba53399dfa6d2b542b95e62393aae620..225597514b575232e0d0ce121464d44bb3275ecf 100755 (executable)
@@ -95,7 +95,7 @@ addButton("show",BTN_TEXT,"Show","","","","",0,0,"","","");
 \r
        if (window.setRelStartPage)\r
        {\r
-       setRelStartPage("geom_help.html");\r
+       setRelStartPage("geom.html");\r
 \r
                autoSync(0);\r
                sendSyncInfo();\r
index d5847d0326165a825edc56398adde5d22df939e9..63f6490501ea82950bbb3dfb40be725e2ab022a2 100644 (file)
 
 module GEOM
 {
-  //-----------------------------------------------------------------//
-  //   Topological types for shapes (like Open Cascade types)                                                //
-  //-----------------------------------------------------------------//
-
+  /*!
+   *  Topological types of shapes (like Open Cascade types)
+   */
   enum shape_type { COMPOUND, COMPSOLID, SOLID, SHELL,
-                   FACE, WIRE, EDGE, VERTEX, SHAPE } ;
+                   FACE, WIRE, EDGE, VERTEX, SHAPE };
 
   typedef sequence<string>      string_array;
   typedef sequence<short>       short_array;
@@ -35,60 +34,61 @@ module GEOM
   {
 
     /*!
-     *  GetEntry() -get an entry of the object in GEOM component.
+     *  Get an entry of the object in GEOM component.
      */
     string GetEntry();
 
     /*!
-     *  GetStudyID() - get ID of study, where the object is created.
+     *  Get ID of study, where the object is created.
      */
     long GetStudyID();
 
     /*!
-     *  GetType() - get internal type of the object (POINT, BOX, CYLINDER, EXTRUSION...).
+     *  Get internal type of the object (POINT, BOX, CYLINDER, EXTRUSION...).
      */
     long GetType();
 
     /*!
-     * GetShapeType - get a <VAR>shape_type<\VAR> of the object value.
+     *  Get a <VAR>shape_type</VAR> of the object value.
      */
     shape_type GetShapeType();
 
     /*!
-     *  SetName() - set name of the object.
+     *  Set name of the object.
      *  \param theName is a name which will be associated with this object.
      */
-    void SetName(in string theName);
+    void SetName (in string theName);
 
     /*!
-     *  GetName() - get name of the object associated with this object.
+     *  Get name of the object associated with this object.
      */
     string GetName();
 
     /*!
-     *  SetStudyEntry() - set a Study entry where this object was published.
+     *  Set a Study entry where this object was published.
      */
-    void SetStudyEntry(in string theEntry);
+    void SetStudyEntry (in string theEntry);
 
     /*!
-     *  GetStudyEntry() - get a Study entry where this object was published.
+     *  Get a Study entry where this object was published.
      */
     string GetStudyEntry();
 
     /*!
-     *  GetDependency() - get a list of all GEOM objects on which were the arguments when this object was constructed and modifed.
-     *  NOTE: This method is supposed to be used by GUI only.
+     *  Get a list of all GEOM objects on which were the arguments
+     *  when this object was constructed and modified.
+     *  \note This method is supposed to be used by GUI only.
      */
     ListOfGO GetDependency();
 
     /*!
-     *  GetLastDependency() - get a list of GEOM objects on which the last function that created or modified the object depends.
-     *  NOTE: This method is supposed to be used by GUI only.
+     *  Get a list of GEOM objects on which the last function that created or modified the object depends.
+     *  \note This method is supposed to be used by GUI only.
      */
     ListOfGO GetLastDependency();
 
     /*!
-     *  getShape() get the TopoDS_Shape, for colocated case only.
+     *  Get the TopoDS_Shape, for colocated case only.
      */
     long getShape();
 
@@ -99,27 +99,32 @@ module GEOM
      */
 
     /*!
-     *  GetShapeStream() - get geometric shape of the object as a byte stream
-     *
+     *  Get geometric shape of the object as a byte stream
      */
     SALOMEDS::TMPFile GetShapeStream();
 
     /*
-     *  IsMainShape() -  returns True if this object is not a sub shape of another object.
+     *  Returns True if this object is not a sub shape of another object.
      */
     boolean IsMainShape();
 
     /*
-     * GetSubShapeIndices() - get a list of ID's of sub shapes in the main shape.
-     * NOTE: Internal method, suppopsed to be used only by GEOM_Client
+     *  Get a list of ID's of sub shapes in the main shape.
+     *  \note Internal method, suppopsed to be used only by GEOM_Client
      */
     ListOfLong GetSubShapeIndices();
 
     /*
-     * GetMainShape() - get a main shape object to which this object is a sub shape
-     * NOTE: Internal method, suppopsed to be used only by GEOM_Client     
+     *  Get a main shape object to which this object is a sub shape
+     *  \note Internal method, suppopsed to be used only by GEOM_Client
      */
     GEOM_Object GetMainShape();
+
+    /*
+     *  Return true if geom object representes a shape.
+     *  For example, method return false for GEOM_MARKER
+     */
+     boolean IsShape();
   };
 
 
@@ -129,39 +134,39 @@ module GEOM
   interface GEOM_IOperations : SALOME::GenericObj
   {
     /*!
-     *  IsDone() - to know, if the operation was successfully performed
+     *  To know, if the operation was successfully performed
      */
     boolean IsDone();
 
     /*!
-     *  SetErrorCode() - set the operation error code
+     *  Set the operation error code
      *  \param theErrorID is a string describing the error occured
-     *  NOTEL : This method is supposed to be used only by interfaces inheriting from IOperations.
+     *  \note This method is supposed to be used only by interfaces inheriting from IOperations.
      */
-    void SetErrorCode(in string theErrorID);
+    void SetErrorCode (in string theErrorID);
 
     /*!
-     *  GetErrorCode() - get the operation error code
+     *  Get the operation error code
      */
     string GetErrorCode();
 
     /*!
-     *  GetStudyID() - get ID of study, where the operation is defined
+     *  Get ID of study, where the operation is defined
      */
     long GetStudyID();
 
     /*!
-     * StartOperation () - opens a new transaction
+     *  Opens a new transaction
      */
     void StartOperation();
 
     /*!
-     *  FinishOperation() - closes the previously opened trasaction
+     *  Closes the previously opened trasaction
      */
     void FinishOperation();
 
     /*!
-     *  AbortOperation() - aborts the previously opened transaction
+     *  Aborts the previously opened transaction
      */
     void AbortOperation();
   };
@@ -221,6 +226,15 @@ module GEOM
      */
     GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1, in GEOM_Object thePnt2);
 
+    /*!
+     *  Create a line, passing through the given point
+     *  and parrallel to the given direction
+     *  \param thePnt Point. The resulting line will pass through it.
+     *  \param theDir Direction. The resulting line will be parallel to it.
+     *  \return New GEOM_Object, containing the created line.
+     */
+    GEOM_Object MakeLine (in GEOM_Object thePnt, in GEOM_Object theDir);
+
     /*!
      *  Create a line, passing through the given points
      *  \param thePnt1 First of two points, defining the line.
@@ -519,14 +533,14 @@ module GEOM
                                in double theFactor);
 
     /*!
-     *  PositionShape() - Modify the Location of the given object by LCS
+     *  Modify the Location of the given object by LCS
      */
     GEOM_Object PositionShape (in GEOM_Object theObject,
                               in GEOM_Object theStartLCS,
                               in GEOM_Object theEndLCS);
 
     /*!
-     *  PositionShapeCopy() - Modify the Location of the given object by LCS
+     *  Modify the Location of the given object by LCS
      *  creating its copy before the setting
      */
     GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
@@ -713,7 +727,7 @@ module GEOM
   };
 
   /*!
-   *  GEOM_IShapesOperations: Interface for Shapes creation
+   *  GEOM_IShapesOperations: Interface for Shapes creation:
    *  Edge from two points, Wire from edges, Face from wire,
    *  Shell from faces, Solid from shells, Compound from shapes
    */
@@ -800,6 +814,14 @@ module GEOM
                          in long        theShapeType,
                          in boolean     isSorted);
 
+    /*!
+     *  Get a sub shape defined by its unique ID inside \a theMainShape
+     *  \note The sub shape GEOM_Objects can has ONLY ONE function.
+     *        Don't try to apply modification operations on them.
+     */
+    GEOM_Object GetSubShape (in GEOM_Object theMainShape,
+                            in long        theID);
+
     /*!
      *  Count number of faces in the given shape.
      *  \param theShape Shape to count faces in.
@@ -814,14 +836,12 @@ module GEOM
      */
     long NumberOfEdges (in GEOM_Object theShape);
 
-     /*!
+    /*!
      *  Reverses an orientation the given shape.
      *  \param theShape Shape to be reversed.
      *  \return The reversed copy of theShape.
      */
-    GEOM_Object ChangeOrientation (in GEOM_Object theShape);   
-
-
+    GEOM_Object ChangeOrientation (in GEOM_Object theShape);
   };
 
   /*!
@@ -835,27 +855,16 @@ module GEOM
      *  Creation of blocks
      */
 
-    /*!
-     *  Create a quadrangle face with specified corners.
-     *  The missing edges will be built by creating the shortest ones.
-     *  \param thePnt1,thePnt2,thePnt3,thePnt4 Corner vertices for the face.
-     *  \return New GEOM_Object, containing the created face.
-     */
-    GEOM_Object MakeQuadFaceFourVertices (in GEOM_Object thePnt1,
-                                         in GEOM_Object thePnt2,
-                                         in GEOM_Object thePnt3,
-                                         in GEOM_Object thePnt4);
-
     /*!
      *  Create a quadrangle face from four edges. Order of Edges is not
      *  important. It is  not necessary that edges share the same vertex.
      *  \param theEdge1,theEdge2,theEdge3,theEdge4 Edges for the face bound.
      *  \return New GEOM_Object, containing the created face.
      */
-    GEOM_Object MakeQuadFaceFourEdges (in GEOM_Object theEdge1,
-                                      in GEOM_Object theEdge2,
-                                      in GEOM_Object theEdge3,
-                                      in GEOM_Object theEdge4);
+    GEOM_Object MakeQuad (in GEOM_Object theEdge1,
+                         in GEOM_Object theEdge2,
+                         in GEOM_Object theEdge3,
+                         in GEOM_Object theEdge4);
 
     /*!
      *  Create a quadrangle face on two edges.
@@ -863,8 +872,19 @@ module GEOM
      *  \param theEdge1,theEdge2 Two opposite edges for the face.
      *  \return New GEOM_Object, containing the created face.
      */
-    GEOM_Object MakeQuadFaceTwoEdges (in GEOM_Object theEdge1,
-                                     in GEOM_Object theEdge2);
+    GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
+                               in GEOM_Object theEdge2);
+
+    /*!
+     *  Create a quadrangle face with specified corners.
+     *  The missing edges will be built by creating the shortest ones.
+     *  \param thePnt1,thePnt2,thePnt3,thePnt4 Corner vertices for the face.
+     *  \return New GEOM_Object, containing the created face.
+     */
+    GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
+                                  in GEOM_Object thePnt2,
+                                  in GEOM_Object thePnt3,
+                                  in GEOM_Object thePnt4);
 
     /*!
      *  Create a hexahedral solid, bounded by the six given faces. Order of
@@ -872,12 +892,12 @@ module GEOM
      *  \param theFace1-theFace6 Faces for the hexahedral solid.
      *  \return New GEOM_Object, containing the created solid.
      */
-    GEOM_Object MakeHexaSolidSixFaces (in GEOM_Object theFace1,
-                                      in GEOM_Object theFace2,
-                                      in GEOM_Object theFace3,
-                                      in GEOM_Object theFace4,
-                                      in GEOM_Object theFace5,
-                                      in GEOM_Object theFace6);
+    GEOM_Object MakeHexa (in GEOM_Object theFace1,
+                         in GEOM_Object theFace2,
+                         in GEOM_Object theFace3,
+                         in GEOM_Object theFace4,
+                         in GEOM_Object theFace5,
+                         in GEOM_Object theFace6);
 
     /*!
      *  Create a hexahedral solid between two given faces.
@@ -885,13 +905,27 @@ module GEOM
      *  \param theFace1,theFace2 Two opposite faces for the hexahedral solid.
      *  \return New GEOM_Object, containing the created solid.
      */
-    GEOM_Object MakeHexaSolidTwoFaces (in GEOM_Object theFace1,
-                                      in GEOM_Object theFace2);
+    GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
+                               in GEOM_Object theFace2);
 
     /*!
      *  Extract elements of blocks and blocks compounds
      */
 
+    /*!
+     *  Get a vertex, found in the given shape by its coordinates.
+     *  \param theShape Block or a compound of blocks.
+     *  \param theX,theY,theZ Coordinates of the sought vertex.
+     *  \param theEpsilon Maximum allowed distance between the resulting
+     *                    vertex and point with the given coordinates.
+     *  \return New GEOM_Object, containing the found vertex.
+     */
+    GEOM_Object GetPoint (in GEOM_Object theShape,
+                         in double      theX,
+                         in double      theY,
+                         in double      theZ,
+                         in double      theEpsilon);
+
     /*!
      *  Get an edge, found in the given shape by two given vertices.
      *  \param theShape Block or a compound of blocks.
@@ -902,6 +936,15 @@ module GEOM
                         in GEOM_Object thePoint1,
                         in GEOM_Object thePoint2);
 
+    /*!
+     *  Find an edge of the given shape, which has minimal distance to the given point.
+     *  \param theShape Block or a compound of blocks.
+     *  \param thePoint Point, close to the desired edge.
+     *  \return New GEOM_Object, containing the found edge.
+     */
+    GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
+                                 in GEOM_Object thePoint);
+
     /*!
      *  Returns a face, found in the given shape by four given corner vertices.
      *  \param theShape Block or a compound of blocks.
@@ -927,7 +970,7 @@ module GEOM
     /*!
      *  Find a face, opposite to the given one in the given block.
      *  \param theBlock Must be a hexahedral solid.
-     *  \param theFace Face of <VAR>theBlock</VAR>, opposite to the desired face.
+     *  \param theFace Face of \a theBlock, opposite to the desired face.
      *  \return New GEOM_Object, containing the found face.
      */
     GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
@@ -969,6 +1012,56 @@ module GEOM
                                in long        theMaxNbFaces,
                                out long       theNbBlocks);
 
+    /*!
+     *  Enumeration of Blocks Compound defects.
+     */
+    enum BCErrorType
+    {
+      NOT_BLOCK,          /* Each element of the compound should be a Block */
+      INVALID_CONNECTION, /* A connection between two Blocks should be an entire face or an entire edge */
+      NOT_CONNECTED,      /* The compound should be connexe */
+      NOT_GLUED           /* The glue between two quadrangle faces should be applied */
+    };
+
+    /*!
+     *  Description of Blocks Compound defect: type and incriminated sub-shapes.
+     */
+    struct BCError
+    {
+      BCErrorType error;
+      ListOfLong  incriminated;
+    };
+
+    /*!
+     *  Sequence of all Blocks Compound defects.
+     */
+    typedef sequence<BCError> BCErrors;
+
+    /*!
+     *  Check, if the compound of blocks is given.
+     *  To be considered as a compound of blocks, the
+     *  given shape must satisfy the following conditions:
+     *  - Each element of the compound should be a Block (6 faces and 12 edges).
+     *  - A connection between two Blocks should be an entire quadrangle face or an entire edge.
+     *  - The compound should be connexe.
+     *  - The glue between two quadrangle faces should be applied.
+     *  \param theCompound The compound to check.
+     *  \return TRUE, if the given shape is a compound of blocks.
+     *  \return theErrors Structure, containing discovered errors and incriminated sub-shapes.
+     */
+    boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
+                                  out BCErrors   theErrors);
+
+    /*!
+     *  Convert sequence of Blocks Compound errors, returned by
+     *  <VAR>CheckCompoundOfBlocks()</VAR>, into string.
+     *  \param theCompound The bad compound.
+     *  \param theErrors The sequence of \a theCompound errors.
+     *  \return String, describing all the errors in form, suitable for printing.
+     */
+    string PrintBCErrors (in GEOM_Object theCompound,
+                         in BCErrors    theErrors);
+
     /*!
      *  Get all the blocks, contained in the given compound.
      *  \param theCompound The compound to explode.
@@ -1020,7 +1113,8 @@ module GEOM
      *  \param theDirFace1 First direction face global index.
      *  \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 <VAR>GEOM_ILocalOperations.GetSubShapeIndex()</VAR>.
+     *    \note Global index of sub-shape can be obtained, using method
+     *          <VAR>GEOM_ILocalOperations.GetSubShapeIndex()</VAR>.
      *  \return New GEOM_Object, containing the result shape.
      */
     GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
@@ -1164,9 +1258,37 @@ module GEOM
     GEOM_Object MakeSplineInterpolation (in ListOfGO thePoints);
 
     /*!
-     *  Create a wire from a list containing many points.
-     *  \param theCommand String, defining the wire in local coordinates of <VAR>theWorkingPlane</VAR>.
-     *  \param theWorkingPlane Nine double values, defining origin, OZ and OX directions of the working plane.
+     *  Create a sketcher (wire or face), following the textual description,
+     *  passed through \a theCommand argument. \n
+     *  Edges of the resulting wire or face will be arcs of circles and/or linear segments. \n
+     *  Format of the description string have to be the following:
+     *
+     *  "Sketcher[:F x1 y1]:CMD[:CMD[:CMD...]]"
+     *
+     *  Where:
+     *  - x1, y1 are coordinates of the first sketcher point (zero by default),
+     *  - CMD is one of
+     *     - "R angle" : Set the direction by angle
+     *     - "D dx dy" : Set the direction by DX & DY
+     *     .
+     *       \n
+     *     - "TT x y" : Create segment by point at X & Y
+     *     - "T dx dy" : Create segment by point with DX & DY
+     *     - "L length" : Create segment by direction & Length
+     *     - "IX x" : Create segment by direction & Intersect. X
+     *     - "IY y" : Create segment by direction & Intersect. Y
+     *     .
+     *       \n
+     *     - "C radius length" : Create arc by direction, radius and length(in degree)
+     *     .
+     *       \n
+     *     - "WW" : Close Wire (to finish)
+     *     - "WF" : Close Wire and build face (to finish)
+     *
+     *  \param theCommand String, defining the sketcher in local
+     *                    coordinates of the working plane.
+     *  \param theWorkingPlane Nine double values, defining origin,
+     *                         OZ and OX directions of the working plane.
      *  \return New GEOM_Object, containing the created wire.
      */
     GEOM_Object MakeSketcher (in string theCommand, in ListOfDouble theWorkingPlane);
@@ -1223,9 +1345,9 @@ module GEOM
      *  Perform a chamfer on edges, common to the specified faces.
      *  with distance D1 on the Face1
      *  \param theShape Shape, to perform chamfer on.
-     *  \param theD1 Chamfer size along <VAR>theFace1</VAR>.
-     *  \param theD2 Chamfer size along <VAR>theFace2</VAR>.
-     *  \param theFace1,theFace2 Global indices of two faces of <VAR>theShape</VAR>.
+     *  \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 <VAR>GetSubShapeIndex()</VAR>.
      *  \return New GEOM_Object, containing the result shape.
      */
@@ -1237,11 +1359,11 @@ module GEOM
      *  Perform a chamfer on all edges of the specified faces.
      *  with distance D1 on the first specified face (if several for one edge)
      *  \param theShape Shape, to perform chamfer on.
-     *  \param theD1 Chamfer size along face from <VAR>theFaces</VAR>. If both faces,
-     *               connected to the edge, are in <VAR>theFaces</VAR>, <VAR>theD1</VAR>
-     *               will be get along face, which is nearer to <VAR>theFaces</VAR> beginning.
+     *  \param theD1 Chamfer size along face from \a theFaces. If both faces,
+     *               connected to the edge, are in \a theFaces, \a theD1
+     *               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 <VAR>theShape</VAR>.
+     *  \param theFaces Sequence of global indices of faces of \a theShape.
      *    \note Global index of sub-shape can be obtained, using method <VAR>GetSubShapeIndex()</VAR>.
      *  \return New GEOM_Object, containing the result shape.
      */
@@ -1256,7 +1378,8 @@ module GEOM
      *  \param theWeight Weight og the shape.
      *  \param theWaterDensity Density of the water.
      *  \param theMeshDeflection Deflection od the mesh, using to compute the section.
-     *  \return New GEOM_Object, containing a section of <VAR>theShape</VAR> by a plane, corresponding to water level.
+     *  \return New GEOM_Object, containing a section of \a theShape
+     *          by a plane, corresponding to water level.
      */
     GEOM_Object MakeArchimede (in GEOM_Object theShape,
                               in double theWeight,
@@ -1264,10 +1387,10 @@ module GEOM
                               in double theMeshDeflection);
 
     /*!
-     *  Get global index of <VAR>theSubShape</VAR> in <VAR>theShape</VAR>.
+     *  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 <VAR>theSubShape</VAR> in <VAR>theShape</VAR>.
+     *  \return global index of \a theSubShape in \a theShape.
      */
     long GetSubShapeIndex (in GEOM_Object theShape, in GEOM_Object theSubShape);
   };
@@ -1285,7 +1408,7 @@ module GEOM
      *  \param theParameters List of names of parameters
      *                    ("FixShape.Tolerance3d", "SplitClosedFaces.NbSplitPoints", etc.).
      *  \param theValues List of values of parameters, in the same order
-     *                    as parameters are listed in <VAR>theParameters</VAR> list.
+     *                    as parameters are listed in \a theParameters list.
      *  \return New GEOM_Object, containing processed shape.
      */
     GEOM_Object ProcessShape (in GEOM_Object theShapes,
@@ -1300,7 +1423,7 @@ module GEOM
      *  \param theOperators Output. Default list of names of operators.
      *  \param theParameters Output. Default list of names of parameters.
      *  \param theValues Output. List of default values of parameters, in the same order
-     *                           as parameters are listed in <VAR>theParameters</VAR> list.
+     *                           as parameters are listed in \a theParameters list.
      */
     void GetShapeProcessParameters (out string_array theOperators,
                                    out string_array theParameters,
@@ -1358,9 +1481,10 @@ module GEOM
      *  \param theObject Shape to be processed.
      *  \param theEdgeIndex Index of edge to be divided within theObject's shape,
      *                      if -1, then theObject itself is the edge.
-     *  \param theValue Value of parameter on edge or length parameter, depending on <VAR>isByParameter</VAR>.
-     *  \param isByParameter If TRUE : <VAR>theValue</VAR> is treated as a curve parameter [0..1],
-     *                       if FALSE : <VAR>theValue</VAR> is treated as a length parameter [0..1]
+     *  \param theValue Value of parameter on edge or length parameter,
+     *                  depending on \a isByParameter.
+     *  \param isByParameter If TRUE : \a theValue is treated as a curve parameter [0..1],
+     *                       if FALSE : \a theValue is treated as a length parameter [0..1]
      *  \return New GEOM_Object, containing processed shape.
      */
     GEOM_Object DivideEdge (in GEOM_Object theObject, in short theEdgeIndex,
@@ -1386,7 +1510,7 @@ module GEOM
   interface GEOM_IInsertOperations : GEOM_IOperations
   {
     /*!
-     *  MakeCopy() - create a copy of the given object
+     *  Create a copy of the given object
      */
     GEOM_Object MakeCopy (in GEOM_Object theOriginal);
 
@@ -1526,7 +1650,7 @@ module GEOM
     /*!
      *  Get point coordinates
      */
-    void  PointCoordinates( in GEOM_Object theShape, out double X, out double Y, out double Z );
+    void PointCoordinates (in GEOM_Object theShape, out double X, out double Y, out double Z);
   };
 
 
@@ -1536,7 +1660,7 @@ module GEOM
   interface GEOM_IGroupOperations : GEOM_IOperations
   {
     /*!
-     *  CreateGroup() - creates a new group which will store  sub shapes of theMainShape 
+     *  Creates a new group which will store  sub shapes of theMainShape
      *  \param theMainShape is a GEOM object on which the group is selected
      *  \param theShapeType defines a shape type of the group
      *  \return a newly created GEOM group
@@ -1544,37 +1668,39 @@ module GEOM
     GEOM_Object CreateGroup (in GEOM_Object theMainShape, in long theShapeType);
 
     /*!
-     *  AddObject() - adds a sub object with ID theSubShapeId to the group
+     *  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. Use method GetSubShapeIndex of ILocalOperations to get an ID by the sub shape
+     *  \param theSubShapeId is a sub shape ID in the main object.
+     *  \note Use method <VAR>ILocalOperations.GetSubShapeIndex()</VAR> to get an ID by the sub shape
      */
     void AddObject (in GEOM_Object theGroup, in long theSubShapeId);
 
     /*!
-     *  RemoveObject() - removes a sub object with ID theSubShapeId from the group
+     *  Removes a sub object with ID \a theSubShapeId from the group
      *  \param theGroup is a GEOM group from which the new sub shape is removed
-     *  \param theSubShapeId is a sub shape ID in the main object. Use method GetSubShapeIndex of ILocalOperations to get an ID by the sub shape
+     *  \param theSubShapeId is a sub shape ID in the main object.
+     *  \note Use method <VAR>ILocalOperations.GetSubShapeIndex()</VAR> to get an ID by the sub shape
      */
     void RemoveObject (in GEOM_Object theGroup, in long theSubShapeId);
 
     /*!
-     *  GetType() - returns a type of sub objects stored in the group
+     *  Returns a type of sub objects stored in the group
      *  \param theGroup is a GEOM group which type is returned.
      */
     long GetType (in GEOM_Object theGroup);
 
     /*!
-     *  GetMainShape() - returns a main shape associated with the group
+     *  Returns a main shape associated with the group
      *  \param theGroup is a GEOM group for which a main shape object is requested
      *  \return a GEOM object which is a main shape for theGroup
      */
-    GEOM_Object  GetMainShape(in GEOM_Object theGroup);
+    GEOM_Object GetMainShape (in GEOM_Object theGroup);
 
     /*!
-     *  GetObjects() - returns a list of sub objects ID stored in the group
+     *  Returns a list of sub objects ID stored in the group
      *  \param theGroup is a GEOM group for which a list of IDs is requested
      */
-    ListOfLong  GetObjects(in GEOM_Object theGroup);
+    ListOfLong GetObjects (in GEOM_Object theGroup);
   };
 
 
@@ -1584,22 +1710,24 @@ module GEOM
    */
   interface GEOM_Gen : Engines::Component,SALOMEDS::Driver
   {
-    typedef sequence<GEOM_Object> ListOfGeomShapes;
-
-     /*!
+    /*!
      *  Undo/Redo Management
      */
 
-    void Undo(in long theStudyID);
+    void Undo (in long theStudyID);
 
-    void Redo(in long theStudyID);
+    void Redo (in long theStudyID);
 
     /*!
      * Publishing manangement
-     * Adds in theStudy a object theObject under with a name theName, if theFather is not NULL the object is placed under thFather's SObject.
+     * Adds in theStudy a object theObject under with a name theName,
+     * if theFather is not NULL the object is placed under thFather's SObject.
      * Returns a SObject where theObject is placed
      */
-    SALOMEDS::SObject AddInStudy(in SALOMEDS::Study theStudy, in GEOM_Object theObject, in string theName, in GEOM_Object theFather);
+    SALOMEDS::SObject AddInStudy (in SALOMEDS::Study theStudy,
+                                 in GEOM_Object theObject,
+                                 in string theName,
+                                 in GEOM_Object theFather);
 
     /*!
      *  Methods to access interfaces for objects creation and transformation
@@ -1615,47 +1743,49 @@ module GEOM
     GEOM_IInsertOperations    GetIInsertOperations   (in long theStudyID) raises (SALOME::SALOME_Exception);
     GEOM_IMeasureOperations   GetIMeasureOperations  (in long theStudyID) raises (SALOME::SALOME_Exception);
     GEOM_IBlocksOperations    GetIBlocksOperations   (in long theStudyID) raises (SALOME::SALOME_Exception);
-    GEOM_IGroupOperations    GetIGroupOperations   (in long theStudyID) raises (SALOME::SALOME_Exception);
+    GEOM_IGroupOperations     GetIGroupOperations    (in long theStudyID) raises (SALOME::SALOME_Exception);
 
     /*!
-     *  Objects Management 
+     *  Objects Management
      */
-    
+
     /*!
-     *  RemoveObject() - removes the object from the GEOM component
+     *  Removes the object from the GEOM component
      *  \param theObject is a GEOM object to be removed
      */
     void RemoveObject (in GEOM_Object theObject);
-    
+
     /*!
-     *  GetObject() - returns an object defined by the study and its entry in the GEOM component
-     *  \param theStudyID is a SALOMEDS Study ID 
+     *  Returns an object defined by the study and its entry in the GEOM component
+     *  \param theStudyID is a SALOMEDS Study ID
      *  \param theEntry is an entry of the requested GEOM object in the GEOM component
-     *  NOTE: if the object has not previously been created a NULL GEOM object is returned
+     *  \note if the object has not previously been created a NULL GEOM object is returned
      */
     GEOM_Object GetObject (in long theStudyID, in string theEntry);
 
     /*!
-     * AddSubShape() - add a sub shape defined by indices in theIndices (contains unique IDs of sub shapes inside theMainShape)
-     *  NOTE: The sub shape GEOM_Objects can has ONLY ONE  function. Don't try to apply modification operations on them.
-     *  NOTE: Internal method
+     *  Add a sub shape defined by indices in \a theIndices
+     *  (contains unique IDs of sub shapes inside theMainShape)
+     *  \note The sub shape GEOM_Objects can has ONLY ONE function.
+     *        Don't try to apply modification operations on them.
+     *  \note Internal method
      */
-    GEOM_Object AddSubShape(in GEOM_Object theMainShape, in ListOfLong theIndices);
+    GEOM_Object AddSubShape (in GEOM_Object theMainShape, in ListOfLong theIndices);
 
     /*!
      *  GEOM object's IOR Management
      */
 
     /*!
-     *  GetIORFromString() - returns a GEOM Object defined by its IOR
+     *  Returns a GEOM Object defined by its IOR
      *  \param theIOR a string containg an IOR of the requested GEOM object
-     */   
+     */
     GEOM_Object GetIORFromString (in string theIOR);
 
     /*!
-     *  GetStringFromIOR() - returns a string which contains an IOR of the GEOM object
+     *  Returns a string which contains an IOR of the GEOM object
      *  \param theObject is a GEOM object which IOR is requested
-     */     
+     */
     string GetStringFromIOR (in GEOM_Object theObject);
   };
 };
diff --git a/idl/GEOM_Superv.idl b/idl/GEOM_Superv.idl
new file mode 100644 (file)
index 0000000..d50c74a
--- /dev/null
@@ -0,0 +1,375 @@
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+// 
+//  This library is free software; you can redistribute it and/or 
+//  modify it under the terms of the GNU Lesser General Public 
+//  License as published by the Free Software Foundation; either 
+//  version 2.1 of the License. 
+// 
+//  This library is distributed in the hope that it will be useful, 
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+//  Lesser General Public License for more details. 
+// 
+//  You should have received a copy of the GNU Lesser General Public 
+//  License along with this library; if not, write to the Free Software 
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+// 
+//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+//
+//
+//
+//  File   : GEOM_Superv.idl
+//  Author : Lucien PIGNOLONI
+
+#ifndef __GEOM_SUPERV__
+#define __GEOM_SUPERV__
+
+#include "GEOM_Gen.idl"
+
+module GEOM
+{
+  interface GEOM_Superv : Engines::Component,SALOMEDS::Driver
+  {
+    //-----------------------------------------------------------//
+    // Set current study ID                                      // 
+    //-----------------------------------------------------------//
+    void SetStudyID (in long theStudyID) ;
+    
+    //-----------------------------------------------------------//
+    // Primitives Construction : BasicOperations                 // 
+    //-----------------------------------------------------------//
+    GEOM_Object MakePointXYZ (in double theX,
+                             in double theY,
+                             in double theZ) ;
+    GEOM_Object MakePointWithReference (in GEOM_Object theReference,
+                                       in double theX, 
+                                       in double theY, 
+                                       in double theZ) ;
+    GEOM_Object MakePointOnCurve (in GEOM_Object theRefCurve,
+                                 in double theParameter) ;
+    GEOM_Object MakeVectorDXDYDZ (in double theDX,
+                                 in double theDY,
+                                 in double theDZ) ;
+    GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1,
+                                 in GEOM_Object thePnt2) ;
+    GEOM_Object MakeLineTwoPnt (in GEOM_Object thePnt1,
+                               in GEOM_Object thePnt2) ;
+    GEOM_Object MakePlaneThreePnt (in GEOM_Object thePnt1,
+                                  in GEOM_Object thePnt2,
+                                  in GEOM_Object thePnt3,
+                                  in double theTrimSize) ;
+    GEOM_Object MakePlanePntVec (in GEOM_Object thePnt,
+                                in GEOM_Object theVec,
+                                in double theTrimSize) ;
+    GEOM_Object MakePlaneFace (in GEOM_Object theFace,
+                              in double theTrimSize) ;
+    GEOM_Object MakeMarker (in double theOX , in double theOY , in double theOZ,
+                           in double theXDX, in double theXDY, in double theXDZ,
+                           in double theYDX, in double theYDY, in double theYDZ) ;
+
+    //-----------------------------------------------------------//
+    // Primitives Construction : 3DPrimOperations                //
+    //-----------------------------------------------------------//
+    GEOM_Object MakeBox (in double theX1,
+                        in double theY1,
+                        in double theZ1,
+                        in double theX2,
+                        in double theY2,
+                        in double theZ2) ; 
+    GEOM_Object MakeBoxDXDYDZ (in double theDX, 
+                              in double theDY, 
+                              in double theDZ) ;
+    GEOM_Object MakeBoxTwoPnt (in GEOM_Object thePnt1, 
+                              in GEOM_Object thePnt2) ;
+    GEOM_Object MakeCylinderPntVecRH (in GEOM_Object thePnt,
+                                     in GEOM_Object theAxis,
+                                     in double theRadius,
+                                     in double theHeight) ;
+    GEOM_Object MakeCylinderRH (in double theR, 
+                               in double theH) ;
+    GEOM_Object MakeSphere (in double theX,
+                           in double theY,
+                           in double theZ,
+                           in double theRadius) ;
+    GEOM_Object MakeSphereR (in double theR) ;
+    GEOM_Object MakeSpherePntR (in GEOM_Object thePnt, 
+                               in double theR) ;
+    GEOM_Object MakeTorusPntVecRR (in GEOM_Object thePnt,
+                                  in GEOM_Object theVec,
+                                  in double theRMajor,
+                                  in double theRMinor) ;
+    GEOM_Object MakeTorusRR (in double theRMajor,
+                            in double theRMinor) ;
+    GEOM_Object MakeConePntVecR1R2H (in GEOM_Object thePnt,
+                                    in GEOM_Object theAxis,
+                                    in double theR1,
+                                    in double theR2,
+                                    in double theHeight) ;
+    GEOM_Object MakeConeR1R2H (in double theR1, 
+                              in double theR2, 
+                              in double theHeight) ;
+    GEOM_Object MakePrismVecH (in GEOM_Object theBase,
+                              in GEOM_Object theVec,
+                              in double      theH) ;
+    GEOM_Object MakePrismTwoPnt (in GEOM_Object theBase,
+                                in GEOM_Object thePoint1,
+                                in GEOM_Object thePoint2) ;
+    GEOM_Object MakePipe (in GEOM_Object theBase, 
+                         in GEOM_Object thePath) ;
+    GEOM_Object MakeRevolutionAxisAngle (in GEOM_Object theBase,
+                                        in GEOM_Object theAxis,
+                                        in double theAngle) ;
+    GEOM_Object MakeFilling (in GEOM_Object theShape,
+                            in long theMinDeg, in long theMaxDeg,
+                            in double theTol2D, in double theTol3D,
+                            in long theNbIter) ;
+
+    //-----------------------------------------------------------//
+    // BooleanOperations                                         //
+    //-----------------------------------------------------------//
+    GEOM_Object MakeBoolean (in GEOM_Object theShape1,
+                            in GEOM_Object theShape2,
+                            in long theOperation) ;
+    GEOM_Object MakeFuse (in GEOM_Object theShape1,
+                         in GEOM_Object theShape2) ;
+    GEOM_Object MakePartition (in ListOfGO   theShapes,
+                              in ListOfGO   theTools,
+                              in ListOfGO   theKeepInside,
+                              in ListOfGO   theRemoveInside,
+                              in short      theLimit,
+                              in boolean    theRemoveWebs,
+                              in ListOfLong theMaterials) ;
+    GEOM_Object MakeHalfPartition (in GEOM_Object theShape,
+                                  in GEOM_Object thePlane) ;
+
+    //-----------------------------------------------------------//
+    // InsertOperations                                          //
+    //-----------------------------------------------------------//
+    GEOM_Object MakeCopy (in GEOM_Object theOriginal) ;
+    void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName) ;
+    GEOM_Object Import (in string theFileName, in string theFormatName) ;
+    void ImportTranslators (out string_array theFormats,
+                           out string_array thePatterns) ;
+    void ExportTranslators (out string_array theFormats,
+                           out string_array thePatterns) ;
+
+    //-----------------------------------------------------------//
+    // TransformOperations                                       //
+    //-----------------------------------------------------------//
+    GEOM_Object TranslateTwoPoints (in GEOM_Object theObject,
+                                   in GEOM_Object thePoint1,
+                                   in GEOM_Object thePoint2) ;
+    GEOM_Object TranslateTwoPointsCopy (in GEOM_Object theObject,
+                                       in GEOM_Object thePoint1,
+                                        in GEOM_Object thePoint2) ;
+    GEOM_Object TranslateDXDYDZ (in GEOM_Object theObject,
+                                in double theDX, 
+                                in double theDY, 
+                                in double theDZ) ;
+    GEOM_Object TranslateDXDYDZCopy (in GEOM_Object theObject,
+                                    in double theDX, 
+                                    in double theDY, 
+                                    in double theDZ) ;
+    GEOM_Object TranslateVector (in GEOM_Object theObject,
+                                in GEOM_Object theVector) ;
+    GEOM_Object TranslateVectorCopy (in GEOM_Object theObject,
+                                    in GEOM_Object theVector) ;
+    GEOM_Object MultiTranslate1D (in GEOM_Object theObject,
+                                 in GEOM_Object theVector,
+                                 in double theStep,
+                                 in long theNbTimes) ;
+    GEOM_Object MultiTranslate2D (in GEOM_Object theObject,
+                                 in GEOM_Object theVector1,
+                                 in double theStep1,
+                                 in long theNbTimes1,
+                                 in GEOM_Object theVector2,
+                                 in double theStep2,
+                                 in long theNbTimes2) ;
+    GEOM_Object Rotate (in GEOM_Object theObject,
+                       in GEOM_Object theAxis,
+                       in double theAngle) ;
+    GEOM_Object RotateCopy (in GEOM_Object theObject,
+                           in GEOM_Object theAxis,
+                           in double theAngle) ;
+    GEOM_Object MultiRotate1D (in GEOM_Object theObject,
+                              in GEOM_Object theAxis,
+                              in long theNbTimes) ;
+    GEOM_Object MultiRotate2D (in GEOM_Object theObject,
+                              in GEOM_Object theAxis,
+                              in double theAngle,
+                              in long theNbTimes1,
+                              in double theStep,
+                              in long theNbTimes2) ;
+    GEOM_Object MirrorPlane (in GEOM_Object theObject, in GEOM_Object thePlane) ;
+    GEOM_Object MirrorPlaneCopy (in GEOM_Object theObject, in GEOM_Object thePlane) ;
+    GEOM_Object MirrorAxis (in GEOM_Object theObject, in GEOM_Object theAxis) ;
+    GEOM_Object MirrorAxisCopy (in GEOM_Object theObject, in GEOM_Object theAxis) ;
+    GEOM_Object MirrorPoint (in GEOM_Object theObject, in GEOM_Object thePoint) ;
+    GEOM_Object MirrorPointCopy (in GEOM_Object theObject, in GEOM_Object thePoint) ;
+    GEOM_Object OffsetShape (in GEOM_Object theObject, in double theOffset) ;
+    GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, in double theOffset) ;
+    GEOM_Object ScaleShape (in GEOM_Object theObject, in GEOM_Object thePoint,
+                           in double theFactor) ;
+    GEOM_Object ScaleShapeCopy (in GEOM_Object theObject, in GEOM_Object thePoint,
+                               in double theFactor) ;
+    GEOM_Object PositionShape (in GEOM_Object theObject,
+                              in GEOM_Object theStartLCS,
+                              in GEOM_Object theEndLCS) ;
+    GEOM_Object PositionShapeCopy (in GEOM_Object theObject,
+                                  in GEOM_Object theStartLCS,
+                                  in GEOM_Object theEndLCS) ;
+
+    //-----------------------------------------------------------//
+    // ShapesOperations                                          //
+    //-----------------------------------------------------------//
+    GEOM_Object MakeEdge (in GEOM_Object thePnt1, in GEOM_Object thePnt2) ;
+    GEOM_Object MakeWire (in ListOfGO theEdgesAndWires) ;
+    GEOM_Object MakeFace (in GEOM_Object theWire, in boolean isPlanarWanted) ;
+    GEOM_Object MakeFaceWires (in ListOfGO theWires, in boolean isPlanarWanted) ;
+    GEOM_Object MakeShell (in ListOfGO theFacesAndShells) ;
+    GEOM_Object MakeSolidShell (in GEOM_Object theShell) ;
+    GEOM_Object MakeSolidShells (in ListOfGO theShells) ;
+    GEOM_Object MakeCompound (in ListOfGO theShapes) ;
+    GEOM_Object MakeGlueFaces (in GEOM_Object theShape, in double theTolerance) ;
+    ListOfGO MakeExplode (in GEOM_Object theShape,
+                         in long        theShapeType,
+                         in boolean     isSorted) ;
+    long NumberOfFaces (in GEOM_Object theShape) ;
+    long NumberOfEdges (in GEOM_Object theShape) ;
+    GEOM_Object ChangeOrientation (in GEOM_Object theShape) ;
+
+    //-----------------------------------------------------------//
+    // BlocksOperations                                          //
+    //-----------------------------------------------------------//
+    GEOM_Object MakeQuad4Vertices (in GEOM_Object thePnt1,
+                                  in GEOM_Object thePnt2,
+                                  in GEOM_Object thePnt3,
+                                  in GEOM_Object thePnt4) ;
+    GEOM_Object MakeQuad (in GEOM_Object theEdge1,
+                         in GEOM_Object theEdge2,
+                         in GEOM_Object theEdge3,
+                         in GEOM_Object theEdge4) ;
+    GEOM_Object MakeQuad2Edges (in GEOM_Object theEdge1,
+                               in GEOM_Object theEdge2) ;
+    GEOM_Object MakeHexa (in GEOM_Object theFace1,
+                         in GEOM_Object theFace2,
+                         in GEOM_Object theFace3,
+                         in GEOM_Object theFace4,
+                         in GEOM_Object theFace5,
+                         in GEOM_Object theFace6) ;
+    GEOM_Object MakeHexa2Faces (in GEOM_Object theFace1,
+                               in GEOM_Object theFace2) ;
+    GEOM_Object GetPoint (in GEOM_Object theShape,
+                         in double      theX,
+                         in double      theY,
+                         in double      theZ,
+                         in double      theEpsilon) ;
+    GEOM_Object GetEdge (in GEOM_Object theShape,
+                        in GEOM_Object thePoint1,
+                        in GEOM_Object thePoint2) ;
+    GEOM_Object GetEdgeNearPoint (in GEOM_Object theShape,
+                                 in GEOM_Object thePoint) ;
+    GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
+                                in GEOM_Object thePoint1,
+                                in GEOM_Object thePoint2,
+                                in GEOM_Object thePoint3,
+                                in GEOM_Object thePoint4) ;
+    GEOM_Object GetFaceByEdges (in GEOM_Object theShape,
+                               in GEOM_Object theEdge1,
+                               in GEOM_Object theEdge2) ;
+    GEOM_Object GetOppositeFace (in GEOM_Object theBlock,
+                                in GEOM_Object theFace) ;
+    GEOM_Object GetFaceNearPoint (in GEOM_Object theShape,
+                                 in GEOM_Object thePoint) ;
+    GEOM_Object GetFaceByNormale (in GEOM_Object theBlock,
+                                 in GEOM_Object theVector) ;
+    boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
+                               in long        theMinNbFaces,
+                               in long        theMaxNbFaces,
+                               out long       theNbBlocks) ;
+    boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
+                                  out GEOM_IBlocksOperations::BCErrors   theErrors) ;
+    string PrintBCErrors (in GEOM_Object theCompound,
+                         in GEOM_IBlocksOperations::BCErrors    theErrors) ;
+    ListOfGO ExplodeCompoundOfBlocks (in GEOM_Object theCompound,
+                                     in long        theMinNbFaces,
+                                     in long        theMaxNbFaces) ;
+    GEOM_Object GetBlockNearPoint (in GEOM_Object theCompound,
+                                  in GEOM_Object thePoint) ;
+    GEOM_Object GetBlockByParts (in GEOM_Object theCompound,
+                                in ListOfGO    theParts) ;
+    ListOfGO GetBlocksByParts (in GEOM_Object theCompound,
+                              in ListOfGO    theParts) ;
+    GEOM_Object MakeMultiTransformation1D (in GEOM_Object theBlock,
+                                          in long        theDirFace1,
+                                          in long        theDirFace2,
+                                          in long        theNbTimes) ;
+    GEOM_Object MakeMultiTransformation2D (in GEOM_Object theBlock,
+                                          in long        theDirFace1U,
+                                          in long        theDirFace2U,
+                                          in long        theNbTimesU,
+                                          in long        theDirFace1V,
+                                          in long        theDirFace2V,
+                                          in long        theNbTimesV) ;
+
+    //-----------------------------------------------------------//
+    // CurvesOperations                                          //
+    //-----------------------------------------------------------//
+    GEOM_Object MakeCirclePntVecR (in GEOM_Object thePnt,
+                                  in GEOM_Object theVec,
+                                  in double theR) ;
+    GEOM_Object MakeCircleThreePnt (in GEOM_Object thePnt1,
+                                   in GEOM_Object thePnt2,
+                                   in GEOM_Object thePnt3) ;
+    GEOM_Object MakeEllipse (in GEOM_Object thePnt,
+                            in GEOM_Object theVec,
+                            in double theRMajor,
+                            in double theRMinor) ;
+    GEOM_Object MakeArc (in GEOM_Object thePnt1,
+                        in GEOM_Object thePnt2,
+                        in GEOM_Object thePnt3) ;
+    GEOM_Object MakePolyline (in ListOfGO thePoints) ;
+    GEOM_Object MakeSplineBezier (in ListOfGO thePoints) ;
+    GEOM_Object MakeSplineInterpolation (in ListOfGO thePoints) ;
+    GEOM_Object MakeSketcher (in string theCommand, in ListOfDouble theWorkingPlane) ;
+    
+    //-----------------------------------------------------------//
+    // LocalOperations                                           //
+    //-----------------------------------------------------------//
+    GEOM_Object MakeFilletAll (in GEOM_Object theShape,
+                              in double      theR) ;
+    GEOM_Object MakeFilletEdges (in GEOM_Object theShape,
+                                in double      theR,
+                                in ListOfLong  theEdges) ;
+    GEOM_Object MakeFilletFaces (in GEOM_Object theShape,
+                                in double      theR,
+                                in ListOfLong  theFaces) ;
+    GEOM_Object MakeChamferAll (in GEOM_Object theShape,
+                               in double      theD) ;
+    GEOM_Object MakeChamferEdge (in GEOM_Object theShape,
+                                in double theD1, in double theD2,
+                                in long theFace1, in long theFace2) ;
+    GEOM_Object MakeChamferFaces (in GEOM_Object theShape,
+                                 in double theD1, in double theD2,
+                                 in ListOfLong theFaces) ;
+    GEOM_Object MakeArchimede (in GEOM_Object theShape,
+                              in double theWeight,
+                              in double theWaterDensity,
+                              in double theMeshDeflection) ;
+    long GetSubShapeIndex (in GEOM_Object theShape, in GEOM_Object theSubShape) ;
+
+    //-----------------------------------------------------------//
+    // GroupOperations                                           //
+    //-----------------------------------------------------------//
+    GEOM_Object CreateGroup (in GEOM_Object theMainShape, in long theShapeType) ;
+    void AddObject (in GEOM_Object theGroup, in long theSubShapeId) ;
+    void RemoveObject (in GEOM_Object theGroup, in long theSubShapeId) ;
+    long GetType (in GEOM_Object theGroup) ;
+    GEOM_Object  GetMainShape(in GEOM_Object theGroup) ;
+    ListOfLong  GetObjects(in GEOM_Object theGroup) ;
+
+  };
+};
+
+#endif
index ea6a8def45245b0eb828069bb01b74f45f0bd4e1..72f11d7c68a4c868617f45ad5f1efaa28df45e30 100644 (file)
@@ -11,7 +11,8 @@ VPATH=.:${KERNEL_ROOT_DIR}/idl/salome
 @COMMENCE@
 
 IDL_FILES = \
-  GEOM_Gen.idl
+  GEOM_Gen.idl \
+  GEOM_Superv.idl
 
 PY_CLIENT_IDL = $(IDL_FILES)
 
index a86cc2fee17bc0e7b77f3602b61b62135d579619..136e16d1937338d8c8bdb5f1a4ec25d7c428ee34 100644 (file)
                 </component-service>
             </component-service-list>
         </component-interface-list>
-        <constraint>hostname = localhost</constraint>
+    <constraint>hostname = localhost</constraint>
+    </component>
+     
+    <component>
+            <component-name>GEOM_Superv</component-name>
+            <component-username>GEOM_Superv</component-username>
+            <component-type>OTHER</component-type>
+            <component-author>asv</component-author>
+            <component-version>2.1.0</component-version>
+            <component-comment>unknown</component-comment>
+            <component-multistudy>1</component-multistudy>
+            <component-icone></component-icone>
+            <constraint></constraint>
+            <component-interface-list>
+                <component-interface-name>GEOM_Superv</component-interface-name>
+                <component-interface-comment>unknown</component-interface-comment>
+                <component-service-list>
+                    <component-service>
+                        <service-name>SetStudyID</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theStudyID</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list></outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePointXYZ</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePointWithReference</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theReference</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePointOnCurve</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theRefCurve</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theParameter</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeVectorDXDYDZ</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theDX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeVectorTwoPnt</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeLineTwoPnt</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePlaneThreePnt</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theTrimSize</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePlanePntVec</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVec</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theTrimSize</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePlaneFace</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theFace</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theTrimSize</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeMarker</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theOX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theOY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theOZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theXDX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theXDY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theXDZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theYDX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theYDY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theYDZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeBox</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theX1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theY1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theZ1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theX2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theY2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theZ2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeBoxDXDYDZ</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theDX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeBoxTwoPnt</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeCylinderPntVecRH</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAxis</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRadius</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theHeight</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeCylinderRH</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theR</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theH</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeSphere</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRadius</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeSphereR</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theR</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeSpherePntR</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeTorusPntVecRR</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVec</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRMajor</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRMinor</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeTorusRR</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theRMajor</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRMinor</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeConePntVecR1R2H</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAxis</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theHeight</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeConeR1R2H</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theR1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theHeight</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePrismVecH</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theBase</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVec</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theH</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePrismTwoPnt</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theBase</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePipe</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theBase</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePath</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeRevolutionAxisAngle</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theBase</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAxis</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAngle</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeFilling</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theMinDeg</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theMaxDeg</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theTol2D</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theTol3D</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbIter</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeBoolean</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theShape2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theOperation</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeFuse</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theShape2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePartition</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShapes</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theTools</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theKeepInside</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRemoveInside</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theLimit</inParameter-name>
+                                <inParameter-type>short</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRemoveWebs</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theMaterials</inParameter-name>
+                                <inParameter-type>ListOfLong</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeHalfPartition</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePlane</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theOriginal</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>Export</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFileName</inParameter-name>
+                                <inParameter-type>string</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFormatName</inParameter-name>
+                                <inParameter-type>string</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list></outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>Import</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theFileName</inParameter-name>
+                                <inParameter-type>string</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFormatName</inParameter-name>
+                                <inParameter-type>string</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>ImportTranslators</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list></inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>theFormats</outParameter-name>
+                                <outParameter-type>string_array</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                            <outParameter>
+                                <outParameter-name>thePatterns</outParameter-name>
+                                <outParameter-type>string_array</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>ExportTranslators</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list></inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>theFormats</outParameter-name>
+                                <outParameter-type>string_array</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                            <outParameter>
+                                <outParameter-name>thePatterns</outParameter-name>
+                                <outParameter-type>string_array</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>TranslateTwoPoints</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>TranslateTwoPointsCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>TranslateDXDYDZ</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>TranslateDXDYDZCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>TranslateVector</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVector</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>TranslateVectorCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVector</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MultiTranslate1D</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVector</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theStep</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbTimes</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MultiTranslate2D</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVector1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theStep1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbTimes1</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVector2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theStep2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbTimes2</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>Rotate</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAxis</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAngle</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>RotateCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAxis</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAngle</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MultiRotate1D</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAxis</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbTimes</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MultiRotate2D</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAxis</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAngle</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbTimes1</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theStep</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbTimes2</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MirrorPlane</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePlane</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MirrorPlaneCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePlane</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MirrorAxis</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAxis</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MirrorAxisCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theAxis</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MirrorPoint</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MirrorPointCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>OffsetShape</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theOffset</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>OffsetShapeCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theOffset</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>ScaleShape</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFactor</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>ScaleShapeCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFactor</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>PositionShape</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theStartLCS</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEndLCS</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>PositionShapeCopy</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theObject</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theStartLCS</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEndLCS</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeEdge</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeWire</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theEdgesAndWires</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeFace</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theWire</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>isPlanarWanted</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeFaceWires</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theWires</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>isPlanarWanted</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeShell</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theFacesAndShells</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeSolidShell</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShell</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeSolidShells</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShells</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeCompound</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShapes</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeGlueFaces</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theTolerance</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeExplode</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theShapeType</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>isSorted</inParameter-name>
+                                <inParameter-type>boolean</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>ListOfGO</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>NumberOfFaces</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>long</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>NumberOfEdges</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>long</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>ChangeOrientation</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeQuad4Vertices</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt4</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeQuad</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theEdge1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEdge2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEdge3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEdge4</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeQuad2Edges</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theEdge1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEdge2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeHexa</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theFace1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFace2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFace3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFace4</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFace5</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFace6</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeHexa2Faces</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theFace1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFace2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetPoint</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theX</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theY</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theZ</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEpsilon</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetEdge</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetEdgeNearPoint</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetFaceByPoints</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint4</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetFaceByEdges</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEdge1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEdge2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetOppositeFace</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theBlock</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFace</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetFaceNearPoint</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetFaceByNormale</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theBlock</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVector</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>IsCompoundOfBlocks</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theCompound</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theMinNbFaces</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theMaxNbFaces</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>theNbBlocks</outParameter-name>
+                                <outParameter-type>long</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>boolean</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>CheckCompoundOfBlocks</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theCompound</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>theErrors</outParameter-name>
+                                <outParameter-type>BCErrors</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>boolean</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>PrintBCErrors</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theCompound</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theErrors</inParameter-name>
+                                <inParameter-type>BCErrors</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>string</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>ExplodeCompoundOfBlocks</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theCompound</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theMinNbFaces</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theMaxNbFaces</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>ListOfGO</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetBlockNearPoint</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theCompound</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePoint</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetBlockByParts</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theCompound</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theParts</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetBlocksByParts</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theCompound</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theParts</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>ListOfGO</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeMultiTransformation1D</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theBlock</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDirFace1</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDirFace2</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbTimes</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeMultiTransformation2D</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theBlock</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDirFace1U</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDirFace2U</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbTimesU</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDirFace1V</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theDirFace2V</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theNbTimesV</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeCirclePntVecR</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVec</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeCircleThreePnt</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeEllipse</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theVec</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRMajor</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theRMinor</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeArc</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePnt1</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt2</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>thePnt3</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakePolyline</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePoints</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeSplineBezier</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePoints</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeSplineInterpolation</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>thePoints</inParameter-name>
+                                <inParameter-type>ListOfGO</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeSketcher</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theCommand</inParameter-name>
+                                <inParameter-type>string</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theWorkingPlane</inParameter-name>
+                                <inParameter-type>ListOfDouble</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeFilletAll</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeFilletEdges</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theEdges</inParameter-name>
+                                <inParameter-type>ListOfLong</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeFilletFaces</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theR</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFaces</inParameter-name>
+                                <inParameter-type>ListOfLong</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeChamferAll</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theD</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeChamferEdge</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theD1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theD2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFace1</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFace2</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeChamferFaces</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theD1</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theD2</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theFaces</inParameter-name>
+                                <inParameter-type>ListOfLong</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>MakeArchimede</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theWeight</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theWaterDensity</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theMeshDeflection</inParameter-name>
+                                <inParameter-type>double</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetSubShapeIndex</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theSubShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>long</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>CreateGroup</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theMainShape</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theShapeType</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>AddObject</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theGroup</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theSubShapeId</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list></outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>RemoveObject</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theGroup</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                            <inParameter>
+                                <inParameter-name>theSubShapeId</inParameter-name>
+                                <inParameter-type>long</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list></outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetType</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theGroup</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>long</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetMainShape</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theGroup</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>GEOM_Object</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                    <component-service>
+                        <service-name>GetObjects</service-name>
+                        <service-author>asv</service-author>
+                        <service-version>2.1.0</service-version>
+                        <service-comment>unknown</service-comment>
+                        <service-by-default>0</service-by-default>
+                        <inParameter-list>
+                            <inParameter>
+                                <inParameter-name>theGroup</inParameter-name>
+                                <inParameter-type>GEOM_Object</inParameter-type>
+                                <inParameter-comment>unknown</inParameter-comment>
+                            </inParameter>
+                        </inParameter-list>
+                        <outParameter-list>
+                            <outParameter>
+                                <outParameter-name>return</outParameter-name>
+                                <outParameter-type>ListOfLong</outParameter-type>
+                                <outParameter-comment>unknown</outParameter-comment>
+                            </outParameter>
+                        </outParameter-list>
+                        <DataStream-list></DataStream-list>
+                    </component-service>
+                </component-service-list>
+            </component-interface-list>
     </component>
 </component-list>
 </begin-catalog>
index 2a28b37946ad2cd7a4b17666efa59cd007d9e69f..b2e238212fd2b69d5f8a6ffc2e501235e789cddd 100644 (file)
    <popup-item item-id="607" pos-id="" label-id="Suppress internal wires" icon-id="suppressintwires.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
    <popup-item item-id="604" pos-id="" label-id="Suppress holes" icon-id="supresshole.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
    <popup-item item-id="601" pos-id="" label-id="Sewing" icon-id="sewing.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
+   <popup-item item-id="602" pos-id="" label-id="Glue faces" icon-id="glue.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
    <popup-item item-id="608" pos-id="" label-id="Add point on edge" icon-id="pointonedge.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
    <popup-item item-id="609" pos-id="" label-id="Check free boundaries" icon-id="free_bound.png" tooltip-id="" accel-id="" toggle-id="" execute-action=""/>
 </menu-item>
diff --git a/resources/glue.png b/resources/glue.png
new file mode 100644 (file)
index 0000000..8c9a151
Binary files /dev/null and b/resources/glue.png differ
index 56b45e7b95318b91562bddccae4f2abce19124ef..9398230f379115814285907e594de989089ba6fd 100644 (file)
@@ -33,6 +33,8 @@ using namespace std;
 #include "QAD_RightFrame.h"
 #include "QAD_Desktop.h"
 #include "OCCViewer_Viewer3d.h"
+#include "OCCViewer_ViewFrame.h"
+#include "OCCViewer_AISSelector.h"
 #include "OCCViewer_ViewPort3d.h"
 #include "SALOMEGUI_QtCatchCorbaException.hxx"
 
index 0998bf163083d2396029f89ae6fdba5628522e5e..105e3becdacc7bfd1a8e596f8da1274a89b7b3ac 100644 (file)
@@ -307,6 +307,7 @@ void BasicGUI_CircleDlg::LineEditReturnPressed()
 void BasicGUI_CircleDlg::ActivateThisDialog()
 {
   GEOMBase_Skeleton::ActivateThisDialog();
+  globalSelection( GEOM_POINT );
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 
   myGeomGUI->SetState( 0 );
index 93997057fdff726881c178a327e88b8222e9a4aa..c73f91728f8defdfcb18222784d9240c337e5fa7 100644 (file)
@@ -236,7 +236,7 @@ void BasicGUI_MarkerDlg::ConstructorsClicked( int constructorId )
        resize(0, 0);
        Group1->show();
 
-       globalSelection();
+       globalSelection( GEOM_ALLGEOM );
        myEditCurrentArgument = Group1->LineEdit1;
        Group1->LineEdit1->setText("");
        break;
@@ -505,7 +505,7 @@ void BasicGUI_MarkerDlg::SetEditCurrentArgument()
   
   if(send == Group1->PushButton1) {
     myEditCurrentArgument = Group1->LineEdit1;
-    globalSelection();
+    globalSelection( GEOM_ALLGEOM );
   }
   else if(send == Group2->PushButton1) {
     myEditCurrentArgument = Group2->LineEdit1;
@@ -582,7 +582,22 @@ GEOM::GEOM_IOperations_ptr BasicGUI_MarkerDlg::createOperation()
 //=================================================================================
 bool BasicGUI_MarkerDlg::isValid( QString& msg )
 {
-  return true;
+  const int id = getConstructorId();
+  gp_Vec v1( myData[ DX1 ]->GetValue(), myData[ DY1 ]->GetValue(), myData[ DZ1 ]->GetValue() ),
+         v2( myData[ DX2 ]->GetValue(), myData[ DY2 ]->GetValue(), myData[ DZ2 ]->GetValue() );
+  bool isOrthogonal = v1.IsNormal( v2, Precision::Confusion() );
+  switch ( id )
+  {
+    case 0:
+      return isOrthogonal;
+    case 1:
+      return !Group1->LineEdit1->text().isEmpty() && isOrthogonal;
+    case 2:
+      return !Group2->LineEdit1->text().isEmpty() && 
+            !Group2->LineEdit2->text().isEmpty() && 
+            !Group2->LineEdit3->text().isEmpty() && isOrthogonal;
+  }
+  return false;
 }
 
 //=================================================================================
index d28502e7f2666d2ca7bed84aa9d4f76422f8bd1a..888ee3a63eac13c6cd3cbfbb7ca2e58f3430b50a 100644 (file)
@@ -372,7 +372,7 @@ bool BlocksGUI_BlockDlg::execute (ObjectList& objects)
     case 0:
       if (!CORBA::is_nil(myFace1) && !CORBA::is_nil(myFace2)) {
         anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->
-          MakeHexaSolidTwoFaces(myFace1, myFace2);
+          MakeHexa2Faces(myFace1, myFace2);
         res = true;
       }
       break;
@@ -381,7 +381,7 @@ bool BlocksGUI_BlockDlg::execute (ObjectList& objects)
           !CORBA::is_nil(myFace3) && !CORBA::is_nil(myFace4) &&
           !CORBA::is_nil(myFace5) && !CORBA::is_nil(myFace6)) {
         anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->
-          MakeHexaSolidSixFaces(myFace1, myFace2, myFace3, myFace4, myFace5, myFace6);
+          MakeHexa(myFace1, myFace2, myFace3, myFace4, myFace5, myFace6);
         res = true;
       }
       break;
index bb210b1faa0389730f424eb1e7b688400d7353db..be34aa1165c65ef5ab02e43a522e73f26f1c6933 100644 (file)
@@ -235,7 +235,7 @@ void BlocksGUI_ExplodeDlg::SelectionIntoArgument()
     GEOM::GEOM_Object_var anObj =
       GEOMBase::ConvertIOinGEOMObject(mySelection->firstIObject(), aResult);
 
-    if (aResult && !anObj->_is_nil()) {
+    if ( aResult && !anObj->_is_nil() && GEOMBase::IsShape( anObj ) ) {
       myObject = anObj;
       mySelName->setText(GEOMBase::GetName(anObj));
     }
@@ -315,7 +315,7 @@ void BlocksGUI_ExplodeDlg::activateSelection()
   erasePreview(true);
 
   if (isAllSubShapes()) { // Sub-shapes selection disabled
-    globalSelection();
+    globalSelection( GEOM_ALLSHAPES );
     SelectionIntoArgument();
 
   } else {
index a76564828afab6d189c16838f967b69db2795038..c9529620792bff3d5aab3693232c6e7a97bd6736 100644 (file)
@@ -384,17 +384,17 @@ bool BlocksGUI_QuadFaceDlg::execute (ObjectList& objects)
 
   switch (getConstructorId()) {
     case 0:
-      anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->MakeQuadFaceFourVertices
+      anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->MakeQuad4Vertices
         (myShape1, myShape2, myShape3, myShape4);
       res = true;
       break;
     case 1:
-      anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->MakeQuadFaceTwoEdges
+      anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->MakeQuad2Edges
         (myShape1, myShape2);
       res = true;
       break;
     case 2:
-      anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->MakeQuadFaceFourEdges
+      anObj = GEOM::GEOM_IBlocksOperations::_narrow(getOperation())->MakeQuad
         (myShape1, myShape2, myShape3, myShape4);
       res = true;
       break;
index 991dc5924989b3b2f40b3e88917fb69e541fde87..959df91a660968c3d5c9c7c7f62b481550ffec03 100644 (file)
@@ -259,7 +259,7 @@ void BlocksGUI_TrsfDlg::SelectionIntoArgument()
       GEOM::GEOM_Object_var anObj =
         GEOMBase::ConvertIOinGEOMObject(mySelection->firstIObject(), aResult);
 
-      if (aResult && !anObj->_is_nil()) {
+      if (aResult && !anObj->_is_nil() && GEOMBase::IsShape( anObj ) ) {
         myShape = anObj;
         mySelName[aCurrFocus]->setText(GEOMBase::GetName(anObj));
         enableWidgets();
@@ -279,7 +279,7 @@ void BlocksGUI_TrsfDlg::SelectionIntoArgument()
       GEOM::GEOM_Object_var anObj =
         GEOMBase::ConvertIOinGEOMObject(mySelection->firstIObject(), aResult);
 
-      if (aResult && !anObj->_is_nil()) {
+      if ( aResult && !anObj->_is_nil() && GEOMBase::IsShape( anObj ) ) {
         TColStd_IndexedMapOfInteger anIndexes;
         mySelection->GetIndex(mySelection->firstIObject(), anIndexes);
 
@@ -397,7 +397,7 @@ void BlocksGUI_TrsfDlg::activateSelection()
       return;
     }
   } else {
-    globalSelection();
+    globalSelection( GEOM_ALLSHAPES );
   }
 
   SelectionIntoArgument();
index 61734ce88e8bdb0ede47d85be08dc60ee0bd6bc9..68bd77be8e211befdff4c62df1d9a827f7fceac6 100644 (file)
@@ -137,6 +137,8 @@ void BooleanGUI_Dialog::Init()
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 
   initName( GroupConstructors->title() );
+
+  globalSelection( GEOM_ALLSHAPES );
 }
 
 
@@ -171,7 +173,7 @@ bool BooleanGUI_Dialog::ClickOnApply()
 //=================================================================================
 void BooleanGUI_Dialog::SelectionIntoArgument()
 {
-  myEditCurrentArgument->setText("");
+  myEditCurrentArgument->setText( "" );
 
   if ( mySelection->IObjectCount() != 1 )
   {
@@ -183,7 +185,7 @@ void BooleanGUI_Dialog::SelectionIntoArgument()
   // nbSel == 1
   Standard_Boolean aRes = Standard_False;
   GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject( mySelection->firstIObject(), aRes );
-  if ( !CORBA::is_nil( aSelectedObject ) && aRes )
+  if ( !CORBA::is_nil( aSelectedObject ) && aRes && GEOMBase::IsShape( aSelectedObject ) )
   {
     myEditCurrentArgument->setText( GEOMBase::GetName( aSelectedObject ) );
     if      ( myEditCurrentArgument == myGroup->LineEdit1 )   myObject1 = aSelectedObject;
@@ -231,6 +233,7 @@ void BooleanGUI_Dialog::LineEditReturnPressed()
 void BooleanGUI_Dialog::ActivateThisDialog()
 {
   GEOMBase_Skeleton::ActivateThisDialog();
+  globalSelection( GEOM_ALLSHAPES );
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 }
 
index ecf471f3a8c136c2b398733a6a6e73c962c882fc..b6f9f06b67d918e91d3643727a5464e3b2dd19a6 100644 (file)
@@ -92,7 +92,9 @@ void BuildGUI_CompoundDlg::Init()
   connect(buttonApply, SIGNAL(clicked()), this, SLOT(ClickOnApply()));
   connect(GroupShapes->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));  
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ;
-  
+
+  globalSelection( GEOM_ALLSHAPES );
+
   initName( tr( "GEOM_COMPOUND" ) );
 }
 
@@ -128,18 +130,18 @@ bool BuildGUI_CompoundDlg::ClickOnApply()
 //=================================================================================
 void BuildGUI_CompoundDlg::SelectionIntoArgument()
 {
-  myEditCurrentArgument->setText("");
+  myEditCurrentArgument->setText( "" );
   QString aString = ""; /* name of selection */
 
   myOkShapes = false;
-  int nbSel = GEOMBase::GetNameOfSelectedIObjects(mySelection, aString);
-  if(nbSel == 0
+  int nbSel = GEOMBase::GetNameOfSelectedIObjects( mySelection, aString, true );
+  if ( nbSel == 0 
     return;
-  if(nbSel != 1)
-    aString = tr("%1_objects").arg(nbSel);
+  if ( nbSel != 1 )
+    aString = QString( "%1_objects").arg( nbSel );
   
-  GEOMBase::ConvertListOfIOInListOfGO(mySelection->StoredIObjects(),  myShapes);
-  myEditCurrentArgument->setText(aString);
+  GEOMBase::ConvertListOfIOInListOfGO( mySelection->StoredIObjects(), myShapes, true );
+  myEditCurrentArgument->setText( aString );
   myOkShapes = true;
 }
 
@@ -168,6 +170,7 @@ void BuildGUI_CompoundDlg::SetEditCurrentArgument()
 void BuildGUI_CompoundDlg::ActivateThisDialog()
 {
   GEOMBase_Skeleton::ActivateThisDialog();
+  globalSelection( GEOM_ALLSHAPES );
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 }
 
index 691b23e13eecaca44ed9f4bdfbcb8fb9df495d09..ff65505a63e6b356a316c872bca921ce61d311df 100644 (file)
@@ -136,21 +136,21 @@ bool BuildGUI_ShellDlg::ClickOnApply()
 //=================================================================================
 void BuildGUI_ShellDlg::SelectionIntoArgument()
 {
-  myEditCurrentArgument->setText("");
-  QString aString = "";
+  myEditCurrentArgument->setText( "" );
+  QString aString;
 
   myOkFacesAndShells = false;
-  int nbSel = GEOMBase::GetNameOfSelectedIObjects(mySelection, aString);
-  if(nbSel == 0)
+  int nbSel = GEOMBase::GetNameOfSelectedIObjects( mySelection, aString, true );
+  if ( nbSel == 0 )
     return;
-  if(nbSel != 1)
-    aString = tr("%1_objects").arg(nbSel);
+  if ( nbSel != 1 )
+    aString = QString( "%1_objects ").arg( nbSel );
 
-  GEOMBase::ConvertListOfIOInListOfGO(mySelection->StoredIObjects(),  myFacesAndShells);
-  if (!myFacesAndShells.length())
+  GEOMBase::ConvertListOfIOInListOfGO( mySelection->StoredIObjects(),  myFacesAndShells, true );
+  if ( !myFacesAndShells.length() )
     return;
 
-  myEditCurrentArgument->setText(aString);
+  myEditCurrentArgument->setText( aString );
   myOkFacesAndShells = true;
 }
 
index e8cd38012b3a9f2a4f1ce6808634b81736a2f8c2..28765de1ffa4c3e9cd66cf1f55edc455f6f97ff4 100644 (file)
@@ -32,6 +32,7 @@
 #include "QAD_RightFrame.h"
 #include "QAD_Desktop.h"
 #include "OCCViewer_Viewer3d.h"
+#include "OCCViewer_ViewFrame.h"
 #include "VTKViewer_ViewFrame.h"
 #include "GEOM_AssemblyBuilder.h"
 #include "SALOMEGUI_ImportOperation.h"
index 05c2313ca86ad79b02a180645d719326ecb964ca..ff6304c63a84399dbd0d83d30173c58c8ea31701 100644 (file)
@@ -185,7 +185,7 @@ void EntityGUI_SubShapeDlg::SelectionIntoArgument()
 
   QString aString = ""; /* name of selection */
 
-  int nbSel = GEOMBase::GetNameOfSelectedIObjects( mySelection, aString );
+  int nbSel = GEOMBase::GetNameOfSelectedIObjects( mySelection, aString, true );
   if( nbSel != 1 )
     return;
 
@@ -393,7 +393,7 @@ void EntityGUI_SubShapeDlg::ResetStateOfDialog()
 void EntityGUI_SubShapeDlg::SubShapeToggled()
 {
   if ( isAllSubShapes() )
-    globalSelection();
+    globalSelection( GEOM_ALLSHAPES );
   else
     localSelection( myObject, shapeType() );
 }
index 3ac4c1ec8527d6d2c08192cca6caee67103d93b7..46726dceae50e4fe1aa259f96269528c3c775f30 100644 (file)
@@ -1,32 +1,34 @@
 #include "GEOM_Engine.hxx"
-#include <TCollection_ExtendedString.hxx>
+
+#include "GEOM_Solver.hxx"
+#include "GEOM_Function.hxx"
+#include "GEOM_ISubShape.hxx"
+#include "GEOM_SubShapeDriver.hxx"
+#include "GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient.hxx"
+
+#include "utilities.h"
+
 #include <Interface_DataMapIteratorOfDataMapOfIntegerTransient.hxx>
 
 #include <TDF_Tool.hxx>
 #include <TDF_Data.hxx>
 #include <TDataStd_Integer.hxx>
 #include <TDataStd_ChildNodeIterator.hxx>
-
-
 #include <TFunction_Driver.hxx>
-#include <TFunction_DriverTable.hxx>   
+#include <TFunction_DriverTable.hxx>
 
-#include <TCollection_AsciiString.hxx>
-#include <TColStd_SequenceOfAsciiString.hxx>
-#include <TopTools_IndexedMapOfShape.hxx>
 #include <TopExp.hxx>
+#include <TopTools_IndexedMapOfShape.hxx>
 
-#include "GEOM_SubShapeDriver.hxx"  
-#include "GEOM_ISubShape.hxx"
-#include "GEOM_Function.hxx"
-#include "GEOM_DataMapIteratorOfDataMapOfAsciiStringTransient.hxx"
-
+#include <TCollection_AsciiString.hxx>
+#include <TCollection_ExtendedString.hxx>
+#include <TColStd_SequenceOfAsciiString.hxx>
 
-#include "utilities.h"  
+#include <Standard_ErrorHandler.hxx> // CAREFUL ! position of this file is critic : see Lucien PIGNOLONI / OCC
 
-static GEOM_Engine* TheEngine = NULL;   
+static GEOM_Engine* TheEngine = NULL;
 
-static TCollection_AsciiString BuildIDFromObject(Handle(GEOM_Object)& theObject) 
+static TCollection_AsciiString BuildIDFromObject(Handle(GEOM_Object)& theObject)
 {
   TCollection_AsciiString anID(theObject->GetDocID()), anEntry;
   TDF_Tool::Entry(theObject->GetEntry(), anEntry);
@@ -34,7 +36,6 @@ static TCollection_AsciiString BuildIDFromObject(Handle(GEOM_Object)& theObject)
   return anID;
 }
 
-
 static TCollection_AsciiString BuildID(Standard_Integer theDocID, char* theEntry)
 {
   TCollection_AsciiString anID(theDocID);
@@ -62,7 +63,7 @@ GEOM_Engine* GEOM_Engine::GetEngine() { return TheEngine; }
  *  SetEngine
  */
 //=============================================================================
-void GEOM_Engine::SetEngine(GEOM_Engine* theEngine) { TheEngine = theEngine; }       
+void GEOM_Engine::SetEngine(GEOM_Engine* theEngine) { TheEngine = theEngine; }
 
 //=============================================================================
 /*!
@@ -72,7 +73,7 @@ void GEOM_Engine::SetEngine(GEOM_Engine* theEngine) { TheEngine = theEngine; }
 GEOM_Engine::GEOM_Engine()
 {
   TFunction_DriverTable::Get()->AddDriver(GEOM_Object::GetSubShapeID(), new GEOM_SubShapeDriver());
-      
+
   _OCAFApp = new GEOM_Application();
   _UndoLimit = 10;
 }
@@ -91,7 +92,7 @@ Handle(TDocStd_Document) GEOM_Engine::GetDocument(int theDocID)
     _mapIDDocument.Bind(theDocID, aDoc);
     TDataStd_Integer::Set(aDoc->Main(), theDocID);
   }
-  
+
   return Handle(TDocStd_Document)::DownCast(_mapIDDocument(theDocID));
 }
 
@@ -99,15 +100,15 @@ Handle(TDocStd_Document) GEOM_Engine::GetDocument(int theDocID)
 /*!
  *  GetDocID
  */
-//============================================================================= 
+//=============================================================================
 int GEOM_Engine::GetDocID(Handle(TDocStd_Document) theDocument)
 {
-  if(theDocument.IsNull()) return -1;  
-  for(Interface_DataMapIteratorOfDataMapOfIntegerTransient anItr(_mapIDDocument); anItr.More(); anItr.Next()) 
+  if(theDocument.IsNull()) return -1;
+  for(Interface_DataMapIteratorOfDataMapOfIntegerTransient anItr(_mapIDDocument); anItr.More(); anItr.Next())
     if(anItr.Value() == theDocument) return anItr.Key();
-    
-  return -1;    
-  
+
+  return -1;
+
 }
 
 //=============================================================================
@@ -119,7 +120,7 @@ Handle(GEOM_Object) GEOM_Engine::GetObject(int theDocID, char* theEntry)
 {
   TCollection_AsciiString anID = BuildID(theDocID, theEntry);
   if(_objects.IsBound(anID)) return Handle(GEOM_Object)::DownCast(_objects(anID));
+
   TDF_Label aLabel;
   Handle(TDocStd_Document) aDoc = GetDocument(theDocID);
   TDF_Tool::Label(aDoc->Main().Data(), theEntry, aLabel, Standard_True);
@@ -164,7 +165,7 @@ Handle(GEOM_Object) GEOM_Engine::AddSubShape(Handle(GEOM_Object) theMainShape, H
   Handle(TDataStd_TreeNode) aRoot = TDataStd_TreeNode::Set(aDoc->Main());
 
   TDF_Label aChild = TDF_TagSource::NewChild(aDoc->Main());
-    
+
   Handle(GEOM_Function) aMainShape = theMainShape->GetLastFunction();
   Handle(GEOM_Object) anObject = new GEOM_Object(aChild, 28); //28 is SUBSHAPE type
   Handle(GEOM_Function) aFunction = anObject->AddFunction(GEOM_Object::GetSubShapeID(), 1);
@@ -172,7 +173,20 @@ Handle(GEOM_Object) GEOM_Engine::AddSubShape(Handle(GEOM_Object) theMainShape, H
   GEOM_ISubShape aSSI(aFunction);
   aSSI.SetMainShape(aMainShape);
   aSSI.SetIndices(theIndices);
+
+  try {
+    GEOM_Solver aSolver (GEOM_Engine::GetEngine());
+    if (!aSolver.ComputeFunction(aFunction)) {
+      MESSAGE("GEOM_Engine::AddSubShape Error: Can't build a sub shape");
+      return NULL;
+    }
+  }
+  catch (Standard_Failure) {
+    Handle(Standard_Failure) aFail = Standard_Failure::Caught();
+    MESSAGE("GEOM_Engine::AddSubShape Error: " << aFail->GetMessageString());
+    return NULL;
+  }
+
   //Put an object in the map of created objects
   TCollection_AsciiString anID = BuildIDFromObject(anObject);
   if(_objects.IsBound(anID)) _objects.UnBind(anID);
@@ -199,7 +213,7 @@ Handle(GEOM_Object) GEOM_Engine::AddSubShape(Handle(GEOM_Object) theMainShape, H
 /*!
  *  RemoveObject
  */
-//============================================================================= 
+//=============================================================================
 bool GEOM_Engine::RemoveObject(Handle(GEOM_Object) theObject)
 {
   if(!theObject) return false;
@@ -212,27 +226,25 @@ bool GEOM_Engine::RemoveObject(Handle(GEOM_Object) theObject)
   aLabel.ForgetAllAttributes(Standard_True);
 
   theObject.Nullify();
-  
+
   return true;
 }
 
-
 //=============================================================================
 /*!
  *  Undo
  */
-//============================================================================= 
+//=============================================================================
 void GEOM_Engine::Undo(int theDocID)
 {
   GetDocument(theDocID)->Undo();
 }
 
-
 //=============================================================================
 /*!
  *  Redo
  */
-//============================================================================= 
+//=============================================================================
 void GEOM_Engine::Redo(int theDocID)
 {
   GetDocument(theDocID)->Redo();
@@ -242,12 +254,12 @@ void GEOM_Engine::Redo(int theDocID)
 /*!
  *  Save
  */
-//============================================================================= 
+//=============================================================================
 bool GEOM_Engine::Save(int theDocID, char* theFileName)
 {
   if(!_mapIDDocument.IsBound(theDocID)) return false;
   Handle(TDocStd_Document) aDoc = Handle(TDocStd_Document)::DownCast(_mapIDDocument(theDocID));
+
   _OCAFApp->SaveAs(aDoc, theFileName);
 
   return true;
@@ -257,18 +269,18 @@ bool GEOM_Engine::Save(int theDocID, char* theFileName)
 /*!
  *  Load
  */
-//=============================================================================   
-bool GEOM_Engine::Load(int theDocID, char* theFileName) 
+//=============================================================================
+bool GEOM_Engine::Load(int theDocID, char* theFileName)
 {
   Handle(TDocStd_Document) aDoc;
   if(_OCAFApp->Open(theFileName, aDoc) != CDF_RS_OK) return false;
 
-  aDoc->SetUndoLimit(_UndoLimit);    
+  aDoc->SetUndoLimit(_UndoLimit);
 
   if(_mapIDDocument.IsBound(theDocID)) _mapIDDocument.UnBind(theDocID);
   _mapIDDocument.Bind(theDocID, aDoc);
 
-  TDataStd_Integer::Set(aDoc->Main(), theDocID);    
+  TDataStd_Integer::Set(aDoc->Main(), theDocID);
 
   return true;
 }
@@ -277,7 +289,7 @@ bool GEOM_Engine::Load(int theDocID, char* theFileName)
 /*!
  *  Close
  */
-//=============================================================================   
+//=============================================================================
 void GEOM_Engine::Close(int theDocID)
 {
   if(_mapIDDocument.IsBound(theDocID)) {
index cb4b0ebafea3bfaf8921eeebfbec267c766e50ac..e11f8cf7b0c84965aad888bfda7cbe2fb15fbccf 100644 (file)
@@ -1,8 +1,11 @@
-using namespace std; 
+using namespace std;
 
 #include "GEOM_Function.hxx"
 #include "GEOM_Object.hxx"
 #include "GEOM_Solver.hxx"
+
+#include "utilities.h"
+
 #include <TDF.hxx>
 #include <TDF_Data.hxx>
 #include <TDF_ChildIterator.hxx>
@@ -28,7 +31,7 @@ using namespace std;
 #include <TCollection_AsciiString.hxx>
 #include <TCollection_ExtendedString.hxx>
 
-#include "utilities.h"
+#include <Standard_ErrorHandler.hxx> // CAREFUL ! position of this file is critic : see Lucien PIGNOLONI / OCC
 
 #define ARGUMENT_LABEL 1
 #define RESULT_LABEL 2
@@ -45,7 +48,7 @@ const Standard_GUID& GEOM_Function::GetFunctionTreeID()
 {
   static Standard_GUID aFunctionTreeID("FF1BBB00-5D14-4df2-980B-3A668264EA16");
   return aFunctionTreeID;
-}   
+}
 
 
 //=======================================================================
@@ -56,7 +59,7 @@ const Standard_GUID& GEOM_Function::GetDependencyID()
 {
   static Standard_GUID aDependencyID("E2620650-2354-41bd-8C2C-210CFCD00948");
   return aDependencyID;
-}   
+}
 
 //=============================================================================
 /*!
@@ -79,12 +82,12 @@ GEOM_Function::GEOM_Function(const TDF_Label& theEntry, const Standard_GUID& the
 : _label(theEntry)
 {
   TFunction_Function::Set(theEntry, theGUID);
-  TDataStd_Integer::Set(theEntry, theType);   
+  TDataStd_Integer::Set(theEntry, theType);
 
   //Add function to a function tree
   Handle(TDocStd_Document) aDoc = TDocStd_Owner::GetDocument(theEntry.Data());
   Handle(TDataStd_TreeNode) aRoot, aNode;
-  if(!aDoc->Main().FindAttribute(GetFunctionTreeID(), aRoot)) 
+  if(!aDoc->Main().FindAttribute(GetFunctionTreeID(), aRoot))
     aRoot = TDataStd_TreeNode::Set(aDoc->Main(), GetFunctionTreeID());
 
   aNode = TDataStd_TreeNode::Set(theEntry, GetFunctionTreeID());
@@ -95,7 +98,7 @@ GEOM_Function::GEOM_Function(const TDF_Label& theEntry, const Standard_GUID& the
 /*!
  *  GetOwner
  */
-//============================================================================= 
+//=============================================================================
 TDF_Label GEOM_Function::GetOwnerEntry()
 {
   TDF_Label aFather = _label.Father();
@@ -103,8 +106,8 @@ TDF_Label GEOM_Function::GetOwnerEntry()
     if(aFather.IsAttribute(GEOM_Object::GetObjectID())) return aFather;
     aFather = aFather.Father();
   }
-  
-  return TDF_Label();    
+
+  return TDF_Label();
 }
 
 //=============================================================================
@@ -118,7 +121,7 @@ int GEOM_Function::GetType()
   Handle(TDataStd_Integer) aType;
   if(!_label.FindAttribute(TDataStd_Integer::GetID(), aType)) return 0;
   _isDone = true;
-  return aType->Get();          
+  return aType->Get();
 }
 
 //=============================================================================
@@ -129,7 +132,7 @@ int GEOM_Function::GetType()
 TopoDS_Shape GEOM_Function::GetValue()
 {
   _isDone = false;
-  
+
   TopoDS_Shape aShape;
   TDF_Label aLabel = GetOwnerEntry();
   if(aLabel.IsRoot()) return aShape;
@@ -139,7 +142,7 @@ TopoDS_Shape GEOM_Function::GetValue()
     try {
       GEOM_Solver aSolver(GEOM_Engine::GetEngine());
       if (!aSolver.ComputeFunction(this)) {
-       MESSAGE("GEOM_Object::GetValue Error : Can't build a sub shape");        
+       MESSAGE("GEOM_Object::GetValue Error : Can't build a sub shape");
        return aShape;
       }
     }
@@ -150,14 +153,14 @@ TopoDS_Shape GEOM_Function::GetValue()
     }
   }
 
-  TDF_Label aResultLabel = _label.FindChild(RESULT_LABEL);  
+  TDF_Label aResultLabel = _label.FindChild(RESULT_LABEL);
   Handle(TNaming_NamedShape) aNS;
   if(!aResultLabel.FindAttribute(TNaming_NamedShape::GetID(), aNS)) return aShape;
 
   aShape = aNS->Get();
 
   _isDone = true;
-  return aShape;          
+  return aShape;
 }
 
 //=============================================================================
@@ -172,7 +175,7 @@ void GEOM_Function::SetValue(TopoDS_Shape& theShape)
   TNaming_Builder aBuilder(aResultLabel);
 
   aBuilder.Generated(theShape);
-  
+
   _isDone = true;
 }
 
@@ -401,7 +404,7 @@ void GEOM_Function::SetReference(int thePosition, Handle(GEOM_Function) theRefer
  *  GetReference
  */
 //=============================================================================
-Handle(GEOM_Function) GEOM_Function::GetReference(int thePosition) 
+Handle(GEOM_Function) GEOM_Function::GetReference(int thePosition)
 {
   _isDone = false;
   if(thePosition <= 0) return NULL;
@@ -422,13 +425,13 @@ Handle(GEOM_Function) GEOM_Function::GetReference(int thePosition)
 void GEOM_Function::SetStringArray(int thePosition, const Handle(TColStd_HArray1OfExtendedString)& theArray)
 {
   _isDone = false;
-  if(thePosition <= 0 || theArray.IsNull()) return; 
+  if(thePosition <= 0 || theArray.IsNull()) return;
   TDF_Label anArgLabel = ARGUMENT(thePosition);
 
   Handle(TDataStd_ExtStringArray) anArray = new TDataStd_ExtStringArray;
   anArray->ChangeArray(theArray);
   anArgLabel.AddAttribute(anArray);
-  
+
   _isDone = true;
 }
 
@@ -437,7 +440,7 @@ void GEOM_Function::SetStringArray(int thePosition, const Handle(TColStd_HArray1
 /*!
  *  GetStringArray
  */
-//=============================================================================  
+//=============================================================================
 Handle(TColStd_HArray1OfExtendedString) GEOM_Function::GetStringArray(int thePosition)
 {
   _isDone = false;
@@ -458,7 +461,7 @@ const Standard_GUID& GEOM_Function::GetReferencesTreeID()
 {
   static Standard_GUID aReferencesTreeID("FF1BBB10-5D14-4df2-980B-3A668264EA16");
   return aReferencesTreeID;
-}   
+}
 
 //=============================================================================
 /*!
@@ -503,7 +506,7 @@ void GEOM_Function::SetReferenceList (int thePosition,
  *  GetReferenceList
  */
 //=============================================================================
-Handle(TColStd_HSequenceOfTransient) GEOM_Function::GetReferenceList(int thePosition) 
+Handle(TColStd_HSequenceOfTransient) GEOM_Function::GetReferenceList(int thePosition)
 {
   Handle(TColStd_HSequenceOfTransient) aResult = new TColStd_HSequenceOfTransient;
   _isDone = false;
@@ -556,7 +559,7 @@ void GEOM_Function::SetShape(int thePosition, const TopoDS_Shape& theShape)
 /*!
  *  GetShape
  */
-//=============================================================================  
+//=============================================================================
 TopoDS_Shape GEOM_Function::GetShape(int thePosition)
 {
   _isDone = false;
@@ -577,7 +580,7 @@ TopoDS_Shape GEOM_Function::GetShape(int thePosition)
 /*!
  *  GetDependency
  */
-//=============================================================================  
+//=============================================================================
 void GEOM_Function::GetDependency(TDF_LabelSequence& theSeq)
 {
   TDF_ChildIterator anIterator(ARGUMENTS, Standard_True);
@@ -589,15 +592,15 @@ void GEOM_Function::GetDependency(TDF_LabelSequence& theSeq)
 //=======================================================================
 //function :  GEOM_Function_Type_
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_EXPORT Handle_Standard_Type& GEOM_Function_Type_()
 {
 
   static Handle_Standard_Type aType1 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(MMgt_TShared); 
+  if ( aType1.IsNull()) aType1 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(Standard_Transient);
   if ( aType2.IsNull()) aType2 = STANDARD_TYPE(Standard_Transient);
+
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,NULL};
   static Handle_Standard_Type _aType = new Standard_Type("GEOM_Function",
@@ -612,7 +615,7 @@ Standard_EXPORT Handle_Standard_Type& GEOM_Function_Type_()
 //=======================================================================
 //function : DownCast
 //purpose  :
-//======================================================================= 
+//=======================================================================
 
 const Handle(GEOM_Function) Handle(GEOM_Function)::DownCast(const Handle(Standard_Transient)& AnObject)
 {
@@ -626,7 +629,3 @@ const Handle(GEOM_Function) Handle(GEOM_Function)::DownCast(const Handle(Standar
 
   return _anOtherObject ;
 }
-
-
-
-
index 2848f3b2616358dd21b9b7c79cf0613980b9721c..9e65647522d8a9caa053140d6270fb8660d643a4 100644 (file)
@@ -35,61 +35,64 @@ using namespace std;
 
 //=======================================================================
 //function : GEOM_SubShapeDriver
-//purpose  : 
+//purpose  :
 //=======================================================================
-GEOM_SubShapeDriver::GEOM_SubShapeDriver() 
+GEOM_SubShapeDriver::GEOM_SubShapeDriver()
 {
 }
 
 //=======================================================================
 //function : Execute
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_Integer GEOM_SubShapeDriver::Execute(TFunction_Logbook& log) const
 {
-  if (Label().IsNull()) return 0;    
+  if (Label().IsNull()) return 0;
   Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label());
 
   GEOM_ISubShape aCI (aFunction);
 
   TDF_Label aLabel = aCI.GetMainShape()->GetOwnerEntry();
-  if(aLabel.IsRoot()) return 0;
+  if (aLabel.IsRoot()) return 0;
   Handle(GEOM_Object) anObj = GEOM_Object::GetObject(aLabel);
-  if(anObj.IsNull()) return 0;
+  if (anObj.IsNull()) return 0;
   TopoDS_Shape aMainShape = anObj->GetValue();
-  if(aMainShape.IsNull()) return 0;    
-  
-  Handle(TColStd_HArray1OfInteger) anIndices = aCI.GetIndices();  
-  if(anIndices.IsNull() || anIndices->Length() <= 0) return 0;
+  if (aMainShape.IsNull()) return 0;
+
+  Handle(TColStd_HArray1OfInteger) anIndices = aCI.GetIndices();
+  if (anIndices.IsNull() || anIndices->Length() <= 0) return 0;
 
   BRep_Builder B;
   TopoDS_Compound aCompound;
   TopoDS_Shape aShape;
 
-  if(anIndices->Length() == 1 && anIndices->Value(1) == -1) { //The empty subshape 
+  if (anIndices->Length() == 1 && anIndices->Value(1) == -1) { //The empty subshape
     B.MakeCompound(aCompound);
     aShape = aCompound;
-  }
-  else {
-    
+
+  else {
+
     TopTools_IndexedMapOfShape aMapOfShapes;
     TopExp::MapShapes(aMainShape, aMapOfShapes);
 
-    if(anIndices->Length() > 1) {
-      
+    if (anIndices->Length() > 1) {
+
       B.MakeCompound(aCompound);
 
-      for(int i = anIndices->Lower(); i<= anIndices->Upper(); i++) {
+      for (int i = anIndices->Lower(); i<= anIndices->Upper(); i++) {
        if (aMapOfShapes.Extent() < anIndices->Value(i))
-         Standard_NullObject::Raise("GEOM_SubShapeDriver::Execute:Index is out range"); 
+         Standard_NullObject::Raise("GEOM_SubShapeDriver::Execute: Index is out of range");
        TopoDS_Shape aSubShape = aMapOfShapes.FindKey(anIndices->Value(i));
-       if(aSubShape.IsNull()) continue;
+       if (aSubShape.IsNull()) continue;
        B.Add(aCompound,aSubShape);
       }
-      
+
       aShape = aCompound;
-    }
-    else {
+
+    } else {
+
+      if (aMapOfShapes.Extent() < anIndices->Value(1))
+        Standard_NullObject::Raise("GEOM_SubShapeDriver::Execute: Index is out of range");
       aShape = aMapOfShapes.FindKey(anIndices->Value(1));
     }
   }
@@ -98,26 +101,26 @@ Standard_Integer GEOM_SubShapeDriver::Execute(TFunction_Logbook& log) const
 
   aFunction->SetValue(aShape);
 
-  log.SetTouched(Label()); 
+  log.SetTouched(Label());
 
-  return 1;    
+  return 1;
 }
 
 
 //=======================================================================
 //function :  GEOM_SubShapeDriver_Type_
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_EXPORT Handle_Standard_Type& GEOM_SubShapeDriver_Type_()
 {
 
   static Handle_Standard_Type aType1 = STANDARD_TYPE(TFunction_Driver);
   if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TFunction_Driver);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); 
+  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
   if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
+
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
   static Handle_Standard_Type _aType = new Standard_Type("GEOM_SubShapeDriver",
@@ -132,7 +135,7 @@ Standard_EXPORT Handle_Standard_Type& GEOM_SubShapeDriver_Type_()
 //=======================================================================
 //function : DownCast
 //purpose  :
-//======================================================================= 
+//=======================================================================
 const Handle(GEOM_SubShapeDriver) Handle(GEOM_SubShapeDriver)::DownCast(const Handle(Standard_Transient)& AnObject)
 {
   Handle(GEOM_SubShapeDriver) _anOtherObject;
@@ -145,5 +148,3 @@ const Handle(GEOM_SubShapeDriver) Handle(GEOM_SubShapeDriver)::DownCast(const Ha
 
   return _anOtherObject ;
 }
-
-
index 5576934d49c38ed409211d28f79e3c1ccd53284b..878cf93e9048fc242679284f647670701fdf6d8e 100644 (file)
@@ -48,6 +48,7 @@
 #include "VTKViewer_RenderWindowInteractor.h"
 #include "OCCViewer_ViewPort3d.h"
 #include "OCCViewer_Viewer3d.h"
+#include "OCCViewer_ViewFrame.h"
 
 #include "SALOME_ListIteratorOfListIO.hxx"
 #include "GEOM_AISTrihedron.hxx"
 #include <Precision.hxx>
 
 #include <vtkRenderer.h>
+#include <qvaluelist.h>
+#include <qstringlist.h> 
 
+#include "GEOMImpl_Types.hxx"
 
 using namespace std;
 
@@ -167,22 +171,39 @@ bool GEOMBase::GetTopoFromSelection(SALOME_Selection *Sel, TopoDS_Shape& tds)
   return false;
 }
 
-
 //=======================================================================
 // function : GetNameOfSelectedIObjects()
 // purpose  : Define the name geom++ or other name of mono or multi sel.
 //=======================================================================
-int GEOMBase::GetNameOfSelectedIObjects(SALOME_Selection* Sel, QString& aName)
+int GEOMBase::GetNameOfSelectedIObjects( SALOME_Selection* theSel,
+                                         QString&          theName,
+                                         const bool        theShapesOnly )
 {
-  int nbSel = Sel->IObjectCount();
-  if(nbSel == 1) {
-    Handle(SALOME_InteractiveObject) IObject = Sel->firstIObject();
-    aName = IObject->getName();
+  if ( !theShapesOnly )
+  {
+    int nbSel = theSel->IObjectCount();
+    if ( nbSel == 1 )
+    {
+      Handle(SALOME_InteractiveObject) anIObj = theSel->firstIObject();
+      theName = anIObj->getName();
+    }
+    else
+      theName = QObject::tr("%1_objects").arg(nbSel);
+
+    return nbSel;
   }
-  else {
-    aName = QObject::tr("%1_objects").arg(nbSel);
+  else
+  {
+    QStringList aNames;
+    GEOM::ListOfGO anObjs;
+    ConvertListOfIOInListOfGO( theSel->StoredIObjects(), anObjs, theShapesOnly );
+    if ( anObjs.length() == 1 )
+      theName = GetName( anObjs[ 0 ] );
+    else
+      theName = QString( "%1_objects" ).arg( anObjs.length() );
+
+    return anObjs.length();
   }
-  return nbSel;
 }
 
 
@@ -586,27 +607,29 @@ GEOM::GEOM_Object_ptr GEOMBase::ConvertIOinGEOMObject( const Handle(SALOME_Inter
 // function : ConvertListOfIOInListOfGO()
 // purpose  : 
 //=======================================================================
-void GEOMBase::ConvertListOfIOInListOfGO(const SALOME_ListIO& aList, GEOM::ListOfGO& listGO)
+void GEOMBase::ConvertListOfIOInListOfGO( const SALOME_ListIO& theList,
+                                          GEOM::ListOfGO&      theListGO,
+                                          const bool           theShapesOnly )
 {
-  int nbSel = aList.Extent();  
-  listGO.length(nbSel);
-  int j=0;
-  SALOME_ListIteratorOfListIO It(aList);
-  for(int i=0; It.More(); It.Next(), i++) {
-    Handle(SALOME_InteractiveObject) IObject = It.Value();
-    SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
-    SALOMEDS::SObject_var aSObj = aStudy->FindObjectID(IObject->getEntry());
-    
-    if(!aSObj->_is_nil()) {
+  int nbSel = theList.Extent();  
+  theListGO.length( nbSel );
+  SALOME_ListIteratorOfListIO anIter( theList );
+  SALOMEDS::Study_var aStudy = QAD_Application::getDesktop()->getActiveStudy()->getStudyDocument();
+  int j = 0;
+  for ( int i=0; anIter.More(); anIter.Next(), i++ )
+  {
+    Handle(SALOME_InteractiveObject) anIObj = anIter.Value();
+    SALOMEDS::SObject_var aSObj = aStudy->FindObjectID( anIObj->getEntry() );
+
+    if ( !aSObj->_is_nil() )
+    {
       GEOM::GEOM_Object_var aGeomObj = GEOM::GEOM_Object::_narrow(aSObj->GetObject());
-      if(!CORBA::is_nil(aGeomObj))
-       {
-         listGO[j] = aGeomObj;
-         j++;
-       }
+      if ( !CORBA::is_nil( aGeomObj ) && ( !theShapesOnly || IsShape( aGeomObj ) ) )
+        theListGO[ j++ ] = aGeomObj;
     }
   }
-  listGO.length(j);
+  
+  theListGO.length( j );
 }
 
 //=================================================================================
@@ -907,7 +930,10 @@ const char* GEOMBase::GetName( GEOM::GEOM_Object_ptr theObj )
   return "";  
 }
 
-
+bool GEOMBase::IsShape( GEOM::GEOM_Object_ptr theObj )
+{
+  return !theObj->_is_nil() && theObj->IsShape();
+}
 
 
 
index 139a4ea8f3ed400b48cbeff1fe6a80395d4edc8c..3a829a8197ff884a0c0cc6a68144c05dc3445927 100644 (file)
@@ -45,6 +45,7 @@ class GEOM_Actor;
 class SALOME_Selection;
 class SALOME_ListIO;
 class QAD_Desktop;
+class TColStd_MapOfInteger;
 
 class QWidget;
 
@@ -70,7 +71,7 @@ public :
   static TopoDS_Shape GetShapeFromIOR(QString IOR);
   static bool GetShape( const GEOM::GEOM_Object_ptr&, TopoDS_Shape&, const TopAbs_ShapeEnum = TopAbs_SHAPE );
   static bool GetTopoFromSelection(SALOME_Selection *Sel, TopoDS_Shape& tds);
-  static int GetNameOfSelectedIObjects(SALOME_Selection* Sel, QString& aName); 
+  static int GetNameOfSelectedIObjects(SALOME_Selection* Sel, QString& aName, const bool theShapesOnly = false );
   static bool GetShapeTypeString(const TopoDS_Shape& aShape, Standard_CString& aTypeString);
 
   /* Convertions */
@@ -94,8 +95,9 @@ public :
   static GEOM::GEOM_Object_ptr ConvertIOinGEOMObject(const Handle(SALOME_InteractiveObject)& IO, 
                                              Standard_Boolean& testResult);
 
-  static void ConvertListOfIOInListOfGO(const SALOME_ListIO& aList,
-                                GEOM::ListOfGO& listGO); 
+  static void ConvertListOfIOInListOfGO( const SALOME_ListIO& aList,
+                                         GEOM::ListOfGO& listGO,
+                                         const bool theShapesOnly = false ); 
 
   static GEOM::GEOM_Object_ptr GetObjectFromIOR( const char* theIOR );
 
@@ -129,6 +131,8 @@ public :
 
   /* Gets name of object */
   static const char* GetName( GEOM::GEOM_Object_ptr );
+
+  static bool IsShape( GEOM::GEOM_Object_ptr theObj );
 };
 
 #endif
index 04f12b76245f2db0b68cd68b02ab6bd2561cf101..5bb5d91e811bdd473f0322e8af9203919f48919f 100755 (executable)
@@ -93,7 +93,7 @@ GEOMBase_Helper::~GEOMBase_Helper()
   if ( hasCommand() )
     abortCommand();
 
-  globalSelection( -1, true );
+  globalSelection( GEOM_ALLOBJECTS, true );
 
   delete myDisplayer;
 }
index ee56a649f32f454021d23802d1bd38b9004ea8ab..64dbd4d222c7804f12d030c2424ab13afbfd84c8 100755 (executable)
@@ -29,6 +29,7 @@
 #ifndef GEOMBASE_HELPER_H
 #define GEOMBASE_HELPER_H
 
+#include "GEOM_Displayer.h"
 #include "SALOME_Prs.h"
 #include <SALOMEconfig.h>
 #include CORBA_CLIENT_HEADER(GEOM_Gen)
@@ -42,7 +43,6 @@ typedef std::list<GEOM::GEOM_Object_ptr> ObjectList;
 class GEOM_Operation;
 class QAD_Study;
 class TopoDS_Shape;
-class GEOM_Displayer;
 class QAD_ViewFrame;
 class TColStd_MapOfInteger;
 
@@ -89,7 +89,7 @@ protected:
   void localSelection( const ObjectList&, const int );
   void localSelection( GEOM::GEOM_Object_ptr, const int );
   void activate( const int );
-  void globalSelection( const int = -1, const bool = false  );
+  void globalSelection( const int = GEOM_ALLOBJECTS, const bool = false  );
   void globalSelection( const TColStd_MapOfInteger&, const bool = false );
   void updateViewer    ();
 
index bdbf1c8dea1b70344af1f796eceaa45f06324a48..b18299bffb9c55c0b4391ea97d4bd78dc7e14504 100644 (file)
@@ -113,6 +113,20 @@ Standard_Integer GEOM_Client::Find( const TCollection_AsciiString& IOR, TopoDS_S
   return 0;
 }
 
+//=======================================================================
+// function : Find()
+// purpose  : 
+//=======================================================================
+Standard_Integer GEOM_Client::Find( const TopoDS_Shape& S, TCollection_AsciiString& IOR )
+{
+  for ( Standard_Integer i = 1; i<= myShapes.Length(); i++ ) {
+    if (myShapes.Value(i) == S) {
+      IOR = myIORs.Value(i);
+      return i;
+    }
+  }
+  return 0;
+}
 
 //=======================================================================
 // function : Bind()
index d8024bed93de026ead1a5ea633bd92093f4d64d6..0dd255d35edf0106d4440fd4a0529f9080b40d43 100644 (file)
@@ -76,6 +76,7 @@ public:
   Standard_EXPORT   GEOM_Client();
   Standard_EXPORT   GEOM_Client(Engines::Container_ptr client);
   Standard_EXPORT   Standard_Integer Find( const TCollection_AsciiString& IOR, TopoDS_Shape& S ) ;
+  Standard_EXPORT   Standard_Integer Find( const TopoDS_Shape& S, TCollection_AsciiString& IOR ) ;
   Standard_EXPORT   void Bind( const TCollection_AsciiString& IOR, const TopoDS_Shape& S ) ;
   Standard_EXPORT   TopoDS_Shape GetShape( GEOM::GEOM_Gen_ptr geom, GEOM::GEOM_Object_ptr aShape );
   Standard_EXPORT   void RemoveShapeFromBuffer( const TCollection_AsciiString& IOR ) ;
index c964bc9862f39f61865f7242c7bff28b9fadebff..39c11dfbbdcdff6e9403c8b130a671740212444a 100644 (file)
@@ -46,6 +46,17 @@ GEOM_LogicalFilter::GEOM_LogicalFilter( const GEOM_ListOfFilter& theFilters,
   myLogOp = theLogOp;
 }
 
+//=======================================================================
+// name    : GEOM_LogicalFilter::GEOM_LogicalFilter
+// Purpose : Constructor
+//=======================================================================
+GEOM_LogicalFilter::GEOM_LogicalFilter( const Handle(SALOME_Filter)& theFilter,
+                                        const int                    theLogOp )
+{
+  myFilters.Append( theFilter );
+  myLogOp = theLogOp;
+}
+
 //=======================================================================
 // name    : GEOM_LogicalFilter::~GEOM_LogicalFilter
 // Purpose : Destructor
@@ -68,8 +79,10 @@ Standard_Boolean GEOM_LogicalFilter::IsOk( const Handle(SALOME_InteractiveObject
     {
       if ( myLogOp == LO_OR && anIter.Value()->IsOk( theIO ) )
         return true;
-      if ( myLogOp == LO_AND && anIter.Value()->IsOk( theIO ) )
+      if ( myLogOp == LO_AND && !anIter.Value()->IsOk( theIO ) )
         return false;
+      if ( myLogOp == LO_NOT )
+        return !anIter.Value()->IsOk( theIO );
     }
   }
 
index 91536735ae53547c7f0a26538761d96de7a1b898..aa9fbdccf616ebd9d68721287b60e1049885ad99 100644 (file)
@@ -49,11 +49,12 @@ class GEOM_LogicalFilter : public SALOME_Filter
 {
 public:
 
-  enum { LO_OR, LO_AND, LO_UNDEFINED };
+  enum { LO_OR, LO_AND, LO_NOT, LO_UNDEFINED };
 
 public:
 
                               GEOM_LogicalFilter( const GEOM_ListOfFilter&, const int  );
+                              GEOM_LogicalFilter( const Handle(SALOME_Filter)&, const int );
 
 
   virtual                     ~GEOM_LogicalFilter();
index a4197cd7a2a3776e27de666eedfeb9ea39ad2593..9d98cc99875f48327a67120c17d1bc0931cfb861 100644 (file)
@@ -84,8 +84,10 @@ static GEOM::GEOM_Object_ptr convertIOinGEOMObject(
 // function : ShapeTypeFilter
 // purpose  : 
 //=======================================================================
-GEOM_ShapeTypeFilter::GEOM_ShapeTypeFilter( TopAbs_ShapeEnum theShapeType ) 
+GEOM_ShapeTypeFilter::GEOM_ShapeTypeFilter( const TopAbs_ShapeEnum theShapeType,
+                                            const bool theIsAll ) 
 {
+  myIsAll = theIsAll;
   myShapeTypes.Add( theShapeType );
   myTypeFilter = new SALOME_TypeFilter( "GEOM" );
 }
@@ -94,8 +96,10 @@ GEOM_ShapeTypeFilter::GEOM_ShapeTypeFilter( TopAbs_ShapeEnum theShapeType )
 // function : ShapeTypeFilter
 // purpose  : 
 //=======================================================================
-GEOM_ShapeTypeFilter::GEOM_ShapeTypeFilter( const TColStd_MapOfInteger& theShapeTypes ) 
+GEOM_ShapeTypeFilter::GEOM_ShapeTypeFilter( const TColStd_MapOfInteger& theShapeTypes,
+                                            const bool theIsAll ) 
 {
+  myIsAll = theIsAll;
   myShapeTypes = theShapeTypes;
   myTypeFilter = new SALOME_TypeFilter( "GEOM" );
 }
@@ -104,15 +108,18 @@ GEOM_ShapeTypeFilter::GEOM_ShapeTypeFilter( const TColStd_MapOfInteger& theShape
 // function : IsOk
 // purpose  : 
 //=======================================================================
-Standard_Boolean GEOM_ShapeTypeFilter::IsOk(const Handle(SALOME_InteractiveObject)& anObj) const 
+Standard_Boolean GEOM_ShapeTypeFilter::IsOk(
+  const Handle(SALOME_InteractiveObject)& anObj ) const 
 {
   if ( !myTypeFilter->IsOk(anObj) ) 
     return Standard_False;
 
   Standard_Boolean aResult = Standard_False;
   GEOM::GEOM_Object_ptr aGeomObj = convertIOinGEOMObject( anObj, aResult );
-  if ( !CORBA::is_nil( aGeomObj ) && aResult )
+  if ( !CORBA::is_nil( aGeomObj ) && aResult && aGeomObj->IsShape() )
   {
+    if ( myIsAll )
+      return true;
     TopoDS_Shape aShape;
     if ( getShape( aGeomObj, aShape ) )
     {
@@ -131,3 +138,27 @@ Standard_Boolean GEOM_ShapeTypeFilter::IsShapeOk( const TopoDS_Shape& ) const
 {
   return Standard_True;
 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
index 6a311d078ab02397422abab84f38309a7db2004d..1d9df8e6d0304a276f9f84b43cf8e1528dd50f15 100644 (file)
@@ -46,7 +46,8 @@
 #include <TopoDS_Shape.hxx>
 #include <TColStd_MapOfInteger.hxx>
 
-class GEOM_ShapeTypeFilter : public SALOME_Filter {
+class GEOM_ShapeTypeFilter : public SALOME_Filter
+{
 
 public:
 
@@ -63,9 +64,11 @@ public:
         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
       }
  // Methods PUBLIC
- // 
-Standard_EXPORT GEOM_ShapeTypeFilter( TopAbs_ShapeEnum theShapeType );
-Standard_EXPORT GEOM_ShapeTypeFilter( const TColStd_MapOfInteger& theShapeTypes );
+ //
+Standard_EXPORT GEOM_ShapeTypeFilter( const TopAbs_ShapeEnum theShapeType,
+                                      const bool theIsAll = false );
+Standard_EXPORT GEOM_ShapeTypeFilter( const TColStd_MapOfInteger& theShapeTypes,
+                                      const bool theIsAll = false );
 Standard_EXPORT ~GEOM_ShapeTypeFilter();
 
 Standard_EXPORT virtual  Standard_Boolean IsOk(const Handle(SALOME_InteractiveObject)& anobj) const;
@@ -80,7 +83,7 @@ Standard_EXPORT virtual  Standard_Boolean IsOk(const Handle(SALOME_InteractiveOb
 protected:
 
  // Methods PROTECTED
- // 
+ //
  Standard_EXPORT virtual Standard_Boolean IsShapeOk(const TopoDS_Shape& theShape ) const;
 
 
@@ -91,12 +94,7 @@ Handle(SALOME_TypeFilter) myTypeFilter;
 
 private: 
 
- // Methods PRIVATE
- // 
-
-
- // Fields PRIVATE
- //
+ bool myIsAll;
 
 
 };
index 9afee435d22206e1f67c2c4c4c534d5f02ba35c5..f518e4ecb50120261adb7e2eba088b53c850aed3 100644 (file)
@@ -135,6 +135,9 @@ static inline Handle(SALOME_Filter) getFilter( const int theMode )
       case GEOM_CONE      : aFilter = new GEOM_FaceFilter( StdSelect_Cone     ); break;
       
       case GEOM_PREVIEW   : aFilter = new GEOM_PreviewFilter(); break;
+      
+      case GEOM_ALLSHAPES : aFilter = new GEOM_ShapeTypeFilter( -1, true ); break;
+      case GEOM_ALLGEOM   : aFilter = new SALOME_TypeFilter( "GEOM" ); break;
 
       default             : aFilter = new GEOM_TypeFilter( theMode ); break;
     }
@@ -264,6 +267,13 @@ void GEOM_Displayer::Display( const Handle(SALOME_InteractiveObject)& theIO, con
   
   if ( vf )
   {
+      if ( vf->inherits( "VTKViewer_ViewFrame" ) )
+      {
+        SALOME_Prs* prs = vf->CreatePrs( !theIO.IsNull() ? theIO->getEntry() : 0 );
+        ((SALOME_View*)vf)->Erase( prs, true );
+        delete prs;
+      }
+    
     SALOME_Prs* prs = buildPresentation( theIO, vf );
     
     if ( prs )
@@ -273,7 +283,7 @@ void GEOM_Displayer::Display( const Handle(SALOME_InteractiveObject)& theIO, con
       vf->AfterDisplay( this );
       
       if ( updateViewer )
-       vf->Repaint();
+        vf->Repaint();
       
       delete prs;  // delete presentation because displayer is its owner
     }
@@ -476,7 +486,7 @@ void GEOM_Displayer::Update( SALOME_OCCPrs* prs )
       {
         aTrh = new GEOM_AISTrihedron( aPlc );
 
-        if ( HasColor() )
+        if ( HasColor() )  
           aTrh->SetColor( (Quantity_NameOfColor)GetColor() );
 
         if ( HasWidth() )
@@ -570,7 +580,6 @@ void GEOM_Displayer::Update( SALOME_OCCPrs* prs )
         AIS_ListOfInteractive IOList;
         occPrs->GetObjects( IOList );
         AIS_ListIteratorOfListOfInteractive Iter( IOList );
-        int i = 0;
         for ( ; Iter.More(); Iter.Next() )
         {
           Handle(GEOM_AISShape) AISShape = Handle(GEOM_AISShape)::DownCast( Iter.Value() );
@@ -612,7 +621,7 @@ void GEOM_Displayer::Update( SALOME_VTKPrs* prs )
   {
     myToActivate = false;
     GEOM_VTKTrihedron* aTrh = GEOM_VTKTrihedron::New();
-
+    
     if ( HasColor() )
     {
       Quantity_Color aColor( (Quantity_NameOfColor)GetColor() );
@@ -625,14 +634,13 @@ void GEOM_Displayer::Update( SALOME_VTKPrs* prs )
       return;
 
     gp_Ax2 anAx2 = aPlane->Pln().Position().Ax2();
-
     aTrh->SetPlacement( new Geom_Axis2Placement( anAx2 ) );
 
     if ( VTKViewer_ViewFrame* vf = dynamic_cast<VTKViewer_ViewFrame*>( GetActiveView() ) )
       aTrh->SetSize( 0.5 * vf->GetTrihedronSize() );
 
     vtkPrs->AddObject( aTrh );
-
+      
     theActors = vtkActorCollection::New();
     theActors->AddItem( aTrh );
   }
@@ -661,7 +669,7 @@ void GEOM_Displayer::Update( SALOME_VTKPrs* prs )
   {
     aProp->SetLineWidth( GetWidth() );
   }
-    
+
   while ( anActor != NULL )
   {
     SALOME_Actor* GActor = SALOME_Actor::SafeDownCast( anActor );
@@ -880,13 +888,15 @@ void GEOM_Displayer::GlobalSelection( const TColStd_MapOfInteger& theModes,
   aSel->ClearIndex();
     
   aSel->ClearFilters();
+
+  if ( theModes.Contains( GEOM_ALLOBJECTS ) )
+    return;
+
   Handle(SALOME_Filter) aFilter;
   if ( theModes.Extent() == 1 )
   {
     int aMode = TColStd_MapIteratorOfMapOfInteger( theModes ).Key();
-    int aTopAbsMode = getTopAbsMode( aMode );
-    if ( aTopAbsMode != -1 )
-      aFilter = getFilter( aMode );
+    aFilter = getFilter( aMode );
   }
   else if ( theModes.Extent() > 1 )
   {
@@ -933,15 +943,15 @@ void GEOM_Displayer::LocalSelection( const SALOME_ListIO& theIOList, const int t
 void GEOM_Displayer::BeforeDisplay( SALOME_View* v, const SALOME_OCCViewType& )
 {
   OCCViewer_ViewFrame* vf = dynamic_cast<OCCViewer_ViewFrame*>( v );
-  if ( !vf )
-    return;
-
-  Handle(AIS_InteractiveContext) ic = vf->getViewer()->getAISContext();
-  if ( ic.IsNull() )
-    return;
-
-  if ( ic->HasOpenedContext() )
-    ic->CloseAllContexts();
+  if ( vf )
+  {
+    Handle(AIS_InteractiveContext) ic = vf->getViewer()->getAISContext();
+    if ( !ic.IsNull() )
+    {
+      if ( ic->HasOpenedContext() )
+      ic->CloseAllContexts();
+    }
+  }
 }
 
 void GEOM_Displayer::AfterDisplay( SALOME_View*, const SALOME_OCCViewType& )
index 183cd428b1318cf81666d104fac98d55e7e7d308..45a1e4f41a3501de9b7eb6db51b446b4a4260cc8 100644 (file)
 #include <SALOMEconfig.h>
 #include CORBA_CLIENT_HEADER(GEOM_Gen)
 
-#define GEOM_PREVIEW -2 // Definition for preview selection 
+#define GEOM_ALLOBJECTS -1 // Selection of all objects is activated
+#define GEOM_PREVIEW    -2 // Definition for preview selection
+#define GEOM_ALLSHAPES  -3 // Selection of all shapes is activated
+#define GEOM_ALLGEOM    -4 // Selection of all geom objects is activated
 
 typedef std::list<GEOM::GEOM_Object_ptr> ObjectList;
 
@@ -130,7 +133,7 @@ public:
   /* Activate/Deactivate selection*/
   void         LocalSelection( const Handle(SALOME_InteractiveObject)&, const int );
   void         LocalSelection( const SALOME_ListIO& theIOList, const int );
-  void         GlobalSelection( const int, const bool = false );
+  void         GlobalSelection( const int = GEOM_ALLOBJECTS, const bool = false );
   void         GlobalSelection( const TColStd_MapOfInteger&, const bool = false );
 
   static QAD_ViewFrame* GetActiveView();
index 45f5bcd4e7cb9448c996daf4dcff39c336a6058b..97e439650c3e610a584f8bf94cde1f98f898a740 100644 (file)
@@ -483,3 +483,6 @@ msgstr "block_face_2e.png"
 
 msgid "ICON_DLG_QUAD_FACE_4_EDGE"
 msgstr "block_face_4e.png"
+
+msgid "ICON_DLG_GLUE_FACES"
+msgstr "glue.png"
index 123743e9d708b608295f5586363da2f5327dbd9a..30092d5de1fbd8b38e73a948a08e72f0ad90eff5 100644 (file)
@@ -1898,3 +1898,35 @@ msgstr "Incorrect parameters for Shape Healing algorithm"
 
 msgid "ShHealOper_ErrorExecution_msg"
 msgstr "Shape Healing algorithm failed"
+
+msgid "GEOM_GLUE_TITLE"
+msgstr "Glue faces"
+
+msgid "GEOM_GLUE"
+msgstr "Glue"
+
+### New object names for RepairGUI ###
+msgid "SEWING_NEW_OBJ_NAME"
+msgstr "Sewing"
+
+msgid "DEVIDE_EDGE_NEW_OBJECT_NAME"
+msgstr "NewObject"
+
+msgid "CLOSE_CONTOUR_NEW_OBJ_NAME"
+msgstr "CloseContour"
+
+msgid "REMOVE_HOLES_NEW_OBJ_NAME"
+msgstr "SupressHoles"
+
+msgid "GLUE_NEW_OBJ_NAME"
+msgstr "Glue"
+
+msgid "REMOVE_INT_WIRES_NEW_OBJ_NAME"
+msgstr "RemoveIntWires"
+
+msgid "PROCESS_SHAPE_NEW_OBJ_NAME"
+msgstr "ProcessShape"
+
+msgid "SUPRESS_FACE_NEW_OBJ_NAME"
+msgstr "SupressFaces"
+###
index 7ee88f24b6c5c6424f7827fd827248840bc99f53..7f26db05cbcffe008a86524c5e06f123fd5b2ae8 100644 (file)
@@ -42,6 +42,7 @@
 #include "SALOMEGUI_Desktop.h"
 
 #include "OCCViewer_Viewer3d.h"
+#include "OCCViewer_ViewFrame.h"
 #include "OCCViewer_ViewPort3d.h"
 #include "OCCViewer_Prs.h"
 
@@ -400,11 +401,12 @@ bool GeometryGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
   else if( theCommandID == 601 ||   // MENU REPAIR - SEWING
           theCommandID == 603 ||   // MENU REPAIR - SUPPRESS FACES
           theCommandID == 604 ||   // MENU REPAIR - SUPPRESS HOLE
-     theCommandID == 605 ||   // MENU REPAIR - SHAPE PROCESSING
-     theCommandID == 606 ||   // MENU REPAIR - CLOSE CONTOUR
-     theCommandID == 607 ||   // MENU REPAIR - REMOVE INTERNAL WIRES
-     theCommandID == 608 ||   // MENU REPAIR - ADD POINT ON EDGE
-     theCommandID == 609 ) {  // MENU REPAIR - FREE BOUNDARIES
+           theCommandID == 605 ||   // MENU REPAIR - SHAPE PROCESSING
+           theCommandID == 606 ||   // MENU REPAIR - CLOSE CONTOUR
+           theCommandID == 607 ||   // MENU REPAIR - REMOVE INTERNAL WIRES
+           theCommandID == 608 ||   // MENU REPAIR - ADD POINT ON EDGE
+           theCommandID == 609 ||   // MENU REPAIR - FREE BOUNDARIES
+          theCommandID == 602 ) {  // MENU REPAIR - GLUE FACES
     library = geomGUI->getLibrary( "libRepairGUI.so" );
   }
   else if( theCommandID == 701  ||  // MENU MEASURE - PROPERTIES
@@ -414,7 +416,7 @@ bool GeometryGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
           theCommandID == 7042 ||  // MENU MEASURE - MIN DISTANCE
           theCommandID == 705  ||  // MENU MEASURE - TOLERANCE
           theCommandID == 706  ||  // MENU MEASURE - WHATIS
-          theCommandID == 707  ||   // MENU MEASURE - CHECK
+          theCommandID == 707  ||  // MENU MEASURE - CHECK
           theCommandID == 708 ) {  // MENU MEASURE - POINT COORDINATES
     library = geomGUI->getLibrary( "libMeasureGUI.so" );
   }
@@ -970,9 +972,10 @@ bool GeometryGUI::ActiveStudyChanged(QAD_Desktop* parent)
 // function : GeometryGUI::BuildPresentation()
 // purpose  : static
 //=======================================================================
-void GeometryGUI::BuildPresentation(const Handle(SALOME_InteractiveObject)& theIO)
+void GeometryGUI::BuildPresentation( const Handle(SALOME_InteractiveObject)& theIO,
+                                     QAD_ViewFrame* theViewFrame )
 {
-  GEOM_Displayer().Display( theIO, false );
+  GEOM_Displayer().Display( theIO, false, theViewFrame );
 }
 
 void GeometryGUI::SupportedViewType(int* buffer, int bufferSize)
index 43a850bc533946edf050f71b3815e632cfff66cb..255c46f128d50d95318eae5590d65d142a04ecfa 100644 (file)
@@ -90,7 +90,8 @@ public:
   virtual bool SetSettings(QAD_Desktop* parent);
   virtual bool ActiveStudyChanged(QAD_Desktop* parent);
   virtual void Deactivate();
-  virtual void BuildPresentation(const Handle(SALOME_InteractiveObject)&);
+  virtual void BuildPresentation( const Handle(SALOME_InteractiveObject)&,
+                                  QAD_ViewFrame*  = 0 );
   virtual void SupportedViewType (int* buffer, int bufferSize);
   virtual void DefinePopup(QString & theContext, QString & theParent, QString & theObject);
   virtual bool CustomPopup(QAD_Desktop* parent, QPopupMenu* popup, const QString& theContext,
index 1c346d7672bc0e148cb286df87ffd6056b8ce689..ead4659da66163d94227f55a8dbc7681517b8797 100644 (file)
@@ -37,6 +37,7 @@
 #include "SALOMEGUI_ImportOperation.h"
 
 #include "OCCViewer_Viewer3d.h"
+#include "OCCViewer_ViewFrame.h"
 #include <TopExp_Explorer.hxx>
 #include <TopTools_MapOfShape.hxx>
 #include <TopTools_ListOfShape.hxx>
index 6ad6a065af925fb0487773d309897ce1242ea2e8..71987a990e9ed8aa34fe0496304fd7a2cc41251a 100644 (file)
@@ -10,6 +10,7 @@ using namespace std;
 #include <BRep_TFace.hxx>
 #include <BRepTools.hxx>
 #include <BRepTools_WireExplorer.hxx>
+#include <BRepOffsetAPI_ThruSections.hxx>
 #include <BRepBuilderAPI_MakeEdge.hxx>
 #include <BRepBuilderAPI_MakeWire.hxx>
 #include <BRepBuilderAPI_MakeFace.hxx>
@@ -37,6 +38,7 @@ using namespace std;
 #include <gp_Pnt.hxx>
 #include <TColgp_Array1OfPnt.hxx>
 
+#include <StdFail_NotDone.hxx>
 #include <Standard_NullObject.hxx>
 #include <Standard_TypeMismatch.hxx>
 #include <Standard_ConstructionError.hxx>
@@ -309,7 +311,12 @@ TopoDS_Shape GEOMImpl_Block6Explorer::GetFace (const Standard_Integer theFaceID,
     if (!MW.IsDone()) {
       Standard_ConstructionError::Raise("Wire construction failed");
     }
-    MakeFace(MW, Standard_False, myFaces(theFaceID));
+    TopoDS_Shape aFace;
+    MakeFace(MW, Standard_False, aFace);
+    if (aFace.IsNull()) {
+      Standard_ConstructionError::Raise("Face construction failed");
+    }
+    myFaces(theFaceID) = aFace;
   }
 
   return myFaces(theFaceID);
@@ -946,6 +953,64 @@ void GEOMImpl_Block6Explorer::InitByTwoFaces (const TopoDS_Shape& theFace1,
     if (s_min == -1) nb = mod4(nb - 1);
     myEdges(edge_id(2, i)) = anEdges2(nb);
   }
+
+  // 4. Generate side surface
+  if (!aWire1.Closed() || !aWire2.Closed()) {
+    // BRepOffsetAPI_ThruSections is not applicable on not closed wires
+    GetFace(3, Standard_True);
+    GetFace(4, Standard_True);
+    GetFace(5, Standard_True);
+    GetFace(6, Standard_True);
+  } else {
+    // try to build faces on native surfaces of edges or planar
+    Standard_Boolean tryThru = Standard_False;
+    for (Standard_Integer i = 3; i <= 6 && !tryThru; i++) {
+      Standard_Boolean doMake = Standard_True;
+      TopoDS_Shape E1 = GetEdge(edge_id(i, 1), doMake);
+      TopoDS_Shape E2 = GetEdge(edge_id(i, 2), doMake);
+      TopoDS_Shape E3 = GetEdge(edge_id(i, 3), doMake);
+      TopoDS_Shape E4 = GetEdge(edge_id(i, 4), doMake);
+
+      BRepBuilderAPI_MakeWire MW (TopoDS::Edge(E1),
+                                  TopoDS::Edge(E2),
+                                  TopoDS::Edge(E3),
+                                  TopoDS::Edge(E4));
+      if (!MW.IsDone()) {
+        Standard_ConstructionError::Raise("Wire construction failed");
+      }
+
+      BRepBuilderAPI_MakeFace MF (MW, Standard_False);
+      if (MF.IsDone()) {
+        myFaces(i) = MF.Shape();
+      } else {
+        tryThru = Standard_True;
+      }
+    }
+
+    // Build side surface by ThruSections algorithm
+    if (tryThru) {
+      BRepOffsetAPI_ThruSections THS;
+      THS.AddWire(TopoDS::Wire(aWire1));
+      THS.AddWire(TopoDS::Wire(aWire2));
+      THS.Build();
+      if (!THS.IsDone()) {
+        StdFail_NotDone::Raise("Side surface generation failed");
+      }
+      for (Standard_Integer i = 1; i <= 4; i++) {
+        // fill face
+        myFaces(i+2) = THS.GeneratedFace(myEdges(i));
+
+        // fill edge
+        Standard_Integer ee = side_edge_id(i);
+        TopTools_IndexedDataMapOfShapeListOfShape MVE;
+        MapShapesAndAncestors(myFaces(i+2), TopAbs_VERTEX, TopAbs_EDGE, MVE);
+        FindEdge(myEdges(ee),
+                 myVertices(vertex_id_edge(ee, 1)),
+                 myVertices(vertex_id_edge(ee, 2)),
+                 MVE);
+      }
+    }
+  }
 }
 
 //=======================================================================
@@ -1006,6 +1071,82 @@ Standard_Boolean GEOMImpl_Block6Explorer::IsSimilarEdges (const TopoDS_Shape& E1
   return Standard_False;
 }
 
+//=======================================================================
+//function : FindEdge
+//purpose  :
+//=======================================================================
+Standard_Integer GEOMImpl_Block6Explorer::FindEdge
+                   (TopoDS_Shape&       theResult,
+                    const TopoDS_Shape& V1,
+                    const TopoDS_Shape& V2,
+                    const TopTools_IndexedDataMapOfShapeListOfShape& MVE,
+                    const Standard_Boolean findAll)
+{
+  Standard_Integer isFound = 0;
+
+  const TopTools_ListOfShape& anEdgesOfV1 = MVE.FindFromKey(V1);
+  const TopTools_ListOfShape& anEdgesOfV2 = MVE.FindFromKey(V2);
+
+  TopTools_ListIteratorOfListOfShape it1 (anEdgesOfV1);
+  for (; it1.More(); it1.Next()) {
+    TopTools_ListIteratorOfListOfShape it2 (anEdgesOfV2);
+    for (; it2.More(); it2.Next()) {
+      if (it1.Value().IsSame(it2.Value())) {
+        isFound++;
+        theResult = it1.Value();
+        if (!findAll) return isFound;
+      }
+    }
+  }
+
+  return isFound;
+}
+
+//=======================================================================
+//function : FindFace
+//purpose  :
+//=======================================================================
+Standard_Integer GEOMImpl_Block6Explorer::FindFace
+                   (TopoDS_Shape&       theResult,
+                    const TopoDS_Shape& V1,
+                    const TopoDS_Shape& V2,
+                    const TopoDS_Shape& V3,
+                    const TopoDS_Shape& V4,
+                    const TopTools_IndexedDataMapOfShapeListOfShape& MVF,
+                    const Standard_Boolean findAll)
+{
+  Standard_Integer isFound = Standard_False;
+
+  const TopTools_ListOfShape& aFacesOfV1 = MVF.FindFromKey(V1);
+  const TopTools_ListOfShape& aFacesOfV2 = MVF.FindFromKey(V2);
+  const TopTools_ListOfShape& aFacesOfV3 = MVF.FindFromKey(V3);
+  const TopTools_ListOfShape& aFacesOfV4 = MVF.FindFromKey(V4);
+
+  TopTools_ListIteratorOfListOfShape it1 (aFacesOfV1);
+  for (; it1.More(); it1.Next()) {
+    TopTools_ListIteratorOfListOfShape it2 (aFacesOfV2);
+    for (; it2.More(); it2.Next()) {
+      if (it1.Value().IsSame(it2.Value())) {
+        TopTools_ListIteratorOfListOfShape it3 (aFacesOfV3);
+        for (; it3.More(); it3.Next()) {
+          if (it1.Value().IsSame(it3.Value())) {
+            TopTools_ListIteratorOfListOfShape it4 (aFacesOfV4);
+            for (; it4.More(); it4.Next()) {
+              if (it1.Value().IsSame(it4.Value())) {
+                isFound++;
+                theResult = it1.Value();
+                if (!findAll) return isFound;
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+
+  return isFound;
+}
+
 //=======================================================================
 //function : MakeFace
 //purpose  :
@@ -1018,9 +1159,11 @@ void GEOMImpl_Block6Explorer::MakeFace (const TopoDS_Wire&     theWire,
   BRepBuilderAPI_MakeFace MK (theWire, isPlanarWanted);
   if (MK.IsDone()) {
     theResult = MK.Shape();
+    return;
+  }
 
-  } else if (!isPlanarWanted) {
-    // try to construct filling surface
+  // try to construct filling surface
+  if (!isPlanarWanted) {
     BRepOffsetAPI_MakeFilling MF;
 
     Standard_Integer nbEdges = 0;
@@ -1030,44 +1173,41 @@ void GEOMImpl_Block6Explorer::MakeFace (const TopoDS_Wire&     theWire,
     }
 
     MF.Build();
-    if (!MF.IsDone()) {
-      Standard_ConstructionError::Raise("Building of face on the given wire failed");
-    }
-
-    // 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
-    aWE = BRepTools_WireExplorer(theWire);
-    Standard_Integer vi = 1;
-    for (; aWE.More() && vi <= nbEdges; aWE.Next(), vi++) {
-      aPnts(vi) = BRep_Tool::Pnt(TopoDS::Vertex(aWE.CurrentVertex()));
-    }
+    if (MF.IsDone()) {
+      // 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
+      aWE = BRepTools_WireExplorer(theWire);
+      Standard_Integer vi = 1;
+      for (; aWE.More() && vi <= nbEdges; aWE.Next(), vi++) {
+        aPnts(vi) = BRep_Tool::Pnt(TopoDS::Vertex(aWE.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)));
+      // 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, 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 {
-    Standard_ConstructionError::Raise("Building of face on the given wire failed");
   }
 }
index 801dd9b9240e1f44aa789e44c3e3306470c8f4b9..d7d09c1bcdca35651e5c78958b8980771c796cac 100644 (file)
@@ -176,6 +176,22 @@ class GEOMImpl_Block6Explorer
   static Standard_Boolean IsSimilarEdges (const TopoDS_Shape& E1, 
                                           const TopoDS_Shape& E2);
 
+  static Standard_Integer FindEdge (TopoDS_Shape&       theResult,
+                                    const TopoDS_Shape& V1,
+                                    const TopoDS_Shape& V2,
+                                    const TopTools_IndexedDataMapOfShapeListOfShape& MVE,
+                                    const Standard_Boolean findAll = Standard_False);
+  // returns number of found edges
+
+  static Standard_Integer FindFace (TopoDS_Shape&       theResult,
+                                    const TopoDS_Shape& V1,
+                                    const TopoDS_Shape& V2,
+                                    const TopoDS_Shape& V3,
+                                    const TopoDS_Shape& V4,
+                                    const TopTools_IndexedDataMapOfShapeListOfShape& MVF,
+                                    const Standard_Boolean findAll = Standard_False);
+  // returns number of found faces
+
   static void MakeFace (const TopoDS_Wire&     theWire,
                         const Standard_Boolean isPlanarWanted,
                         TopoDS_Shape&          theResult);
index e72d7acddf7398774736c6dba9bf85e2e5975c81..27073e43919bcdc6ba5e59d1556022bbefb329a9 100644 (file)
@@ -13,6 +13,7 @@ using namespace std;
 #include "GEOM_Function.hxx"
 
 #include "ShHealOper_Sewing.hxx"
+#include "NMTAlgo_Splitter1.hxx"
 
 #include <TNaming_CopyShape.hxx>
 
@@ -31,7 +32,6 @@ using namespace std;
 #include <BRepClass3d_SolidClassifier.hxx>
 #include <BRepExtrema_ExtPF.hxx>
 #include <BRepExtrema_DistShapeShape.hxx>
-#include <BRepOffsetAPI_ThruSections.hxx>
 
 #include <TopAbs.hxx>
 #include <TopoDS.hxx>
@@ -103,8 +103,12 @@ Standard_Integer GEOMImpl_BlockDriver::Execute(TFunction_Logbook& log) const
   Standard_Real prec = Precision::Confusion();
 
   Standard_Integer aNbSub = 0;
-  if (aType == BLOCK_FACE_TWO_EDGES ||
-      aType == BLOCK_TWO_FACES) {
+  if (aType == BLOCK_COMPOUND_GLUE) {
+
+    aNbSub = 1;
+
+  } else if (aType == BLOCK_FACE_TWO_EDGES ||
+             aType == BLOCK_TWO_FACES) {
 
     aNbSub = 2;
 
@@ -210,6 +214,9 @@ Standard_Integer GEOMImpl_BlockDriver::Execute(TFunction_Logbook& log) const
 
       // try to build face on the wire
       GEOMImpl_Block6Explorer::MakeFace(aWire, Standard_False, aShape);
+      if (aShape.IsNull()) {
+        Standard_ConstructionError::Raise("Face construction failed");
+      }
 
     } else if (aType == BLOCK_FACE_TWO_EDGES) {
 
@@ -265,6 +272,9 @@ Standard_Integer GEOMImpl_BlockDriver::Execute(TFunction_Logbook& log) const
 
       // try to build face on the wire
       GEOMImpl_Block6Explorer::MakeFace(MW, Standard_False, aShape);
+      if (aShape.IsNull()) {
+        Standard_ConstructionError::Raise("Face construction failed");
+      }
 
     } else if (aType == BLOCK_FACE_FOUR_PNT) {
 
@@ -320,6 +330,9 @@ Standard_Integer GEOMImpl_BlockDriver::Execute(TFunction_Logbook& log) const
 
       // try to build face on the wire
       GEOMImpl_Block6Explorer::MakeFace(aMkPoly, Standard_False, aShape);
+      if (aShape.IsNull()) {
+        Standard_ConstructionError::Raise("Face construction failed");
+      }
 
     } else if (aType == BLOCK_SIX_FACES || aType == BLOCK_TWO_FACES) {
 
@@ -357,33 +370,16 @@ Standard_Integer GEOMImpl_BlockDriver::Execute(TFunction_Logbook& log) const
           Standard_ConstructionError::Raise("A face for the block has more than one wire");
         }
 
-        if (aWire1.Closed() && aWire2.Closed()) {
-          // Build side surface by ThruSections algorithm
-          BRepOffsetAPI_ThruSections THS;
-          THS.AddWire(TopoDS::Wire(aWire1));
-          THS.AddWire(TopoDS::Wire(aWire2));
-          THS.Build();
-          if (!THS.IsDone()) {
-            StdFail_NotDone::Raise("Side surface generation failed");
-          }
-          TopoDS_Shape aShell = THS.Shape();
-
-          Glue.Add(anArgs(1));
-          Glue.Add(aShell);
-          Glue.Add(anArgs(2));
-
-        } else {
-          GEOMImpl_Block6Explorer aBlockTool;
-          aBlockTool.InitByTwoFaces(anArgs(1), anArgs(2));
-
-          // Construct the linking faces and add them in the gluing tool
-          Glue.Add(anArgs(1));
-          Glue.Add(aBlockTool.GetFace(3, Standard_True));
-          Glue.Add(aBlockTool.GetFace(4, Standard_True));
-          Glue.Add(aBlockTool.GetFace(5, Standard_True));
-          Glue.Add(aBlockTool.GetFace(6, Standard_True));
-          Glue.Add(anArgs(2));
-        }
+        GEOMImpl_Block6Explorer aBlockTool;
+        aBlockTool.InitByTwoFaces(anArgs(1), anArgs(2));
+
+        // Construct the linking faces and add them in the gluing tool
+        Glue.Add(anArgs(1));
+        Glue.Add(aBlockTool.GetFace(3, Standard_True));
+        Glue.Add(aBlockTool.GetFace(4, Standard_True));
+        Glue.Add(aBlockTool.GetFace(5, Standard_True));
+        Glue.Add(aBlockTool.GetFace(6, Standard_True));
+        Glue.Add(anArgs(2));
       }
 
       TopExp_Explorer exp (Glue.Shells(), TopAbs_SHELL);
@@ -411,11 +407,10 @@ Standard_Integer GEOMImpl_BlockDriver::Execute(TFunction_Logbook& log) const
               aTol = aToler;
           }
         }
-       ShHealOper_Sewing aHealer (Shell, aTol);
-       Standard_Boolean aResult = aHealer.Perform();
-       if (aHealer.Perform())
+        ShHealOper_Sewing aHealer (Shell, aTol);
+        if (aHealer.Perform())
           aShape = aHealer.GetResultShape();
-       else
+        else
           Standard_ConstructionError::Raise
             ("Impossible to build a connected shell on the given faces");
       }
@@ -439,6 +434,25 @@ Standard_Integer GEOMImpl_BlockDriver::Execute(TFunction_Logbook& log) const
       aShape = Sol;
       BRepLib::SameParameter(aShape, 1.E-5, Standard_True);
 
+    } else if (aType == BLOCK_COMPOUND_GLUE) {
+
+      // Make blocks compound from a compound
+      if (anArgs(1).ShapeType() != TopAbs_COMPOUND &&
+          anArgs(2).ShapeType() != TopAbs_COMPSOLID) {
+        Standard_TypeMismatch::Raise("Not a compound given");
+      }
+
+      TopoDS_Shape aCompound = anArgs(1);
+
+      // Glue coincident faces and edges (with Partition algorithm).
+      NMTAlgo_Splitter1 PS;
+      PS.AddShape(aCompound);
+      PS.Compute();
+      PS.SetRemoveWebs(Standard_False);
+//      PS.Build(aCompound.ShapeType());
+      PS.Build(TopAbs_SOLID);
+
+      aShape = PS.Shape();
     } else {
     }
 
@@ -880,10 +894,10 @@ Standard_EXPORT Handle_Standard_Type& GEOMImpl_BlockDriver_Type_()
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
   static Handle_Standard_Type _aType = new Standard_Type("GEOMImpl_BlockDriver",
-                                                        sizeof(GEOMImpl_BlockDriver),
-                                                        1,
-                                                        (Standard_Address)_Ancestors,
-                                                        (Standard_Address)NULL);
+                                                         sizeof(GEOMImpl_BlockDriver),
+                                                         1,
+                                                         (Standard_Address)_Ancestors,
+                                                         (Standard_Address)NULL);
 
   return _aType;
 }
index d5ae1466696de9225801b16d064bb7da6192923b..d28ed4633a1f3d3c2d511522308c04fa84a9bac6 100644 (file)
@@ -7,20 +7,20 @@ using namespace std;
 #include "GEOM_Function.hxx"
 #include "GEOMImpl_Block6Explorer.hxx"
 
-#include <BRepFilletAPI_MakeChamfer.hxx>
 #include <BRep_Tool.hxx>
 #include <BRepTools.hxx>
+#include <BRepFilletAPI_MakeChamfer.hxx>
 
 #include <TopAbs.hxx>
 #include <TopoDS.hxx>
-#include <TopoDS_Shape.hxx>
 #include <TopoDS_Edge.hxx>
 #include <TopoDS_Face.hxx>
+#include <TopoDS_Shape.hxx>
 #include <TopoDS_Iterator.hxx>
 #include <TopExp.hxx>
 #include <TopExp_Explorer.hxx>
-#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
 #include <TopTools_MapOfShape.hxx>
+#include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
 
 #include <Precision.hxx>
 #include <gp_Pnt.hxx>
@@ -46,7 +46,7 @@ GEOMImpl_ChamferDriver::GEOMImpl_ChamferDriver()
 }
 
 //=======================================================================
-//function : Execute
+//function : isGoodForChamfer
 //purpose  :
 //=======================================================================
 static Standard_Boolean isGoodForChamfer (const TopoDS_Shape& theShape)
@@ -90,10 +90,11 @@ Standard_Integer GEOMImpl_ChamferDriver::Execute(TFunction_Logbook& log) const
   Handle(GEOM_Function) aRefShape = aCI.GetShape();
   TopoDS_Shape aShapeBase = aRefShape->GetValue();
 
-  // to do: check the shape type.
-  // It have to be shell, or solid, or compsolid, or compound of these shapes
+  // Check the shape type. It have to be shell
+  // or solid, or compsolid, or compound of these shapes.
   if (!isGoodForChamfer(aShapeBase)) {
-    StdFail_NotDone::Raise("Wrong shape. Must be shell or solid, or compsolid or compound of these shapes");
+    StdFail_NotDone::Raise
+      ("Wrong shape. Must be shell or solid, or compsolid or compound of these shapes");
   }
 
   BRepFilletAPI_MakeChamfer fill (aShapeBase);
@@ -129,7 +130,7 @@ Standard_Integer GEOMImpl_ChamferDriver::Execute(TFunction_Logbook& log) const
 
       // find edges of the first face, common with the second face
       TopExp_Explorer Exp (aFace1, TopAbs_EDGE);
-      for (Exp; Exp.More(); Exp.Next()) {
+      for (; Exp.More(); Exp.Next()) {
         if (aMap.Contains(Exp.Current())) {
           TopoDS_Edge E = TopoDS::Edge(Exp.Current());
           if (!BRepTools::IsReallyClosed(E, F) && !BRep_Tool::Degenerated(E))
@@ -154,7 +155,7 @@ Standard_Integer GEOMImpl_ChamferDriver::Execute(TFunction_Logbook& log) const
           (aShapeBase, aCI.GetFace(ind), aShapeFace)) {
         TopoDS_Face F = TopoDS::Face(aShapeFace);
         TopExp_Explorer Exp (F, TopAbs_EDGE);
-        for (Exp; Exp.More(); Exp.Next()) {
+        for (; Exp.More(); Exp.Next()) {
           if (!aMap.Contains(Exp.Current())) {
             TopoDS_Edge E = TopoDS::Edge(Exp.Current());
             if (!BRepTools::IsReallyClosed(E, F) &&
index cdf836eff5c8451b946da8a5f39b862f87ea30b5..78a6df18633afd14c8c3aff1ea10ea6eebdf9dda 100644 (file)
@@ -23,7 +23,7 @@ using namespace std;
 //=======================================================================
 //function : GetID
 //purpose  :
-//======================================================================= 
+//=======================================================================
 const Standard_GUID& GEOMImpl_FilletDriver::GetID()
 {
   static Standard_GUID aFilletDriver("FF1BBB41-5D14-4df2-980B-3A668264EA16");
@@ -33,7 +33,7 @@ const Standard_GUID& GEOMImpl_FilletDriver::GetID()
 
 //=======================================================================
 //function : GEOMImpl_FilletDriver
-//purpose  : 
+//purpose  :
 //=======================================================================
 GEOMImpl_FilletDriver::GEOMImpl_FilletDriver()
 {
@@ -42,10 +42,10 @@ GEOMImpl_FilletDriver::GEOMImpl_FilletDriver()
 //=======================================================================
 //function : Execute
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_Integer GEOMImpl_FilletDriver::Execute(TFunction_Logbook& log) const
 {
-  if (Label().IsNull()) return 0;    
+  if (Label().IsNull()) return 0;
   Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label());
 
   GEOMImpl_IFillet aCI (aFunction);
@@ -59,7 +59,7 @@ Standard_Integer GEOMImpl_FilletDriver::Execute(TFunction_Logbook& log) const
 
   if (aType == FILLET_SHAPE_ALL) {
     TopExp_Explorer Exp (aShapeBase, TopAbs_EDGE);
-    for (Exp; Exp.More(); Exp.Next()) {
+    for (; Exp.More(); Exp.Next()) {
       TopoDS_Edge E = TopoDS::Edge(Exp.Current());
       fill.Add(E);
     }
@@ -81,7 +81,7 @@ Standard_Integer GEOMImpl_FilletDriver::Execute(TFunction_Logbook& log) const
       if (GEOMImpl_ILocalOperations::GetSubShape
           (aShapeBase, aCI.GetFace(ind), aShapeFace)) {
         TopExp_Explorer Exp (aShapeFace, TopAbs_EDGE);
-        for (Exp; Exp.More(); Exp.Next()) {
+        for (; Exp.More(); Exp.Next()) {
           fill.Add(TopoDS::Edge(Exp.Current()));
         }
       }
@@ -108,26 +108,26 @@ Standard_Integer GEOMImpl_FilletDriver::Execute(TFunction_Logbook& log) const
 
   aFunction->SetValue(aShape);
 
-  log.SetTouched(Label()); 
+  log.SetTouched(Label());
 
-  return 1;    
+  return 1;
 }
 
 
 //=======================================================================
 //function :  GEOMImpl_FilletDriver_Type_
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_EXPORT Handle_Standard_Type& GEOMImpl_FilletDriver_Type_()
 {
 
   static Handle_Standard_Type aType1 = STANDARD_TYPE(TFunction_Driver);
   if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TFunction_Driver);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); 
+  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
   if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
+
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
   static Handle_Standard_Type _aType = new Standard_Type("GEOMImpl_FilletDriver",
@@ -142,7 +142,7 @@ Standard_EXPORT Handle_Standard_Type& GEOMImpl_FilletDriver_Type_()
 //=======================================================================
 //function : DownCast
 //purpose  :
-//======================================================================= 
+//=======================================================================
 const Handle(GEOMImpl_FilletDriver) Handle(GEOMImpl_FilletDriver)::DownCast(const Handle(Standard_Transient)& AnObject)
 {
   Handle(GEOMImpl_FilletDriver) _anOtherObject;
index fe46ecd2684d39e8e7d3fa2690aa9afc43543b07..0a5bdedf6a72cc6fbd5ba78a5350267fc3831c83 100644 (file)
 
 using namespace std;
+
 #include "GEOMImpl_FillingDriver.hxx"
 #include "GEOM_Function.hxx"
 #include "GEOMImpl_IFilling.hxx"
 #include "GEOMImpl_Types.hxx"
+
+#include <BRep_Tool.hxx>
+#include <BRepAlgo.hxx>
 #include <BRepBuilderAPI_MakeFace.hxx>
-#include <TopoDS_Shape.hxx>
-#include <TopExp_Explorer.hxx>
+
 #include <TopAbs.hxx>
 #include <TopoDS.hxx>
-#include <BRep_Tool.hxx>
-#include <Geom_Surface.hxx>
+#include <TopoDS_Shape.hxx>
+#include <TopExp_Explorer.hxx>
+
 #include <Geom_Curve.hxx>
+#include <Geom_Surface.hxx>
 #include <Geom_TrimmedCurve.hxx>
 #include <Geom_BSplineSurface.hxx>
-#include <GeomFill_SectionGenerator.hxx>
 #include <GeomFill_Line.hxx>
 #include <GeomFill_AppSurf.hxx>
+#include <GeomFill_SectionGenerator.hxx>
+
 #include <Precision.hxx>
-#include <BRepAlgo.hxx>
+#include <Standard_ConstructionError.hxx>
 
 //=======================================================================
 //function : GetID
 //purpose  :
-//======================================================================= 
+//=======================================================================
 const Standard_GUID& GEOMImpl_FillingDriver::GetID()
 {
-  static Standard_GUID aFillingDriver("FF1BBB62-5D14-4df2-980B-3A668264EA16");
-  return aFillingDriver; 
+  static Standard_GUID aFillingDriver ("FF1BBB62-5D14-4df2-980B-3A668264EA16");
+  return aFillingDriver;
 }
 
 
 //=======================================================================
 //function : GEOMImpl_FillingDriver
-//purpose  : 
+//purpose  :
 //=======================================================================
 
-GEOMImpl_FillingDriver::GEOMImpl_FillingDriver() 
+GEOMImpl_FillingDriver::GEOMImpl_FillingDriver()
 {
 }
 
 //=======================================================================
 //function : Execute
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_Integer GEOMImpl_FillingDriver::Execute(TFunction_Logbook& log) const
 {
   if (Label().IsNull()) return 0;
-  Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label()); 
-  if(aFunction.IsNull()) return 0;
+  Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label());
+  if (aFunction.IsNull()) return 0;
 
-  if(aFunction->GetType() != BASIC_FILLING) return 0;
+  if (aFunction->GetType() != BASIC_FILLING) return 0;
 
-  GEOMImpl_IFilling IF(aFunction);
+  GEOMImpl_IFilling IF (aFunction);
   Handle(GEOM_Function) aShapeFunction = IF.GetShape();
-  if(aShapeFunction.IsNull()) return 0;
-  TopoDS_Shape aShape = aShapeFunction->GetValue() ;
-  if( aShape.IsNull() || aShape.ShapeType() != TopAbs_COMPOUND ) return 0;
+  if (aShapeFunction.IsNull()) return 0;
+  TopoDS_Shape aShape = aShapeFunction->GetValue();
+  if (aShape.IsNull() || aShape.ShapeType() != TopAbs_COMPOUND) return 0;
 
   Standard_Integer mindeg = IF.GetMinDeg();
   Standard_Integer maxdeg = IF.GetMaxDeg();
   Standard_Real tol3d = IF.GetTol2D();
   Standard_Real tol2d = IF.GetTol3D();
   Standard_Integer nbiter = IF.GetNbIter();
-  
+
+  if (mindeg > maxdeg) {
+    Standard_RangeError::Raise("Minimal degree can not be more than maximal degree");
+  }
+
   /* we verify the contents of the shape */
-  TopExp_Explorer Ex ;
-  TopoDS_Shape Scurrent ;      
-  Standard_Real First, Last ;
-  Handle(Geom_Curve) C ;
-  GeomFill_SectionGenerator Section ;
-  
-  Standard_Integer i = 0 ;
-  for(Ex.Init(aShape, TopAbs_EDGE); Ex.More(); Ex.Next()) {
+  TopExp_Explorer Ex;
+  TopoDS_Shape Scurrent;
+  Standard_Real First, Last;
+  Handle(Geom_Curve) C;
+  GeomFill_SectionGenerator Section;
+
+  Standard_Integer i = 0;
+  for (Ex.Init(aShape, TopAbs_EDGE); Ex.More(); Ex.Next()) {
     Scurrent = Ex.Current() ;
-    if( Scurrent.IsNull() || Scurrent.ShapeType() != TopAbs_EDGE) return 0; 
+    if (Scurrent.IsNull() || Scurrent.ShapeType() != TopAbs_EDGE) return 0;
     C = BRep_Tool::Curve(TopoDS::Edge(Scurrent), First, Last);
     C = new Geom_TrimmedCurve(C, First, Last);
-    Section.AddCurve(C) ;
-    i++ ;
+    Section.AddCurve(C);
+    i++;
   }
-    
+
   /* a 'tolerance' is used to compare 2 knots : see GeomFill_Generator.cdl */
-  Section.Perform( Precision::Confusion() ) ;
-  Handle(GeomFill_Line) Line = new GeomFill_Line(i) ;
-  
-  GeomFill_AppSurf App(mindeg, maxdeg, tol3d, tol2d, nbiter) ; /* user parameters */
-  App.Perform(Line, Section) ;
-  
+  Section.Perform(Precision::Confusion());
+  Handle(GeomFill_Line) Line = new GeomFill_Line(i);
+
+  GeomFill_AppSurf App (mindeg, maxdeg, tol3d, tol2d, nbiter); /* user parameters */
+  App.Perform(Line, Section);
+
   if (!App.IsDone()) return 0;
   Standard_Integer UDegree, VDegree, NbUPoles, NbVPoles, NbUKnots, NbVKnots;
-  App.SurfShape(UDegree, VDegree, NbUPoles, NbVPoles, NbUKnots, NbVKnots);     
-  Handle(Geom_BSplineSurface) GBS = new Geom_BSplineSurface(App.SurfPoles(), App.SurfWeights(), App.SurfUKnots(), App.SurfVKnots(), App.SurfUMults(), App.SurfVMults(), App.UDegree(), App.VDegree());
-    
-  if( GBS.IsNull() ) return 0;
-  aShape  = BRepBuilderAPI_MakeFace(GBS) ;    
-  
+  App.SurfShape(UDegree, VDegree, NbUPoles, NbVPoles, NbUKnots, NbVKnots);
+  Handle(Geom_BSplineSurface) GBS = new Geom_BSplineSurface
+    (App.SurfPoles(), App.SurfWeights(), App.SurfUKnots(), App.SurfVKnots(),
+     App.SurfUMults(), App.SurfVMults(), App.UDegree(), App.VDegree());
+
+  if (GBS.IsNull()) return 0;
+  aShape = BRepBuilderAPI_MakeFace(GBS);
+
   /* We test the validity of resulting shape */
-  if( !BRepAlgo::IsValid((aShape)) )  return 0;
-  
-  aFunction->SetValue(aShape);   
+  if (!BRepAlgo::IsValid((aShape))) {
+    Standard_ConstructionError::Raise("Algorithm have produced an invalid shape result");
+    return 0;
+  }
+
+  aFunction->SetValue(aShape);
 
   log.SetTouched(Label());
-  return 1;    
+  return 1;
 }
 
 
 //=======================================================================
 //function :  GEOMImpl_FillingDriver_Type_
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_EXPORT Handle_Standard_Type& GEOMImpl_FillingDriver_Type_()
 {
 
   static Handle_Standard_Type aType1 = STANDARD_TYPE(TFunction_Driver);
   if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TFunction_Driver);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); 
+  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
   if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
+
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
   static Handle_Standard_Type _aType = new Standard_Type("GEOMImpl_FillingDriver",
@@ -134,7 +149,7 @@ Standard_EXPORT Handle_Standard_Type& GEOMImpl_FillingDriver_Type_()
 //=======================================================================
 //function : DownCast
 //purpose  :
-//======================================================================= 
+//=======================================================================
 
 const Handle(GEOMImpl_FillingDriver) Handle(GEOMImpl_FillingDriver)::DownCast(const Handle(Standard_Transient)& AnObject)
 {
index fedb7af9b5533146a119a16ff02973e16efdc6ea..e41b48ccbc4895584aebd62deb47cd0f84e4a4dd 100644 (file)
@@ -8,6 +8,7 @@ using namespace std;
 #include <BRep_Tool.hxx>
 #include <BRep_Builder.hxx>
 #include <BRepLib.hxx>
+#include <BRepBndLib.hxx>
 #include <BRepTools_Quilt.hxx>
 #include <BRepClass3d_SolidClassifier.hxx>
 
@@ -26,6 +27,7 @@ using namespace std;
 #include <TopTools_ListIteratorOfListOfShape.hxx>
 
 #include <gp_Pnt.hxx>
+#include <Bnd_Box.hxx>
 #include <Precision.hxx>
 #include <Standard_NullObject.hxx>
 #include <Standard_ConstructionError.hxx>
@@ -54,8 +56,8 @@ GEOMImpl_GlueDriver::GEOMImpl_GlueDriver()
 //purpose  : for GLUE_FACES
 //=======================================================================
 static TopoDS_Face FindSameFace (const TopoDS_Shape& aShape,
-                                 const TopoDS_Face& F,
-                                 double tol3d)
+                                 const TopoDS_Face&  F,
+                                 const double        tol3d)
 {
   TopoDS_Face aFace;
   bool isSame = false;
@@ -110,8 +112,9 @@ static TopoDS_Face FindSameFace (const TopoDS_Shape& aShape,
 //function : FindSameEdge
 //purpose  : for GLUE_FACES
 //=======================================================================
-static TopoDS_Edge FindSameEdge (const TopoDS_Face& nf, TopoDS_Edge& Eold,
-                                 double tol3d)
+static TopoDS_Edge FindSameEdge (const TopoDS_Face& nf,
+                                 TopoDS_Edge&       Eold,
+                                 const double       tol3d)
 {
   TopoDS_Face newFace = TopoDS::Face(nf.Oriented(TopAbs_REVERSED));
   TopoDS_Vertex VFirst, VLast;
@@ -182,38 +185,55 @@ TopoDS_Shape GEOMImpl_GlueDriver::GlueFaces (const TopoDS_Shape& theShape,
   if (!its.More()) {
     Standard_ConstructionError::Raise("Glue aborted : no shell in shape");
   }
+
   TopoDS_Shell S = TopoDS::Shell(its.Value());
   bu.Add(C, S); // add first shell to compound
   shellList.Remove(its);
   bool shellAdded = true;
+  bool bigTolerance = false;
+
   while ((shellList.Extent() > 0) && shellAdded) {
     shellAdded = false;
     its.Initialize(shellList);
     for (; its.More(); its.Next()) {
-      TopTools_ListOfShape newFaces; // common faces from new compound
-      TopTools_ListOfShape oldFaces; // common faces from shell to add
-      TopTools_ListOfShape addFaces; // not common faces from shell to add
+      S = TopoDS::Shell(its.Value());
+
+      // compare tolerance with shape's size
+      Bnd_Box aBox;
+      BRepBndLib::Add(S, aBox);
+      Standard_Real Xmin, Ymin, Zmin, Xmax, Ymax, Zmax;
+      aBox.Get(Xmin, Ymin, Zmin, Xmax, Ymax, Zmax);
+      Standard_Real aTolerance = theTolerance;
+      if (aBox.IsXThin(100. * aTolerance))
+        aTolerance = 0.01 * (Xmax - Xmin);
+      if (aBox.IsYThin(100. * aTolerance))
+        aTolerance = 0.01 * (Ymax - Ymin);
+      if (aBox.IsZThin(100. * aTolerance))
+        aTolerance = 0.01 * (Zmax - Zmin);
+      if (theTolerance > aTolerance)
+        bigTolerance = true;
+
+      bool isConnected = false;
       TopTools_ListOfShape newEdges; // common edges from new compound
       TopTools_ListOfShape oldEdges; // common edges from face to add
       TopoDS_Compound CFN;
       TopoDS_Compound CFO;
       bu.MakeCompound(CFN);       // empty compound for new faces
       bu.MakeCompound(CFO);       // empty compound for old faces
-      S = TopoDS::Shell(its.Value());
+
       for (TopExp_Explorer exp (S, TopAbs_FACE); exp.More(); exp.Next()) {
         // try to find corresponding face in new compound
         TopoDS_Face F = TopoDS::Face(exp.Current());
-        TopoDS_Face newFace = FindSameFace(C,F,theTolerance);
+        TopoDS_Face newFace = FindSameFace(C,F,aTolerance);
         if (! newFace.IsNull())
         {
           // face found
-          newFaces.Append(newFace);
+          isConnected = true;
           bu.Add(CFN, newFace); // common faces from new compound
-          oldFaces.Append(F);
           for (TopExp_Explorer ee (F, TopAbs_EDGE); ee.More(); ee.Next()) {
             // find edge pair
             TopoDS_Edge Eold = TopoDS::Edge(ee.Current());
-            TopoDS_Edge Enew = FindSameEdge(newFace, Eold, theTolerance);
+            TopoDS_Edge Enew = FindSameEdge(newFace, Eold, aTolerance);
             if (Enew.IsNull()) {
               Standard_ConstructionError::Raise("Glue aborted : no same edge in same face");
             }
@@ -221,11 +241,10 @@ TopoDS_Shape GEOMImpl_GlueDriver::GlueFaces (const TopoDS_Shape& theShape,
             newEdges.Append(Enew);
           }
         } else {
-          addFaces.Append(F);
           bu.Add(CFO, F); // not common faces from shell to add
         }
       }
-      if (!newFaces.IsEmpty()) {
+      if (isConnected) {
         // some faces found
         shellAdded = true;
         BRepTools_Quilt glue;
@@ -250,6 +269,15 @@ TopoDS_Shape GEOMImpl_GlueDriver::GlueFaces (const TopoDS_Shape& theShape,
     }
   }
 
+  if (shellList.Extent() > 0) {
+    TCollection_AsciiString aMsg
+      ("Some shapes can not be glued with others, because they are too far from them.");
+    if (bigTolerance) {
+      aMsg += "\n\nWarning: The tolerance is too big for some sub-shapes, 1% of sub-shape size is given instead.";
+    }
+    Standard_ConstructionError::Raise(aMsg.ToCString());
+  }
+
   TopExp_Explorer exp (C, TopAbs_SHELL);
   Standard_Integer ish = 0;
   TopoDS_Compound  Res;
index e77c7e214e877a9539e0899e14c53cfdd3e71a57..a0225ef9cdf822a75b9bfed06c78d8ae381deb41 100644 (file)
@@ -336,6 +336,65 @@ Handle(GEOM_Object) GEOMImpl_IBasicOperations::MakeVectorTwoPnt
 }
 
 
+//=============================================================================
+/*!
+ *  MakeLine
+ */
+//=============================================================================
+Handle(GEOM_Object) GEOMImpl_IBasicOperations::MakeLine
+                     (Handle(GEOM_Object) thePnt, Handle(GEOM_Object) theDir)
+{
+  SetErrorCode(KO);
+
+  if (thePnt.IsNull() || theDir.IsNull()) return NULL;
+
+  //Add a new Line object
+  Handle(GEOM_Object) aLine = GetEngine()->AddObject(GetDocID(), GEOM_LINE);
+
+  //Add a new Line function
+  Handle(GEOM_Function) aFunction =
+    aLine->AddFunction(GEOMImpl_LineDriver::GetID(), LINE_PNT_DIR);
+
+  //Check if the function is set correctly
+  if (aFunction->GetDriverGUID() != GEOMImpl_LineDriver::GetID()) return NULL;
+
+  GEOMImpl_ILine aPI (aFunction);
+
+  Handle(GEOM_Function) aRef1 = thePnt->GetLastFunction();
+  Handle(GEOM_Function) aRef2 = theDir->GetLastFunction();
+  if (aRef1.IsNull() || aRef2.IsNull()) return NULL;
+
+  aPI.SetPoint1(aRef1);
+  aPI.SetPoint2(aRef2);
+
+  //Compute the Line value
+  try {
+    if (!GetSolver()->ComputeFunction(aFunction)) {
+      SetErrorCode("Line driver failed");
+      return NULL;
+    }
+  }
+  catch (Standard_Failure) {
+    Handle(Standard_Failure) aFail = Standard_Failure::Caught();
+    SetErrorCode(aFail->GetMessageString());
+    return NULL;
+  }
+
+  //Make a Python command
+  TCollection_AsciiString anEntry, aDescr;
+  TDF_Tool::Entry(aLine->GetEntry(), anEntry);
+  aDescr += (anEntry+" = IBasicOperations.MakeLine(");
+  TDF_Tool::Entry(thePnt->GetEntry(), anEntry);
+  aDescr += (anEntry+", ");
+  TDF_Tool::Entry(theDir->GetEntry(), anEntry);
+  aDescr += (anEntry+")");
+
+  aFunction->SetDescription(aDescr);
+
+  SetErrorCode(OK);
+  return aLine;
+}
+
 //=============================================================================
 /*!
  *  MakeLineTwoPnt
index ec09d01a887058960e55dbee6106d483effd0677..da601f7b42568481b94a1d33841e11e23fe405bd 100644 (file)
@@ -16,8 +16,8 @@ class GEOMImpl_IBasicOperations : public GEOM_IOperations {
   // Point
   Handle(GEOM_Object) MakePointXYZ (double theX, double theY, double theZ);
 
-  Handle(GEOM_Object) MakePointWithReference
-    (Handle(GEOM_Object) theReference, double theX, double theY, double theZ);
+  Handle(GEOM_Object) MakePointWithReference (Handle(GEOM_Object) theReference,
+                                              double theX, double theY, double theZ);
 
   Handle(GEOM_Object) MakePointOnCurve (Handle(GEOM_Object) theCurve,
                                         double theParameter);
@@ -25,12 +25,15 @@ class GEOMImpl_IBasicOperations : public GEOM_IOperations {
   // Vector
   Handle(GEOM_Object) MakeVectorDXDYDZ (double theDX, double theDY, double theDZ);
 
-  Handle(GEOM_Object) MakeVectorTwoPnt
-                     (Handle(GEOM_Object) thePnt1, Handle(GEOM_Object) thePnt2);
+  Handle(GEOM_Object) MakeVectorTwoPnt (Handle(GEOM_Object) thePnt1,
+                                        Handle(GEOM_Object) thePnt2);
 
   // Line
-  Handle(GEOM_Object) MakeLineTwoPnt
-                     (Handle(GEOM_Object) thePnt1, Handle(GEOM_Object) thePnt2);
+  Handle(GEOM_Object) MakeLineTwoPnt (Handle(GEOM_Object) thePnt1,
+                                      Handle(GEOM_Object) thePnt2);
+
+  Handle(GEOM_Object) MakeLine (Handle(GEOM_Object) thePnt,
+                                Handle(GEOM_Object) theDir);
 
   // Plane
   Handle(GEOM_Object) MakePlaneThreePnt (Handle(GEOM_Object) thePnt1,
index 49f458033dbc3ad3b8162b1b49c9a76afd1dbd66..9b7aedc80d8bb867edd7ef7d32697ddf0c56c687 100644 (file)
@@ -21,17 +21,20 @@ using namespace std;
 #include <TFunction_Logbook.hxx>
 #include <TDF_Tool.hxx>
 
-#include <BRepTools.hxx>
 #include <BRep_Tool.hxx>
-#include <BRepClass3d_SolidClassifier.hxx>
-#include <BRepClass_FaceClassifier.hxx>
+#include <BRepTools.hxx>
+#include <BRepGProp.hxx>
+#include <BRepBndLib.hxx>
 #include <BRepAdaptor_Surface.hxx>
+#include <BRepClass_FaceClassifier.hxx>
+#include <BRepClass3d_SolidClassifier.hxx>
 #include <BRepExtrema_DistShapeShape.hxx>
-#include <BRepGProp.hxx>
 
+#include <TopAbs.hxx>
 #include <TopoDS.hxx>
 #include <TopoDS_Edge.hxx>
 #include <TopoDS_Vertex.hxx>
+#include <TopoDS_Iterator.hxx>
 #include <TopExp.hxx>
 #include <TopExp_Explorer.hxx>
 #include <TopTools_MapOfShape.hxx>
@@ -40,9 +43,13 @@ using namespace std;
 #include <TopTools_ListIteratorOfListOfShape.hxx>
 #include <TopTools_IndexedDataMapOfShapeListOfShape.hxx>
 
+#include <Bnd_Box.hxx>
 #include <Precision.hxx>
 #include <GProp_GProps.hxx>
+#include <TColStd_MapOfInteger.hxx>
+#include <TColStd_Array1OfReal.hxx>
 #include <TColStd_Array1OfInteger.hxx>
+#include <TColStd_Array2OfInteger.hxx>
 
 #include <Standard_ErrorHandler.hxx> // CAREFUL ! position of this file is critic : see Lucien PIGNOLONI / OCC
 
@@ -70,34 +77,34 @@ GEOMImpl_IBlocksOperations::~GEOMImpl_IBlocksOperations()
 
 //=============================================================================
 /*!
- *  MakeQuadFaceFourVertices
+ *  MakeQuad
  */
 //=============================================================================
-Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceFourVertices
-                     (Handle(GEOM_Object) thePnt1, Handle(GEOM_Object) thePnt2,
-                      Handle(GEOM_Object) thePnt3, Handle(GEOM_Object) thePnt4)
+Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuad
+                     (Handle(GEOM_Object) theEdge1, Handle(GEOM_Object) theEdge2,
+                      Handle(GEOM_Object) theEdge3, Handle(GEOM_Object) theEdge4)
 {
   SetErrorCode(KO);
 
-  if (thePnt1.IsNull() || thePnt2.IsNull() ||
-      thePnt3.IsNull() || thePnt4.IsNull()) return NULL;
+  if (theEdge1.IsNull() || theEdge2.IsNull() ||
+      theEdge3.IsNull() || theEdge4.IsNull()) return NULL;
 
   //Add a new Face object
   Handle(GEOM_Object) aFace = GetEngine()->AddObject(GetDocID(), GEOM_FACE);
 
   //Add a new Face function
   Handle(GEOM_Function) aFunction =
-    aFace->AddFunction(GEOMImpl_BlockDriver::GetID(), BLOCK_FACE_FOUR_PNT);
+    aFace->AddFunction(GEOMImpl_BlockDriver::GetID(), BLOCK_FACE_FOUR_EDGES);
 
   //Check if the function is set correctly
   if (aFunction->GetDriverGUID() != GEOMImpl_BlockDriver::GetID()) return NULL;
 
   GEOMImpl_IBlocks aPI (aFunction);
 
-  Handle(GEOM_Function) aRef1 = thePnt1->GetLastFunction();
-  Handle(GEOM_Function) aRef2 = thePnt2->GetLastFunction();
-  Handle(GEOM_Function) aRef3 = thePnt3->GetLastFunction();
-  Handle(GEOM_Function) aRef4 = thePnt4->GetLastFunction();
+  Handle(GEOM_Function) aRef1 = theEdge1->GetLastFunction();
+  Handle(GEOM_Function) aRef2 = theEdge2->GetLastFunction();
+  Handle(GEOM_Function) aRef3 = theEdge3->GetLastFunction();
+  Handle(GEOM_Function) aRef4 = theEdge4->GetLastFunction();
   if (aRef1.IsNull() || aRef2.IsNull() ||
       aRef3.IsNull() || aRef4.IsNull()) return NULL;
 
@@ -125,15 +132,15 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceFourVertices
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aFace->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.MakeQuadFaceFourVertices(");
-  TDF_Tool::Entry(thePnt1->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
-  TDF_Tool::Entry(thePnt2->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
-  TDF_Tool::Entry(thePnt3->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
-  TDF_Tool::Entry(thePnt4->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + " = IBlocksOperations.MakeQuad(";
+  TDF_Tool::Entry(theEdge1->GetEntry(), anEntry);
+  aDescr += anEntry + ", ";
+  TDF_Tool::Entry(theEdge2->GetEntry(), anEntry);
+  aDescr += anEntry + ", ";
+  TDF_Tool::Entry(theEdge3->GetEntry(), anEntry);
+  aDescr += anEntry + ", ";
+  TDF_Tool::Entry(theEdge4->GetEntry(), anEntry);
+  aDescr += anEntry + ")";
 
   aFunction->SetDescription(aDescr);
 
@@ -143,24 +150,22 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceFourVertices
 
 //=============================================================================
 /*!
- *  MakeQuadFaceFourEdges
+ *  MakeQuad2Edges
  */
 //=============================================================================
-Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceFourEdges
-                     (Handle(GEOM_Object) theEdge1, Handle(GEOM_Object) theEdge2,
-                      Handle(GEOM_Object) theEdge3, Handle(GEOM_Object) theEdge4)
+Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuad2Edges
+                     (Handle(GEOM_Object) theEdge1, Handle(GEOM_Object) theEdge2)
 {
   SetErrorCode(KO);
 
-  if (theEdge1.IsNull() || theEdge2.IsNull() ||
-      theEdge3.IsNull() || theEdge4.IsNull()) return NULL;
+  if (theEdge1.IsNull() || theEdge2.IsNull()) return NULL;
 
   //Add a new Face object
   Handle(GEOM_Object) aFace = GetEngine()->AddObject(GetDocID(), GEOM_FACE);
 
   //Add a new Face function
   Handle(GEOM_Function) aFunction =
-    aFace->AddFunction(GEOMImpl_BlockDriver::GetID(), BLOCK_FACE_FOUR_EDGES);
+    aFace->AddFunction(GEOMImpl_BlockDriver::GetID(), BLOCK_FACE_TWO_EDGES);
 
   //Check if the function is set correctly
   if (aFunction->GetDriverGUID() != GEOMImpl_BlockDriver::GetID()) return NULL;
@@ -169,16 +174,11 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceFourEdges
 
   Handle(GEOM_Function) aRef1 = theEdge1->GetLastFunction();
   Handle(GEOM_Function) aRef2 = theEdge2->GetLastFunction();
-  Handle(GEOM_Function) aRef3 = theEdge3->GetLastFunction();
-  Handle(GEOM_Function) aRef4 = theEdge4->GetLastFunction();
-  if (aRef1.IsNull() || aRef2.IsNull() ||
-      aRef3.IsNull() || aRef4.IsNull()) return NULL;
+  if (aRef1.IsNull() || aRef2.IsNull()) return NULL;
 
   Handle(TColStd_HSequenceOfTransient) aShapesSeq = new TColStd_HSequenceOfTransient;
   aShapesSeq->Append(aRef1);
   aShapesSeq->Append(aRef2);
-  aShapesSeq->Append(aRef3);
-  aShapesSeq->Append(aRef4);
 
   aPI.SetShapes(aShapesSeq);
 
@@ -198,15 +198,11 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceFourEdges
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aFace->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.MakeQuadFaceFourEdges(");
+  aDescr += anEntry + " = IBlocksOperations.MakeQuad2Edges(";
   TDF_Tool::Entry(theEdge1->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theEdge2->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
-  TDF_Tool::Entry(theEdge3->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
-  TDF_Tool::Entry(theEdge4->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
 
   aFunction->SetDescription(aDescr);
 
@@ -216,35 +212,42 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceFourEdges
 
 //=============================================================================
 /*!
- *  MakeQuadFaceTwoEdges
+ *  MakeQuad4Vertices
  */
 //=============================================================================
-Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceTwoEdges
-                     (Handle(GEOM_Object) theEdge1, Handle(GEOM_Object) theEdge2)
+Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuad4Vertices
+                     (Handle(GEOM_Object) thePnt1, Handle(GEOM_Object) thePnt2,
+                      Handle(GEOM_Object) thePnt3, Handle(GEOM_Object) thePnt4)
 {
   SetErrorCode(KO);
 
-  if (theEdge1.IsNull() || theEdge2.IsNull()) return NULL;
+  if (thePnt1.IsNull() || thePnt2.IsNull() ||
+      thePnt3.IsNull() || thePnt4.IsNull()) return NULL;
 
   //Add a new Face object
   Handle(GEOM_Object) aFace = GetEngine()->AddObject(GetDocID(), GEOM_FACE);
 
   //Add a new Face function
   Handle(GEOM_Function) aFunction =
-    aFace->AddFunction(GEOMImpl_BlockDriver::GetID(), BLOCK_FACE_TWO_EDGES);
+    aFace->AddFunction(GEOMImpl_BlockDriver::GetID(), BLOCK_FACE_FOUR_PNT);
 
   //Check if the function is set correctly
   if (aFunction->GetDriverGUID() != GEOMImpl_BlockDriver::GetID()) return NULL;
 
   GEOMImpl_IBlocks aPI (aFunction);
 
-  Handle(GEOM_Function) aRef1 = theEdge1->GetLastFunction();
-  Handle(GEOM_Function) aRef2 = theEdge2->GetLastFunction();
-  if (aRef1.IsNull() || aRef2.IsNull()) return NULL;
+  Handle(GEOM_Function) aRef1 = thePnt1->GetLastFunction();
+  Handle(GEOM_Function) aRef2 = thePnt2->GetLastFunction();
+  Handle(GEOM_Function) aRef3 = thePnt3->GetLastFunction();
+  Handle(GEOM_Function) aRef4 = thePnt4->GetLastFunction();
+  if (aRef1.IsNull() || aRef2.IsNull() ||
+      aRef3.IsNull() || aRef4.IsNull()) return NULL;
 
   Handle(TColStd_HSequenceOfTransient) aShapesSeq = new TColStd_HSequenceOfTransient;
   aShapesSeq->Append(aRef1);
   aShapesSeq->Append(aRef2);
+  aShapesSeq->Append(aRef3);
+  aShapesSeq->Append(aRef4);
 
   aPI.SetShapes(aShapesSeq);
 
@@ -264,11 +267,15 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceTwoEdges
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aFace->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.MakeQuadFaceTwoEdges(");
-  TDF_Tool::Entry(theEdge1->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
-  TDF_Tool::Entry(theEdge2->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + " = IBlocksOperations.MakeQuad4Vertices(";
+  TDF_Tool::Entry(thePnt1->GetEntry(), anEntry);
+  aDescr += anEntry + ", ";
+  TDF_Tool::Entry(thePnt2->GetEntry(), anEntry);
+  aDescr += anEntry + ", ";
+  TDF_Tool::Entry(thePnt3->GetEntry(), anEntry);
+  aDescr += anEntry + ", ";
+  TDF_Tool::Entry(thePnt4->GetEntry(), anEntry);
+  aDescr += anEntry + ")";
 
   aFunction->SetDescription(aDescr);
 
@@ -278,10 +285,10 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeQuadFaceTwoEdges
 
 //=============================================================================
 /*!
- *  MakeHexaSolidSixFaces
+ *  MakeHexa
  */
 //=============================================================================
-Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeHexaSolidSixFaces
+Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeHexa
                      (Handle(GEOM_Object) theFace1, Handle(GEOM_Object) theFace2,
                       Handle(GEOM_Object) theFace3, Handle(GEOM_Object) theFace4,
                       Handle(GEOM_Object) theFace5, Handle(GEOM_Object) theFace6)
@@ -340,19 +347,19 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeHexaSolidSixFaces
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aBlock->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.MakeHexaSolidSixFaces(");
+  aDescr += anEntry + " = IBlocksOperations.MakeHexa(";
   TDF_Tool::Entry(theFace1->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theFace2->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theFace3->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theFace4->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theFace5->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theFace6->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
 
   aFunction->SetDescription(aDescr);
 
@@ -362,10 +369,10 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeHexaSolidSixFaces
 
 //=============================================================================
 /*!
- *  MakeHexaSolidTwoFaces
+ *  MakeHexa2Faces
  */
 //=============================================================================
-Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeHexaSolidTwoFaces
+Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeHexa2Faces
                    (Handle(GEOM_Object) theFace1, Handle(GEOM_Object) theFace2)
 {
   SetErrorCode(KO);
@@ -410,11 +417,11 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeHexaSolidTwoFaces
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aBlock->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.MakeHexaSolidTwoFaces(");
+  aDescr += anEntry + " = IBlocksOperations.MakeHexa2Faces(";
   TDF_Tool::Entry(theFace1->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theFace2->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
 
   aFunction->SetDescription(aDescr);
 
@@ -422,6 +429,152 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeHexaSolidTwoFaces
   return aBlock;
 }
 
+//=============================================================================
+/*!
+ *  MakeBlockCompound
+ */
+//=============================================================================
+Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeBlockCompound
+                                              (Handle(GEOM_Object) theCompound)
+{
+  SetErrorCode(KO);
+
+  if (theCompound.IsNull()) return NULL;
+
+  //Add a new object
+  Handle(GEOM_Object) aBlockComp = GetEngine()->AddObject(GetDocID(), GEOM_COMPOUND);
+
+  //Add a new BlocksComp function
+  Handle(GEOM_Function) aFunction =
+    aBlockComp->AddFunction(GEOMImpl_BlockDriver::GetID(), BLOCK_COMPOUND_GLUE);
+
+  //Check if the function is set correctly
+  if (aFunction->GetDriverGUID() != GEOMImpl_BlockDriver::GetID()) return NULL;
+
+  GEOMImpl_IBlocks aPI (aFunction);
+
+  Handle(GEOM_Function) aRef1 = theCompound->GetLastFunction();
+  if (aRef1.IsNull()) return NULL;
+
+  Handle(TColStd_HSequenceOfTransient) aShapesSeq = new TColStd_HSequenceOfTransient;
+  aShapesSeq->Append(aRef1);
+
+  aPI.SetShapes(aShapesSeq);
+
+  //Compute the Blocks Compound value
+  try {
+    if (!GetSolver()->ComputeFunction(aFunction)) {
+      SetErrorCode("Block driver failed to compute a blocks compound");
+      return NULL;
+    }
+  }
+  catch (Standard_Failure) {
+    Handle(Standard_Failure) aFail = Standard_Failure::Caught();
+    SetErrorCode(aFail->GetMessageString());
+    return NULL;
+  }
+
+  //Make a Python command
+  TCollection_AsciiString anEntry, aDescr;
+  TDF_Tool::Entry(aBlockComp->GetEntry(), anEntry);
+  aDescr += anEntry + " = IBlocksOperations.MakeBlockCompound(";
+  TDF_Tool::Entry(theCompound->GetEntry(), anEntry);
+  aDescr += anEntry + ")";
+
+  aFunction->SetDescription(aDescr);
+
+  SetErrorCode(OK);
+  return aBlockComp;
+}
+
+//=============================================================================
+/*!
+ *  GetEdge
+ */
+//=============================================================================
+Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetPoint
+                                               (Handle(GEOM_Object) theShape,
+                                                const Standard_Real theX,
+                                                const Standard_Real theY,
+                                                const Standard_Real theZ,
+                                                const Standard_Real theEpsilon)
+{
+  SetErrorCode(KO);
+
+  //New Point object
+  Handle(GEOM_Object) aResult;
+
+  // Arguments
+  if (theShape.IsNull()) return NULL;
+
+  TopoDS_Shape aBlockOrComp = theShape->GetValue();
+  if (aBlockOrComp.IsNull()) {
+    SetErrorCode("Block or compound is null");
+    return NULL;
+  }
+  if (aBlockOrComp.ShapeType() != TopAbs_SOLID &&
+      aBlockOrComp.ShapeType() != TopAbs_COMPOUND &&
+      aBlockOrComp.ShapeType() != TopAbs_COMPSOLID) {
+    SetErrorCode("Shape is neither a block, nor a compound of blocks");
+    return NULL;
+  }
+
+  //Compute the Vertex value
+  gp_Pnt P (theX, theY, theZ);
+  Standard_Real eps = Max(theEpsilon, Precision::Confusion());
+
+  TopoDS_Shape V;
+  Standard_Integer isFound = 0;
+  TopTools_MapOfShape mapShape;
+  TopExp_Explorer exp (aBlockOrComp, TopAbs_VERTEX);
+
+  for (; exp.More(); exp.Next()) {
+    if (mapShape.Add(exp.Current())) {
+      TopoDS_Vertex aVi = TopoDS::Vertex(exp.Current());
+      gp_Pnt aPi = BRep_Tool::Pnt(aVi);
+      if (aPi.Distance(P) < eps) {
+        V = aVi;
+        isFound++;
+      }
+    }
+  }
+
+  if (isFound == 0) {
+    SetErrorCode("Vertex has not been found");
+    return NULL;
+  } else if (isFound > 1) {
+    SetErrorCode("Multiple vertices found by the given coordinates and epsilon");
+    return NULL;
+  } else {
+    TopTools_IndexedMapOfShape anIndices;
+    TopExp::MapShapes(aBlockOrComp, anIndices);
+    Handle(TColStd_HArray1OfInteger) anArray = new TColStd_HArray1OfInteger(1,1);
+    anArray->SetValue(1, anIndices.FindIndex(V));
+    aResult = GetEngine()->AddSubShape(theShape, anArray);
+  }
+
+  //The GetPoint() doesn't change object so no new function is required.
+  Handle(GEOM_Function) aFunction = theShape->GetLastFunction();
+
+  //Make a Python command
+  TCollection_AsciiString anEntry, aDescr;
+  TDF_Tool::Entry(aResult->GetEntry(), anEntry);
+  aDescr += anEntry + " = IBlocksOperations.GetPoint(";
+  TDF_Tool::Entry(theShape->GetEntry(), anEntry);
+  aDescr += anEntry + ", ";
+  aDescr += TCollection_AsciiString(theX) + ", ";
+  aDescr += TCollection_AsciiString(theY) + ", ";
+  aDescr += TCollection_AsciiString(theZ) + ", ";
+  aDescr += TCollection_AsciiString(theEpsilon) + ")";
+
+  TCollection_AsciiString aNewDescr = aFunction->GetDescription() + "\n";
+  aNewDescr += aDescr;
+  aFunction->SetDescription(aNewDescr);
+
+  SetErrorCode(OK);
+  return aResult;
+}
+
 //=============================================================================
 /*!
  *  GetEdge
@@ -502,31 +655,9 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetEdge
       return NULL;
     }
 
-    const TopTools_ListOfShape& anEdgesOfV1 = MVE.FindFromKey(V1);
-    const TopTools_ListOfShape& anEdgesOfV2 = MVE.FindFromKey(V2);
-
-    Standard_Integer isFound = 0;
-    TopTools_ListIteratorOfListOfShape anIterE1 (anEdgesOfV1);
-    TopTools_MapOfShape mapShape1;
     TopoDS_Shape anEdge;
-    for (; anIterE1.More(); anIterE1.Next()) {
-
-      if (mapShape1.Add(anIterE1.Value())) {
-        TopTools_ListIteratorOfListOfShape anIterE2 (anEdgesOfV2);
-        TopTools_MapOfShape mapShape2;
-        for (; anIterE2.More(); anIterE2.Next()) {
-
-          if (mapShape2.Add(anIterE2.Value())) {
-            if (anIterE1.Value().IsSame(anIterE2.Value())) {
-              isFound++;
-
-              // Store the edge, defined by two vertices
-              anEdge = anIterE1.Value();
-            }
-          }
-        }
-      }
-    }
+    Standard_Integer isFound =
+      GEOMImpl_Block6Explorer::FindEdge(anEdge, V1, V2, MVE, Standard_True);
     if (isFound == 0) {
       SetErrorCode("The given vertices do not belong to one edge of the given shape");
       return NULL;
@@ -552,13 +683,141 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetEdge
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aResult->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.GetEdge(");
+  aDescr += anEntry + " = IBlocksOperations.GetEdge(";
   TDF_Tool::Entry(theShape->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(thePoint1->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(thePoint2->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
+
+  TCollection_AsciiString aNewDescr = aFunction->GetDescription() + "\n";
+  aNewDescr += aDescr;
+  aFunction->SetDescription(aNewDescr);
+
+  SetErrorCode(OK);
+  return aResult;
+}
+
+//=============================================================================
+/*!
+ *  GetEdgeNearPoint
+ */
+//=============================================================================
+Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetEdgeNearPoint
+                                                (Handle(GEOM_Object) theShape,
+                                                 Handle(GEOM_Object) thePoint)
+{
+  SetErrorCode(KO);
+
+  //New object
+  Handle(GEOM_Object) aResult;
+
+  // Arguments
+  if (theShape.IsNull() || thePoint.IsNull()) return NULL;
+
+  TopoDS_Shape aBlockOrComp = theShape->GetValue();
+  if (aBlockOrComp.IsNull()) {
+    SetErrorCode("Block or compound is null");
+    return NULL;
+  }
+  if (aBlockOrComp.ShapeType() != TopAbs_SOLID &&
+      aBlockOrComp.ShapeType() != TopAbs_COMPOUND &&
+      aBlockOrComp.ShapeType() != TopAbs_COMPSOLID) {
+    SetErrorCode("Shape is neither a block, nor a compound of blocks");
+    return NULL;
+  }
+
+  TopoDS_Shape anArg = thePoint->GetValue();
+  if (anArg.IsNull()) {
+    SetErrorCode("Null shape is given as argument");
+    return NULL;
+  }
+  if (anArg.ShapeType() != TopAbs_VERTEX) {
+    SetErrorCode("Element for edge identification is not a vertex");
+    return NULL;
+  }
+
+  //Compute the Edge value
+  try {
+    TopoDS_Shape aShape;
+
+    TopoDS_Vertex aVert = TopoDS::Vertex(anArg);
+
+    // 1. Explode blocks on edges
+    TopTools_MapOfShape mapShape;
+    Standard_Integer nbEdges = 0;
+    TopExp_Explorer exp (aBlockOrComp, TopAbs_EDGE);
+    for (; exp.More(); exp.Next()) {
+      if (mapShape.Add(exp.Current())) {
+        nbEdges++;
+      }
+    }
+
+    mapShape.Clear();
+    Standard_Integer ind = 1;
+    TopTools_Array1OfShape anEdges (1, nbEdges);
+    TColStd_Array1OfReal aDistances (1, nbEdges);
+    for (exp.Init(aBlockOrComp, TopAbs_EDGE); exp.More(); exp.Next()) {
+      if (mapShape.Add(exp.Current())) {
+        TopoDS_Shape anEdge = exp.Current();
+        anEdges(ind) = anEdge;
+
+        // 2. Classify the point relatively each edge
+        BRepExtrema_DistShapeShape aDistTool (aVert, anEdges(ind));
+        if (!aDistTool.IsDone()) {
+          SetErrorCode("Can not find a distance from the given point to one of edges");
+          return NULL;
+        }
+        aDistances(ind) = aDistTool.Value();
+        ind++;
+      }
+    }
+
+    // 3. Define edge, having minimum distance to the point
+    Standard_Real nearest = RealLast(), nbFound = 0;
+    Standard_Real prec = Precision::Confusion();
+    for (ind = 1; ind <= nbEdges; ind++) {
+      if (Abs(aDistances(ind) - nearest) < prec) {
+        nbFound++;
+      } else if (aDistances(ind) < nearest) {
+        nearest = aDistances(ind);
+        aShape = anEdges(ind);
+        nbFound = 1;
+      } else {
+      }
+    }
+    if (nbFound > 1) {
+      SetErrorCode("Multiple edges near the given point are found");
+      return NULL;
+    } else if (nbFound == 0) {
+      SetErrorCode("There are no edges near the given point");
+      return NULL;
+    } else {
+      TopTools_IndexedMapOfShape anIndices;
+      TopExp::MapShapes(aBlockOrComp, anIndices);
+      Handle(TColStd_HArray1OfInteger) anArray = new TColStd_HArray1OfInteger(1,1);
+      anArray->SetValue(1, anIndices.FindIndex(aShape));
+      aResult = GetEngine()->AddSubShape(theShape, anArray);
+    }
+  }
+  catch (Standard_Failure) {
+    Handle(Standard_Failure) aFail = Standard_Failure::Caught();
+    SetErrorCode(aFail->GetMessageString());
+    return NULL;
+  }
+
+  //The GetEdgeNearPoint() doesn't change object so no new function is required.
+  Handle(GEOM_Function) aFunction = theShape->GetLastFunction();
+
+  //Make a Python command
+  TCollection_AsciiString anEntry, aDescr;
+  TDF_Tool::Entry(aResult->GetEntry(), anEntry);
+  aDescr += anEntry + " = IBlocksOperations.GetEdgeNearPoint(";
+  TDF_Tool::Entry(theShape->GetEntry(), anEntry);
+  aDescr += anEntry + ", ";
+  TDF_Tool::Entry(thePoint->GetEntry(), anEntry);
+  aDescr += anEntry + ")";
 
   TCollection_AsciiString aNewDescr = aFunction->GetDescription() + "\n";
   aNewDescr += aDescr;
@@ -682,39 +941,8 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetFaceByPoints
       return NULL;
     }
 
-    const TopTools_ListOfShape& aFacesOfV1 = MVF.FindFromKey(V1);
-    const TopTools_ListOfShape& aFacesOfV2 = MVF.FindFromKey(V2);
-    const TopTools_ListOfShape& aFacesOfV3 = MVF.FindFromKey(V3);
-    const TopTools_ListOfShape& aFacesOfV4 = MVF.FindFromKey(V4);
-
-    Standard_Integer isFound = 0;
-    TopTools_ListIteratorOfListOfShape anIterF1 (aFacesOfV1);
-    for (; anIterF1.More(); anIterF1.Next()) {
-
-      TopoDS_Shape aFace = anIterF1.Value();
-      TopTools_ListIteratorOfListOfShape anIterF2 (aFacesOfV2);
-      for (; anIterF2.More(); anIterF2.Next()) {
-
-        if (aFace.IsSame(anIterF2.Value())) {
-          TopTools_ListIteratorOfListOfShape anIterF3 (aFacesOfV3);
-          for (; anIterF3.More(); anIterF3.Next()) {
-
-            if (aFace.IsSame(anIterF3.Value())) {
-              TopTools_ListIteratorOfListOfShape anIterF4 (aFacesOfV4);
-              for (; anIterF4.More(); anIterF4.Next()) {
-
-                if (aFace.IsSame(anIterF4.Value())) {
-                  isFound++;
-
-                  // Store the face, defined by four vertices
-                  aShape = aFace;
-                }
-              }
-            }
-          }
-        }
-      }
-    }
+    Standard_Integer isFound =
+      GEOMImpl_Block6Explorer::FindFace(aShape, V1, V2, V3, V4, MVF, Standard_True);
     if (isFound == 0) {
       SetErrorCode("The given vertices do not belong to one face of the given shape");
       return NULL;
@@ -741,17 +969,17 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetFaceByPoints
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aResult->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.GetFaceByPoints(");
+  aDescr += anEntry + " = IBlocksOperations.GetFaceByPoints(";
   TDF_Tool::Entry(theShape->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(thePoint1->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(thePoint2->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(thePoint3->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(thePoint4->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
 
   TCollection_AsciiString aNewDescr = aFunction->GetDescription() + "\n";
   aNewDescr += aDescr;
@@ -884,13 +1112,13 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetFaceByEdges
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aResult->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.GetFaceByEdges(");
+  aDescr += anEntry + " = IBlocksOperations.GetFaceByEdges(";
   TDF_Tool::Entry(theShape->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theEdge1->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theEdge2->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
 
   TCollection_AsciiString aNewDescr = aFunction->GetDescription() + "\n";
   aNewDescr += aDescr;
@@ -963,11 +1191,11 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetOppositeFace
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aResult->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.GetOppositeFace(");
+  aDescr += anEntry + " = IBlocksOperations.GetOppositeFace(";
   TDF_Tool::Entry(theShape->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theFace->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
 
   TCollection_AsciiString aNewDescr = aFunction->GetDescription() + "\n";
   aNewDescr += aDescr;
@@ -1136,11 +1364,11 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetFaceNearPoint
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aResult->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.GetFaceNearPoint(");
+  aDescr += anEntry + " = IBlocksOperations.GetFaceNearPoint(";
   TDF_Tool::Entry(theShape->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(thePoint->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
 
   TCollection_AsciiString aNewDescr = aFunction->GetDescription() + "\n";
   aNewDescr += aDescr;
@@ -1206,7 +1434,6 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetFaceByNormale
 
     Standard_Real minAngle = RealLast();
     TopTools_MapOfShape mapShape;
-    Standard_Integer nbFaces = 0;
     TopExp_Explorer exp (aBlockOrComp, TopAbs_FACE);
     for (; exp.More(); exp.Next()) {
       if (mapShape.Add(exp.Current())) {
@@ -1280,11 +1507,11 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetFaceByNormale
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aResult->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.GetFaceByNormale(");
+  aDescr += anEntry + " = IBlocksOperations.GetFaceByNormale(";
   TDF_Tool::Entry(theShape->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(theVector->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
 
   TCollection_AsciiString aNewDescr = aFunction->GetDescription() + "\n";
   aNewDescr += aDescr;
@@ -1351,6 +1578,466 @@ Standard_Boolean GEOMImpl_IBlocksOperations::IsCompoundOfBlocks
   return isCompOfBlocks;
 }
 
+//=============================================================================
+/*!
+ *  Set of functions, used by CheckCompoundOfBlocks() method
+ */
+//=============================================================================
+void AddBlocksFrom (const TopoDS_Shape&  theShape,
+                    TopTools_ListOfShape& BLO,
+                    TopTools_ListOfShape& NOT)
+{
+  TopAbs_ShapeEnum aType = theShape.ShapeType();
+  switch (aType) {
+  case TopAbs_COMPOUND:
+  case TopAbs_COMPSOLID:
+    {
+      TopoDS_Iterator It (theShape);
+      for (; It.More(); It.Next()) {
+        AddBlocksFrom(It.Value(), BLO, NOT);
+      }
+    }
+    break;
+  case TopAbs_SOLID:
+    {
+      TopTools_MapOfShape mapFaces;
+      TopExp_Explorer expF (theShape, TopAbs_FACE);
+      Standard_Integer nbFaces = 0;
+      Standard_Integer nbEdges = 0;
+      for (; expF.More(); expF.Next()) {
+        if (mapFaces.Add(expF.Current())) {
+          nbFaces++;
+          if (nbFaces > 6) break;
+
+          // Check number of edges in the face
+          TopoDS_Shape aF = expF.Current();
+          TopExp_Explorer expE (aF, TopAbs_EDGE);
+          nbEdges = 0;
+          for (; expE.More(); expE.Next()) {
+            nbEdges++;
+            if (nbEdges > 4) break;
+          }
+          if (nbEdges != 4) break;
+        }
+      }
+      if (nbFaces == 6 && nbEdges == 4) {
+        BLO.Append(theShape);
+      } else {
+        NOT.Append(theShape);
+      }
+    }
+    break;
+  default:
+    NOT.Append(theShape);
+  }
+}
+
+#define REL_NOT_CONNECTED 0
+#define REL_OK            1
+#define REL_NOT_GLUED     2
+#define REL_COLLISION_VV  3
+#define REL_COLLISION_FF  4
+#define REL_COLLISION_EE  5
+#define REL_UNKNOWN       6
+
+Standard_Integer BlocksRelation (const TopoDS_Shape& theBlock1,
+                                 const TopoDS_Shape& theBlock2)
+{
+  // Compare bounding boxes before calling BRepExtrema_DistShapeShape
+  Standard_Real Xmin1, Ymin1, Zmin1, Xmax1, Ymax1, Zmax1;
+  Standard_Real Xmin2, Ymin2, Zmin2, Xmax2, Ymax2, Zmax2;
+  Bnd_Box B1, B2;
+  BRepBndLib::Add(theBlock1, B1);
+  BRepBndLib::Add(theBlock2, B2);
+//  BRepBndLib::AddClose(theBlock1, B1);
+//  BRepBndLib::AddClose(theBlock2, B2);
+  B1.Get(Xmin1, Ymin1, Zmin1, Xmax1, Ymax1, Zmax1);
+  B2.Get(Xmin2, Ymin2, Zmin2, Xmax2, Ymax2, Zmax2);
+  if (Xmax2 < Xmin1 || Xmax1 < Xmin2 ||
+      Ymax2 < Ymin1 || Ymax1 < Ymin2 ||
+      Zmax2 < Zmin1 || Zmax1 < Zmin2) {
+//  Standard_Real prec = Precision::Confusion();
+//  if (prec < Xmin1 - Xmax2 || prec < Xmin2 - Xmax1 ||
+//      prec < Ymin1 - Ymax2 || prec < Ymin2 - Ymax1 ||
+//      prec < Zmin1 - Zmax2 || prec < Zmin2 - Zmax1) {
+    return REL_NOT_CONNECTED;
+  }
+  // to be done
+
+  BRepExtrema_DistShapeShape dst (theBlock1, theBlock2);
+  if (!dst.IsDone()) {
+    return REL_UNKNOWN;
+  }
+
+  if (dst.Value() > Precision::Confusion()) {
+    return REL_NOT_CONNECTED;
+  }
+
+  if (dst.InnerSolution()) {
+    return REL_COLLISION_VV;
+  }
+
+  Standard_Integer nbSol = dst.NbSolution();
+  Standard_Integer relation = REL_OK;
+  Standard_Integer nbVerts = 0;
+  Standard_Integer nbEdges = 0;
+  Standard_Integer sol = 1;
+  for (; sol <= nbSol; sol++) {
+    BRepExtrema_SupportType supp1 = dst.SupportTypeShape1(sol);
+    BRepExtrema_SupportType supp2 = dst.SupportTypeShape2(sol);
+    if (supp1 == BRepExtrema_IsVertex && supp2 == BRepExtrema_IsVertex) {
+      nbVerts++;
+    } else if (supp1 == BRepExtrema_IsInFace || supp2 == BRepExtrema_IsInFace) {
+      return REL_COLLISION_FF;
+    } else if (supp1 == BRepExtrema_IsOnEdge && supp2 == BRepExtrema_IsOnEdge) {
+      nbEdges++;
+    } else if ((supp1 == BRepExtrema_IsOnEdge && supp2 == BRepExtrema_IsVertex) ||
+               (supp2 == BRepExtrema_IsOnEdge && supp1 == BRepExtrema_IsVertex)) {
+      relation = REL_COLLISION_EE;
+    } else {
+    }
+  }
+
+  if (relation != REL_OK) {
+    return relation;
+  }
+
+  TColStd_Array1OfInteger vertSol (1, nbVerts);
+  TopTools_Array1OfShape V1 (1, nbVerts);
+  TopTools_Array1OfShape V2 (1, nbVerts);
+  Standard_Integer ivs = 0;
+  for (sol = 1; sol <= nbSol; sol++) {
+    if (dst.SupportTypeShape1(sol) == BRepExtrema_IsVertex &&
+        dst.SupportTypeShape2(sol) == BRepExtrema_IsVertex) {
+      TopoDS_Vertex Vcur = TopoDS::Vertex(dst.SupportOnShape1(sol));
+      // Check, that this vertex is far enough from other solution vertices.
+      Standard_Integer ii = 1;
+      for (; ii <= ivs; ii++) {
+        if (BRepTools::Compare(TopoDS::Vertex(V1(ii)), Vcur)) {
+          continue;
+        }
+      }
+      ivs++;
+      vertSol(ivs) = sol;
+      V1(ivs) = Vcur;
+      V2(ivs) = dst.SupportOnShape2(sol);
+    }
+  }
+
+  // As we deal only with quadrangles,
+  // 2, 3 or 4 vertex solutions can be found.
+  if (ivs <= 1) {
+    if (nbEdges > 0) {
+      return REL_COLLISION_FF;
+    }
+    return REL_NOT_CONNECTED;
+  }
+  if (ivs > 4) {
+    return REL_UNKNOWN;
+  }
+
+  // Check sharing of coincident entities.
+  if (ivs == 2 || ivs == 3) {
+    // Map vertices and edges of the blocks
+    TopTools_IndexedDataMapOfShapeListOfShape MVE1, MVE2;
+    GEOMImpl_Block6Explorer::MapShapesAndAncestors
+      (theBlock1, TopAbs_VERTEX, TopAbs_EDGE, MVE1);
+    GEOMImpl_Block6Explorer::MapShapesAndAncestors
+      (theBlock2, TopAbs_VERTEX, TopAbs_EDGE, MVE2);
+
+    if (ivs == 2) {
+      // Find common edge
+      TopoDS_Shape anEdge1, anEdge2;
+      GEOMImpl_Block6Explorer::FindEdge(anEdge1, V1(1), V1(2), MVE1);
+      if (anEdge1.IsNull()) return REL_UNKNOWN;
+
+      GEOMImpl_Block6Explorer::FindEdge(anEdge2, V2(1), V2(2), MVE2);
+      if (anEdge2.IsNull()) return REL_UNKNOWN;
+
+      if (!anEdge1.IsSame(anEdge2)) return REL_NOT_GLUED;
+
+    } else { // ivs == 3
+      // Find common edges
+      Standard_Integer e1_v1 = 1;
+      Standard_Integer e1_v2 = 2;
+      Standard_Integer e2_v1 = 3;
+      Standard_Integer e2_v2 = 1;
+
+      TopoDS_Shape anEdge11, anEdge12;
+      GEOMImpl_Block6Explorer::FindEdge(anEdge11, V1(e1_v1), V1(e1_v2), MVE1);
+      if (anEdge11.IsNull()) {
+        e1_v2 = 3;
+        e2_v1 = 2;
+        GEOMImpl_Block6Explorer::FindEdge(anEdge11, V1(e1_v1), V1(e1_v2), MVE1);
+        if (anEdge11.IsNull()) return REL_UNKNOWN;
+      }
+      GEOMImpl_Block6Explorer::FindEdge(anEdge12, V1(e2_v1), V1(e2_v2), MVE1);
+      if (anEdge12.IsNull()) {
+        e2_v2 = 5 - e2_v1;
+        GEOMImpl_Block6Explorer::FindEdge(anEdge12, V1(e2_v1), V1(e2_v2), MVE1);
+        if (anEdge12.IsNull()) return REL_UNKNOWN;
+      }
+
+      TopoDS_Shape anEdge21, anEdge22;
+      GEOMImpl_Block6Explorer::FindEdge(anEdge21, V2(e1_v1), V2(e1_v2), MVE2);
+      if (anEdge21.IsNull()) return REL_UNKNOWN;
+      GEOMImpl_Block6Explorer::FindEdge(anEdge22, V2(e2_v1), V2(e2_v2), MVE2);
+      if (anEdge22.IsNull()) return REL_UNKNOWN;
+
+      // Check of edges coincidence (with some precision) have to be done here
+      // if (!anEdge11.IsEqual(anEdge21)) return REL_UNKNOWN;
+      // if (!anEdge12.IsEqual(anEdge22)) return REL_UNKNOWN;
+
+      // Check of edges sharing
+      if (!anEdge11.IsSame(anEdge21)) return REL_NOT_GLUED;
+      if (!anEdge12.IsSame(anEdge22)) return REL_NOT_GLUED;
+    }
+  }
+
+  if (ivs == 4) {
+    // Map vertices and faces of the blocks
+    TopTools_IndexedDataMapOfShapeListOfShape MVF1, MVF2;
+    GEOMImpl_Block6Explorer::MapShapesAndAncestors
+      (theBlock1, TopAbs_VERTEX, TopAbs_FACE, MVF1);
+    GEOMImpl_Block6Explorer::MapShapesAndAncestors
+      (theBlock2, TopAbs_VERTEX, TopAbs_FACE, MVF2);
+
+    TopoDS_Shape aFace1, aFace2;
+    GEOMImpl_Block6Explorer::FindFace(aFace1, V1(1), V1(2), V1(3), V1(4), MVF1);
+    if (aFace1.IsNull()) return REL_UNKNOWN;
+    GEOMImpl_Block6Explorer::FindFace(aFace2, V2(1), V2(2), V2(3), V2(4), MVF2);
+    if (aFace2.IsNull()) return REL_UNKNOWN;
+
+    // Check of faces coincidence (with some precision) have to be done here
+    // if (!aFace1.IsEqual(aFace2)) return REL_UNKNOWN;
+
+    // Check of faces sharing
+    if (!aFace1.IsSame(aFace2)) return REL_NOT_GLUED;
+  }
+
+  return REL_OK;
+}
+
+void FindConnected (const Standard_Integer         theBlockIndex,
+                    const TColStd_Array2OfInteger& theRelations,
+                    TColStd_MapOfInteger&          theProcessedMap,
+                    TColStd_MapOfInteger&          theConnectedMap)
+{
+  theConnectedMap.Add(theBlockIndex);
+  theProcessedMap.Add(theBlockIndex);
+
+  Standard_Integer nbBlocks = theRelations.ColLength();
+  Standard_Integer col = 1;
+  for (; col <= nbBlocks; col++) {
+    if (theRelations(theBlockIndex, col) == REL_OK ||
+        theRelations(theBlockIndex, col) == REL_NOT_GLUED) {
+      if (!theProcessedMap.Contains(col)) {
+        FindConnected(col, theRelations, theProcessedMap, theConnectedMap);
+      }
+    }
+  }
+}
+
+Standard_Boolean HasAnyConnection (const Standard_Integer         theBlockIndex,
+                                   const TColStd_MapOfInteger&    theWith,
+                                   const TColStd_Array2OfInteger& theRelations,
+                                   TColStd_MapOfInteger&          theProcessedMap)
+{
+  theProcessedMap.Add(theBlockIndex);
+
+  Standard_Integer nbBlocks = theRelations.ColLength();
+  Standard_Integer col = 1;
+  for (; col <= nbBlocks; col++) {
+    if (theRelations(theBlockIndex, col) != REL_NOT_CONNECTED) {
+      if (!theProcessedMap.Contains(col)) {
+        if (theWith.Contains(col))
+          return Standard_True;
+        if (HasAnyConnection(col, theWith, theRelations, theProcessedMap))
+          return Standard_True;
+      }
+    }
+  }
+
+  return Standard_False;
+}
+
+//=============================================================================
+/*!
+ *  CheckCompoundOfBlocks
+ */
+//=============================================================================
+Standard_Boolean GEOMImpl_IBlocksOperations::CheckCompoundOfBlocks
+                                                (Handle(GEOM_Object) theCompound,
+                                                 list<BCError>&      theErrors)
+{
+  SetErrorCode(KO);
+
+  if (theCompound.IsNull()) return Standard_False;
+  TopoDS_Shape aBlockOrComp = theCompound->GetValue();
+
+  Standard_Boolean isCompOfBlocks = Standard_True;
+
+  // Map sub-shapes and their indices
+  TopTools_IndexedMapOfShape anIndices;
+  TopExp::MapShapes(aBlockOrComp, anIndices);
+
+  // 1. Report non-blocks
+  TopTools_ListOfShape NOT; // Not blocks
+  TopTools_ListOfShape BLO; // All blocks from the given compound
+  AddBlocksFrom(aBlockOrComp, BLO, NOT);
+
+  if (NOT.Extent() > 0) {
+    isCompOfBlocks = Standard_False;
+    BCError anErr;
+    anErr.error = NOT_BLOCK;
+    TopTools_ListIteratorOfListOfShape NOTit (NOT);
+    for (; NOTit.More(); NOTit.Next()) {
+      anErr.incriminated.push_back(anIndices.FindIndex(NOTit.Value()));
+    }
+    theErrors.push_back(anErr);
+  }
+
+  Standard_Integer nbBlocks = BLO.Extent();
+  if (nbBlocks == 0) {
+    isCompOfBlocks = Standard_False;
+    SetErrorCode(OK);
+    return isCompOfBlocks;
+  }
+  if (nbBlocks == 1) {
+    SetErrorCode(OK);
+    return isCompOfBlocks;
+  }
+
+  // Convert list of blocks into array for easy and fast access
+  Standard_Integer ibl = 1;
+  TopTools_Array1OfShape aBlocks (1, nbBlocks);
+  TopTools_ListIteratorOfListOfShape BLOit (BLO);
+  for (; BLOit.More(); BLOit.Next(), ibl++) {
+    aBlocks.SetValue(ibl, BLOit.Value());
+  }
+
+  // 2. Find relations between all blocks,
+  //    report connection errors (NOT_GLUED and INVALID_CONNECTION)
+  TColStd_Array2OfInteger aRelations (1, nbBlocks, 1, nbBlocks);
+  aRelations.Init(REL_NOT_CONNECTED);
+
+  Standard_Integer row = 1;
+  for (row = 1; row <= nbBlocks; row++) {
+    TopoDS_Shape aBlock = aBlocks.Value(row);
+
+    Standard_Integer col = row + 1;
+    for (; col <= nbBlocks; col++) {
+      Standard_Integer aRel = BlocksRelation(aBlock, aBlocks.Value(col));
+      if (aRel != REL_NOT_CONNECTED) {
+        aRelations.SetValue(row, col, aRel);
+        aRelations.SetValue(col, row, aRel);
+        if (aRel == REL_NOT_GLUED) {
+          // report connection error
+          isCompOfBlocks = Standard_False;
+          BCError anErr;
+          anErr.error = NOT_GLUED;
+          anErr.incriminated.push_back(anIndices.FindIndex(aBlocks.Value(row)));
+          anErr.incriminated.push_back(anIndices.FindIndex(aBlocks.Value(col)));
+          theErrors.push_back(anErr);
+        } else if (aRel == REL_COLLISION_VV ||
+                   aRel == REL_COLLISION_FF ||
+                   aRel == REL_COLLISION_EE ||
+                   aRel == REL_UNKNOWN) {
+          // report connection error
+          isCompOfBlocks = Standard_False;
+          BCError anErr;
+          anErr.error = INVALID_CONNECTION;
+          anErr.incriminated.push_back(anIndices.FindIndex(aBlocks.Value(row)));
+          anErr.incriminated.push_back(anIndices.FindIndex(aBlocks.Value(col)));
+          theErrors.push_back(anErr);
+        } else {
+        }
+      }
+    }
+  }
+
+  // 3. Find largest set of connected (good connection or not glued) blocks
+  TColStd_MapOfInteger aProcessedMap;
+  TColStd_MapOfInteger aLargestSet;
+  TColStd_MapOfInteger aCurrentSet;
+  for (ibl = 1; ibl <= nbBlocks; ibl++) {
+    if (!aProcessedMap.Contains(ibl)) {
+      FindConnected(ibl, aRelations, aProcessedMap, aCurrentSet);
+      if (aCurrentSet.Extent() > aLargestSet.Extent()) {
+        aLargestSet = aCurrentSet;
+      }
+    }
+  }
+
+  // 4. Report all blocks, isolated from <aLargestSet>
+  BCError anErr;
+  anErr.error = NOT_CONNECTED;
+  Standard_Boolean hasIsolated = Standard_False;
+  for (ibl = 1; ibl <= nbBlocks; ibl++) {
+    if (!aLargestSet.Contains(ibl)) {
+      aProcessedMap.Clear();
+      if (!HasAnyConnection(ibl, aLargestSet, aRelations, aProcessedMap)) {
+        // report connection absence
+        hasIsolated = Standard_True;
+        anErr.incriminated.push_back(anIndices.FindIndex(aBlocks.Value(ibl)));
+      }
+    }
+  }
+  if (hasIsolated) {
+    isCompOfBlocks = Standard_False;
+    theErrors.push_back(anErr);
+  }
+
+  SetErrorCode(OK);
+  return isCompOfBlocks;
+}
+
+//=============================================================================
+/*!
+ *  PrintBCErrors
+ */
+//=============================================================================
+TCollection_AsciiString GEOMImpl_IBlocksOperations::PrintBCErrors
+                                                (Handle(GEOM_Object)  theCompound,
+                                                 const list<BCError>& theErrors)
+{
+  TCollection_AsciiString aDescr;
+
+  list<BCError>::const_iterator errIt = theErrors.begin();
+  int i = 0;
+  for (; errIt != theErrors.end(); i++, errIt++) {
+    BCError errStruct = *errIt;
+
+    switch (errStruct.error) {
+    case NOT_BLOCK:
+      aDescr += "\nNot a Blocks: ";
+      break;
+    case INVALID_CONNECTION:
+      aDescr += "\nInvalid connection between two blocks: ";
+      break;
+    case NOT_CONNECTED:
+      aDescr += "\nBlocks, not connected with main body: ";
+      break;
+    case NOT_GLUED:
+      aDescr += "\nNot glued blocks: ";
+      break;
+    default:
+      break;
+    }
+
+    list<int> sshList = errStruct.incriminated;
+    list<int>::iterator sshIt = sshList.begin();
+    int jj = 0;
+    for (; sshIt != sshList.end(); jj++, sshIt++) {
+      if (jj > 0)
+        aDescr += ", ";
+      aDescr += TCollection_AsciiString(*sshIt);
+    }
+  }
+
+  return aDescr;
+}
+
 //=============================================================================
 /*!
  *  ExplodeCompoundOfBlocks
@@ -1599,11 +2286,11 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::GetBlockNearPoint
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aResult->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.GetBlockNearPoint(");
+  aDescr += anEntry + " = IBlocksOperations.GetBlockNearPoint(";
   TDF_Tool::Entry(theCompound->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
+  aDescr += anEntry + ", ";
   TDF_Tool::Entry(thePoint->GetEntry(), anEntry);
-  aDescr += (anEntry+")");
+  aDescr += anEntry + ")";
 
   TCollection_AsciiString aNewDescr = aFunction->GetDescription() + "\n";
   aNewDescr += aDescr;
@@ -1921,12 +2608,12 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeMultiTransformation1D
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aCopy->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.MakeMultiTransformation1D(");
+  aDescr += anEntry + " = IBlocksOperations.MakeMultiTransformation1D(";
   TDF_Tool::Entry(theObject->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
-  aDescr += (TCollection_AsciiString(theDirFace1)+", ");
-  aDescr += (TCollection_AsciiString(theDirFace2)+", ");
-  aDescr += (TCollection_AsciiString(theNbTimes)+") ");
+  aDescr += anEntry + ", ";
+  aDescr += TCollection_AsciiString(theDirFace1) + ", ";
+  aDescr += TCollection_AsciiString(theDirFace2) + ", ";
+  aDescr += TCollection_AsciiString(theNbTimes)  + ") ";
 
   aFunction->SetDescription(aDescr);
 
@@ -1990,15 +2677,15 @@ Handle(GEOM_Object) GEOMImpl_IBlocksOperations::MakeMultiTransformation2D
   //Make a Python command
   TCollection_AsciiString anEntry, aDescr;
   TDF_Tool::Entry(aCopy->GetEntry(), anEntry);
-  aDescr += (anEntry+" = IBlocksOperations.MakeMultiTransformation2D(");
+  aDescr += anEntry + " = IBlocksOperations.MakeMultiTransformation2D(";
   TDF_Tool::Entry(theObject->GetEntry(), anEntry);
-  aDescr += (anEntry+", ");
-  aDescr += (TCollection_AsciiString(theDirFace1U)+", ");
-  aDescr += (TCollection_AsciiString(theDirFace2U)+", ");
-  aDescr += (TCollection_AsciiString(theNbTimesU)+", ");
-  aDescr += (TCollection_AsciiString(theDirFace1V)+", ");
-  aDescr += (TCollection_AsciiString(theDirFace2V)+", ");
-  aDescr += (TCollection_AsciiString(theNbTimesV)+") ");
+  aDescr += anEntry + ", ";
+  aDescr += TCollection_AsciiString(theDirFace1U) + ", ";
+  aDescr += TCollection_AsciiString(theDirFace2U) + ", ";
+  aDescr += TCollection_AsciiString(theNbTimesU)  + ", ";
+  aDescr += TCollection_AsciiString(theDirFace1V) + ", ";
+  aDescr += TCollection_AsciiString(theDirFace2V) + ", ";
+  aDescr += TCollection_AsciiString(theNbTimesV)  + ") ";
 
   aFunction->SetDescription(aDescr);
 
index afe3e54853111f0b365fda547108588ecd2fd3a2..1ea16a0539ea67409cea8186e7e2e9074ce7c339 100644 (file)
@@ -19,34 +19,45 @@ class GEOMImpl_IBlocksOperations : public GEOM_IOperations {
   ~GEOMImpl_IBlocksOperations();
 
   // Creation of blocks and block faces
-  Handle(GEOM_Object) MakeQuadFaceFourVertices (Handle(GEOM_Object) thePoint1,
-                                                Handle(GEOM_Object) thePoint2,
-                                                Handle(GEOM_Object) thePoint3,
-                                                Handle(GEOM_Object) thePoint4);
+  Handle(GEOM_Object) MakeQuad (Handle(GEOM_Object) theEdge1,
+                                Handle(GEOM_Object) theEdge2,
+                                Handle(GEOM_Object) theEdge3,
+                                Handle(GEOM_Object) theEdge4);
 
-  Handle(GEOM_Object) MakeQuadFaceFourEdges (Handle(GEOM_Object) theEdge1,
-                                             Handle(GEOM_Object) theEdge2,
-                                             Handle(GEOM_Object) theEdge3,
-                                             Handle(GEOM_Object) theEdge4);
+  Handle(GEOM_Object) MakeQuad2Edges (Handle(GEOM_Object) theEdge1,
+                                      Handle(GEOM_Object) theEdge2);
+
+  Handle(GEOM_Object) MakeQuad4Vertices (Handle(GEOM_Object) thePoint1,
+                                         Handle(GEOM_Object) thePoint2,
+                                         Handle(GEOM_Object) thePoint3,
+                                         Handle(GEOM_Object) thePoint4);
 
-  Handle(GEOM_Object) MakeQuadFaceTwoEdges (Handle(GEOM_Object) theEdge1,
-                                            Handle(GEOM_Object) theEdge2);
+  Handle(GEOM_Object) MakeHexa (Handle(GEOM_Object) theFace1,
+                                Handle(GEOM_Object) theFace2,
+                                Handle(GEOM_Object) theFace3,
+                                Handle(GEOM_Object) theFace4,
+                                Handle(GEOM_Object) theFace5,
+                                Handle(GEOM_Object) theFace6);
 
-  Handle(GEOM_Object) MakeHexaSolidSixFaces (Handle(GEOM_Object) theFace1,
-                                             Handle(GEOM_Object) theFace2,
-                                             Handle(GEOM_Object) theFace3,
-                                             Handle(GEOM_Object) theFace4,
-                                             Handle(GEOM_Object) theFace5,
-                                             Handle(GEOM_Object) theFace6);
+  Handle(GEOM_Object) MakeHexa2Faces (Handle(GEOM_Object) theFace1,
+                                      Handle(GEOM_Object) theFace2);
 
-  Handle(GEOM_Object) MakeHexaSolidTwoFaces (Handle(GEOM_Object) theFace1,
-                                             Handle(GEOM_Object) theFace2);
+  Handle(GEOM_Object) MakeBlockCompound (Handle(GEOM_Object) theCompound);
 
   // Extract elements of blocks and blocks compounds
+  Handle(GEOM_Object) GetPoint (Handle(GEOM_Object) theShape,
+                                const Standard_Real theX,
+                                const Standard_Real theY,
+                                const Standard_Real theZ,
+                                const Standard_Real theEpsilon);
+
   Handle(GEOM_Object) GetEdge (Handle(GEOM_Object) theShape,
                                Handle(GEOM_Object) thePoint1,
                                Handle(GEOM_Object) thePoint2);
 
+  Handle(GEOM_Object) GetEdgeNearPoint (Handle(GEOM_Object) theBlock,
+                                        Handle(GEOM_Object) thePoint);
+
   Handle(GEOM_Object) GetFaceByPoints (Handle(GEOM_Object) theShape,
                                        Handle(GEOM_Object) thePoint1,
                                        Handle(GEOM_Object) thePoint2,
@@ -66,12 +77,31 @@ class GEOMImpl_IBlocksOperations : public GEOM_IOperations {
   Handle(GEOM_Object) GetFaceByNormale (Handle(GEOM_Object) theBlock,
                                         Handle(GEOM_Object) theVector);
 
-  // Extract blocks from blocks compounds
+  // Check blocks compounds
   Standard_Boolean IsCompoundOfBlocks (Handle(GEOM_Object)    theCompound,
                                        const Standard_Integer theMinNbFaces,
                                        const Standard_Integer theMaxNbFaces,
                                        Standard_Integer&      theNbBlocks);
 
+  enum BCErrorType {
+    NOT_BLOCK,
+    INVALID_CONNECTION,
+    NOT_CONNECTED,
+    NOT_GLUED
+  };
+
+  struct BCError {
+    BCErrorType error;
+    list<int>   incriminated;
+  };
+
+  Standard_Boolean CheckCompoundOfBlocks (Handle(GEOM_Object) theCompound,
+                                          list<BCError>&      theErrors);
+
+  TCollection_AsciiString PrintBCErrors (Handle(GEOM_Object)  theCompound,
+                                         const list<BCError>& theErrors);
+
+  // Extract blocks from blocks compounds
   Handle(TColStd_HSequenceOfTransient) ExplodeCompoundOfBlocks
                                       (Handle(GEOM_Object)    theCompound,
                                        const Standard_Integer theMinNbFaces,
@@ -101,16 +131,6 @@ class GEOMImpl_IBlocksOperations : public GEOM_IOperations {
                                                  const Standard_Integer theDirFace1V,
                                                  const Standard_Integer theDirFace2V,
                                                  const Standard_Integer theNbTimesV);
-
-  Handle(GEOM_Object) MakeMultiTranslation1D (Handle(GEOM_Object)    theBlock,
-                                              const Standard_Integer theDirFace,
-                                              const Standard_Integer theNbTimes);
-
-  Handle(GEOM_Object) MakeMultiTranslation2D (Handle(GEOM_Object)    theBlock,
-                                              const Standard_Integer theDirFace1,
-                                              const Standard_Integer theNbTimes1,
-                                              const Standard_Integer theDirFace2,
-                                              const Standard_Integer theNbTimes2);
 };
 
 #endif
index 84762e7568fe73baa44063035f72f68293738528..5df5db4589968e23d758e4ab8244083b5e15fd3d 100644 (file)
@@ -2,15 +2,6 @@ using namespace std;
 
 #include "GEOMImpl_ILocalOperations.hxx"
 
-#include "utilities.h"
-#include "OpUtil.hxx"
-#include "Utils_ExceptHandlers.hxx"
-
-#include <TFunction_DriverTable.hxx>
-#include <TFunction_Driver.hxx>
-#include <TFunction_Logbook.hxx>
-#include <TDF_Tool.hxx>
-
 #include "GEOM_Function.hxx"
 #include "GEOMImpl_Types.hxx"
 
@@ -23,6 +14,15 @@ using namespace std;
 #include "GEOMImpl_IArchimede.hxx"
 #include "GEOMImpl_ArchimedeDriver.hxx"
 
+#include "utilities.h"
+#include "OpUtil.hxx"
+#include "Utils_ExceptHandlers.hxx"
+
+#include <TFunction_DriverTable.hxx>
+#include <TFunction_Driver.hxx>
+#include <TFunction_Logbook.hxx>
+#include <TDF_Tool.hxx>
+
 #include <TopExp.hxx>
 #include <TopoDS_TShape.hxx>
 #include <TopTools_IndexedMapOfShape.hxx>
@@ -34,7 +34,7 @@ using namespace std;
  *   constructor:
  */
 //=============================================================================
-GEOMImpl_ILocalOperations::GEOMImpl_ILocalOperations (GEOM_Engine* theEngine, int theDocID) 
+GEOMImpl_ILocalOperations::GEOMImpl_ILocalOperations (GEOM_Engine* theEngine, int theDocID)
 : GEOM_IOperations(theEngine, theDocID)
 {
   MESSAGE("GEOMImpl_ILocalOperations::GEOMImpl_ILocalOperations");
@@ -61,17 +61,17 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeFilletAll
 {
   SetErrorCode(KO);
 
-  //Add a new Fillet object  
+  //Add a new Fillet object
   Handle(GEOM_Object) aFillet = GetEngine()->AddObject(GetDocID(), GEOM_FILLET);
+
   //Add a new Fillet function
   Handle(GEOM_Function) aFunction =
     aFillet->AddFunction(GEOMImpl_FilletDriver::GetID(), FILLET_SHAPE_ALL);
   if (aFunction.IsNull()) return NULL;
 
   //Check if the function is set correctly
-  if (aFunction->GetDriverGUID() != GEOMImpl_FilletDriver::GetID()) return NULL; 
-  
+  if (aFunction->GetDriverGUID() != GEOMImpl_FilletDriver::GetID()) return NULL;
+
   GEOMImpl_IFillet aCI (aFunction);
 
   Handle(GEOM_Function) aRefShape = theShape->GetLastFunction();
@@ -93,7 +93,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeFilletAll
     return NULL;
   }
 
-  //Make a Python command 
+  //Make a Python command
   TCollection_AsciiString anEntry, aDescr("");
   TDF_Tool::Entry(aFillet->GetEntry(), anEntry);
   aDescr = anEntry + " = ILocalOperations.MakeFilletAll(";
@@ -104,7 +104,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeFilletAll
   aFunction->SetDescription(aDescr);
 
   SetErrorCode(OK);
-  return aFillet; 
+  return aFillet;
 }
 
 //=============================================================================
@@ -117,17 +117,17 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeFilletEdges
 {
   SetErrorCode(KO);
 
-  //Add a new Fillet object  
+  //Add a new Fillet object
   Handle(GEOM_Object) aFillet = GetEngine()->AddObject(GetDocID(), GEOM_FILLET);
+
   //Add a new Fillet function
   Handle(GEOM_Function) aFunction =
     aFillet->AddFunction(GEOMImpl_FilletDriver::GetID(), FILLET_SHAPE_EDGES);
   if (aFunction.IsNull()) return NULL;
 
   //Check if the function is set correctly
-  if (aFunction->GetDriverGUID() != GEOMImpl_FilletDriver::GetID()) return NULL; 
-  
+  if (aFunction->GetDriverGUID() != GEOMImpl_FilletDriver::GetID()) return NULL;
+
   GEOMImpl_IFillet aCI (aFunction);
 
   Handle(GEOM_Function) aRefShape = theShape->GetLastFunction();
@@ -157,7 +157,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeFilletEdges
     return NULL;
   }
 
-  //Make a Python command 
+  //Make a Python command
   TCollection_AsciiString anEntry, aDescr("");
   TDF_Tool::Entry(aFillet->GetEntry(), anEntry);
   aDescr = anEntry + " = ILocalOperations.MakeFilletEdges(";
@@ -176,7 +176,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeFilletEdges
   aFunction->SetDescription(aDescr);
 
   SetErrorCode(OK);
-  return aFillet; 
+  return aFillet;
 }
 
 //=============================================================================
@@ -189,17 +189,17 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeFilletFaces
 {
   SetErrorCode(KO);
 
-  //Add a new Fillet object  
+  //Add a new Fillet object
   Handle(GEOM_Object) aFillet = GetEngine()->AddObject(GetDocID(), GEOM_FILLET);
+
   //Add a new Fillet function
   Handle(GEOM_Function) aFunction =
     aFillet->AddFunction(GEOMImpl_FilletDriver::GetID(), FILLET_SHAPE_FACES);
   if (aFunction.IsNull()) return NULL;
 
   //Check if the function is set correctly
-  if (aFunction->GetDriverGUID() != GEOMImpl_FilletDriver::GetID()) return NULL; 
-  
+  if (aFunction->GetDriverGUID() != GEOMImpl_FilletDriver::GetID()) return NULL;
+
   GEOMImpl_IFillet aCI (aFunction);
 
   Handle(GEOM_Function) aRefShape = theShape->GetLastFunction();
@@ -229,7 +229,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeFilletFaces
     return NULL;
   }
 
-  //Make a Python command 
+  //Make a Python command
   TCollection_AsciiString anEntry, aDescr("");
   TDF_Tool::Entry(aFillet->GetEntry(), anEntry);
   aDescr = anEntry + " = ILocalOperations.MakeFilletFaces(";
@@ -248,7 +248,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeFilletFaces
   aFunction->SetDescription(aDescr);
 
   SetErrorCode(OK);
-  return aFillet; 
+  return aFillet;
 }
 
 //=============================================================================
@@ -260,17 +260,17 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeChamferAll (Handle(GEOM_Objec
 {
   SetErrorCode(KO);
 
-  //Add a new Chamfer object  
+  //Add a new Chamfer object
   Handle(GEOM_Object) aChamfer = GetEngine()->AddObject(GetDocID(), GEOM_CHAMFER);
+
   //Add a new Chamfer function
   Handle(GEOM_Function) aFunction =
     aChamfer->AddFunction(GEOMImpl_ChamferDriver::GetID(), CHAMFER_SHAPE_ALL);
   if (aFunction.IsNull()) return NULL;
 
   //Check if the function is set correctly
-  if (aFunction->GetDriverGUID() != GEOMImpl_ChamferDriver::GetID()) return NULL; 
-  
+  if (aFunction->GetDriverGUID() != GEOMImpl_ChamferDriver::GetID()) return NULL;
+
   GEOMImpl_IChamfer aCI (aFunction);
 
   Handle(GEOM_Function) aRefShape = theShape->GetLastFunction();
@@ -292,7 +292,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeChamferAll (Handle(GEOM_Objec
     return NULL;
   }
 
-  //Make a Python command 
+  //Make a Python command
   TCollection_AsciiString anEntry, aDescr("");
   TDF_Tool::Entry(aChamfer->GetEntry(), anEntry);
   aDescr += anEntry;
@@ -304,7 +304,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeChamferAll (Handle(GEOM_Objec
   aFunction->SetDescription(aDescr);
 
   SetErrorCode(OK);
-  return aChamfer; 
+  return aChamfer;
 }
 
 //=============================================================================
@@ -318,17 +318,17 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeChamferEdge
 {
   SetErrorCode(KO);
 
-  //Add a new Chamfer object  
+  //Add a new Chamfer object
   Handle(GEOM_Object) aChamfer = GetEngine()->AddObject(GetDocID(), GEOM_CHAMFER);
+
   //Add a new Chamfer function
   Handle(GEOM_Function) aFunction =
     aChamfer->AddFunction(GEOMImpl_ChamferDriver::GetID(), CHAMFER_SHAPE_EDGE);
   if (aFunction.IsNull()) return NULL;
 
   //Check if the function is set correctly
-  if (aFunction->GetDriverGUID() != GEOMImpl_ChamferDriver::GetID()) return NULL; 
-  
+  if (aFunction->GetDriverGUID() != GEOMImpl_ChamferDriver::GetID()) return NULL;
+
   GEOMImpl_IChamfer aCI (aFunction);
 
   Handle(GEOM_Function) aRefShape = theShape->GetLastFunction();
@@ -353,7 +353,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeChamferEdge
     return NULL;
   }
 
-  //Make a Python command 
+  //Make a Python command
   TCollection_AsciiString anEntry, aDescr("");
   TDF_Tool::Entry(aChamfer->GetEntry(), anEntry);
   aDescr += anEntry;
@@ -368,7 +368,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeChamferEdge
   aFunction->SetDescription(aDescr);
 
   SetErrorCode(OK);
-  return aChamfer; 
+  return aChamfer;
 }
 
 //=============================================================================
@@ -382,17 +382,17 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeChamferFaces
 {
   SetErrorCode(KO);
 
-  //Add a new Chamfer object  
+  //Add a new Chamfer object
   Handle(GEOM_Object) aChamfer = GetEngine()->AddObject(GetDocID(), GEOM_CHAMFER);
+
   //Add a new Chamfer function
   Handle(GEOM_Function) aFunction =
     aChamfer->AddFunction(GEOMImpl_ChamferDriver::GetID(), CHAMFER_SHAPE_FACES);
   if (aFunction.IsNull()) return NULL;
 
   //Check if the function is set correctly
-  if (aFunction->GetDriverGUID() != GEOMImpl_ChamferDriver::GetID()) return NULL; 
-  
+  if (aFunction->GetDriverGUID() != GEOMImpl_ChamferDriver::GetID()) return NULL;
+
   GEOMImpl_IChamfer aCI (aFunction);
 
   Handle(GEOM_Function) aRefShape = theShape->GetLastFunction();
@@ -423,7 +423,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeChamferFaces
     return NULL;
   }
 
-  //Make a Python command 
+  //Make a Python command
   TCollection_AsciiString anEntry, aDescr("");
   TDF_Tool::Entry(aChamfer->GetEntry(), anEntry);
   aDescr += anEntry;
@@ -444,7 +444,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeChamferFaces
   aFunction->SetDescription(aDescr);
 
   SetErrorCode(OK);
-  return aChamfer; 
+  return aChamfer;
 }
 
 //=============================================================================
@@ -459,16 +459,16 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeArchimede (Handle(GEOM_Object
 {
   SetErrorCode(KO);
 
-  //Add a new Archimede object  
+  //Add a new Archimede object
   Handle(GEOM_Object) aChamfer = GetEngine()->AddObject(GetDocID(), GEOM_ARCHIMEDE);
+
   //Add a new Archimede function
   Handle(GEOM_Function) aFunction = aChamfer->AddFunction(GEOMImpl_ArchimedeDriver::GetID(), ARCHIMEDE_TYPE);
   if (aFunction.IsNull()) return NULL;
 
   //Check if the function is set correctly
-  if (aFunction->GetDriverGUID() != GEOMImpl_ArchimedeDriver::GetID()) return NULL; 
-  
+  if (aFunction->GetDriverGUID() != GEOMImpl_ArchimedeDriver::GetID()) return NULL;
+
   GEOMImpl_IArchimede aAI (aFunction);
 
   Handle(GEOM_Function) aRefShape = theShape->GetLastFunction();
@@ -492,7 +492,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeArchimede (Handle(GEOM_Object
     return NULL;
   }
 
-  //Make a Python command 
+  //Make a Python command
   TCollection_AsciiString anEntry, aDescr("");
   TDF_Tool::Entry(aChamfer->GetEntry(), anEntry);
   aDescr += anEntry;
@@ -506,7 +506,7 @@ Handle(GEOM_Object) GEOMImpl_ILocalOperations::MakeArchimede (Handle(GEOM_Object
   aFunction->SetDescription(aDescr);
 
   SetErrorCode(OK);
-  return aChamfer; 
+  return aChamfer;
 }
 
 //=============================================================================
@@ -536,6 +536,8 @@ bool GEOMImpl_ILocalOperations::GetSubShape (const TopoDS_Shape& theShape, const
 Standard_Integer GEOMImpl_ILocalOperations::GetSubShapeIndex (Handle(GEOM_Object) theShape,
                                                               Handle(GEOM_Object) theSubShape)
 {
+  SetErrorCode(KO);
+
   TopoDS_Shape aShape = theShape->GetValue();
   TopoDS_Shape aSubShape = theSubShape->GetValue();
 
@@ -543,8 +545,10 @@ Standard_Integer GEOMImpl_ILocalOperations::GetSubShapeIndex (Handle(GEOM_Object
 
   TopTools_IndexedMapOfShape anIndices;
   TopExp::MapShapes(aShape, anIndices);
-  if (anIndices.Contains(aSubShape))
+  if (anIndices.Contains(aSubShape)) {
+    SetErrorCode(OK);
     return anIndices.FindIndex(aSubShape);
+  }
 
-  return -1; 
+  return -1;
 }
index 9022e07f508c70cb6c411dd795fc85bf5cc7f78c..8b11108104eeec05ed88880cf38865eb0acd6b52 100644 (file)
@@ -33,11 +33,12 @@ class GEOMImpl_ILocalOperations : public GEOM_IOperations {
                                      double theWeight, double theWaterDensity,
                                      double theMeshingDeflection);
 
-  static bool GetSubShape (const TopoDS_Shape& theShape, const int theIndex,
-                           TopoDS_Shape& theSubShape);
+  Standard_Integer GetSubShapeIndex (Handle(GEOM_Object) theShape,
+                                     Handle(GEOM_Object) theSubShape);
 
-  static Standard_Integer GetSubShapeIndex (Handle(GEOM_Object) theShape,
-                                            Handle(GEOM_Object) theSubShape);
+  static bool GetSubShape (const TopoDS_Shape& theShape,
+                           const int theIndex,
+                           TopoDS_Shape& theSubShape);
 };
+
 #endif
index bc09b41cff14e9c1081216cf3e6762d8a66ca6d6..ee637328b3dc62bff205353889f668a4651a2ddd 100644 (file)
@@ -564,23 +564,23 @@ Handle(TColStd_HSequenceOfTransient) GEOMImpl_IShapesOperations::MakeExplode
   Handle(TColStd_HArray1OfInteger) anArray;
 
   TopTools_ListIteratorOfListOfShape itSub (listShape);
-  TCollection_AsciiString anAsciiList="[", anEntry;
+  TCollection_AsciiString anAsciiList = "[", anEntry;
   for (int index = 1; itSub.More(); itSub.Next(), ++index) {
     TopoDS_Shape aValue = itSub.Value();
     anArray = new TColStd_HArray1OfInteger(1,1);
     anArray->SetValue(1, anIndices.FindIndex(aValue));
-    anObj  = GetEngine()->AddSubShape(theShape, anArray);
+    anObj = GetEngine()->AddSubShape(theShape, anArray);
     aSeq->Append(anObj);
 
     TDF_Tool::Entry(anObj->GetEntry(), anEntry);
-    anAsciiList+=anEntry;
-    anAsciiList+=",";
+    anAsciiList += anEntry;
+    anAsciiList += ",";
   }
 
-  anAsciiList.Trunc(anAsciiList.Length()-1);
-  anAsciiList+="]";
+  anAsciiList.Trunc(anAsciiList.Length() - 1);
+  anAsciiList += "]";
 
-  anAsciiList = (TCollection_AsciiString("\n")+anAsciiList);
+  anAsciiList = TCollection_AsciiString("\n") + anAsciiList;
 
   //The explode doesn't change object so no new function is requiered.
   aFunction = theShape->GetLastFunction();
@@ -604,6 +604,47 @@ Handle(TColStd_HSequenceOfTransient) GEOMImpl_IShapesOperations::MakeExplode
   return aSeq;
 }
 
+//=============================================================================
+/*!
+ *  GetSubShape
+ */
+//=============================================================================
+Handle(GEOM_Object) GEOMImpl_IShapesOperations::GetSubShape
+                                          (Handle(GEOM_Object)    theMainShape,
+                                           const Standard_Integer theID)
+{
+  SetErrorCode(KO);
+
+  if (theMainShape.IsNull()) return NULL;
+
+  Handle(TColStd_HArray1OfInteger) anArray = new TColStd_HArray1OfInteger(1,1);
+  anArray->SetValue(1, theID);
+  Handle(GEOM_Object) anObj = GetEngine()->AddSubShape(theMainShape, anArray);
+  if (anObj.IsNull()) {
+    SetErrorCode("Can not get a sub-shape with the given ID");
+    return NULL;
+  }
+
+  //The GetSubShape() doesn't change object so no new function is requiered.
+  Handle(GEOM_Function) aFunction = theMainShape->GetLastFunction();
+
+  //Make a Python command
+  TCollection_AsciiString aDescr ("\n");
+  TCollection_AsciiString anEntry;
+  TDF_Tool::Entry(anObj->GetEntry(), anEntry);
+  aDescr += anEntry + " = IShapesOperations.GetSubShape(";
+  TDF_Tool::Entry(theMainShape->GetEntry(), anEntry);
+  aDescr += anEntry + ", ";
+  aDescr += TCollection_AsciiString(theID) + ")";
+
+  TCollection_AsciiString anOldDescr = aFunction->GetDescription();
+  anOldDescr = anOldDescr + aDescr;
+  aFunction->SetDescription(anOldDescr);
+
+  SetErrorCode(OK);
+  return anObj;
+}
+
 
 //=============================================================================
 /*!
index 5ad53f341259c0b3e3c897d234934df7ba6dc0ae..9ae51717aabdd950c8957d3a73fa77f596117e6c 100644 (file)
@@ -42,6 +42,9 @@ class GEOMImpl_IShapesOperations : public GEOM_IOperations {
                                                     const Standard_Integer theShapeType,
                                                     const Standard_Boolean isSorted);
 
+  Handle(GEOM_Object) GetSubShape (Handle(GEOM_Object)    theMainShape,
+                                   const Standard_Integer theID);
+
   Standard_Integer NumberOfFaces (Handle(GEOM_Object) theShape);
   Standard_Integer NumberOfEdges (Handle(GEOM_Object) theShape);
 
index 5ccb0625dad0263efb141edce2fe25017547c5d3..57903e3d23915c715e7e787e80e242a474c572a3 100644 (file)
@@ -9,13 +9,16 @@ using namespace std;
 #include <BRepBuilderAPI_MakeEdge.hxx>
 
 #include <TopAbs.hxx>
+#include <TopExp.hxx>
 #include <TopoDS.hxx>
+#include <TopoDS_Edge.hxx>
 #include <TopoDS_Shape.hxx>
 #include <TopoDS_Vertex.hxx>
 
 #include <gp_Pnt.hxx>
 #include <Precision.hxx>
 #include <Standard_ConstructionError.hxx>
+#include <Standard_NullObject.hxx>
 
 //=======================================================================
 //function : GetID
@@ -66,6 +69,33 @@ Standard_Integer GEOMImpl_LineDriver::Execute(TFunction_Logbook& log) const
       Standard_ConstructionError::Raise("The end points are too close");
     }
     aShape = BRepBuilderAPI_MakeEdge(P1, P2).Shape();
+
+  } else if (aType == LINE_PNT_DIR) {
+    Handle(GEOM_Function) aRefPnt = aPI.GetPoint1();
+    Handle(GEOM_Function) aRefDir = aPI.GetPoint2();
+    TopoDS_Shape aShape1 = aRefPnt->GetValue();
+    TopoDS_Shape aShape2 = aRefDir->GetValue();
+    if (aShape1.ShapeType() != TopAbs_VERTEX ||
+        aShape2.ShapeType() != TopAbs_EDGE) return 0;
+    if (aShape1.IsSame(aShape2)) {
+      Standard_ConstructionError::Raise("The end points must be different");
+    }
+    gp_Pnt P1 = BRep_Tool::Pnt(TopoDS::Vertex(aShape1));
+
+    TopoDS_Edge anE = TopoDS::Edge(aShape2);
+    TopoDS_Vertex V1, V2;
+    TopExp::Vertices(anE, V1, V2, Standard_True);
+    if (V1.IsNull() || V2.IsNull()) {
+      Standard_NullObject::Raise("Line creation aborted: vector is not defined");
+    }
+    gp_Pnt PV1 = BRep_Tool::Pnt(V1);
+    gp_Pnt PV2 = BRep_Tool::Pnt(V2);
+    if (PV1.Distance(PV2) < Precision::Confusion()) {
+      Standard_ConstructionError::Raise("Vector with null magnitude");
+    }
+
+    gp_Pnt P2 (P1.XYZ() + PV2.XYZ() - PV1.XYZ());
+    aShape = BRepBuilderAPI_MakeEdge(P1, P2).Shape();
   } else {
   }
 
index 5c9269aaa22f7a8345c9df8ae5e0150a5fe5eb0a..54b81eddc60329ebb70230f06731c275844702c4 100644 (file)
@@ -5,44 +5,47 @@ using namespace std;
 #include "GEOMImpl_Types.hxx"
 #include "GEOM_Function.hxx"
 
-#include <BRepBuilderAPI_MakeWire.hxx>
-#include <BRepOffsetAPI_MakePipe.hxx>
 #include <BRep_Tool.hxx>
+#include <BRepCheck_Analyzer.hxx>
+#include <BRepOffsetAPI_MakePipe.hxx>
+#include <BRepBuilderAPI_MakeWire.hxx>
+
+#include <TopAbs.hxx>
 #include <TopoDS.hxx>
-#include <TopoDS_Shape.hxx>
 #include <TopoDS_Wire.hxx>
 #include <TopoDS_Edge.hxx>
-#include <TopAbs.hxx>
+#include <TopoDS_Shape.hxx>
 
 #include <Standard_NullObject.hxx>
 #include <Standard_TypeMismatch.hxx>
+#include <Standard_ConstructionError.hxx>
 
 //=======================================================================
 //function : GetID
 //purpose  :
-//======================================================================= 
+//=======================================================================
 const Standard_GUID& GEOMImpl_PipeDriver::GetID()
 {
   static Standard_GUID aPipeDriver("FF1BBB19-5D14-4df2-980B-3A668264EA16");
-  return aPipeDriver; 
+  return aPipeDriver;
 }
 
 
 //=======================================================================
 //function : GEOMImpl_PipeDriver
-//purpose  : 
+//purpose  :
 //=======================================================================
-GEOMImpl_PipeDriver::GEOMImpl_PipeDriver() 
+GEOMImpl_PipeDriver::GEOMImpl_PipeDriver()
 {
 }
 
 //=======================================================================
 //function : Execute
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_Integer GEOMImpl_PipeDriver::Execute(TFunction_Logbook& log) const
 {
-  if (Label().IsNull()) return 0;    
+  if (Label().IsNull()) return 0;
   Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label());
 
   GEOMImpl_IPipe aCI (aFunction);
@@ -80,28 +83,33 @@ Standard_Integer GEOMImpl_PipeDriver::Execute(TFunction_Logbook& log) const
 
   if (aShape.IsNull()) return 0;
 
+  BRepCheck_Analyzer ana (aShape, Standard_False);
+  if (!ana.IsValid()) {
+    Standard_ConstructionError::Raise("Algorithm have produced an invalid shape result");
+  }
+
   aFunction->SetValue(aShape);
 
-  log.SetTouched(Label()); 
+  log.SetTouched(Label());
 
-  return 1;    
+  return 1;
 }
 
 
 //=======================================================================
 //function :  GEOMImpl_PipeDriver_Type_
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_EXPORT Handle_Standard_Type& GEOMImpl_PipeDriver_Type_()
 {
 
   static Handle_Standard_Type aType1 = STANDARD_TYPE(TFunction_Driver);
   if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TFunction_Driver);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); 
+  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
   if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
+
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
   static Handle_Standard_Type _aType = new Standard_Type("GEOMImpl_PipeDriver",
@@ -116,7 +124,7 @@ Standard_EXPORT Handle_Standard_Type& GEOMImpl_PipeDriver_Type_()
 //=======================================================================
 //function : DownCast
 //purpose  :
-//======================================================================= 
+//=======================================================================
 const Handle(GEOMImpl_PipeDriver) Handle(GEOMImpl_PipeDriver)::DownCast(const Handle(Standard_Transient)& AnObject)
 {
   Handle(GEOMImpl_PipeDriver) _anOtherObject;
index b8afc27ec6a13661890590bd32e601a724b0fed0..98a839b582f932059f7e102896c4382f73c4dc14 100644 (file)
@@ -5,43 +5,44 @@ using namespace std;
 #include "GEOMImpl_Types.hxx"
 #include "GEOM_Function.hxx"
 
-#include <BRepBuilderAPI_MakeVertex.hxx>
 #include <BRep_Tool.hxx>
-#include <gp_Pnt.hxx>
+#include <BRepBuilderAPI_MakeVertex.hxx>
+
+#include <TopAbs.hxx>
 #include <TopoDS.hxx>
+#include <TopoDS_Edge.hxx>
 #include <TopoDS_Shape.hxx>
 #include <TopoDS_Vertex.hxx>
-#include <TopoDS_Edge.hxx>
-#include <TopAbs.hxx>
 
 #include <Geom_Curve.hxx>
+#include <gp_Pnt.hxx>
 
 //=======================================================================
 //function : GetID
 //purpose  :
-//======================================================================= 
+//=======================================================================
 const Standard_GUID& GEOMImpl_PointDriver::GetID()
 {
   static Standard_GUID aPointDriver("FF1BBB02-5D14-4df2-980B-3A668264EA16");
-  return aPointDriver; 
+  return aPointDriver;
 }
 
 
 //=======================================================================
 //function : GEOMImpl_PointDriver
-//purpose  : 
+//purpose  :
 //=======================================================================
-GEOMImpl_PointDriver::GEOMImpl_PointDriver() 
+GEOMImpl_PointDriver::GEOMImpl_PointDriver()
 {
 }
 
 //=======================================================================
 //function : Execute
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_Integer GEOMImpl_PointDriver::Execute(TFunction_Logbook& log) const
 {
-  if (Label().IsNull())  return 0;    
+  if (Label().IsNull())  return 0;
   Handle(GEOM_Function) aFunction = GEOM_Function::GetFunction(Label());
 
   GEOMImpl_IPoint aPI (aFunction);
@@ -49,10 +50,10 @@ Standard_Integer GEOMImpl_PointDriver::Execute(TFunction_Logbook& log) const
 
   gp_Pnt aPnt;
 
-  if (aFunction->GetType() == POINT_XYZ) {
+  if (aType == POINT_XYZ) {
     aPnt = gp_Pnt(aPI.GetX(), aPI.GetY(), aPI.GetZ());
 
-  } else if (aFunction->GetType() == POINT_XYZ_REF) {
+  } else if (aType == POINT_XYZ_REF) {
 
     Handle(GEOM_Function) aRefPoint = aPI.GetRef();
     TopoDS_Shape aRefShape = aRefPoint->GetValue();
@@ -61,9 +62,9 @@ Standard_Integer GEOMImpl_PointDriver::Execute(TFunction_Logbook& log) const
         ("Point creation aborted : referenced shape is not a vertex");
     }
     gp_Pnt P = BRep_Tool::Pnt(TopoDS::Vertex(aRefShape));
-    aPnt = gp_Pnt(P.X() + aPI.GetX(), P.Y() + aPI.GetY(), P.Z() + aPI.GetZ()); 
+    aPnt = gp_Pnt(P.X() + aPI.GetX(), P.Y() + aPI.GetY(), P.Z() + aPI.GetZ());
 
-  } else if (aFunction->GetType() == POINT_CURVE_PAR) {
+  } else if (aType == POINT_CURVE_PAR) {
 
     Handle(GEOM_Function) aRefCurve = aPI.GetCurve();
     TopoDS_Shape aRefShape = aRefCurve->GetValue();
@@ -85,7 +86,7 @@ Standard_Integer GEOMImpl_PointDriver::Execute(TFunction_Logbook& log) const
   aShape.Infinite(Standard_True);
   aFunction->SetValue(aShape);
 
-  log.SetTouched(Label()); 
+  log.SetTouched(Label());
 
   return 1;
 }
@@ -94,17 +95,17 @@ Standard_Integer GEOMImpl_PointDriver::Execute(TFunction_Logbook& log) const
 //=======================================================================
 //function :  GEOMImpl_PointDriver_Type_
 //purpose  :
-//======================================================================= 
+//=======================================================================
 Standard_EXPORT Handle_Standard_Type& GEOMImpl_PointDriver_Type_()
 {
 
   static Handle_Standard_Type aType1 = STANDARD_TYPE(TFunction_Driver);
   if ( aType1.IsNull()) aType1 = STANDARD_TYPE(TFunction_Driver);
   static Handle_Standard_Type aType2 = STANDARD_TYPE(MMgt_TShared);
-  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared); 
+  if ( aType2.IsNull()) aType2 = STANDARD_TYPE(MMgt_TShared);
   static Handle_Standard_Type aType3 = STANDARD_TYPE(Standard_Transient);
   if ( aType3.IsNull()) aType3 = STANDARD_TYPE(Standard_Transient);
+
 
   static Handle_Standard_Transient _Ancestors[]= {aType1,aType2,aType3,NULL};
   static Handle_Standard_Type _aType = new Standard_Type("GEOMImpl_PointDriver",
@@ -119,7 +120,7 @@ Standard_EXPORT Handle_Standard_Type& GEOMImpl_PointDriver_Type_()
 //=======================================================================
 //function : DownCast
 //purpose  :
-//======================================================================= 
+//=======================================================================
 
 const Handle(GEOMImpl_PointDriver) Handle(GEOMImpl_PointDriver)::DownCast(const Handle(Standard_Transient)& AnObject)
 {
index d5221806c7c289122d8eda46343a98de3121c3b4..60222bcdf097e609fcfcb76f6bd7bcced7de45cd 100644 (file)
@@ -14,8 +14,11 @@ using namespace std;
 #include <TopAbs.hxx>
 #include <TopExp.hxx>
 
-#include <Precision.hxx>
 #include <gp_Pnt.hxx>
+#include <Precision.hxx>
+#include <StdFail_NotDone.hxx>
+#include <Standard_TypeMismatch.hxx>
+#include <Standard_ConstructionError.hxx>
 
 //=======================================================================
 //function : GetID
@@ -55,23 +58,32 @@ Standard_Integer GEOMImpl_RevolutionDriver::Execute(TFunction_Logbook& log) cons
     Handle(GEOM_Function) aRefAxis = aCI.GetAxis();
     TopoDS_Shape aShapeBase = aRefBase->GetValue();
     TopoDS_Shape aShapeAxis = aRefAxis->GetValue();
-    if (aShapeAxis.ShapeType() == TopAbs_EDGE) {
-      TopoDS_Edge anE = TopoDS::Edge(aShapeAxis);
-      TopoDS_Vertex V1, V2;
-      TopExp::Vertices(anE, V1, V2, Standard_True);
-      if (!V1.IsNull() && !V2.IsNull()) {
-        gp_Vec aV (BRep_Tool::Pnt(V1), BRep_Tool::Pnt(V2));
-        gp_Ax1 anAxis (BRep_Tool::Pnt(V1), aV);
-        aShape = BRepPrimAPI_MakeRevol
-          (aShapeBase, anAxis, aCI.GetAngle(), Standard_False).Shape();
-      }
+    if (aShapeAxis.ShapeType() != TopAbs_EDGE) {
+      Standard_TypeMismatch::Raise("Revolution Axis must be an edge");
     }
-  }
-  else {
+
+    TopoDS_Edge anE = TopoDS::Edge(aShapeAxis);
+    TopoDS_Vertex V1, V2;
+    TopExp::Vertices(anE, V1, V2, Standard_True);
+    if (V1.IsNull() || V2.IsNull()) {
+      Standard_ConstructionError::Raise("Bad edge for the Revolution Axis given");
+    }
+
+    gp_Vec aV (BRep_Tool::Pnt(V1), BRep_Tool::Pnt(V2));
+    if (aV.Magnitude() < Precision::Confusion()) {
+      Standard_ConstructionError::Raise
+        ("End vertices of edge, defining the Revolution Axis, are too close");
+    }
+
+    gp_Ax1 anAxis (BRep_Tool::Pnt(V1), aV);
+    BRepPrimAPI_MakeRevol MR (aShapeBase, anAxis, aCI.GetAngle(), Standard_False);
+    if (!MR.IsDone()) MR.Build();
+    if (!MR.IsDone()) StdFail_NotDone::Raise("Revolution algorithm has failed");
+    aShape = MR.Shape();
+  } else {
   }
 
   if (aShape.IsNull()) return 0;
-
   aFunction->SetValue(aShape);
 
   log.SetTouched(Label()); 
index be14116d8aa758e1cba8a7274747e9541da9f2e7..09e2190a976980b3c8461e521c75fa4a6787031a 100644 (file)
@@ -77,7 +77,7 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
 
     // add edges
     BRepBuilderAPI_MakeWire MW;
-    for (ind = 1; ind <= aShapes->Length(); ind++) {
+    for (ind = 1; ind <= nbshapes; ind++) {
       Handle(GEOM_Function) aRefShape = Handle(GEOM_Function)::DownCast(aShapes->Value(ind));
       TopoDS_Shape aShape_i = aRefShape->GetValue();
       if (aShape_i.IsNull()) {
@@ -113,7 +113,6 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
 
   } else if (aType == FACE_WIRES) {
     Handle(TColStd_HSequenceOfTransient) aShapes = aCI.GetShapes();
-    unsigned int ind, nbshapes = aShapes->Length();
 
     // first wire
     Handle(GEOM_Function) aRefWire = Handle(GEOM_Function)::DownCast(aShapes->Value(1));
@@ -130,6 +129,7 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
     }
     TopoDS_Shape FFace = MF.Shape();
     if (!FFace.IsNull()) {
+      unsigned int ind, nbshapes = aShapes->Length();
       if (nbshapes == 1) {
        aShape = FFace;
 
@@ -143,8 +143,9 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
        TopoDS_Shape aLocalS = FFace.Oriented(TopAbs_FORWARD);
        FR.Init(TopoDS::Face(aLocalS), Standard_False, Standard_True);
 
-       for (unsigned int i = 1; i <= nbshapes; i++) {
-          Handle(GEOM_Function) aRefWire_i = Handle(GEOM_Function)::DownCast(aShapes->Value(i));
+       for (ind = 1; ind <= nbshapes; ind++) {
+          Handle(GEOM_Function) aRefWire_i =
+            Handle(GEOM_Function)::DownCast(aShapes->Value(ind));
           TopoDS_Shape aWire_i = aRefWire_i->GetValue();
           if (aWire_i.IsNull() || aWire_i.ShapeType() != TopAbs_WIRE) {
             Standard_NullObject::Raise("Shape for face construction is null or not a wire");
@@ -177,7 +178,7 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
 
     // add faces
     BRepAlgo_Sewing aSewing(Precision::Confusion()*10.0);
-    for (ind = 1; ind <= aShapes->Length(); ind++) {
+    for (ind = 1; ind <= nbshapes; ind++) {
       Handle(GEOM_Function) aRefShape = Handle(GEOM_Function)::DownCast(aShapes->Value(ind));
       TopoDS_Shape aShape_i = aRefShape->GetValue();
       if (aShape_i.IsNull()) {
@@ -229,7 +230,7 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
     B.MakeCompound(Res);
 
     // add shapes
-    for (ind = 1; ind <= aShapes->Length(); ind++) {
+    for (ind = 1; ind <= nbshapes; ind++) {
       Handle(GEOM_Function) aRefShape = Handle(GEOM_Function)::DownCast(aShapes->Value(ind));
       TopoDS_Shape aShapeShell = aRefShape->GetValue();
       if (aShapeShell.IsNull()) {
@@ -258,7 +259,7 @@ Standard_Integer GEOMImpl_ShapeDriver::Execute(TFunction_Logbook& log) const
     // add shapes
     TopoDS_Compound C;
     B.MakeCompound(C);
-    for (ind = 1; ind <= aShapes->Length(); ind++) {
+    for (ind = 1; ind <= nbshapes; ind++) {
       Handle(GEOM_Function) aRefShape = Handle(GEOM_Function)::DownCast(aShapes->Value(ind));
       TopoDS_Shape aShape_i = aRefShape->GetValue();
       if (aShape_i.IsNull()) {
index 2437381a282ac7a6ca4efef27c6a82a0ff3fed9a..17b93936cd25a6ea3cf65fb133c6bf3e97bda46b 100644 (file)
@@ -15,6 +15,10 @@ using namespace std;
 #include <TopExp.hxx>
 
 #include <gp_Pnt.hxx>
+#include <Precision.hxx>
+#include <StdFail_NotDone.hxx>
+#include <Standard_TypeMismatch.hxx>
+#include <Standard_ConstructionError.hxx>
 
 //=======================================================================
 //function : GetID
@@ -57,23 +61,36 @@ Standard_Integer GEOMImpl_TorusDriver::Execute(TFunction_Logbook& log) const
     Handle(GEOM_Function) aRefVector = aCI.GetVector();
     TopoDS_Shape aShapePnt = aRefPoint->GetValue();
     TopoDS_Shape aShapeVec = aRefVector->GetValue();
-    if (aShapePnt.ShapeType() == TopAbs_VERTEX &&
-        aShapeVec.ShapeType() == TopAbs_EDGE) {
-      gp_Pnt aP = BRep_Tool::Pnt(TopoDS::Vertex(aShapePnt));
-      TopoDS_Edge anE = TopoDS::Edge(aShapeVec);
-      TopoDS_Vertex V1, V2;
-      TopExp::Vertices(anE, V1, V2, Standard_True);
-      if (!V1.IsNull() && !V2.IsNull()) {
-        gp_Vec aV (BRep_Tool::Pnt(V1), BRep_Tool::Pnt(V2));
-        gp_Ax2 anAxes (aP, aV);
-        aShape = BRepPrimAPI_MakeTorus(anAxes, aCI.GetRMajor(), aCI.GetRMinor()).Shape();
-      }
+    if (aShapePnt.ShapeType() != TopAbs_VERTEX) {
+      Standard_TypeMismatch::Raise("Torus Center must be a vertex");
     }
+    if (aShapeVec.ShapeType() != TopAbs_EDGE) {
+      Standard_TypeMismatch::Raise("Torus Axis must be an edge");
+    }
+
+    gp_Pnt aP = BRep_Tool::Pnt(TopoDS::Vertex(aShapePnt));
+    TopoDS_Edge anE = TopoDS::Edge(aShapeVec);
+    TopoDS_Vertex V1, V2;
+    TopExp::Vertices(anE, V1, V2, Standard_True);
+    if (V1.IsNull() || V2.IsNull()) {
+      Standard_ConstructionError::Raise("Bad edge for the Torus Axis given");
+    }
+
+    gp_Vec aV (BRep_Tool::Pnt(V1), BRep_Tool::Pnt(V2));
+    if (aV.Magnitude() < Precision::Confusion()) {
+      Standard_ConstructionError::Raise
+        ("End vertices of edge, defining the Torus Axis, are too close");
+    }
+
+    gp_Ax2 anAxes (aP, aV);
+    BRepPrimAPI_MakeTorus MT (anAxes, aCI.GetRMajor(), aCI.GetRMinor());
+    if (!MT.IsDone()) MT.Build();
+    if (!MT.IsDone()) StdFail_NotDone::Raise("Torus construction algorithm has failed");
+    aShape = MT.Shape();
   } else {
   }
 
   if (aShape.IsNull()) return 0;
-
   aFunction->SetValue(aShape);
 
   log.SetTouched(Label()); 
index 235635949deae26332665af0f913266f81987563..fa8aed6dc3a0f411c6c0dc71b707f7055c4324de 100755 (executable)
@@ -80,6 +80,7 @@
 #define PLANE_THREE_PNT 3
 
 #define LINE_TWO_PNT 1
+#define LINE_PNT_DIR 2
 
 #define TRANSLATE_TWO_POINTS      1
 #define TRANSLATE_VECTOR          2
 #define BLOCK_FACE_TWO_EDGES      3
 #define BLOCK_SIX_FACES           4
 #define BLOCK_TWO_FACES           5
-//
 #define BLOCK_MULTI_TRANSFORM_1D  6
 #define BLOCK_MULTI_TRANSFORM_2D  7
+#define BLOCK_COMPOUND_GLUE      8
 
 // Marker
 #define MARKER_CS 1
index d47d1f88ca746ab5889dd35daecedd62137dc2b9..9be35edb9b801f92355a46c79d8bdaad3352dd35 100644 (file)
@@ -307,7 +307,7 @@ void GEOMToolsGUI::OnEditDelete()
         {
           GEOM::GEOM_Object_var aGeomObj = GEOM::GEOM_Object::_narrow( CSO->GetObject() );
           if ( !aGeomObj->_is_nil() )
-            GEOM_Displayer().Erase( aGeomObj );
+            GEOM_Displayer().Erase( aGeomObj, true );
         }
       }
     }
@@ -317,7 +317,7 @@ void GEOMToolsGUI::OnEditDelete()
     for ( int i = 0; i < nbSf; i++ )
     {
       QAD_StudyFrame* sf = QAD_Application::getDesktop()->getActiveStudy()->getStudyFrame( i );
-      GEOM_Displayer().Erase( IObject );
+      GEOM_Displayer().Erase( IObject, true );
     }
 
     /* Delete main shape in Client : */
index 08d96cf219d02f604c793d4580bb291e4125092b..4991063474fc397ee6659df010f9a7223dd4ad32 100644 (file)
@@ -19,7 +19,7 @@
 // 
 //  See http://www.salome-platform.org or email : webmaster.salome@opencascade.org 
 //
-//
+//            
 //
 //  File   : GEOMToolsGUI_1.cxx
 //  Author : Sergey ANIKIN
@@ -40,6 +40,7 @@
 #include "SALOMEGUI_NameDlg.h"
 
 #include "OCCViewer_Viewer3d.h"
+#include "OCCViewer_ViewFrame.h"
 #include "VTKViewer_ViewFrame.h"
 #include "VTKViewer_RenderWindowInteractor.h"
 
@@ -313,7 +314,7 @@ void GEOMToolsGUI::OnTransparency()
     OCCViewer_Viewer3d* v3d = ((OCCViewer_ViewFrame*)QAD_Application::getDesktop()->getActiveStudy()->getActiveStudyFrame()->getRightFrame()->getViewFrame())->getViewer();
     ic = v3d->getAISContext();
   }
-  GEOMBase_TransparencyDlg *aDlg = new GEOMBase_TransparencyDlg(QAD_Application::getDesktop(), "", Sel, ic);
+  new GEOMBase_TransparencyDlg(QAD_Application::getDesktop(), "", Sel, ic);
 }
 
 void GEOMToolsGUI::OnNbIsos()
index 4790a2e1b5fb12c927e73143e005764646859dca..f681d13c70d9aae5263e3675c5e30fd6ce60c337 100644 (file)
@@ -32,6 +32,7 @@ using namespace std;
 #include "QAD_RightFrame.h"
 #include "SALOME_ListIteratorOfListIO.hxx"
 #include "OCCViewer_Viewer3d.h"
+#include "OCCViewer_ViewFrame.h"
 #include <AIS_InteractiveContext.hxx>
 
 #include <qframe.h>
index e6e390862b50f1c9e7a82fde7fec4653a91ce48d..0cf0e8366bca9ae22fe1034bd286ebcc9eb112c0 100644 (file)
@@ -174,6 +174,39 @@ GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeVectorTwoPnt
 }
 
 
+//=============================================================================
+/*!
+ *  MakeLine
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_IBasicOperations_i::MakeLine
+                   (GEOM::GEOM_Object_ptr thePnt, GEOM::GEOM_Object_ptr theDir)
+{
+  GEOM::GEOM_Object_var aGEOMObject;
+
+  //Set a not done flag
+  GetOperations()->SetNotDone();
+
+  if (thePnt == NULL || theDir == NULL) return aGEOMObject._retn();
+
+  //Get the reference objects
+
+  Handle(GEOM_Object) aRef1 = GetOperations()->GetEngine()->GetObject
+    (thePnt->GetStudyID(), thePnt->GetEntry());
+  Handle(GEOM_Object) aRef2 = GetOperations()->GetEngine()->GetObject
+    (theDir->GetStudyID(), theDir->GetEntry());
+  if (aRef1.IsNull() || aRef2.IsNull()) return aGEOMObject._retn();
+
+  //Create the Line
+
+  Handle(GEOM_Object) anObject =
+    GetOperations()->MakeLine(aRef1, aRef2);
+  if (!GetOperations()->IsDone() || anObject.IsNull())
+    return aGEOMObject._retn();
+
+  return GetObject(anObject);
+}
+
 //=============================================================================
 /*!
  *  MakeLineTwoPnt
index 8ce295a991340a77b0ab7874d5b4a671e5d95a9c..5bedb15a904bff7c6917978ba0aa9284cd08c602 100644 (file)
@@ -40,6 +40,9 @@ class GEOM_IBasicOperations_i :
    GEOM::GEOM_Object_ptr MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
                                           GEOM::GEOM_Object_ptr thePnt2);
 
+   GEOM::GEOM_Object_ptr MakeLine (GEOM::GEOM_Object_ptr thePnt,
+                                  GEOM::GEOM_Object_ptr theDir);
+
    GEOM::GEOM_Object_ptr MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
                                         GEOM::GEOM_Object_ptr thePnt2);
 
index abdf3b00d8e439b2ee1daee29a594c77c11646d0..a5aeb7ee86e9ed60dd5d40aafec8a3473d110dfe 100644 (file)
@@ -38,37 +38,37 @@ GEOM_IBlocksOperations_i::~GEOM_IBlocksOperations_i()
 
 //=============================================================================
 /*!
- *  MakeQuadFaceFourVertices
+ *  MakeQuad
  */
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuadFaceFourVertices
-                      (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
-                      GEOM::GEOM_Object_ptr thePnt3, GEOM::GEOM_Object_ptr thePnt4)
+GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad
+               (GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2,
+               GEOM::GEOM_Object_ptr theEdge3, GEOM::GEOM_Object_ptr theEdge4)
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
   //Set a not done flag
   GetOperations()->SetNotDone();
 
-  if (thePnt1 == NULL || thePnt2 == NULL ||
-      thePnt3 == NULL || thePnt4 == NULL) return aGEOMObject._retn();
+  if (theEdge1 == NULL || theEdge2 == NULL ||
+      theEdge3 == NULL || theEdge4 == NULL) return aGEOMObject._retn();
 
-  //Get the reference points
-  Handle(GEOM_Object) aPnt1 = GetOperations()->GetEngine()->GetObject
-    (thePnt1->GetStudyID(), thePnt1->GetEntry());
-  Handle(GEOM_Object) aPnt2 = GetOperations()->GetEngine()->GetObject
-    (thePnt2->GetStudyID(), thePnt2->GetEntry());
-  Handle(GEOM_Object) aPnt3 = GetOperations()->GetEngine()->GetObject
-    (thePnt3->GetStudyID(), thePnt3->GetEntry());
-  Handle(GEOM_Object) aPnt4 = GetOperations()->GetEngine()->GetObject
-    (thePnt4->GetStudyID(), thePnt4->GetEntry());
+  //Get the reference edges
+  Handle(GEOM_Object) anEdge1 = GetOperations()->GetEngine()->GetObject
+    (theEdge1->GetStudyID(), theEdge1->GetEntry());
+  Handle(GEOM_Object) anEdge2 = GetOperations()->GetEngine()->GetObject
+    (theEdge2->GetStudyID(), theEdge2->GetEntry());
+  Handle(GEOM_Object) anEdge3 = GetOperations()->GetEngine()->GetObject
+    (theEdge3->GetStudyID(), theEdge3->GetEntry());
+  Handle(GEOM_Object) anEdge4 = GetOperations()->GetEngine()->GetObject
+    (theEdge4->GetStudyID(), theEdge4->GetEntry());
 
-  if (aPnt1.IsNull() || aPnt2.IsNull() ||
-      aPnt3.IsNull() || aPnt4.IsNull()) return aGEOMObject._retn();
+  if (anEdge1.IsNull() || anEdge2.IsNull() ||
+      anEdge3.IsNull() || anEdge4.IsNull()) return aGEOMObject._retn();
 
   //Create the Face
   Handle(GEOM_Object) anObject =
-    GetOperations()->MakeQuadFaceFourVertices(aPnt1, aPnt2, aPnt3, aPnt4);
+    GetOperations()->MakeQuad(anEdge1, anEdge2, anEdge3, anEdge4);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -77,37 +77,30 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuadFaceFourVertices
 
 //=============================================================================
 /*!
- *  MakeQuadFaceFourEdges
+ *  MakeQuad2Edges
  */
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuadFaceFourEdges
-               (GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2,
-               GEOM::GEOM_Object_ptr theEdge3, GEOM::GEOM_Object_ptr theEdge4)
+GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad2Edges
+               (GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2)
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
   //Set a not done flag
   GetOperations()->SetNotDone();
 
-  if (theEdge1 == NULL || theEdge2 == NULL ||
-      theEdge3 == NULL || theEdge4 == NULL) return aGEOMObject._retn();
+  if (theEdge1 == NULL || theEdge2 == NULL) return aGEOMObject._retn();
 
   //Get the reference edges
   Handle(GEOM_Object) anEdge1 = GetOperations()->GetEngine()->GetObject
     (theEdge1->GetStudyID(), theEdge1->GetEntry());
   Handle(GEOM_Object) anEdge2 = GetOperations()->GetEngine()->GetObject
     (theEdge2->GetStudyID(), theEdge2->GetEntry());
-  Handle(GEOM_Object) anEdge3 = GetOperations()->GetEngine()->GetObject
-    (theEdge3->GetStudyID(), theEdge3->GetEntry());
-  Handle(GEOM_Object) anEdge4 = GetOperations()->GetEngine()->GetObject
-    (theEdge4->GetStudyID(), theEdge4->GetEntry());
 
-  if (anEdge1.IsNull() || anEdge2.IsNull() ||
-      anEdge3.IsNull() || anEdge4.IsNull()) return aGEOMObject._retn();
+  if (anEdge1.IsNull() || anEdge2.IsNull()) return aGEOMObject._retn();
 
   //Create the Face
   Handle(GEOM_Object) anObject =
-    GetOperations()->MakeQuadFaceFourEdges(anEdge1, anEdge2, anEdge3, anEdge4);
+    GetOperations()->MakeQuad2Edges(anEdge1, anEdge2);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -116,30 +109,37 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuadFaceFourEdges
 
 //=============================================================================
 /*!
- *  MakeQuadFaceTwoEdges
+ *  MakeQuad4Vertices
  */
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuadFaceTwoEdges
-               (GEOM::GEOM_Object_ptr theEdge1, GEOM::GEOM_Object_ptr theEdge2)
+GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuad4Vertices
+                      (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2,
+                      GEOM::GEOM_Object_ptr thePnt3, GEOM::GEOM_Object_ptr thePnt4)
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
   //Set a not done flag
   GetOperations()->SetNotDone();
 
-  if (theEdge1 == NULL || theEdge2 == NULL) return aGEOMObject._retn();
+  if (thePnt1 == NULL || thePnt2 == NULL ||
+      thePnt3 == NULL || thePnt4 == NULL) return aGEOMObject._retn();
 
-  //Get the reference edges
-  Handle(GEOM_Object) anEdge1 = GetOperations()->GetEngine()->GetObject
-    (theEdge1->GetStudyID(), theEdge1->GetEntry());
-  Handle(GEOM_Object) anEdge2 = GetOperations()->GetEngine()->GetObject
-    (theEdge2->GetStudyID(), theEdge2->GetEntry());
+  //Get the reference points
+  Handle(GEOM_Object) aPnt1 = GetOperations()->GetEngine()->GetObject
+    (thePnt1->GetStudyID(), thePnt1->GetEntry());
+  Handle(GEOM_Object) aPnt2 = GetOperations()->GetEngine()->GetObject
+    (thePnt2->GetStudyID(), thePnt2->GetEntry());
+  Handle(GEOM_Object) aPnt3 = GetOperations()->GetEngine()->GetObject
+    (thePnt3->GetStudyID(), thePnt3->GetEntry());
+  Handle(GEOM_Object) aPnt4 = GetOperations()->GetEngine()->GetObject
+    (thePnt4->GetStudyID(), thePnt4->GetEntry());
 
-  if (anEdge1.IsNull() || anEdge2.IsNull()) return aGEOMObject._retn();
+  if (aPnt1.IsNull() || aPnt2.IsNull() ||
+      aPnt3.IsNull() || aPnt4.IsNull()) return aGEOMObject._retn();
 
   //Create the Face
   Handle(GEOM_Object) anObject =
-    GetOperations()->MakeQuadFaceTwoEdges(anEdge1, anEdge2);
+    GetOperations()->MakeQuad4Vertices(aPnt1, aPnt2, aPnt3, aPnt4);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -148,10 +148,10 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeQuadFaceTwoEdges
 
 //=============================================================================
 /*!
- *  MakeHexaSolidSixFaces
+ *  MakeHexa
  */
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexaSolidSixFaces
+GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexa
                (GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace2,
                GEOM::GEOM_Object_ptr theFace3, GEOM::GEOM_Object_ptr theFace4,
                GEOM::GEOM_Object_ptr theFace5, GEOM::GEOM_Object_ptr theFace6)
@@ -184,7 +184,7 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexaSolidSixFaces
       anFace5.IsNull() || anFace6.IsNull()) return aGEOMObject._retn();
 
   //Create the Face
-  Handle(GEOM_Object) anObject = GetOperations()->MakeHexaSolidSixFaces
+  Handle(GEOM_Object) anObject = GetOperations()->MakeHexa
     (anFace1, anFace2, anFace3, anFace4, anFace5, anFace6);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
@@ -194,10 +194,10 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexaSolidSixFaces
 
 //=============================================================================
 /*!
- *  MakeHexaSolidTwoFaces
+ *  MakeHexa2Faces
  */
 //=============================================================================
-GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexaSolidTwoFaces
+GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexa2Faces
                (GEOM::GEOM_Object_ptr theFace1, GEOM::GEOM_Object_ptr theFace2)
 {
   GEOM::GEOM_Object_var aGEOMObject;
@@ -217,7 +217,70 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeHexaSolidTwoFaces
 
   //Create the Face
   Handle(GEOM_Object) anObject =
-    GetOperations()->MakeHexaSolidTwoFaces(anFace1, anFace2);
+    GetOperations()->MakeHexa2Faces(anFace1, anFace2);
+  if (!GetOperations()->IsDone() || anObject.IsNull())
+    return aGEOMObject._retn();
+
+  return GetObject(anObject);
+}
+
+//=============================================================================
+/*!
+ *  MakeBlockCompound
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::MakeBlockCompound
+                                            (GEOM::GEOM_Object_ptr theCompound)
+{
+  GEOM::GEOM_Object_var aGEOMObject;
+
+  //Set a not done flag
+  GetOperations()->SetNotDone();
+
+  if (theCompound == NULL) return aGEOMObject._retn();
+
+  //Get the reference Compound
+  Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
+    (theCompound->GetStudyID(), theCompound->GetEntry());
+
+  if (aCompound.IsNull()) return aGEOMObject._retn();
+
+  //Create the Blocks Compound
+  Handle(GEOM_Object) anObject =
+    GetOperations()->MakeBlockCompound(aCompound);
+  if (!GetOperations()->IsDone() || anObject.IsNull())
+    return aGEOMObject._retn();
+
+  return GetObject(anObject);
+}
+
+//=============================================================================
+/*!
+ *  GetPoint
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
+                                                         const CORBA::Double   theX,
+                                                         const CORBA::Double   theY,
+                                                         const CORBA::Double   theZ,
+                                                         const CORBA::Double   theEpsilon)
+{
+  GEOM::GEOM_Object_var aGEOMObject;
+
+  //Set a not done flag
+  GetOperations()->SetNotDone();
+
+  if (theShape == NULL) return aGEOMObject._retn();
+
+  //Get the reference Objects
+  Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
+    (theShape->GetStudyID(), theShape->GetEntry());
+
+  if (aShape.IsNull()) return aGEOMObject._retn();
+
+  //Create the Point
+  Handle(GEOM_Object) anObject =
+    GetOperations()->GetPoint(aShape, theX, theY, theZ, theEpsilon);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -252,7 +315,7 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetEdge (GEOM::GEOM_Object_ptr t
   if (aShape.IsNull() ||
       aPoint1.IsNull() || aPoint2.IsNull()) return aGEOMObject._retn();
 
-  //Create the Face
+  //Create the Point
   Handle(GEOM_Object) anObject =
     GetOperations()->GetEdge(aShape, aPoint1, aPoint2);
   if (!GetOperations()->IsDone() || anObject.IsNull())
@@ -261,6 +324,38 @@ GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetEdge (GEOM::GEOM_Object_ptr t
   return GetObject(anObject);
 }
 
+//=============================================================================
+/*!
+ *  GetEdgeNearPoint
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_IBlocksOperations_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
+                                                                 GEOM::GEOM_Object_ptr thePoint)
+{
+  GEOM::GEOM_Object_var aGEOMObject;
+
+  //Set a not done flag
+  GetOperations()->SetNotDone();
+
+  if (theShape == NULL || thePoint == NULL) return aGEOMObject._retn();
+
+  //Get the reference Objects
+  Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
+    (theShape->GetStudyID(), theShape->GetEntry());
+  Handle(GEOM_Object) aPoint = GetOperations()->GetEngine()->GetObject
+    (thePoint->GetStudyID(), thePoint->GetEntry());
+
+  if (aShape.IsNull() || aPoint.IsNull()) return aGEOMObject._retn();
+
+  //Create the Edge
+  Handle(GEOM_Object) anObject =
+    GetOperations()->GetEdgeNearPoint(aShape, aPoint);
+  if (!GetOperations()->IsDone() || anObject.IsNull())
+    return aGEOMObject._retn();
+
+  return GetObject(anObject);
+}
+
 //=============================================================================
 /*!
  *  GetFaceByPoints
@@ -516,6 +611,141 @@ CORBA::Boolean GEOM_IBlocksOperations_i::IsCompoundOfBlocks
   return isComp;
 }
 
+//=============================================================================
+/*!
+ *  CheckCompoundOfBlocks
+ */
+//=============================================================================
+CORBA::Boolean GEOM_IBlocksOperations_i::CheckCompoundOfBlocks
+                                          (GEOM::GEOM_Object_ptr theCompound,
+                                          GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
+{
+  CORBA::Boolean isComp = false;
+
+  //Set a not done flag
+  GetOperations()->SetNotDone();
+
+  if (theCompound == NULL) return isComp;
+
+  //Get the reference Compound
+  Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
+    (theCompound->GetStudyID(), theCompound->GetEntry());
+
+  if (aCompound.IsNull()) return isComp;
+
+  //Check
+  list<GEOMImpl_IBlocksOperations::BCError> errList;
+  isComp = GetOperations()->CheckCompoundOfBlocks(aCompound, errList);
+  if (!GetOperations()->IsDone())
+    return isComp;
+
+  const int nbErr = errList.size();
+  GEOM::GEOM_IBlocksOperations::BCErrors_var anErrArray =
+    new GEOM::GEOM_IBlocksOperations::BCErrors();
+  anErrArray->length(nbErr);
+
+  // fill the local CORBA array with values from lists
+  list<GEOMImpl_IBlocksOperations::BCError>::iterator errIt = errList.begin();
+  int i = 0;
+  for (; errIt != errList.end(); i++, errIt++) {
+    GEOM::GEOM_IBlocksOperations::BCError_var anError =
+      new GEOM::GEOM_IBlocksOperations::BCError();
+
+    GEOMImpl_IBlocksOperations::BCError errStruct = *errIt;
+
+    switch (errStruct.error) {
+    case GEOMImpl_IBlocksOperations::NOT_BLOCK:
+      anError->error = GEOM::GEOM_IBlocksOperations::NOT_BLOCK;
+      break;
+    case GEOMImpl_IBlocksOperations::INVALID_CONNECTION:
+      anError->error = GEOM::GEOM_IBlocksOperations::INVALID_CONNECTION;
+      break;
+    case GEOMImpl_IBlocksOperations::NOT_CONNECTED:
+      anError->error = GEOM::GEOM_IBlocksOperations::NOT_CONNECTED;
+      break;
+    case GEOMImpl_IBlocksOperations::NOT_GLUED:
+      anError->error = GEOM::GEOM_IBlocksOperations::NOT_GLUED;
+      break;
+    default:
+      break;
+    }
+
+    list<int> sshList = errStruct.incriminated;
+    GEOM::ListOfLong_var anIncrims = new GEOM::ListOfLong();
+    anIncrims->length(sshList.size());
+
+    list<int>::iterator sshIt = sshList.begin();
+    int jj = 0;
+    for (; sshIt != sshList.end(); jj++, sshIt++) {
+      anIncrims[jj] = *sshIt;
+    }
+
+    anError->incriminated = anIncrims;
+
+    anErrArray[i] = anError;
+  }
+
+  // initialize out-parameter with local array
+  theErrors = anErrArray._retn();
+
+  return isComp;
+}
+
+//=============================================================================
+/*!
+ *  PrintBCErrors
+ */
+//=============================================================================
+char* GEOM_IBlocksOperations_i::PrintBCErrors
+                      (GEOM::GEOM_Object_ptr theCompound,
+                      const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors)
+{
+  //Get the reference Compound
+  if (theCompound == NULL) return NULL;
+  Handle(GEOM_Object) aCompound = GetOperations()->GetEngine()->GetObject
+    (theCompound->GetStudyID(), theCompound->GetEntry());
+  if (aCompound.IsNull()) return NULL;
+
+  // Convert the errors sequence
+  list<GEOMImpl_IBlocksOperations::BCError> anErrors;
+  int nbErr = theErrors.length();
+  int ie = 0;
+  for (; ie < nbErr; ie++) {
+    const GEOM::GEOM_IBlocksOperations::BCError err = theErrors[ie];
+    const GEOM::GEOM_IBlocksOperations::BCErrorType typ = err.error;
+    const GEOM::ListOfLong incrims = err.incriminated;
+
+    GEOMImpl_IBlocksOperations::BCError errStruct;
+    switch (typ) {
+    case GEOM::GEOM_IBlocksOperations::NOT_BLOCK:
+      errStruct.error = GEOMImpl_IBlocksOperations::NOT_BLOCK;
+      break;
+    case GEOM::GEOM_IBlocksOperations::INVALID_CONNECTION:
+      errStruct.error = GEOMImpl_IBlocksOperations::INVALID_CONNECTION;
+      break;
+    case GEOM::GEOM_IBlocksOperations::NOT_CONNECTED:
+      errStruct.error = GEOMImpl_IBlocksOperations::NOT_CONNECTED;
+      break;
+    case GEOM::GEOM_IBlocksOperations::NOT_GLUED:
+      errStruct.error = GEOMImpl_IBlocksOperations::NOT_GLUED;
+      break;
+    default:
+      break;
+    }
+
+    int ii = 0;
+    int aLen = incrims.length();
+    for (; ii < aLen; ii++) {
+      errStruct.incriminated.push_back(incrims[ii]);
+    }
+
+    anErrors.push_back(errStruct);
+  }
+
+  TCollection_AsciiString aDescr = GetOperations()->PrintBCErrors(aCompound, anErrors);
+  return CORBA::string_dup(aDescr.ToCString());    
+}
+
 //=============================================================================
 /*!
  *  GetBlockNearPoint
index 1a4a23a96b83e1e17c2037e0d18387a9cf09a4fe..32c5085dabe31232af8ef05c4f33c7e941113fe4 100644 (file)
@@ -21,34 +21,45 @@ class GEOM_IBlocksOperations_i :
   ~GEOM_IBlocksOperations_i();
 
   // Creation of blocks and block faces
-  GEOM::GEOM_Object_ptr MakeQuadFaceFourVertices (GEOM::GEOM_Object_ptr thePnt1,
-                                                 GEOM::GEOM_Object_ptr thePnt2,
-                                                 GEOM::GEOM_Object_ptr thePnt3,
-                                                 GEOM::GEOM_Object_ptr thePnt4);
+  GEOM::GEOM_Object_ptr MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
+                                 GEOM::GEOM_Object_ptr theEdge2,
+                                 GEOM::GEOM_Object_ptr theEdge3,
+                                 GEOM::GEOM_Object_ptr theEdge4);
 
-  GEOM::GEOM_Object_ptr MakeQuadFaceFourEdges (GEOM::GEOM_Object_ptr theEdge1,
-                                              GEOM::GEOM_Object_ptr theEdge2,
-                                              GEOM::GEOM_Object_ptr theEdge3,
-                                              GEOM::GEOM_Object_ptr theEdge4);
+  GEOM::GEOM_Object_ptr MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
+                                       GEOM::GEOM_Object_ptr theEdge2);
+
+  GEOM::GEOM_Object_ptr MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
+                                          GEOM::GEOM_Object_ptr thePnt2,
+                                          GEOM::GEOM_Object_ptr thePnt3,
+                                          GEOM::GEOM_Object_ptr thePnt4);
 
-  GEOM::GEOM_Object_ptr MakeQuadFaceTwoEdges (GEOM::GEOM_Object_ptr theEdge1,
-                                             GEOM::GEOM_Object_ptr theEdge2);
+  GEOM::GEOM_Object_ptr MakeHexa (GEOM::GEOM_Object_ptr theFace1,
+                                 GEOM::GEOM_Object_ptr theFace2,
+                                 GEOM::GEOM_Object_ptr theFace3,
+                                 GEOM::GEOM_Object_ptr theFace4,
+                                 GEOM::GEOM_Object_ptr theFace5,
+                                 GEOM::GEOM_Object_ptr theFace6);
 
-  GEOM::GEOM_Object_ptr MakeHexaSolidSixFaces (GEOM::GEOM_Object_ptr theFace1,
-                                              GEOM::GEOM_Object_ptr theFace2,
-                                              GEOM::GEOM_Object_ptr theFace3,
-                                              GEOM::GEOM_Object_ptr theFace4,
-                                              GEOM::GEOM_Object_ptr theFace5,
-                                              GEOM::GEOM_Object_ptr theFace6);
+  GEOM::GEOM_Object_ptr MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
+                                       GEOM::GEOM_Object_ptr theFace2);
 
-  GEOM::GEOM_Object_ptr MakeHexaSolidTwoFaces (GEOM::GEOM_Object_ptr theFace1,
-                                              GEOM::GEOM_Object_ptr theFace2);
+  GEOM::GEOM_Object_ptr MakeBlockCompound (GEOM::GEOM_Object_ptr theCompound);
 
   // Extract elements of blocks and blocks compounds
+  GEOM::GEOM_Object_ptr GetPoint (GEOM::GEOM_Object_ptr theShape,
+                                 const CORBA::Double   theX,
+                                 const CORBA::Double   theY,
+                                 const CORBA::Double   theZ,
+                                 const CORBA::Double   theEpsilon);
+
   GEOM::GEOM_Object_ptr GetEdge (GEOM::GEOM_Object_ptr theShape,
                                 GEOM::GEOM_Object_ptr thePoint1,
                                 GEOM::GEOM_Object_ptr thePoint2);
 
+  GEOM::GEOM_Object_ptr GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
+                                         GEOM::GEOM_Object_ptr thePoint);
+
   GEOM::GEOM_Object_ptr GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
                                         GEOM::GEOM_Object_ptr thePoint1,
                                         GEOM::GEOM_Object_ptr thePoint2,
@@ -68,12 +79,19 @@ class GEOM_IBlocksOperations_i :
   GEOM::GEOM_Object_ptr GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
                                          GEOM::GEOM_Object_ptr theVector);
 
-  // Extract blocks from blocks compounds
+  // Check blocks compound
   CORBA::Boolean IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
                                     const CORBA::Long     theMinNbFaces,
                                     const CORBA::Long     theMaxNbFaces,
                                     CORBA::Long&          theNbBlocks);
 
+  CORBA::Boolean CheckCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
+                                       GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors);
+
+  char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
+                      const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors);
+
+  // Extract blocks from blocks compounds
   GEOM::ListOfGO* ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
                                           const CORBA::Long     theMinNbFaces,
                                           const CORBA::Long     theMaxNbFaces);
index b2bf936c0ef7fdd815271aa6434e94baf3862322..cfd948da190153a5ec622d6610ee3d50b9f4b78e 100644 (file)
@@ -1,4 +1,4 @@
-using namespace std; 
+using namespace std;
 
 #include "GEOM_ILocalOperations_i.hh"
 
@@ -37,15 +37,12 @@ GEOM_ILocalOperations_i::~GEOM_ILocalOperations_i()
 /*!
  *  MakeFilletAll
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletAll
                       (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR)
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
-  //Set a not done flag
-  GetOperations()->SetNotDone();
-
   if (theShape == NULL) return aGEOMObject._retn();
 
   //Get the reference shape
@@ -56,7 +53,7 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletAll
 
   //Create the Fillet
   Handle(GEOM_Object) anObject =
-      GetOperations()->MakeFilletAll(aShapeRef, theR);
+    GetOperations()->MakeFilletAll(aShapeRef, theR);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -67,16 +64,13 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletAll
 /*!
  *  MakeFilletEdges
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletEdges
                       (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
                       const GEOM::ListOfLong& theEdges)
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
-  //Set a not done flag
-  GetOperations()->SetNotDone();
-
   if (theShape == NULL) return aGEOMObject._retn();
 
   //Get the reference shape
@@ -94,7 +88,7 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletEdges
 
   //Create the Fillet
   Handle(GEOM_Object) anObject =
-      GetOperations()->MakeFilletEdges(aShapeRef, theR, anEdges);
+    GetOperations()->MakeFilletEdges(aShapeRef, theR, anEdges);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -105,16 +99,13 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletEdges
 /*!
  *  MakeFilletFaces
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletFaces
                       (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
                       const GEOM::ListOfLong& theFaces)
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
-  //Set a not done flag
-  GetOperations()->SetNotDone();
-
   if (theShape == NULL) return aGEOMObject._retn();
 
   //Get the reference shape
@@ -132,7 +123,7 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletFaces
 
   //Create the Fillet
   Handle(GEOM_Object) anObject =
-      GetOperations()->MakeFilletFaces(aShapeRef, theR, aFaces);
+    GetOperations()->MakeFilletFaces(aShapeRef, theR, aFaces);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -143,15 +134,12 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeFilletFaces
 /*!
  *  MakeChamferAll
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferAll
                       (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD)
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
-  //Set a not done flag
-  GetOperations()->SetNotDone();
-
   if (theShape == NULL) return aGEOMObject._retn();
 
   //Get the reference shape
@@ -162,7 +150,7 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferAll
 
   //Create the Chamfer
   Handle(GEOM_Object) anObject =
-      GetOperations()->MakeChamferAll(aShapeRef, theD);
+    GetOperations()->MakeChamferAll(aShapeRef, theD);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -173,7 +161,7 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferAll
 /*!
  *  MakeChamferEdge
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdge
                       (GEOM::GEOM_Object_ptr theShape,
                       CORBA::Double theD1, CORBA::Double theD2,
@@ -181,9 +169,6 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdge
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
-  //Set a not done flag
-  GetOperations()->SetNotDone();
-
   if (theShape == NULL) return aGEOMObject._retn();
 
   //Get the reference shape
@@ -193,7 +178,7 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdge
 
   //Create the Chamfer
   Handle(GEOM_Object) anObject =
-      GetOperations()->MakeChamferEdge(aShapeRef, theD1, theD2, theFace1, theFace2);
+    GetOperations()->MakeChamferEdge(aShapeRef, theD1, theD2, theFace1, theFace2);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -204,7 +189,7 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferEdge
 /*!
  *  MakeChamferFaces
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFaces
                       (GEOM::GEOM_Object_ptr theShape,
                       CORBA::Double theD1, CORBA::Double theD2,
@@ -212,9 +197,6 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFaces
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
-  //Set a not done flag
-  GetOperations()->SetNotDone();
-
   if (theShape == NULL) return aGEOMObject._retn();
 
   //Get the reference shape
@@ -232,7 +214,7 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFaces
 
   //Create the Chamfer
   Handle(GEOM_Object) anObject =
-      GetOperations()->MakeChamferFaces(aShapeRef, theD1, theD2, aFaces);
+    GetOperations()->MakeChamferFaces(aShapeRef, theD1, theD2, aFaces);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
 
@@ -243,7 +225,7 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeChamferFaces
 /*!
  *  MakeArchimede
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
                                                              CORBA::Double theWeight,
                                                              CORBA::Double theWaterDensity,
@@ -251,40 +233,43 @@ GEOM::GEOM_Object_ptr GEOM_ILocalOperations_i::MakeArchimede (GEOM::GEOM_Object_
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
-  //Set a not done flag
-  GetOperations()->SetNotDone();
-
   if (theShape == NULL) return aGEOMObject._retn();
 
   //Get the reference shape
-  Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject(theShape->GetStudyID(), theShape->GetEntry());
+  Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
+    (theShape->GetStudyID(), theShape->GetEntry());
   if (aShapeRef.IsNull()) return aGEOMObject._retn();
 
-
   //Create the Archimede
-  Handle(GEOM_Object) anObject = GetOperations()->MakeArchimede(aShapeRef, theWeight, theWaterDensity, theMeshingDeflection);
-  if (!GetOperations()->IsDone() || anObject.IsNull()) return aGEOMObject._retn();
+  Handle(GEOM_Object) anObject = GetOperations()->MakeArchimede
+    (aShapeRef, theWeight, theWaterDensity, theMeshingDeflection);
+  if (!GetOperations()->IsDone() || anObject.IsNull())
+    return aGEOMObject._retn();
 
   return GetObject(anObject);
-
-}                                                             
+}
 
 //=============================================================================
 /*!
  *  GetSubShapeIndex
  */
-//============================================================================= 
+//=============================================================================
 CORBA::Long GEOM_ILocalOperations_i::GetSubShapeIndex
   (GEOM::GEOM_Object_ptr theShape, GEOM::GEOM_Object_ptr theSubShape)
 {
   if (theShape == NULL || theSubShape == NULL) return -1;
 
   //Get the reference shapes
-  Handle(GEOM_Object) aShapeRef =
-    GetOperations()->GetEngine()->GetObject(theShape->GetStudyID(), theShape->GetEntry());
-  Handle(GEOM_Object) aSubShapeRef =
-    GetOperations()->GetEngine()->GetObject(theSubShape->GetStudyID(), theSubShape->GetEntry());
+  Handle(GEOM_Object) aShapeRef = GetOperations()->GetEngine()->GetObject
+    (theShape->GetStudyID(), theShape->GetEntry());
+  Handle(GEOM_Object) aSubShapeRef = GetOperations()->GetEngine()->GetObject
+    (theSubShape->GetStudyID(), theSubShape->GetEntry());
   if (aShapeRef.IsNull() || aSubShapeRef.IsNull()) return -1;
 
-  return GetOperations()->GetSubShapeIndex(aShapeRef, aSubShapeRef);
-}                                                             
+  //Get the unique ID of <theSubShape> inside <theShape>
+  CORBA::Long anID = GetOperations()->GetSubShapeIndex(aShapeRef, aSubShapeRef);
+  if (!GetOperations()->IsDone())
+    return -1;
+
+  return anID;
+}
index c39075c928a4cf324d40c35124cce33d73765010..4f8236d4afaaee996ad96063a01f1025de8b186a 100644 (file)
@@ -1,4 +1,4 @@
-using namespace std; 
+using namespace std;
 
 #include "GEOM_IShapesOperations_i.hh"
 
@@ -40,7 +40,7 @@ GEOM_IShapesOperations_i::~GEOM_IShapesOperations_i()
 /*!
  *  MakeEdge
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeEdge
                       (GEOM::GEOM_Object_ptr thePnt1, GEOM::GEOM_Object_ptr thePnt2)
 {
@@ -59,7 +59,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeEdge
 
   if (aPnt1.IsNull() || aPnt2.IsNull()) return aGEOMObject._retn();
 
-  //Create the Edge 
+  //Create the Edge
   Handle(GEOM_Object) anObject = GetOperations()->MakeEdge(aPnt1, aPnt2);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
@@ -71,7 +71,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeEdge
 /*!
  *  MakeWire
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeWire
                                       (const GEOM::ListOfGO& theEdgesAndWires)
 {
@@ -106,7 +106,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeWire
 /*!
  *  MakeFace
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFace
                       (GEOM::GEOM_Object_ptr theWire, CORBA::Boolean isPlanarWanted)
 {
@@ -123,7 +123,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFace
 
   if (aWire.IsNull()) return aGEOMObject._retn();
 
-  //Create the Face 
+  //Create the Face
   Handle(GEOM_Object) anObject = GetOperations()->MakeFace(aWire, isPlanarWanted);
   if (!GetOperations()->IsDone() || anObject.IsNull())
     return aGEOMObject._retn();
@@ -135,7 +135,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFace
 /*!
  *  MakeFaceWires
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFaceWires
                                          (const GEOM::ListOfGO& theWires,
                                          CORBA::Boolean        isPlanarWanted)
@@ -171,7 +171,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeFaceWires
 /*!
  *  MakeShell
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeShell
                                       (const GEOM::ListOfGO& theFacesAndShells)
 {
@@ -206,7 +206,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeShell
 /*!
  *  MakeSolidShell
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSolidShell
                                                 (GEOM::GEOM_Object_ptr theShell)
 {
@@ -235,7 +235,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSolidShell
 /*!
  *  MakeSolidShells
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSolidShells
                                       (const GEOM::ListOfGO& theShells)
 {
@@ -270,7 +270,7 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeSolidShells
 /*!
  *  MakeCompound
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeCompound
                                       (const GEOM::ListOfGO& theShapes)
 {
@@ -305,10 +305,10 @@ GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeCompound
 /*!
  *  MakeGlueFaces
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::MakeGlueFaces
-                                                (GEOM::GEOM_Object_ptr   theShape,
-                                                const CORBA::Double     theTolerance)
+                                           (GEOM::GEOM_Object_ptr theShape,
+                                           const CORBA::Double   theTolerance)
 {
   GEOM::GEOM_Object_var aGEOMObject;
 
@@ -355,6 +355,35 @@ GEOM::ListOfGO* GEOM_IShapesOperations_i::MakeExplode (GEOM::GEOM_Object_ptr the
   return aSeq._retn();
 }
 
+//=============================================================================
+/*!
+ *  GetSubShape
+ */
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::GetSubShape
+                                           (GEOM::GEOM_Object_ptr theMainShape,
+                                           const CORBA::Long     theID)
+{
+  GEOM::GEOM_Object_var aGEOMObject;
+
+  //Set a not done flag
+  GetOperations()->SetNotDone();
+
+  if (theMainShape == NULL) return aGEOMObject._retn();
+
+  //Get the reference objects
+  Handle(GEOM_Object) aShape = GetOperations()->GetEngine()->GetObject
+    (theMainShape->GetStudyID(), theMainShape->GetEntry());
+
+  if (aShape.IsNull()) return aGEOMObject._retn();
+
+  Handle(GEOM_Object) anObject = GetOperations()->GetSubShape(aShape, theID);
+  if (!GetOperations()->IsDone() || anObject.IsNull())
+    return aGEOMObject._retn();
+
+  return GetObject(anObject);
+}
+
 //=============================================================================
 /*!
  *  NumberOfFaces
@@ -395,7 +424,7 @@ CORBA::Long GEOM_IShapesOperations_i::NumberOfEdges (GEOM::GEOM_Object_ptr theSh
 /*!
  *  ReverseOrientation
  */
-//============================================================================= 
+//=============================================================================
 GEOM::GEOM_Object_ptr GEOM_IShapesOperations_i::ChangeOrientation
                                                 (GEOM::GEOM_Object_ptr theShape)
 {
index 308c22883d7e391dd9587f9c0ebbf21d5c6af54e..4a63bb1f5e30f4ffe7a4e6f3ac00d6bf5cd5050c 100644 (file)
@@ -11,7 +11,7 @@
 
 #include "GEOMImpl_IShapesOperations.hxx"
 
-class GEOM_IShapesOperations_i : 
+class GEOM_IShapesOperations_i :
     public virtual POA_GEOM::GEOM_IShapesOperations,
     public virtual GEOM_IOperations_i
 {
@@ -46,6 +46,9 @@ class GEOM_IShapesOperations_i :
                               const CORBA::Long theShapeType,
                               const CORBA::Boolean isSorted);
 
+  GEOM::GEOM_Object_ptr GetSubShape (GEOM::GEOM_Object_ptr theMainShape,
+                                    const CORBA::Long     theID);
+
   CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
   CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
 
index bc4f862c2ce9691f72cbadeaf3aef88a9094b96f..2af09b20943192aafa6de5fb5d537faa4f236c5d 100644 (file)
@@ -1,8 +1,9 @@
-using namespace std; 
+using namespace std;
 
 #include "GEOM_Object_i.hh"
 #include "GEOM_Gen_i.hh"
 #include "GEOM_ISubShape.hxx"
+#include "GEOMImpl_Types.hxx"
 
 #include "utilities.h"
 #include "OpUtil.hxx"
@@ -42,18 +43,18 @@ GEOM_Object_i::~GEOM_Object_i()
 
 
 //=============================================================================
-/*! 
+/*!
  *  GetEntry
  */
-//============================================================================= 
+//=============================================================================
 char* GEOM_Object_i::GetEntry()
 {
-  const TDF_Label& aLabel = _impl->GetEntry();    
+  const TDF_Label& aLabel = _impl->GetEntry();
   TCollection_AsciiString anEntry;
-  TDF_Tool::Entry(aLabel, anEntry);    
-  return CORBA::string_dup(anEntry.ToCString());    
+  TDF_Tool::Entry(aLabel, anEntry);
+  return CORBA::string_dup(anEntry.ToCString());
 }
+
 //=============================================================================
 /*!
  *  GetStudyID
@@ -62,9 +63,9 @@ char* GEOM_Object_i::GetEntry()
 CORBA::Long GEOM_Object_i::GetStudyID()
 {
    return _impl->GetDocID();
-} 
-    
-    
+}
+
+
 //=============================================================================
 /*!
  *  GetType
@@ -82,7 +83,7 @@ CORBA::Long GEOM_Object_i::GetType()
 //=============================================================================
 GEOM::shape_type GEOM_Object_i::GetShapeType()
 {
-  TopoDS_Shape _geom = _impl->GetValue(); 
+  TopoDS_Shape _geom = _impl->GetValue();
   if(_geom.IsNull()) return GEOM::SHAPE;
   return (GEOM::shape_type)_geom.ShapeType();
 }
@@ -166,7 +167,7 @@ GEOM::ListOfGO* GEOM_Object_i::GetDependency()
 
 //=============================================================================
 /*!
- * GetLastDependency 
+ * GetLastDependency
  */
 //=============================================================================
 GEOM::ListOfGO* GEOM_Object_i::GetLastDependency()
@@ -201,8 +202,8 @@ GEOM::ListOfGO* GEOM_Object_i::GetLastDependency()
 //=================================================================================
 SALOMEDS::TMPFile* GEOM_Object_i::GetShapeStream()
 {
-  TopoDS_Shape aShape = _impl->GetValue(); 
+  TopoDS_Shape aShape = _impl->GetValue();
+
   if(aShape.IsNull()) return NULL;
 
   ostrstream streamShape;
@@ -215,7 +216,7 @@ SALOMEDS::TMPFile* GEOM_Object_i::GetShapeStream()
   char* valueOfStream = streamShape.str();
   //Create copy of ostrstream content
   memcpy(buf, valueOfStream, size);
-  //Allow automatic deletion of ostrstream content 
+  //Allow automatic deletion of ostrstream content
   streamShape.rdbuf()->freeze(0);
 
   CORBA::Octet* OctetBuf =  (CORBA::Octet*)buf;
@@ -232,7 +233,7 @@ SALOMEDS::TMPFile* GEOM_Object_i::GetShapeStream()
 long GEOM_Object_i::getShape() {
   _geom = _impl->GetValue();
   return((long)(&_geom));
-}      
+}
 
 //=============================================================================
 /*!
@@ -256,7 +257,7 @@ GEOM::ListOfLong* GEOM_Object_i::GetSubShapeIndices()
     anIndices->length(0);
   }
 
-  return anIndices._retn(); 
+  return anIndices._retn();
 }
 
 
@@ -275,13 +276,17 @@ GEOM::GEOM_Object_ptr GEOM_Object_i::GetMainShape()
 
     aFunction = ISS.GetMainShape();
     if(aFunction.IsNull()) return obj._retn();
-    TDF_Label aLabel  = aFunction->GetOwnerEntry();   
+    TDF_Label aLabel  = aFunction->GetOwnerEntry();
     if(aLabel.IsNull()) return obj._retn();
     TCollection_AsciiString anEntry;
     TDF_Tool::Entry(aLabel, anEntry);
     return GEOM::GEOM_Object::_duplicate(_engine->GetObject(_impl->GetDocID(), anEntry.ToCString()));
   }
 
-  return obj._retn();   
+  return obj._retn();
 }
 
+bool GEOM_Object_i::IsShape()
+{
+  return !_impl->GetValue().IsNull() && _impl->GetType() != GEOM_MARKER;
+}
index 2d1ecaad6da033cc42452c21392ba77cee8621e8..06bea0b09615fec8f0e8c635599d2e00c779141b 100644 (file)
@@ -46,7 +46,9 @@ class GEOM_Object_i : public virtual POA_GEOM::GEOM_Object, public virtual SALOM
 
   virtual GEOM::ListOfLong* GetSubShapeIndices(); 
  
-  virtual GEOM::GEOM_Object_ptr GetMainShape();   
+  virtual GEOM::GEOM_Object_ptr GetMainShape();
+
+  virtual bool IsShape();   
 
   Handle(GEOM_Object) GetImpl() { return _impl; }
 
index d2930b495de15f999a8569e1186fbdb6e324d8fa..ce1b8632572ae204313a4ed6075743872665e9df 100644 (file)
@@ -62,7 +62,22 @@ BIN_SRC =
 BIN_CLIENT_IDL = 
 BIN_SERVER_IDL =
 
-EXPORT_HEADERS =
+#This export required to compile GEOM_Superv_i.lo library
+EXPORT_HEADERS = GEOM_Object_i.hh \
+                GEOM_IOperations_i.hh \
+                GEOM_IBasicOperations_i.hh \
+                GEOM_IHealingOperations_i.hh \
+                 GEOM_I3DPrimOperations_i.hh \
+                GEOM_IShapesOperations_i.hh \
+                GEOM_IBlocksOperations_i.hh \
+                GEOM_IBooleanOperations_i.hh \
+                GEOM_ICurvesOperations_i.hh \
+                GEOM_ILocalOperations_i.hh \
+                GEOM_IInsertOperations_i.hh \
+                GEOM_ITransformOperations_i.hh \
+                GEOM_IMeasureOperations_i.hh \
+                GEOM_IGroupOperations_i.hh \
+                GEOM_Gen_i.hh
 
 # additionnal information to compil and link file
 CPPFLAGS += $(OCC_INCLUDES) -I${KERNEL_ROOT_DIR}/include/salome $(BOOST_CPPFLAGS) 
diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.cc b/src/GEOM_I_Superv/GEOM_Superv_i.cc
new file mode 100644 (file)
index 0000000..360ad26
--- /dev/null
@@ -0,0 +1,1747 @@
+using namespace std;
+
+#include "GEOM_Superv_i.hh"
+
+//=============================================================================
+//  constructor:
+//=============================================================================
+GEOM_Superv_i::GEOM_Superv_i(CORBA::ORB_ptr orb,
+                            PortableServer::POA_ptr poa,
+                            PortableServer::ObjectId * contId, 
+                            const char *instanceName, 
+                            const char *interfaceName) :
+  Engines_Component_i(orb, poa, contId, instanceName, interfaceName)
+{
+  MESSAGE("GEOM_Superv_i::GEOM_Superv_i");
+
+  _thisObj = this ;
+  _id = _poa->activate_object(_thisObj);
+  name_service = new SALOME_NamingService(_orb);
+
+  myGeomEngine = GEOM::GEOM_Gen::_nil();
+  myStudyID = -1;
+
+  myBasicOp = GEOM::GEOM_IBasicOperations::_nil();
+  my3DPrimOp = GEOM::GEOM_I3DPrimOperations::_nil();
+  myBoolOp = GEOM::GEOM_IBooleanOperations::_nil();
+  myInsOp = GEOM::GEOM_IInsertOperations::_nil();
+  myTransfOp = GEOM::GEOM_ITransformOperations::_nil();
+  myShapesOp = GEOM::GEOM_IShapesOperations::_nil();
+  myBlocksOp = GEOM::GEOM_IBlocksOperations::_nil();
+  myCurvesOp = GEOM::GEOM_ICurvesOperations::_nil();
+  myLocalOp = GEOM::GEOM_ILocalOperations::_nil();
+  myGroupOp = GEOM::GEOM_IGroupOperations::_nil();
+}
+
+//=============================================================================
+//  destructor
+//=============================================================================
+GEOM_Superv_i::~GEOM_Superv_i()
+{
+  MESSAGE("GEOM_Superv_i::~GEOM_Superv_i");
+  delete name_service;
+}
+
+//============================================================================
+// function : register() 
+// purpose  : register 'name' in 'name_service'
+//============================================================================
+void GEOM_Superv_i::register_name(char * name)
+{
+  GEOM::GEOM_Superv_ptr g = GEOM::GEOM_Superv::_narrow(POA_GEOM::GEOM_Superv::_this());
+  name_service->Register(g, strdup(name)); 
+}
+
+//=============================================================================
+//  setGEOMEngine:
+//=============================================================================
+void GEOM_Superv_i::setGeomEngine()
+{
+  // get GEOM_Gen engine
+  SALOME_LifeCycleCORBA* lcc = new SALOME_LifeCycleCORBA( name_service );
+  Engines::Component_var comp = lcc->FindOrLoad_Component( "FactoryServer", "GEOM" );
+
+  myGeomEngine = GEOM::GEOM_Gen::_narrow(comp);
+}
+
+//=============================================================================
+//  SetStudyID:
+//=============================================================================
+void GEOM_Superv_i::SetStudyID( CORBA::Long theId )
+{
+  myStudyID = theId;
+}
+
+//=============================================================================
+//  getBasicOp:
+//=============================================================================
+void GEOM_Superv_i::getBasicOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_IBasicOperations interface
+  myBasicOp = myGeomEngine->GetIBasicOperations(myStudyID);
+}
+
+//=============================================================================
+//  get3DPrimOp:
+//=============================================================================
+void GEOM_Superv_i::get3DPrimOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_I3DPrimOperations interface
+  my3DPrimOp = myGeomEngine->GetI3DPrimOperations(myStudyID);
+}
+
+//=============================================================================
+//  getBoolOp:
+//=============================================================================
+void GEOM_Superv_i::getBoolOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_IBooleanOperations interface
+  myBoolOp = myGeomEngine->GetIBooleanOperations(myStudyID);
+}
+
+//=============================================================================
+//  getInsOp:
+//=============================================================================
+void GEOM_Superv_i::getInsOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_IInsertOperations interface
+  myInsOp = myGeomEngine->GetIInsertOperations(myStudyID);
+}
+
+//=============================================================================
+//  getTransfOp:
+//=============================================================================
+void GEOM_Superv_i::getTransfOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_ITransformOperations interface
+  myTransfOp = myGeomEngine->GetITransformOperations(myStudyID);
+}
+
+//=============================================================================
+//  getShapesOp:
+//=============================================================================
+void GEOM_Superv_i::getShapesOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_IShapesOperations interface
+  myShapesOp = myGeomEngine->GetIShapesOperations(myStudyID);
+}
+
+//=============================================================================
+//  getBlocksOp:
+//=============================================================================
+void GEOM_Superv_i::getBlocksOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_IBlocksOperations interface
+  myBlocksOp = myGeomEngine->GetIBlocksOperations(myStudyID);
+}
+
+//=============================================================================
+//  getCurvesOp:
+//=============================================================================
+void GEOM_Superv_i::getCurvesOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_ICurvesOperations interface
+  myCurvesOp = myGeomEngine->GetICurvesOperations(myStudyID);
+}
+
+//=============================================================================
+//  getLocalOp:
+//=============================================================================
+void GEOM_Superv_i::getLocalOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_ILocalOperations interface
+  myLocalOp = myGeomEngine->GetILocalOperations(myStudyID);
+}
+
+//=============================================================================
+//  getGroupOp:
+//=============================================================================
+void GEOM_Superv_i::getGroupOp()
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  // get GEOM_IGroupOperations interface
+  myGroupOp = myGeomEngine->GetIGroupOperations(myStudyID);
+}
+
+//============================================================================
+// function : Save()
+// purpose  : save OCAF/Geom document
+//============================================================================
+SALOMEDS::TMPFile* GEOM_Superv_i::Save(SALOMEDS::SComponent_ptr theComponent,
+                                      const char* theURL,
+                                      bool isMultiFile)
+{
+  SALOMEDS::TMPFile_var aStreamFile;
+  return aStreamFile._retn();
+}
+
+//============================================================================
+// function : SaveASCII()
+// purpose  :
+//============================================================================ 
+SALOMEDS::TMPFile* GEOM_Superv_i::SaveASCII(SALOMEDS::SComponent_ptr theComponent,
+                                           const char* theURL,
+                                           bool isMultiFile)
+{
+  SALOMEDS::TMPFile_var aStreamFile;
+  return aStreamFile._retn();
+}
+
+//============================================================================
+// function : Load()
+// purpose  :
+//============================================================================ 
+CORBA::Boolean GEOM_Superv_i::Load(SALOMEDS::SComponent_ptr theComponent,
+                                  const SALOMEDS::TMPFile& theStream,
+                                  const char* theURL,
+                                  bool isMultiFile)
+{
+  return false;
+}
+
+//============================================================================
+// function : LoadASCII()
+// purpose  :
+//============================================================================ 
+CORBA::Boolean GEOM_Superv_i::LoadASCII(SALOMEDS::SComponent_ptr theComponent,
+                                       const SALOMEDS::TMPFile& theStream,
+                                       const char* theURL,
+                                       bool isMultiFile)
+{
+  return false;
+}
+
+//============================================================================
+// function : Close()
+// purpose  :
+//============================================================================
+void GEOM_Superv_i::Close(SALOMEDS::SComponent_ptr theComponent)
+{}
+
+//============================================================================
+// function : ComponentDataType()
+// purpose  :
+//============================================================================
+char* GEOM_Superv_i::ComponentDataType()
+{
+  return 0;
+}
+
+//============================================================================
+// function : IORToLocalPersistentID()
+// purpose  :
+//============================================================================
+char* GEOM_Superv_i::IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
+                                           const char* IORString,
+                                           CORBA::Boolean isMultiFile,
+                                           CORBA::Boolean isASCII)
+{
+  return 0;
+}
+
+//============================================================================
+// function : LocalPersistentIDToIOR()
+// purpose  : Create/Load CORBA object from a persistent ref (an entry)
+//          : Used when a study is loaded
+//          : The IOR (IORName) of object created is returned
+//============================================================================
+char* GEOM_Superv_i::LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
+                                           const char* aLocalPersistentID,
+                                           CORBA::Boolean isMultiFile,
+                                           CORBA::Boolean isASCII)
+{
+  return 0;
+}
+
+//============================================================================
+// function : CanPublishInStudy
+// purpose  : 
+//============================================================================
+bool GEOM_Superv_i::CanPublishInStudy(CORBA::Object_ptr theIOR)
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  return myGeomEngine->CanPublishInStudy(theIOR);
+}
+
+//============================================================================
+// function : PublishInStudy
+// purpose  : 
+//============================================================================
+SALOMEDS::SObject_ptr GEOM_Superv_i::PublishInStudy(SALOMEDS::Study_ptr theStudy,
+                                                   SALOMEDS::SObject_ptr theSObject,
+                                                   CORBA::Object_ptr theObject,
+                                                   const char* theName) throw (SALOME::SALOME_Exception)
+{
+  if (CORBA::is_nil(myGeomEngine))
+    setGeomEngine();
+  return myGeomEngine->PublishInStudy(theStudy, theSObject, theObject, theName);
+}
+
+//============================================================================
+// function : CanCopy()
+// purpose  :
+//============================================================================
+CORBA::Boolean GEOM_Superv_i::CanCopy(SALOMEDS::SObject_ptr theObject)
+{
+  return false;
+}
+
+//============================================================================
+// function : CopyFrom()
+// purpose  :
+//============================================================================
+SALOMEDS::TMPFile* GEOM_Superv_i::CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID)
+{
+  SALOMEDS::TMPFile_var aStreamFile;
+  return aStreamFile._retn();
+}
+
+//============================================================================
+// function : CanPaste()
+// purpose  :
+//============================================================================
+CORBA::Boolean GEOM_Superv_i::CanPaste(const char* theComponentName, CORBA::Long theObjectID)
+{
+  return false;
+}
+
+//============================================================================
+// function : PasteInto()
+// purpose  :
+//============================================================================
+SALOMEDS::SObject_ptr GEOM_Superv_i::PasteInto(const SALOMEDS::TMPFile& theStream,
+                                              CORBA::Long theObjectID,
+                                              SALOMEDS::SObject_ptr theObject)
+{
+  SALOMEDS::SObject_var aNewSO;
+  return aNewSO._retn();
+}
+
+//================= Primitives Construction : BasicOperations =================
+//=============================================================================
+//  MakePointXYZ:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointXYZ(CORBA::Double theX,
+                                                 CORBA::Double theY,
+                                                 CORBA::Double theZ)
+{
+  MESSAGE("GEOM_Superv_i::MakePointXYZ");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  // make vertex and return
+  return myBasicOp->MakePointXYZ(theX, theY, theZ);
+}
+
+//=============================================================================
+//  MakePointWithReference:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
+                                                            CORBA::Double theX, 
+                                                            CORBA::Double theY, 
+                                                            CORBA::Double theZ)
+{
+  MESSAGE("GEOM_Superv_i::MakePointWithReference");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  return myBasicOp->MakePointWithReference(theReference, theX, theY, theZ);
+}
+
+//=============================================================================
+//  MakePointOnCurve:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
+                                                      CORBA::Double theParameter)
+{
+  MESSAGE("GEOM_Superv_i::MakePointOnCurve");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  return myBasicOp->MakePointOnCurve(theRefCurve, theParameter);
+}
+
+//=============================================================================
+//  MakeVectorDXDYDZ:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorDXDYDZ (CORBA::Double theDX,
+                                                      CORBA::Double theDY,
+                                                      CORBA::Double theDZ)
+{
+  MESSAGE("GEOM_Superv_i::MakeVectorDXDYDZ");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  return myBasicOp->MakeVectorDXDYDZ(theDX, theDY, theDZ);
+}
+
+//=============================================================================
+//  MakeVectorTwoPnt:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
+                                                      GEOM::GEOM_Object_ptr thePnt2)
+{
+  MESSAGE("GEOM_Superv_i::MakeVector");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  return myBasicOp->MakeVectorTwoPnt(thePnt1, thePnt2);
+}
+
+//=============================================================================
+//  MakeLineTwoPnt:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
+                                                    GEOM::GEOM_Object_ptr thePnt2)
+{
+  MESSAGE("GEOM_Superv_i::MakeLineTwoPnt");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  return myBasicOp->MakeLineTwoPnt(thePnt1, thePnt2);
+}
+
+//=============================================================================
+//  MakePlaneThreePnt:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
+                                                       GEOM::GEOM_Object_ptr thePnt2,
+                                                       GEOM::GEOM_Object_ptr thePnt3,
+                                                       CORBA::Double theTrimSize)
+{
+  MESSAGE("GEOM_Superv_i::MakePlaneThreePnt");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  return myBasicOp->MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize);
+}
+
+//=============================================================================
+//  MakePlanePntVec:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
+                                                     GEOM::GEOM_Object_ptr theVec,
+                                                     CORBA::Double theTrimSize)
+{
+  MESSAGE("GEOM_Superv_i::MakePlanePntVec");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  return myBasicOp->MakePlanePntVec(thePnt, theVec, theTrimSize);
+}
+
+//=============================================================================
+//  MakePlaneFace:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
+                                                   CORBA::Double theTrimSize)
+{
+  MESSAGE("GEOM_Superv_i::MakePlaneFace");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  return myBasicOp->MakePlaneFace(theFace, theTrimSize);
+}
+
+//=============================================================================
+//  MakeMarker:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMarker 
+(CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
+ CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
+ CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ)
+{
+  MESSAGE("GEOM_Superv_i::MakeMarker");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  return myBasicOp->MakeMarker(theOX, theOY, theOZ, theXDX, theXDY, theXDZ, theYDX, theYDY, theYDZ);
+}
+
+//================= Primitives Construction : 3DPrimOperations ================
+//=============================================================================
+//  MakeBox:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBox (CORBA::Double theX1,
+                                             CORBA::Double theY1,
+                                             CORBA::Double theZ1,
+                                             CORBA::Double theX2,
+                                             CORBA::Double theY2,
+                                             CORBA::Double theZ2)
+{
+  MESSAGE("GEOM_Superv_i::MakeBox");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeBoxTwoPnt(myBasicOp->MakePointXYZ(theX1, theY1, theZ1),
+                                  myBasicOp->MakePointXYZ(theX2, theY2, theZ2));
+}
+
+//=============================================================================
+//  MakeBoxDXDYDZ:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxDXDYDZ (CORBA::Double theDX, 
+                                                   CORBA::Double theDY, 
+                                                   CORBA::Double theDZ)
+{
+  MESSAGE("GEOM_Superv_i::MakeBoxDXDYDZ");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeBoxDXDYDZ(theDX, theDY, theDZ);
+}
+
+//=============================================================================
+//  MakeBoxTwoPnt:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1, 
+                                                   GEOM::GEOM_Object_ptr thePnt2)
+{
+  MESSAGE("GEOM_Superv_i::MakeBoxTwoPnt");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeBoxTwoPnt(thePnt1, thePnt2);
+}
+
+//=============================================================================
+//  MakeCylinderPntVecRH:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
+                                                          GEOM::GEOM_Object_ptr theAxis,
+                                                          CORBA::Double theRadius,
+                                                          CORBA::Double theHeight)
+{
+  MESSAGE("GEOM_Superv_i::MakeCylinderPntVecRH");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeCylinderPntVecRH(thePnt, theAxis, theRadius, theHeight); 
+}
+
+//=============================================================================
+//  MakeCylinderRH:
+//=============================================================================
+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();
+  return my3DPrimOp->MakeCylinderRH(theR, theH); 
+}
+
+//=============================================================================
+//  MakeSphere:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphere  (CORBA::Double theX,
+                                                 CORBA::Double theY,
+                                                 CORBA::Double theZ,
+                                                 CORBA::Double theRadius)
+{
+  MESSAGE("GEOM_Superv_i::MakeSphepe");
+  if (CORBA::is_nil(myBasicOp)) getBasicOp();
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeSpherePntR(myBasicOp->MakePointXYZ(theX, theY, theZ), theRadius);
+}
+
+//=============================================================================
+//  MakeSphereR:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSphereR (CORBA::Double theR)
+{
+  MESSAGE("GEOM_Superv_i::MakeSphereR");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeSphereR(theR);
+}
+
+//=============================================================================
+//  MakeSpherePntR:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt, 
+                                                    CORBA::Double theR)
+{
+  MESSAGE("GEOM_Superv_i::MakeSpherePntR");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeSpherePntR(thePnt, theR);
+}
+
+//=============================================================================
+//  MakeTorusPntVecRR:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
+                                                       GEOM::GEOM_Object_ptr theVec,
+                                                       CORBA::Double theRMajor,
+                                                       CORBA::Double theRMinor)
+{
+  MESSAGE("GEOM_Superv_i::MakeTorusPntVecRR");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor);
+}
+
+//=============================================================================
+//  MakeTorusRR:
+//=============================================================================
+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();
+  return my3DPrimOp->MakeTorusRR(theRMajor, theRMinor);
+}
+
+//=============================================================================
+//  MakeConePntVecR1R2H:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
+                                                         GEOM::GEOM_Object_ptr theAxis,
+                                                         CORBA::Double theR1,
+                                                         CORBA::Double theR2,
+                                                         CORBA::Double theHeight)
+{
+  MESSAGE("GEOM_Superv_i::MakeConePntVecR1R2H");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theHeight);
+}
+
+//=============================================================================
+//  MakeConeR1R2H:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeConeR1R2H (CORBA::Double theR1, 
+                                                   CORBA::Double theR2, 
+                                                   CORBA::Double theHeight)
+{
+  MESSAGE("GEOM_Superv_i::MakeConeR1R2H");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeConeR1R2H(theR1, theR2, theHeight);
+}
+
+//=============================================================================
+//  MakePrismVecH:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
+                                                   GEOM::GEOM_Object_ptr theVec,
+                                                   CORBA::Double         theH)
+{
+  MESSAGE("GEOM_Superv_i::MakePrismVecH");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakePrismVecH(theBase, theVec, theH);
+}
+
+
+//=============================================================================
+//  MakePrismTwoPnt:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
+                                                     GEOM::GEOM_Object_ptr thePoint1,
+                                                     GEOM::GEOM_Object_ptr thePoint2)
+{
+  MESSAGE("GEOM_Superv_i::MakePrismTwoPnt");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakePrismTwoPnt(theBase, thePoint1, thePoint2);
+}
+
+//=============================================================================
+//  MakePipe:
+//=============================================================================
+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();
+  return my3DPrimOp->MakePipe(theBase, thePath);
+}
+
+//=============================================================================
+//  MakeRevolutionAxisAngle:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
+                                                             GEOM::GEOM_Object_ptr theAxis,
+                                                             CORBA::Double theAngle)
+{
+  MESSAGE("GEOM_Superv_i::MakeRevolutionAxisAngle");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeRevolutionAxisAngle(theBase, theAxis, theAngle);
+}
+
+//=============================================================================
+//  MakeFilling:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilling (GEOM::GEOM_Object_ptr theShape,
+                                                 CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
+                                                 CORBA::Double theTol2D, CORBA::Double theTol3D,
+                                                 CORBA::Long theNbIter)
+{
+  MESSAGE("GEOM_Superv_i::MakeFilling");
+  if (CORBA::is_nil(my3DPrimOp)) get3DPrimOp();
+  return my3DPrimOp->MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter);
+}
+
+//============================= BooleanOperations =============================
+//=============================================================================
+//  MakeBoolean:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
+                                                 GEOM::GEOM_Object_ptr theShape2,
+                                                 CORBA::Long theOperation)
+{
+  // 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();
+  return myBoolOp->MakeBoolean(theShape1, theShape2, theOperation);
+}
+
+//=============================================================================
+//  MakeFuse:
+//=============================================================================
+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();
+  return myBoolOp->MakeBoolean(theShape1, theShape2, 3);
+}
+
+//=============================================================================
+//  MakePartition:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePartition (const GEOM::ListOfGO&   theShapes,
+                                                   const GEOM::ListOfGO&   theTools,
+                                                   const GEOM::ListOfGO&   theKeepInside,
+                                                   const GEOM::ListOfGO&   theRemoveInside,
+                                                   const CORBA::Short      theLimit,
+                                                   const CORBA::Boolean    theRemoveWebs,
+                                                   const GEOM::ListOfLong& theMaterials)
+{
+  MESSAGE("GEOM_Superv_i::MakePartition");
+  if (CORBA::is_nil(myBoolOp)) getBoolOp();
+  return myBoolOp->MakePartition(theShapes, theTools, theKeepInside, theRemoveInside,
+                                theLimit, theRemoveWebs, theMaterials);
+}
+
+//=============================================================================
+//  MakeHalfPartition:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
+                                                       GEOM::GEOM_Object_ptr thePlane)
+{
+  MESSAGE("GEOM_Superv_i::MakeHalfPartition");
+  if (CORBA::is_nil(myBoolOp)) getBoolOp();
+  return myBoolOp->MakeHalfPartition(theShape, thePlane);
+}
+
+//============================== InsertOperations =============================
+//=============================================================================
+//  MakeCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCopy (GEOM::GEOM_Object_ptr theOriginal)
+{
+  MESSAGE("GEOM_Superv_i::MakeCopy");
+  if (CORBA::is_nil(myInsOp)) getInsOp();
+  return myInsOp->MakeCopy(theOriginal);
+}
+
+//=============================================================================
+//  Export:
+//=============================================================================
+void GEOM_Superv_i::Export (GEOM::GEOM_Object_ptr theObject, 
+                           const char*           theFileName, 
+                           const char*           theFormatName)
+{
+  MESSAGE("GEOM_Superv_i::Export");
+  if (CORBA::is_nil(myInsOp)) getInsOp();
+  myInsOp->Export(theObject, theFileName, theFormatName);
+}
+
+//=============================================================================
+//  Import:
+//=============================================================================
+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();
+  return myInsOp->Import(theFileName, theFormatName);
+}
+
+//=============================================================================
+//  ImportTranslators:
+//=============================================================================
+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();
+  myInsOp->ImportTranslators(theFormats, thePatterns);
+}
+
+//=============================================================================
+//  ExportTranslators:
+//=============================================================================
+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();
+  myInsOp->ExportTranslators(theFormats, thePatterns);
+}
+
+//============================= TransformOperations ===========================
+//=============================================================================
+//  TranslateTwoPoints:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
+                                                        GEOM::GEOM_Object_ptr thePoint1,
+                                                        GEOM::GEOM_Object_ptr thePoint2)
+{
+  MESSAGE("GEOM_Superv_i::TranslateTwoPoints");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->TranslateTwoPoints(theObject, thePoint1, thePoint2);
+}
+
+//=============================================================================
+//  TranslateTwoPointsCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
+                                                            GEOM::GEOM_Object_ptr thePoint1,
+                                                            GEOM::GEOM_Object_ptr thePoint2)
+{
+  MESSAGE("GEOM_Superv_i::TranslateTwoPointsCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->TranslateTwoPointsCopy(theObject, thePoint1, thePoint2);
+}
+
+//=============================================================================
+//  TranslateDXDYDZ:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
+                                                     CORBA::Double theDX, 
+                                                     CORBA::Double theDY, 
+                                                     CORBA::Double theDZ)
+{
+  MESSAGE("GEOM_Superv_i::TranslateDXDYDZ");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->TranslateDXDYDZ(theObject, theDX, theDY, theDZ);
+}
+
+//=============================================================================
+//  TranslateDXDYDZCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
+                                                         CORBA::Double theDX, 
+                                                         CORBA::Double theDY, 
+                                                         CORBA::Double theDZ)
+{
+  MESSAGE("GEOM_Superv_i::TranslateDXDYDZCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ);
+}
+
+//=============================================================================
+//  TranslateVector:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVector (GEOM::GEOM_Object_ptr theObject,
+                                                     GEOM::GEOM_Object_ptr theVector)
+{
+  MESSAGE("GEOM_Superv_i::TranslateVector");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->TranslateVector(theObject, theVector);
+}
+
+//=============================================================================
+//  TranslateVectorCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
+                                                         GEOM::GEOM_Object_ptr theVector)
+{
+  MESSAGE("GEOM_Superv_i::TranslateVectorCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->TranslateVectorCopy(theObject, theVector);
+}
+
+//=============================================================================
+//  MultiTranslate1D:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
+                                                      GEOM::GEOM_Object_ptr theVector,
+                                                      CORBA::Double theStep,
+                                                      CORBA::Long theNbTimes)
+{
+  MESSAGE("GEOM_Superv_i::MultiTranslate1D");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->MultiTranslate1D(theObject, theVector, theStep, theNbTimes);
+}
+
+//=============================================================================
+//  MultiTranslate2D:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
+                                                      GEOM::GEOM_Object_ptr theVector1,
+                                                      CORBA::Double theStep1,
+                                                      CORBA::Long theNbTimes1,
+                                                      GEOM::GEOM_Object_ptr theVector2,
+                                                      CORBA::Double theStep2,
+                                                      CORBA::Long theNbTimes2)
+{
+  MESSAGE("GEOM_Superv_i::MultiTranslate2D");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
+                                     theVector2, theStep2, theNbTimes2);
+}
+
+//=============================================================================
+//  Rotate:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::Rotate (GEOM::GEOM_Object_ptr theObject,
+                                            GEOM::GEOM_Object_ptr theAxis,
+                                            CORBA::Double theAngle)
+{
+  MESSAGE("GEOM_Superv_i::Rotate");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->Rotate(theObject, theAxis, theAngle);
+}
+
+//=============================================================================
+//  RotateCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::RotateCopy (GEOM::GEOM_Object_ptr theObject,
+                                                GEOM::GEOM_Object_ptr theAxis,
+                                                CORBA::Double theAngle)
+{
+  MESSAGE("GEOM_Superv_i::RotateCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->RotateCopy(theObject, theAxis, theAngle);
+}
+
+//=============================================================================
+//  MultiRotate1D:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
+                                                   GEOM::GEOM_Object_ptr theAxis,
+                                                   CORBA::Long theNbTimes)
+{
+  MESSAGE("GEOM_Superv_i::MultiRotate1D");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->MultiRotate1D(theObject, theAxis, theNbTimes);
+}
+
+//=============================================================================
+//  MultiRotate2D:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
+                                                   GEOM::GEOM_Object_ptr theAxis,
+                                                   CORBA::Double theAngle,
+                                                   CORBA::Long theNbTimes1,
+                                                   CORBA::Double theStep,
+                                                   CORBA::Long theNbTimes2)
+{
+  MESSAGE("GEOM_Superv_i::MultiRotate2D");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2);
+}
+
+//=============================================================================
+//  MirrorPlane:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlane (GEOM::GEOM_Object_ptr theObject, 
+                                                 GEOM::GEOM_Object_ptr thePlane)
+{
+  MESSAGE("GEOM_Superv_i::MirrorPlane");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->MirrorPlane(theObject, thePlane);
+}
+
+//=============================================================================
+//  MirrorPlaneCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject, 
+                                                     GEOM::GEOM_Object_ptr thePlane)
+{
+  MESSAGE("GEOM_Superv_i::MirrorPlaneCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->MirrorPlaneCopy(theObject, thePlane);
+}
+
+//=============================================================================
+//  MirrorAxis:
+//=============================================================================
+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();
+  return myTransfOp->MirrorAxis(theObject, theAxis);
+}
+
+//=============================================================================
+//  MirrorAxisCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject, 
+                                                    GEOM::GEOM_Object_ptr theAxis)
+{
+  MESSAGE("GEOM_Superv_i::MirrorAxisCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->MirrorAxisCopy(theObject, theAxis);
+}
+
+//=============================================================================
+//  MirrorPoint:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPoint (GEOM::GEOM_Object_ptr theObject, 
+                                                 GEOM::GEOM_Object_ptr thePoint)
+{
+  MESSAGE("GEOM_Superv_i::MirrorPoint");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->MirrorPoint(theObject, thePoint);
+}
+
+//=============================================================================
+//  MirrorPointCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MirrorPointCopy (GEOM::GEOM_Object_ptr theObject, 
+                                                     GEOM::GEOM_Object_ptr thePoint)
+{
+  MESSAGE("GEOM_Superv_i::MirrorPointCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->MirrorPointCopy(theObject, thePoint);
+}
+
+//=============================================================================
+//  OffsetShape:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShape (GEOM::GEOM_Object_ptr theObject, 
+                                                 CORBA::Double theOffset)
+{
+  MESSAGE("GEOM_Superv_i::OffsetShape");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->OffsetShape(theObject, theOffset);
+}
+
+//=============================================================================
+//  OffsetShapeCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject, 
+                                                     CORBA::Double theOffset)
+{
+  MESSAGE("GEOM_Superv_i::OffsetShapeCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->OffsetShapeCopy(theObject, theOffset);
+}
+
+//=============================================================================
+//  ScaleShape:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShape (GEOM::GEOM_Object_ptr theObject, 
+                                                GEOM::GEOM_Object_ptr thePoint,
+                                                CORBA::Double theFactor)
+{
+  MESSAGE("GEOM_Superv_i::ScaleShape");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->ScaleShape(theObject, thePoint, theFactor);
+}
+
+//=============================================================================
+//  ScaleShapeCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject, 
+                                                    GEOM::GEOM_Object_ptr thePoint,
+                                                    CORBA::Double theFactor)
+{
+  MESSAGE("GEOM_Superv_i::ScaleShapeCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->ScaleShapeCopy(theObject, thePoint, theFactor);
+}
+
+//=============================================================================
+//  PositionShape:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShape (GEOM::GEOM_Object_ptr theObject,
+                                                   GEOM::GEOM_Object_ptr theStartLCS,
+                                                   GEOM::GEOM_Object_ptr theEndLCS)
+{
+  MESSAGE("GEOM_Superv_i::PositionShape");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->PositionShape(theObject, theStartLCS, theEndLCS);
+}
+
+//=============================================================================
+//  PositionShapeCopy:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
+                                                       GEOM::GEOM_Object_ptr theStartLCS,
+                                                       GEOM::GEOM_Object_ptr theEndLCS)
+{
+  MESSAGE("GEOM_Superv_i::PositionShapeCopy");
+  if (CORBA::is_nil(myTransfOp)) getTransfOp();
+  return myTransfOp->PositionShapeCopy(theObject, theStartLCS, theEndLCS);
+}
+
+//=============================== ShapesOperations ============================
+//=============================================================================
+//  Make:
+//=============================================================================
+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();
+  return myShapesOp->MakeEdge(thePnt1, thePnt2);
+}
+
+//=============================================================================
+//  MakeWire:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeWire (const GEOM::ListOfGO& theEdgesAndWires)
+{
+  MESSAGE("GEOM_Superv_i::MakeWire");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->MakeWire(theEdgesAndWires);
+}
+
+//=============================================================================
+//  MakeFace:
+//=============================================================================
+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();
+  return myShapesOp->MakeFace(theWire, isPlanarWanted);
+}
+
+//=============================================================================
+//  MakeFaceWires:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFaceWires (const GEOM::ListOfGO& theWires,
+                                                   CORBA::Boolean isPlanarWanted)
+{
+  MESSAGE("GEOM_Superv_i::MakeFaceWires");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->MakeFaceWires(theWires, isPlanarWanted);
+}
+
+//=============================================================================
+//  MakeShell:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeShell (const GEOM::ListOfGO& theFacesAndShells)
+{
+  MESSAGE("GEOM_Superv_i::MakeShell");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->MakeShell(theFacesAndShells);
+}
+
+//=============================================================================
+//  MakeSolidShell:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShell (GEOM::GEOM_Object_ptr theShell)
+{
+  MESSAGE("GEOM_Superv_i::MakeSolidShell");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->MakeSolidShell(theShell);
+}
+
+//=============================================================================
+//  MakeSolidShells:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSolidShells (const GEOM::ListOfGO& theShells)
+{
+  MESSAGE("GEOM_Superv_i::MakeSolidShells");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->MakeSolidShells(theShells);
+}
+
+//=============================================================================
+//  MakeCompound:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCompound (const GEOM::ListOfGO& theShapes)
+{
+  MESSAGE("GEOM_Superv_i::MakeCompound");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->MakeCompound(theShapes);
+}
+
+//=============================================================================
+//  MakeGlueFaces:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
+                                                   const CORBA::Double   theTolerance)
+{
+  MESSAGE("GEOM_Superv_i::MakeGlueFaces");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->MakeGlueFaces(theShape, theTolerance);
+}
+
+//=============================================================================
+//  MakeExplode:
+//=============================================================================
+GEOM::ListOfGO* GEOM_Superv_i::MakeExplode (GEOM::GEOM_Object_ptr theShape,
+                                           const CORBA::Long theShapeType,
+                                           const CORBA::Boolean isSorted)
+{
+  MESSAGE("GEOM_Superv_i::MakeExplode");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->MakeExplode(theShape, theShapeType, isSorted);
+}
+
+//=============================================================================
+//  NumberOfFaces:
+//=============================================================================
+CORBA::Long GEOM_Superv_i::NumberOfFaces (GEOM::GEOM_Object_ptr theShape)
+{
+  MESSAGE("GEOM_Superv_i::NumberOfFaces");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->NumberOfFaces(theShape);
+}
+
+//=============================================================================
+//  NumberOfEdges:
+//=============================================================================
+CORBA::Long GEOM_Superv_i::NumberOfEdges (GEOM::GEOM_Object_ptr theShape)
+{
+  MESSAGE("GEOM_Superv_i::NumberOfEdges");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->NumberOfEdges(theShape);
+}
+
+//=============================================================================
+//  ChangeOrientation:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::ChangeOrientation (GEOM::GEOM_Object_ptr theShape)
+{
+  MESSAGE("GEOM_Superv_i::ChangeOrientation");
+  if (CORBA::is_nil(myShapesOp)) getShapesOp();
+  return myShapesOp->ChangeOrientation(theShape);
+}
+
+
+//=============================== BlocksOperations ============================
+//=============================================================================
+//  MakeQuad4Vertices:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
+                                                       GEOM::GEOM_Object_ptr thePnt2,
+                                                       GEOM::GEOM_Object_ptr thePnt3,
+                                                       GEOM::GEOM_Object_ptr thePnt4)
+{
+  MESSAGE("GEOM_Superv_i::MakeQuad4Vertices");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->MakeQuad4Vertices(thePnt1, thePnt2, thePnt3, thePnt4);
+}
+
+//=============================================================================
+//  MakeQuad:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
+                                              GEOM::GEOM_Object_ptr theEdge2,
+                                              GEOM::GEOM_Object_ptr theEdge3,
+                                              GEOM::GEOM_Object_ptr theEdge4)
+{
+  MESSAGE("GEOM_Superv_i::MakeQuad");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->MakeQuad(theEdge1, theEdge2, theEdge3, theEdge4);
+}
+
+//=============================================================================
+//  MakeQuad2Edges:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
+                                                    GEOM::GEOM_Object_ptr theEdge2)
+{
+  MESSAGE("GEOM_Superv_i::MakeQuad2Edges");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->MakeQuad2Edges(theEdge1, theEdge2);
+}
+
+//=============================================================================
+//  MakeHexa:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa (GEOM::GEOM_Object_ptr theFace1,
+                                              GEOM::GEOM_Object_ptr theFace2,
+                                              GEOM::GEOM_Object_ptr theFace3,
+                                              GEOM::GEOM_Object_ptr theFace4,
+                                              GEOM::GEOM_Object_ptr theFace5,
+                                              GEOM::GEOM_Object_ptr theFace6)
+{
+  MESSAGE("GEOM_Superv_i::MakeHexa");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->MakeHexa(theFace1, theFace2, theFace3, theFace4, theFace5, theFace6);
+}
+
+//=============================================================================
+//  MakeHexa2Faces:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
+                                                    GEOM::GEOM_Object_ptr theFace2)
+{
+  MESSAGE("GEOM_Superv_i::MakeHexa2Faces");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->MakeHexa2Faces(theFace1, theFace2);
+}
+
+//=============================================================================
+//  GetPoint:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetPoint (GEOM::GEOM_Object_ptr theShape,
+                                              const CORBA::Double   theX,
+                                              const CORBA::Double   theY,
+                                              const CORBA::Double   theZ,
+                                              const CORBA::Double   theEpsilon)
+{
+  MESSAGE("GEOM_Superv_i::GetPoint");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetPoint(theShape, theX, theY, theZ, theEpsilon);
+}
+
+//=============================================================================
+//  GetEdge:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdge (GEOM::GEOM_Object_ptr theShape,
+                                             GEOM::GEOM_Object_ptr thePoint1,
+                                             GEOM::GEOM_Object_ptr thePoint2)
+{
+  MESSAGE("GEOM_Superv_i::GetEdge");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetEdge(theShape, thePoint1, thePoint2);
+}
+
+//=============================================================================
+//  GetEdgeNearPoint:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
+                                                      GEOM::GEOM_Object_ptr thePoint)
+{
+  MESSAGE("GEOM_Superv_i::GetEdgeNearPoint");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetEdgeNearPoint(theShape, thePoint);
+}
+
+//=============================================================================
+//  GetFaceByPoints:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
+                                                     GEOM::GEOM_Object_ptr thePoint1,
+                                                     GEOM::GEOM_Object_ptr thePoint2,
+                                                     GEOM::GEOM_Object_ptr thePoint3,
+                                                     GEOM::GEOM_Object_ptr thePoint4)
+{
+  MESSAGE("GEOM_Superv_i::GetFaceByPoints");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetFaceByPoints(theShape, thePoint1, thePoint2, thePoint3, thePoint4);
+}
+
+//=============================================================================
+//  GetFaceByEdges:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
+                                                    GEOM::GEOM_Object_ptr theEdge1,
+                                                    GEOM::GEOM_Object_ptr theEdge2)
+{
+  MESSAGE("GEOM_Superv_i::GetFaceByEdges");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetFaceByEdges(theShape, theEdge1, theEdge2);
+}
+
+//=============================================================================
+//  GetOppositeFace:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
+                                                     GEOM::GEOM_Object_ptr theFace)
+{
+  MESSAGE("GEOM_Superv_i::GetOppositeFace");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetOppositeFace(theBlock, theFace);
+}
+
+//=============================================================================
+//  GetFaceNearPoint:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
+                                                      GEOM::GEOM_Object_ptr thePoint)
+{
+  MESSAGE("GEOM_Superv_i::GetFaceNearPoint");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetFaceNearPoint(theShape, thePoint);
+}
+
+//=============================================================================
+//  GetFaceByNormale:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
+                                                      GEOM::GEOM_Object_ptr theVector)
+{
+  MESSAGE("GEOM_Superv_i::GetFaceByNormale");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetFaceByNormale(theBlock, theVector);
+}
+
+//=============================================================================
+//  IsCompoundOfBlocks:
+//=============================================================================
+CORBA::Boolean GEOM_Superv_i::IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
+                                                 const CORBA::Long     theMinNbFaces,
+                                                 const CORBA::Long     theMaxNbFaces,
+                                                 CORBA::Long&          theNbBlocks)
+{
+  MESSAGE("GEOM_Superv_i::IsCompoundOfBlocks");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->IsCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces, theNbBlocks);
+}
+
+//=============================================================================
+//  CheckCompoundOfBlocks:
+//=============================================================================
+CORBA::Boolean GEOM_Superv_i::CheckCompoundOfBlocks 
+(GEOM::GEOM_Object_ptr theCompound,
+ GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors)
+{
+  MESSAGE("GEOM_Superv_i::CheckCompoundOfBlocks");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->CheckCompoundOfBlocks(theCompound, theErrors);
+}
+
+//=============================================================================
+//  PrintBCErrors:
+//=============================================================================
+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();
+  return myBlocksOp->PrintBCErrors(theCompound, theErrors);
+}
+
+//=============================================================================
+//  ExplodeCompoundOfBlocks:
+//=============================================================================
+GEOM::ListOfGO* GEOM_Superv_i::ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
+                                                       const CORBA::Long     theMinNbFaces,
+                                                       const CORBA::Long     theMaxNbFaces)
+{
+  MESSAGE("GEOM_Superv_i::ExplodeCompoundOfBlocks");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces);
+}
+
+//=============================================================================
+//  GetBlockNearPoint:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
+                                                       GEOM::GEOM_Object_ptr thePoint)
+{
+  MESSAGE("GEOM_Superv_i::GetBlockNearPoint");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetBlockNearPoint(theCompound, thePoint);
+}
+
+//=============================================================================
+//  GetBlockByParts:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
+                                                     const GEOM::ListOfGO& theParts)
+{
+  MESSAGE("GEOM_Superv_i::GetBlockByParts");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetBlockByParts(theCompound, theParts);
+}
+
+//=============================================================================
+//  GetBlocksByParts:
+//=============================================================================
+GEOM::ListOfGO* GEOM_Superv_i::GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
+                                                const GEOM::ListOfGO& theParts)
+{
+  MESSAGE("GEOM_Superv_i::GetBlocksByParts");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->GetBlocksByParts(theCompound, theParts);
+}
+
+//=============================================================================
+//  MakeMultiTransformation1D:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
+                                                               const CORBA::Long     theDirFace1,
+                                                               const CORBA::Long     theDirFace2,
+                                                               const CORBA::Long     theNbTimes)
+{
+  MESSAGE("GEOM_Superv_i::MakeMultiTransformation1D");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->MakeMultiTransformation1D(theBlock, theDirFace1, theDirFace2, theNbTimes);
+}
+
+//=============================================================================
+//  MakeMultiTransformation2D:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeMultiTransformation2D 
+(GEOM::GEOM_Object_ptr theBlock,
+ const CORBA::Long     theDirFace1U,
+ const CORBA::Long     theDirFace2U,
+ const CORBA::Long     theNbTimesU,
+ const CORBA::Long     theDirFace1V,
+ const CORBA::Long     theDirFace2V,
+ const CORBA::Long     theNbTimesV)
+{
+  MESSAGE("GEOM_Superv_i::MakeMultiTransformation2D");
+  if (CORBA::is_nil(myBlocksOp)) getBlocksOp();
+  return myBlocksOp->MakeMultiTransformation2D(theBlock, 
+                                              theDirFace1U, theDirFace2U, theNbTimesU,
+                                              theDirFace1V, theDirFace2V, theNbTimesV);
+}
+
+//=============================== CurvesOperations ============================
+//=============================================================================
+//  MakeCirclePntVecR:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
+                                                       GEOM::GEOM_Object_ptr theVector,
+                                                       CORBA::Double theR)
+{
+  MESSAGE("GEOM_Superv_i::MakeCirclePntVecR");
+  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+  return myCurvesOp->MakeCirclePntVecR(theCenter, theVector, theR);
+}
+
+//=============================================================================
+//  MakeCircleThreePnt:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
+                                                        GEOM::GEOM_Object_ptr thePnt2,
+                                                        GEOM::GEOM_Object_ptr thePnt3)
+{
+  MESSAGE("GEOM_Superv_i::MakeCircleThreePnt");
+  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+  return myCurvesOp->MakeCircleThreePnt(thePnt1, thePnt2, thePnt3);
+}
+
+//=============================================================================
+//  MakeEllipse:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
+                                                 GEOM::GEOM_Object_ptr theVector,
+                                                 CORBA::Double theRMajor, 
+                                                 CORBA::Double theRMinor)
+{
+  MESSAGE("GEOM_Superv_i::MakeEllipse");
+  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+  return myCurvesOp->MakeEllipse(theCenter, theVector, theRMajor, theRMinor);
+}
+
+//=============================================================================
+//  MakeArc:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArc (GEOM::GEOM_Object_ptr thePnt1,
+                                             GEOM::GEOM_Object_ptr thePnt2,
+                                             GEOM::GEOM_Object_ptr thePnt3)
+{
+  MESSAGE("GEOM_Superv_i::MakeArc");
+  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+  return myCurvesOp->MakeArc(thePnt1, thePnt2, thePnt3);
+}
+
+//=============================================================================
+//  MakePolyline:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakePolyline (const GEOM::ListOfGO& thePoints)
+{
+  MESSAGE("GEOM_Superv_i::MakePolyline");
+  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+  return myCurvesOp->MakePolyline(thePoints);
+}
+
+//=============================================================================
+//  MakeSplineBezier:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineBezier (const GEOM::ListOfGO& thePoints)
+{
+  MESSAGE("GEOM_Superv_i::MakeSplineBezier");
+  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+  return myCurvesOp->MakeSplineBezier(thePoints);
+}
+
+//=============================================================================
+//  MakeSplineInterpolation:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSplineInterpolation (const GEOM::ListOfGO& thePoints)
+{
+  MESSAGE("GEOM_Superv_i::MakeSplineInterpolation");
+  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+  return myCurvesOp->MakeSplineInterpolation(thePoints);
+}
+
+//=============================================================================
+//  MakeSketcher:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeSketcher (const char* theCommand, 
+                                                  const GEOM::ListOfDouble& theWorkingPlane)
+{
+  MESSAGE("GEOM_Superv_i::MakeSketcher");
+  if (CORBA::is_nil(myCurvesOp)) getCurvesOp();
+  return myCurvesOp->MakeSketcher(theCommand, theWorkingPlane);
+}
+
+//=============================== LocalOperations =============================
+//=============================================================================
+//  MakeFilletAll:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
+                                                   CORBA::Double theR)
+{
+  MESSAGE("GEOM_Superv_i::MakeFilletAllMakeSketcher");
+  if (CORBA::is_nil(myLocalOp)) getLocalOp();
+  return myLocalOp->MakeFilletAll(theShape, theR);
+}
+
+//=============================================================================
+//  MakeFilletEdges:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, 
+                                                     CORBA::Double theR,
+                                                     const GEOM::ListOfLong& theEdges)
+{
+  MESSAGE("GEOM_Superv_i::MakeFilletEdges");
+  if (CORBA::is_nil(myLocalOp)) getLocalOp();
+  return myLocalOp->MakeFilletEdges(theShape, theR, theEdges);
+}
+
+//=============================================================================
+//  MakeFilletFaces:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, 
+                                                     CORBA::Double theR,
+                                                     const GEOM::ListOfLong& theFaces)
+{
+  MESSAGE("GEOM_Superv_i::MakeFilletFaces");
+  if (CORBA::is_nil(myLocalOp)) getLocalOp();
+  return myLocalOp->MakeFilletFaces(theShape, theR, theFaces);
+}
+
+//=============================================================================
+//  MakeChamferAll:
+//=============================================================================
+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();
+  return myLocalOp->MakeChamferAll(theShape, theD);
+}
+  
+//=============================================================================
+//  MakeChamferEdge:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
+                                                     CORBA::Double theD1, CORBA::Double theD2,
+                                                     CORBA::Long theFace1, CORBA::Long theFace2)
+{
+  MESSAGE("GEOM_Superv_i::MakeChamferEdge");
+  if (CORBA::is_nil(myLocalOp)) getLocalOp();
+  return myLocalOp->MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2);
+}
+
+//=============================================================================
+//  MakeChamferFaces:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
+                                                      CORBA::Double theD1, CORBA::Double theD2,
+                                                      const GEOM::ListOfLong& theFaces)
+{
+  MESSAGE("GEOM_Superv_i::MakeChamferFaces");
+  if (CORBA::is_nil(myLocalOp)) getLocalOp();
+  return myLocalOp->MakeChamferFaces(theShape, theD1, theD2, theFaces);
+}
+
+//=============================================================================
+//  MakeArchimede:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::MakeArchimede (GEOM::GEOM_Object_ptr theShape,
+                                                   CORBA::Double theWeight,
+                                                   CORBA::Double theWaterDensity,
+                                                   CORBA::Double theMeshingDeflection)
+{
+  MESSAGE("GEOM_Superv_i::MakeArchimede");
+  if (CORBA::is_nil(myLocalOp)) getLocalOp();
+  return myLocalOp->MakeArchimede(theShape, theWeight, theWaterDensity, theMeshingDeflection);
+}
+
+//=============================================================================
+//  GetSubShapeIndexMakeFilletAll:
+//=============================================================================
+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();
+  return myLocalOp->GetSubShapeIndex(theShape, theSubShape);
+}
+
+//=============================== GroupOperations =============================
+//=============================================================================
+//  CreateGroup:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::CreateGroup (GEOM::GEOM_Object_ptr theMainShape, 
+                                                 CORBA::Long theShapeType)
+{
+  MESSAGE("GEOM_Superv_i::CreateGroup");
+  if (CORBA::is_nil(myGroupOp)) getGroupOp();
+  return myGroupOp->CreateGroup(theMainShape, theShapeType);
+}
+
+//=============================================================================
+//  AddObject:
+//=============================================================================
+void GEOM_Superv_i::AddObject (GEOM::GEOM_Object_ptr theGroup, 
+                              CORBA::Long theSubShapeId)
+{
+  MESSAGE("GEOM_Superv_i::AddObject");
+  if (CORBA::is_nil(myGroupOp)) getGroupOp();
+  myGroupOp->AddObject(theGroup, theSubShapeId);
+}
+
+//=============================================================================
+//  RemoveObject:
+//=============================================================================
+void GEOM_Superv_i::RemoveObject (GEOM::GEOM_Object_ptr theGroup, 
+                                 CORBA::Long theSubShapeId)
+{
+  MESSAGE("GEOM_Superv_i::RemoveObject");
+  if (CORBA::is_nil(myGroupOp)) getGroupOp();
+  myGroupOp->RemoveObject(theGroup, theSubShapeId);
+}
+
+//=============================================================================
+//  GetType:
+//=============================================================================
+CORBA::Long GEOM_Superv_i::GetType (GEOM::GEOM_Object_ptr theGroup)
+{
+  MESSAGE("GEOM_Superv_i::GetType");
+  if (CORBA::is_nil(myGroupOp)) getGroupOp();
+  return myGroupOp->GetType(theGroup);
+}
+
+//=============================================================================
+//  GetMainShape:
+//=============================================================================
+GEOM::GEOM_Object_ptr GEOM_Superv_i::GetMainShape (GEOM::GEOM_Object_ptr theGroup)
+{
+  MESSAGE("GEOM_Superv_i::GetMainShape");
+  if (CORBA::is_nil(myGroupOp)) getGroupOp();
+  return myGroupOp->GetMainShape(theGroup);
+}
+
+//=============================================================================
+//  GetObjects:
+//=============================================================================
+GEOM::ListOfLong* GEOM_Superv_i::GetObjects (GEOM::GEOM_Object_ptr theGroup)
+{
+  MESSAGE("GEOM_Superv_i::GetObjects");
+  if (CORBA::is_nil(myGroupOp)) getGroupOp();
+  return myGroupOp->GetObjects(theGroup);
+}
+
+//=====================================================================================
+// EXPORTED METHODS
+//=====================================================================================
+extern "C"
+{
+  PortableServer::ObjectId * GEOM_SupervEngine_factory(CORBA::ORB_ptr orb,
+                                                     PortableServer::POA_ptr poa, 
+                                                     PortableServer::ObjectId * contId,
+                                                     const char *instanceName, 
+                                                     const char * interfaceName)
+  {
+    GEOM_Superv_i * myGEOM_Superv_i = new GEOM_Superv_i(orb, poa, contId, instanceName, interfaceName);
+    myGEOM_Superv_i->register_name("/myGEOM_Superv");
+    return myGEOM_Superv_i->getId() ;
+  }
+}
diff --git a/src/GEOM_I_Superv/GEOM_Superv_i.hh b/src/GEOM_I_Superv/GEOM_Superv_i.hh
new file mode 100644 (file)
index 0000000..67f780c
--- /dev/null
@@ -0,0 +1,462 @@
+#ifndef __GEOM_SUPERV_I_H__
+#define __GEOM_SUPERV_I_H__
+
+// IDL headers
+#include <SALOMEconfig.h>
+#include CORBA_SERVER_HEADER(GEOM_Superv)
+
+#include "GEOM_Gen_i.hh"
+
+#include "QAD_Study.h"
+#include "QAD_Application.h"
+#include "QAD_Desktop.h"
+
+class GEOM_Superv_i : public virtual POA_GEOM::GEOM_Superv,
+                     public Engines_Component_i
+{
+public:
+  GEOM_Superv_i(CORBA::ORB_ptr orb,
+               PortableServer::POA_ptr poa,
+               PortableServer::ObjectId * contId, 
+               const char *instanceName, 
+               const char *interfaceName);
+  ~GEOM_Superv_i();
+
+  // generic method to be put in a super class
+  void register_name(char * name);
+  void setGeomEngine();
+
+  void getBasicOp();
+  void get3DPrimOp();
+  void getBoolOp();
+  void getInsOp();
+  void getTransfOp();
+  void getShapesOp();
+  void getBlocksOp();
+  void getCurvesOp();
+  void getLocalOp();
+  void getGroupOp();  
+
+  //-----------------------------------------------------------------------//
+  // Set current stydy ID                                                  //
+  //-----------------------------------------------------------------------//
+  void SetStudyID( CORBA::Long theId );      
+
+  //-----------------------------------------------------------------------//
+  // Inherited methods from SALOMEDS::Driver                               //
+  //-----------------------------------------------------------------------//    
+
+  SALOMEDS::TMPFile* Save(SALOMEDS::SComponent_ptr theComponent,
+                         const char* theURL,
+                         bool isMultiFile);
+
+  SALOMEDS::TMPFile* SaveASCII(SALOMEDS::SComponent_ptr theComponent,
+                              const char* theURL,
+                              bool isMultiFile);
+  
+  CORBA::Boolean Load(SALOMEDS::SComponent_ptr theComponent,
+                     const SALOMEDS::TMPFile& theStream,
+                     const char* theURL,
+                     bool isMultiFile);
+
+  CORBA::Boolean LoadASCII(SALOMEDS::SComponent_ptr theComponent,
+                          const SALOMEDS::TMPFile& theStream,
+                          const char* theURL,
+                          bool isMultiFile);
+
+  void Close(SALOMEDS::SComponent_ptr theComponent);
+  char* ComponentDataType();
+
+
+  char* IORToLocalPersistentID(SALOMEDS::SObject_ptr theSObject,
+                              const char* IORString,
+                              CORBA::Boolean isMultiFile,
+                              CORBA::Boolean isASCII);
+  char* LocalPersistentIDToIOR(SALOMEDS::SObject_ptr theSObject,
+                              const char* aLocalPersistentID,
+                              CORBA::Boolean isMultiFile,
+                              CORBA::Boolean isASCII);
+
+  bool CanPublishInStudy(CORBA::Object_ptr theIOR);
+  SALOMEDS::SObject_ptr PublishInStudy(SALOMEDS::Study_ptr theStudy,
+                                      SALOMEDS::SObject_ptr theSObject,
+                                      CORBA::Object_ptr theObject,
+                                      const char* theName) throw (SALOME::SALOME_Exception) ;
+
+  CORBA::Boolean CanCopy(SALOMEDS::SObject_ptr theObject);
+  SALOMEDS::TMPFile* CopyFrom(SALOMEDS::SObject_ptr theObject, CORBA::Long& theObjectID);
+  CORBA::Boolean CanPaste(const char* theComponentName, CORBA::Long theObjectID);
+  SALOMEDS::SObject_ptr PasteInto(const SALOMEDS::TMPFile& theStream,
+                                 CORBA::Long theObjectID,
+                                 SALOMEDS::SObject_ptr theObject);
+
+  //-----------------------------------------------------------//
+  // Primitives Construction : BasicOperations                 // 
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr MakePointXYZ (CORBA::Double theX,
+                                     CORBA::Double theY,
+                                     CORBA::Double theZ);
+  GEOM::GEOM_Object_ptr MakePointWithReference (GEOM::GEOM_Object_ptr theReference,
+                                               CORBA::Double theX, 
+                                               CORBA::Double theY, 
+                                               CORBA::Double theZ);
+  GEOM::GEOM_Object_ptr MakePointOnCurve (GEOM::GEOM_Object_ptr theRefCurve,
+                                         CORBA::Double theParameter);
+  GEOM::GEOM_Object_ptr MakeVectorDXDYDZ (CORBA::Double theDX,
+                                         CORBA::Double theDY,
+                                         CORBA::Double theDZ);
+  GEOM::GEOM_Object_ptr MakeVectorTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
+                                         GEOM::GEOM_Object_ptr thePnt2);
+  GEOM::GEOM_Object_ptr MakeLineTwoPnt (GEOM::GEOM_Object_ptr thePnt1,
+                                       GEOM::GEOM_Object_ptr thePnt2);
+  GEOM::GEOM_Object_ptr MakePlaneThreePnt (GEOM::GEOM_Object_ptr thePnt1,
+                                          GEOM::GEOM_Object_ptr thePnt2,
+                                          GEOM::GEOM_Object_ptr thePnt3,
+                                          CORBA::Double theTrimSize);
+  GEOM::GEOM_Object_ptr MakePlanePntVec (GEOM::GEOM_Object_ptr thePnt,
+                                        GEOM::GEOM_Object_ptr theVec,
+                                        CORBA::Double theTrimSize);
+  GEOM::GEOM_Object_ptr MakePlaneFace (GEOM::GEOM_Object_ptr theFace,
+                                      CORBA::Double theTrimSize);
+  GEOM::GEOM_Object_ptr MakeMarker (CORBA::Double theOX , CORBA::Double theOY , CORBA::Double theOZ,
+                                   CORBA::Double theXDX, CORBA::Double theXDY, CORBA::Double theXDZ,
+                                   CORBA::Double theYDX, CORBA::Double theYDY, CORBA::Double theYDZ);
+
+  //-----------------------------------------------------------//
+  // Primitives Construction : 3DPrimOperations                //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr MakeBox (CORBA::Double theX1,
+                                CORBA::Double theY1,
+                                CORBA::Double theZ1,
+                                CORBA::Double theX2,
+                                CORBA::Double theY2,
+                                CORBA::Double theZ2);
+  GEOM::GEOM_Object_ptr MakeBoxDXDYDZ (CORBA::Double theDX, 
+                                      CORBA::Double theDY, 
+                                      CORBA::Double theDZ);
+  GEOM::GEOM_Object_ptr MakeBoxTwoPnt (GEOM::GEOM_Object_ptr thePnt1, 
+                                      GEOM::GEOM_Object_ptr thePnt2);
+  GEOM::GEOM_Object_ptr MakeCylinderPntVecRH (GEOM::GEOM_Object_ptr thePnt,
+                                             GEOM::GEOM_Object_ptr theAxis,
+                                             CORBA::Double theRadius,
+                                             CORBA::Double theHeight);
+  GEOM::GEOM_Object_ptr MakeCylinderRH (CORBA::Double theR, 
+                                       CORBA::Double theH);
+  GEOM::GEOM_Object_ptr MakeSphere (CORBA::Double theX,
+                                   CORBA::Double theY,
+                                   CORBA::Double theZ,
+                                   CORBA::Double theRadius);
+  GEOM::GEOM_Object_ptr MakeSphereR (CORBA::Double theR);
+  GEOM::GEOM_Object_ptr MakeSpherePntR (GEOM::GEOM_Object_ptr thePnt, 
+                                       CORBA::Double theR);
+  GEOM::GEOM_Object_ptr MakeTorusPntVecRR (GEOM::GEOM_Object_ptr thePnt,
+                                          GEOM::GEOM_Object_ptr theVec,
+                                          CORBA::Double theRMajor,
+                                          CORBA::Double theRMinor);
+  GEOM::GEOM_Object_ptr MakeTorusRR (CORBA::Double theRMajor,
+                                    CORBA::Double theRMinor);
+  GEOM::GEOM_Object_ptr MakeConePntVecR1R2H (GEOM::GEOM_Object_ptr thePnt,
+                                            GEOM::GEOM_Object_ptr theAxis,
+                                            CORBA::Double theR1,
+                                            CORBA::Double theR2,
+                                            CORBA::Double theHeight);
+  GEOM::GEOM_Object_ptr MakeConeR1R2H (CORBA::Double theR1, 
+                                      CORBA::Double theR2, 
+                                      CORBA::Double theHeight);
+  GEOM::GEOM_Object_ptr MakePrismVecH (GEOM::GEOM_Object_ptr theBase,
+                                      GEOM::GEOM_Object_ptr theVec,
+                                      CORBA::Double         theH);
+  GEOM::GEOM_Object_ptr MakePrismTwoPnt (GEOM::GEOM_Object_ptr theBase,
+                                        GEOM::GEOM_Object_ptr thePoint1,
+                                        GEOM::GEOM_Object_ptr thePoint2);
+  GEOM::GEOM_Object_ptr MakePipe (GEOM::GEOM_Object_ptr theBase, 
+                                 GEOM::GEOM_Object_ptr thePath);
+  GEOM::GEOM_Object_ptr MakeRevolutionAxisAngle (GEOM::GEOM_Object_ptr theBase,
+                                                GEOM::GEOM_Object_ptr theAxis,
+                                                CORBA::Double theAngle);
+  GEOM::GEOM_Object_ptr MakeFilling (GEOM::GEOM_Object_ptr theShape,
+                                    CORBA::Long theMinDeg, CORBA::Long theMaxDeg,
+                                    CORBA::Double theTol2D, CORBA::Double theTol3D,
+                                    CORBA::Long theNbIter);
+  
+  //-----------------------------------------------------------//
+  // BooleanOperations                                         //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr MakeBoolean (GEOM::GEOM_Object_ptr theShape1,
+                                    GEOM::GEOM_Object_ptr theShape2,
+                                    CORBA::Long theOperation);
+  GEOM::GEOM_Object_ptr MakeFuse (GEOM::GEOM_Object_ptr theShape1,
+                                 GEOM::GEOM_Object_ptr theShape2);
+  GEOM::GEOM_Object_ptr MakePartition (const GEOM::ListOfGO&   theShapes,
+                                      const GEOM::ListOfGO&   theTools,
+                                      const GEOM::ListOfGO&   theKeepInside,
+                                      const GEOM::ListOfGO&   theRemoveInside,
+                                      const CORBA::Short      theLimit,
+                                      const CORBA::Boolean    theRemoveWebs,
+                                      const GEOM::ListOfLong& theMaterials);
+  GEOM::GEOM_Object_ptr MakeHalfPartition (GEOM::GEOM_Object_ptr theShape,
+                                          GEOM::GEOM_Object_ptr thePlane);
+
+  //-----------------------------------------------------------//
+  // InsertOperations                                          //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr MakeCopy (GEOM::GEOM_Object_ptr theOriginal);
+  void Export (GEOM::GEOM_Object_ptr theObject, 
+              const char*           theFileName, 
+              const char*           theFormatName);
+  GEOM::GEOM_Object_ptr Import (const char* theFileName, 
+                               const char* theFormatName);
+  void ImportTranslators (GEOM::string_array_out theFormats,
+                         GEOM::string_array_out thePatterns);
+  void ExportTranslators (GEOM::string_array_out theFormats,
+                         GEOM::string_array_out thePatterns);
+
+  //-----------------------------------------------------------//
+  // TransformOperations                                       //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr TranslateTwoPoints (GEOM::GEOM_Object_ptr theObject,
+                                           GEOM::GEOM_Object_ptr thePoint1,
+                                           GEOM::GEOM_Object_ptr thePoint2);
+  GEOM::GEOM_Object_ptr TranslateTwoPointsCopy (GEOM::GEOM_Object_ptr theObject,
+                                               GEOM::GEOM_Object_ptr thePoint1,
+                                               GEOM::GEOM_Object_ptr thePoint2);
+  GEOM::GEOM_Object_ptr TranslateDXDYDZ (GEOM::GEOM_Object_ptr theObject,
+                                        CORBA::Double theDX, 
+                                        CORBA::Double theDY, 
+                                        CORBA::Double theDZ);
+  GEOM::GEOM_Object_ptr TranslateDXDYDZCopy (GEOM::GEOM_Object_ptr theObject,
+                                            CORBA::Double theDX, 
+                                            CORBA::Double theDY, 
+                                            CORBA::Double theDZ);
+  GEOM::GEOM_Object_ptr TranslateVector (GEOM::GEOM_Object_ptr theObject,
+                                        GEOM::GEOM_Object_ptr theVector);
+  GEOM::GEOM_Object_ptr TranslateVectorCopy (GEOM::GEOM_Object_ptr theObject,
+                                            GEOM::GEOM_Object_ptr theVector);
+  GEOM::GEOM_Object_ptr MultiTranslate1D (GEOM::GEOM_Object_ptr theObject,
+                                         GEOM::GEOM_Object_ptr theVector,
+                                         CORBA::Double theStep,
+                                         CORBA::Long theNbTimes);
+  GEOM::GEOM_Object_ptr MultiTranslate2D (GEOM::GEOM_Object_ptr theObject,
+                                         GEOM::GEOM_Object_ptr theVector1,
+                                         CORBA::Double theStep1,
+                                         CORBA::Long theNbTimes1,
+                                         GEOM::GEOM_Object_ptr theVector2,
+                                         CORBA::Double theStep2,
+                                         CORBA::Long theNbTimes2);
+  GEOM::GEOM_Object_ptr Rotate (GEOM::GEOM_Object_ptr theObject,
+                               GEOM::GEOM_Object_ptr theAxis,
+                               CORBA::Double theAngle);
+  GEOM::GEOM_Object_ptr RotateCopy (GEOM::GEOM_Object_ptr theObject,
+                                   GEOM::GEOM_Object_ptr theAxis,
+                                   CORBA::Double theAngle);
+  GEOM::GEOM_Object_ptr MultiRotate1D (GEOM::GEOM_Object_ptr theObject,
+                                      GEOM::GEOM_Object_ptr theAxis,
+                                      CORBA::Long theNbTimes);
+  GEOM::GEOM_Object_ptr MultiRotate2D (GEOM::GEOM_Object_ptr theObject,
+                                      GEOM::GEOM_Object_ptr theAxis,
+                                      CORBA::Double theAngle,
+                                      CORBA::Long theNbTimes1,
+                                      CORBA::Double theStep,
+                                      CORBA::Long theNbTimes2);
+  GEOM::GEOM_Object_ptr MirrorPlane (GEOM::GEOM_Object_ptr theObject, 
+                                    GEOM::GEOM_Object_ptr thePlane);
+  GEOM::GEOM_Object_ptr MirrorPlaneCopy (GEOM::GEOM_Object_ptr theObject, 
+                                        GEOM::GEOM_Object_ptr thePlane);
+  GEOM::GEOM_Object_ptr MirrorAxis (GEOM::GEOM_Object_ptr theObject, 
+                                   GEOM::GEOM_Object_ptr theAxis);
+  GEOM::GEOM_Object_ptr MirrorAxisCopy (GEOM::GEOM_Object_ptr theObject, 
+                                       GEOM::GEOM_Object_ptr theAxis);
+  GEOM::GEOM_Object_ptr MirrorPoint (GEOM::GEOM_Object_ptr theObject, 
+                                    GEOM::GEOM_Object_ptr thePoint);
+  GEOM::GEOM_Object_ptr MirrorPointCopy (GEOM::GEOM_Object_ptr theObject, 
+                                        GEOM::GEOM_Object_ptr thePoint);
+  GEOM::GEOM_Object_ptr OffsetShape (GEOM::GEOM_Object_ptr theObject, 
+                                    CORBA::Double theOffset);
+  GEOM::GEOM_Object_ptr OffsetShapeCopy (GEOM::GEOM_Object_ptr theObject, 
+                                        CORBA::Double theOffset);
+  GEOM::GEOM_Object_ptr ScaleShape (GEOM::GEOM_Object_ptr theObject, 
+                                   GEOM::GEOM_Object_ptr thePoint,
+                                   CORBA::Double theFactor);
+  GEOM::GEOM_Object_ptr ScaleShapeCopy (GEOM::GEOM_Object_ptr theObject, 
+                                       GEOM::GEOM_Object_ptr thePoint,
+                                       CORBA::Double theFactor);
+  GEOM::GEOM_Object_ptr PositionShape (GEOM::GEOM_Object_ptr theObject,
+                                      GEOM::GEOM_Object_ptr theStartLCS,
+                                      GEOM::GEOM_Object_ptr theEndLCS);
+  GEOM::GEOM_Object_ptr PositionShapeCopy (GEOM::GEOM_Object_ptr theObject,
+                                          GEOM::GEOM_Object_ptr theStartLCS,
+                                          GEOM::GEOM_Object_ptr theEndLCS);
+
+  //-----------------------------------------------------------//
+  // ShapesOperations                                          //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr MakeEdge (GEOM::GEOM_Object_ptr thePnt1,
+                                 GEOM::GEOM_Object_ptr thePnt2);
+  GEOM::GEOM_Object_ptr MakeWire (const GEOM::ListOfGO& theEdgesAndWires);
+  GEOM::GEOM_Object_ptr MakeFace (GEOM::GEOM_Object_ptr theWire,
+                                 CORBA::Boolean isPlanarWanted);
+  GEOM::GEOM_Object_ptr MakeFaceWires (const GEOM::ListOfGO& theWires,
+                                      CORBA::Boolean isPlanarWanted);
+  GEOM::GEOM_Object_ptr MakeShell (const GEOM::ListOfGO& theFacesAndShells);
+  GEOM::GEOM_Object_ptr MakeSolidShell (GEOM::GEOM_Object_ptr theShell);
+  GEOM::GEOM_Object_ptr MakeSolidShells (const GEOM::ListOfGO& theShells);
+  GEOM::GEOM_Object_ptr MakeCompound (const GEOM::ListOfGO& theShapes);
+  GEOM::GEOM_Object_ptr MakeGlueFaces (GEOM::GEOM_Object_ptr theShape,
+                                      const CORBA::Double   theTolerance);
+  GEOM::ListOfGO* MakeExplode (GEOM::GEOM_Object_ptr theShape,
+                              const CORBA::Long theShapeType,
+                              const CORBA::Boolean isSorted);
+  CORBA::Long NumberOfFaces (GEOM::GEOM_Object_ptr theShape);
+  CORBA::Long NumberOfEdges (GEOM::GEOM_Object_ptr theShape);
+  GEOM::GEOM_Object_ptr ChangeOrientation (GEOM::GEOM_Object_ptr theShape);
+
+  //-----------------------------------------------------------//
+  // BlocksOperations                                          //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr MakeQuad4Vertices (GEOM::GEOM_Object_ptr thePnt1,
+                                          GEOM::GEOM_Object_ptr thePnt2,
+                                          GEOM::GEOM_Object_ptr thePnt3,
+                                          GEOM::GEOM_Object_ptr thePnt4);
+  GEOM::GEOM_Object_ptr MakeQuad (GEOM::GEOM_Object_ptr theEdge1,
+                                 GEOM::GEOM_Object_ptr theEdge2,
+                                 GEOM::GEOM_Object_ptr theEdge3,
+                                 GEOM::GEOM_Object_ptr theEdge4);
+  GEOM::GEOM_Object_ptr MakeQuad2Edges (GEOM::GEOM_Object_ptr theEdge1,
+                                       GEOM::GEOM_Object_ptr theEdge2);
+  GEOM::GEOM_Object_ptr MakeHexa (GEOM::GEOM_Object_ptr theFace1,
+                                 GEOM::GEOM_Object_ptr theFace2,
+                                 GEOM::GEOM_Object_ptr theFace3,
+                                 GEOM::GEOM_Object_ptr theFace4,
+                                 GEOM::GEOM_Object_ptr theFace5,
+                                 GEOM::GEOM_Object_ptr theFace6);
+  GEOM::GEOM_Object_ptr MakeHexa2Faces (GEOM::GEOM_Object_ptr theFace1,
+                                       GEOM::GEOM_Object_ptr theFace2);
+  GEOM::GEOM_Object_ptr GetPoint (GEOM::GEOM_Object_ptr theShape,
+                                 const CORBA::Double   theX,
+                                 const CORBA::Double   theY,
+                                 const CORBA::Double   theZ,
+                                 const CORBA::Double   theEpsilon);
+  GEOM::GEOM_Object_ptr GetEdge (GEOM::GEOM_Object_ptr theShape,
+                                GEOM::GEOM_Object_ptr thePoint1,
+                                GEOM::GEOM_Object_ptr thePoint2);
+  GEOM::GEOM_Object_ptr GetEdgeNearPoint (GEOM::GEOM_Object_ptr theShape,
+                                         GEOM::GEOM_Object_ptr thePoint);
+  GEOM::GEOM_Object_ptr GetFaceByPoints (GEOM::GEOM_Object_ptr theShape,
+                                        GEOM::GEOM_Object_ptr thePoint1,
+                                        GEOM::GEOM_Object_ptr thePoint2,
+                                        GEOM::GEOM_Object_ptr thePoint3,
+                                        GEOM::GEOM_Object_ptr thePoint4);
+  GEOM::GEOM_Object_ptr GetFaceByEdges (GEOM::GEOM_Object_ptr theShape,
+                                       GEOM::GEOM_Object_ptr theEdge1,
+                                       GEOM::GEOM_Object_ptr theEdge2);
+  GEOM::GEOM_Object_ptr GetOppositeFace (GEOM::GEOM_Object_ptr theBlock,
+                                        GEOM::GEOM_Object_ptr theFace);
+  GEOM::GEOM_Object_ptr GetFaceNearPoint (GEOM::GEOM_Object_ptr theShape,
+                                         GEOM::GEOM_Object_ptr thePoint);
+  GEOM::GEOM_Object_ptr GetFaceByNormale (GEOM::GEOM_Object_ptr theBlock,
+                                         GEOM::GEOM_Object_ptr theVector);
+  CORBA::Boolean IsCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
+                                    const CORBA::Long     theMinNbFaces,
+                                    const CORBA::Long     theMaxNbFaces,
+                                    CORBA::Long&          theNbBlocks);
+  CORBA::Boolean CheckCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
+                                       GEOM::GEOM_IBlocksOperations::BCErrors_out theErrors);
+  char* PrintBCErrors (GEOM::GEOM_Object_ptr theCompound,
+                      const GEOM::GEOM_IBlocksOperations::BCErrors& theErrors);
+  GEOM::ListOfGO* ExplodeCompoundOfBlocks (GEOM::GEOM_Object_ptr theCompound,
+                                          const CORBA::Long     theMinNbFaces,
+                                          const CORBA::Long     theMaxNbFaces);
+  GEOM::GEOM_Object_ptr GetBlockNearPoint (GEOM::GEOM_Object_ptr theCompound,
+                                          GEOM::GEOM_Object_ptr thePoint);
+  GEOM::GEOM_Object_ptr GetBlockByParts (GEOM::GEOM_Object_ptr theCompound,
+                                        const GEOM::ListOfGO& theParts);
+  GEOM::ListOfGO* GetBlocksByParts (GEOM::GEOM_Object_ptr theCompound,
+                                   const GEOM::ListOfGO& theParts);
+  GEOM::GEOM_Object_ptr MakeMultiTransformation1D (GEOM::GEOM_Object_ptr theBlock,
+                                                  const CORBA::Long     theDirFace1,
+                                                  const CORBA::Long     theDirFace2,
+                                                  const CORBA::Long     theNbTimes);
+  GEOM::GEOM_Object_ptr MakeMultiTransformation2D (GEOM::GEOM_Object_ptr theBlock,
+                                                  const CORBA::Long     theDirFace1U,
+                                                  const CORBA::Long     theDirFace2U,
+                                                  const CORBA::Long     theNbTimesU,
+                                                  const CORBA::Long     theDirFace1V,
+                                                  const CORBA::Long     theDirFace2V,
+                                                  const CORBA::Long     theNbTimesV);
+
+  //-----------------------------------------------------------//
+  // CurvesOperations                                          //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr MakeCirclePntVecR (GEOM::GEOM_Object_ptr theCenter,
+                                          GEOM::GEOM_Object_ptr theVector,
+                                          CORBA::Double theR);
+  GEOM::GEOM_Object_ptr MakeCircleThreePnt (GEOM::GEOM_Object_ptr thePnt1,
+                                           GEOM::GEOM_Object_ptr thePnt2,
+                                           GEOM::GEOM_Object_ptr thePnt3);
+  GEOM::GEOM_Object_ptr MakeEllipse (GEOM::GEOM_Object_ptr theCenter,
+                                    GEOM::GEOM_Object_ptr theVector,
+                                    CORBA::Double theRMajor, CORBA::Double theRMinor);
+  GEOM::GEOM_Object_ptr MakeArc (GEOM::GEOM_Object_ptr thePnt1,
+                                GEOM::GEOM_Object_ptr thePnt2,
+                                GEOM::GEOM_Object_ptr thePnt3);
+  GEOM::GEOM_Object_ptr MakePolyline (const GEOM::ListOfGO& thePoints);
+  GEOM::GEOM_Object_ptr MakeSplineBezier (const GEOM::ListOfGO& thePoints);
+  GEOM::GEOM_Object_ptr MakeSplineInterpolation (const GEOM::ListOfGO& thePoints);
+  GEOM::GEOM_Object_ptr MakeSketcher (const char* theCommand, 
+                                     const GEOM::ListOfDouble& theWorkingPlane);
+
+  //-----------------------------------------------------------//
+  // LocalOperations                                           //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr MakeFilletAll (GEOM::GEOM_Object_ptr theShape,
+                                      CORBA::Double theR);
+  GEOM::GEOM_Object_ptr MakeFilletEdges (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
+                                        const GEOM::ListOfLong& theEdges);
+  GEOM::GEOM_Object_ptr MakeFilletFaces (GEOM::GEOM_Object_ptr theShape, CORBA::Double theR,
+                                        const GEOM::ListOfLong& theFaces);
+  GEOM::GEOM_Object_ptr MakeChamferAll (GEOM::GEOM_Object_ptr theShape, CORBA::Double theD);
+  GEOM::GEOM_Object_ptr MakeChamferEdge (GEOM::GEOM_Object_ptr theShape,
+                                        CORBA::Double theD1, CORBA::Double theD2,
+                                        CORBA::Long theFace1, CORBA::Long theFace2);
+  GEOM::GEOM_Object_ptr MakeChamferFaces (GEOM::GEOM_Object_ptr theShape,
+                                         CORBA::Double theD1, CORBA::Double theD2,
+                                         const GEOM::ListOfLong& theFaces);
+  GEOM::GEOM_Object_ptr MakeArchimede (GEOM::GEOM_Object_ptr theShape,
+                                       CORBA::Double theWeight,
+                                      CORBA::Double theWaterDensity,
+                                      CORBA::Double theMeshingDeflection);
+  CORBA::Long GetSubShapeIndex (GEOM::GEOM_Object_ptr theShape,
+                               GEOM::GEOM_Object_ptr theSubShape);
+
+  //-----------------------------------------------------------//
+  // GroupOperations                                           //
+  //-----------------------------------------------------------//
+  GEOM::GEOM_Object_ptr CreateGroup (GEOM::GEOM_Object_ptr theMainShape, 
+                                    CORBA::Long theShapeType);
+  void AddObject (GEOM::GEOM_Object_ptr theGroup, 
+                 CORBA::Long theSubShapeId);
+  void RemoveObject (GEOM::GEOM_Object_ptr theGroup, 
+                    CORBA::Long theSubShapeId);
+  CORBA::Long GetType (GEOM::GEOM_Object_ptr theGroup);
+  GEOM::GEOM_Object_ptr GetMainShape (GEOM::GEOM_Object_ptr theGroup);
+  GEOM::ListOfLong* GetObjects (GEOM::GEOM_Object_ptr theGroup);
+  
+private:
+  SALOME_NamingService *  name_service; 
+  GEOM::GEOM_Gen_ptr      myGeomEngine;
+  CORBA::Long             myStudyID;
+  
+  GEOM::GEOM_IBasicOperations_ptr     myBasicOp;
+  GEOM::GEOM_I3DPrimOperations_ptr    my3DPrimOp;
+  GEOM::GEOM_IBooleanOperations_ptr   myBoolOp;
+  GEOM::GEOM_IInsertOperations_ptr    myInsOp;
+  GEOM::GEOM_ITransformOperations_ptr myTransfOp;
+  GEOM::GEOM_IShapesOperations_ptr    myShapesOp;
+  GEOM::GEOM_IBlocksOperations_ptr    myBlocksOp;
+  GEOM::GEOM_ICurvesOperations_ptr    myCurvesOp;
+  GEOM::GEOM_ILocalOperations_ptr     myLocalOp;
+  GEOM::GEOM_IGroupOperations_ptr     myGroupOp;
+
+};
+
+#endif 
diff --git a/src/GEOM_I_Superv/Makefile.in b/src/GEOM_I_Superv/Makefile.in
new file mode 100644 (file)
index 0000000..14c03b7
--- /dev/null
@@ -0,0 +1,64 @@
+#  GEOM GEOM : implementaion of GEOM_Superv.idl
+#
+#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
+# 
+#  This library is free software; you can redistribute it and/or 
+#  modify it under the terms of the GNU Lesser General Public 
+#  License as published by the Free Software Foundation; either 
+#  version 2.1 of the License. 
+# 
+#  This library is distributed in the hope that it will be useful, 
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+#  Lesser General Public License for more details. 
+# 
+#  You should have received a copy of the GNU Lesser General Public 
+#  License along with this library; if not, write to the Free Software 
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
+# 
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#
+#
+#
+#  File   : Makefile.in
+#  Author : Patrick GOLDBRONN (CEA)
+#  Module : GEOM
+#  $Header$
+
+top_srcdir=@top_srcdir@
+top_builddir=../..
+srcdir=@srcdir@
+VPATH=.:@srcdir@:@top_srcdir@/idl
+
+@COMMENCE@
+
+# Libraries targets
+
+LIB = libGEOM_SupervEngine.la
+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 \
+
+# Executables targets
+BIN = 
+BIN_SRC = 
+BIN_CLIENT_IDL = 
+BIN_SERVER_IDL =
+
+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 -lSalomeContainer -L${KERNEL_ROOT_DIR}/lib/salome -lSalomeGenericObj 
+
+# additional file to be cleaned
+MOSTLYCLEAN =
+CLEAN =
+DISTCLEAN =
+
+@CONCLUDE@
+
index 3e2125283f9fded03866d8f46806955b280cbefa..3a6118833e1218cf416b3a35da667af467750514 100755 (executable)
@@ -8,7 +8,7 @@
 #  Module : GEOM
 
 #%Make geometry (like CEA script (A1)) using Partition algorithm%
-# appel: 
+# appel:
 # import alveole_3D_01_GEOM
 # reload(alveole_3D_01_GEOM)
 
@@ -57,12 +57,12 @@ colis_cc = geompy.MakeCompound([colis, cc])
 
 colis_cc = geompy.MakeTranslation(colis_cc, colis_center, 0.0, 0.0)
 
-colis_cc_multi = geompy.MakeMultiRotation1D(colis_cc, vecz, 4)
+colis_cc_multi = geompy.MultiRotate1D(colis_cc, vecz, 4)
 
 # --
 
 alveole = geompy.MakePartition([colis_cc_multi, barier])
-       
+
 geompy.addToStudy(alveole, "alveole before explode")
 
 subshapes = geompy.SubShapeAll(alveole, geompy.ShapeType["SHAPE"])
@@ -82,5 +82,5 @@ compGOs.append(comp4);
 comp = geompy.MakeCompound(compGOs);
 
 alveole = geompy.MakeCompound([comp, subshapes[8]]);
-       
+
 geompy.addToStudy(alveole, "alveole")
index bb8b2316484392377cac4bc0e3ca3d53d7b490b9..fd08520ac6796633d64371a1b4c052a0f16e2f61 100644 (file)
@@ -79,13 +79,13 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
   p_0_35  = geompy.MakeVertex( 0., 35., 0.)
   p_0_10  = geompy.MakeVertex( 0., 10., 0.)
 
-  Face11 = geompy.MakeQuadFaceVertices(p_10_0, p_10_25, p_0_10, p_0_35);
+  Face11 = geompy.MakeQuad4Vertices(p_10_0, p_10_25, p_0_10, p_0_35);
   id_face11 = geompy.addToStudy(Face11, "1 Face for Block 1")
 
   Face12 = geompy.MakeTranslationTwoPoints(Face11, p0, pth)
   id_face12 = geompy.addToStudy(Face12, "2 Face for Block 1")
 
-  Block1 = geompy.MakeHexaSolidTwoFaces(Face11, Face12)
+  Block1 = geompy.MakeHexa2Faces(Face11, Face12)
   id_block1 = geompy.addToStudy(Block1, "Block 1")
 
   ### Block 2 ###
@@ -101,13 +101,13 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
     print "BlocksOp.GetEdge(Block1, p_10_0, p_10_25) : ", BlocksOp.GetErrorCode()
   id_edge22 = geompy.addToStudy(Edge22, "2 Edge for Block 2")
 
-  Face21 = geompy.MakeQuadFaceTwoEdges(Edge21, Edge22);
+  Face21 = geompy.MakeQuad2Edges(Edge21, Edge22);
   id_face21 = geompy.addToStudy(Face21, "1 Face for Block 2")
 
   Face22 = geompy.MakeTranslationTwoPoints(Face21, p0, pth)
   id_face22 = geompy.addToStudy(Face22, "2 Face for Block 2")
 
-  Block2 = geompy.MakeHexaSolidTwoFaces(Face21, Face22)
+  Block2 = geompy.MakeHexa2Faces(Face21, Face22)
   id_block2 = geompy.addToStudy(Block2, "Block 2")
 
   ### Block 3 ###
@@ -117,7 +117,7 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
   Face31 = GetFaceNearPoint(geompy, Block2, p_15_10_1)
   id_face31 = geompy.addToStudy(Face31, "1 Face for Block 3")
 
-  Prism1 = geompy.MakePrism(Face31, vx, 5);
+  Prism1 = geompy.MakePrismVecH(Face31, vx, 5);
   id_prism1 = geompy.addToStudy(Prism1, "Prism to be Block 3")
 
   nbFaces = geompy.ShapesOp.NumberOfFaces(Prism1)
@@ -133,9 +133,9 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
     Id_Face = geompy.addToStudyInFather(Prism1, aFace, name)
     ii = ii + 1
 
-  Block3 = geompy.MakeHexaSolid(Prism1_faces[0], Prism1_faces[1],
-                                Prism1_faces[2], Prism1_faces[3],
-                                Prism1_faces[4], Prism1_faces[5]);
+  Block3 = geompy.MakeHexa(Prism1_faces[0], Prism1_faces[1],
+                           Prism1_faces[2], Prism1_faces[3],
+                           Prism1_faces[4], Prism1_faces[5]);
   id_block3 = geompy.addToStudy(Block3, "Block 3")
 
   ### Block 4 ###
@@ -161,10 +161,10 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
   Edge44 = geompy.MakeEdge(p_25_20, p_25_20_2)
   id_edge44 = geompy.addToStudy(Edge44, "4 Edge for Block 4")
 
-  Face42 = geompy.MakeQuadFace(Edge41, Edge42, Edge43, Edge44)
+  Face42 = geompy.MakeQuad(Edge41, Edge42, Edge43, Edge44)
   id_face42 = geompy.addToStudy(Face42, "2 Face for Block 4")
 
-  Block4 = geompy.MakeHexaSolidTwoFaces(Face41, Face42)
+  Block4 = geompy.MakeHexa2Faces(Face41, Face42)
   id_block4 = geompy.addToStudy(Block4, "Block 4")
 
   ### Block 5 ###
@@ -177,7 +177,7 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
   Face52 = geompy.MakeRotation(Face51, axis_rot, math.pi/2.)
   id_face52 = geompy.addToStudy(Face52, "2 Face for Block 5")
 
-  Block5 = geompy.MakeHexaSolidTwoFaces(Face51, Face52)
+  Block5 = geompy.MakeHexa2Faces(Face51, Face52)
   id_block5 = geompy.addToStudy(Block5, "Block 5")
 
   ### Compound of blocks 1 - 4 ###
@@ -214,10 +214,10 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
   Edge4s = geompy.MakeArc(p_20_0, p_18_0_r, p_20_0_r)
   id_edge4s = geompy.addToStudy(Edge4s, "4 Edge for Block 1s")
 
-  Face1s = geompy.MakeQuadFace(Edge1s, Edge2s, Edge3s, Edge4s)
+  Face1s = geompy.MakeQuad(Edge1s, Edge2s, Edge3s, Edge4s)
   id_face1s = geompy.addToStudy(Face1s, "1 Face for Block 1s")
 
-  Block1s = geompy.MakePrism(Face1s, vz, th);
+  Block1s = geompy.MakePrismVecH(Face1s, vz, th);
   id_block1s = geompy.addToStudy(Block1s, "Block 1s")
 
   p_30_0_1 = geompy.MakeVertex(30., 0., 1.)
@@ -247,7 +247,7 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
   Face12l = GetFaceNearPoint(geompy, Gear, p_55_110_1)
   id_face12l = geompy.addToStudy(Face12l, "2 Face for Linking Block 1")
 
-  Block1l = geompy.MakeHexaSolidTwoFaces(Face11l, Face12l)
+  Block1l = geompy.MakeHexa2Faces(Face11l, Face12l)
   id_block1l = geompy.addToStudy(Block1l, "Linking Block 1")
 
   ### Linking Block 2 ###
@@ -261,7 +261,7 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
   Face22l = GetFaceNearPoint(geompy, Gear, p_45_110_1)
   id_face22l = geompy.addToStudy(Face22l, "2 Face for Linking Block 2")
 
-  Block2l = geompy.MakeHexaSolidTwoFaces(Face21l, Face22l)
+  Block2l = geompy.MakeHexa2Faces(Face21l, Face22l)
   id_block2l = geompy.addToStudy(Block2l, "Linking Block 2")
 
   ### Linking Block 3 ###
@@ -275,7 +275,7 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
   Face32l = GetFaceNearPoint(geompy, Gear, p_65_110_1)
   id_face32l = geompy.addToStudy(Face32l, "2 Face for Linking Block 3")
 
-  Block3l = geompy.MakeHexaSolidTwoFaces(Face31l, Face32l)
+  Block3l = geompy.MakeHexa2Faces(Face31l, Face32l)
   id_block3l = geompy.addToStudy(Block3l, "Linking Block 3")
 
   ### Handle ###
@@ -381,7 +381,7 @@ def MakeSpanner (salome, geompy, math, isBlocksTest = 0, isMeshTest = 0, smesh =
 
     ### equivalent of Block1s, but made as block
 
-    Block_new = geompy.MakeHexaSolidTwoFaces(Face_g_1, Face_g_1_tr)
+    Block_new = geompy.MakeHexa2Faces(Face_g_1, Face_g_1_tr)
     id_block_new = geompy.addToStudy(Block_new, "Block New")
 
   if isMeshTest == 1:
index adeed4cec5d6ba5bcd1423681a4adfde057de18e..4d24d80098064e9314efe60ba4eec9b16a1e49af 100644 (file)
@@ -1,7 +1,6 @@
 #  GEOM GEOM_SWIG : binding of C++ omplementaion with Python
 #
-#  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#  Copyright (C) 2003  CEA
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
@@ -17,7 +16,7 @@
 #  License along with this library; if not, write to the Free Software
 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 #
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+#  See http://www.salome-platform.org or email : webmaster.salome@opencascade.org
 #
 #
 #  File   : GEOM_usinggeom.py
@@ -79,7 +78,8 @@ def TestAll (geompy, math):
   cs2 = geompy.MakeMarker(70,80,10, 1,0,1, 1,1,0)
 
   #Create base geometry 2D
-  Line   = geompy.MakeLine(p0, pxyz)                        #(2 GEOM_Object_ptr)->GEOM_Object_ptr
+  Line   = geompy.MakeLineTwoPnt(p0, pxyz)                  #(2 GEOM_Object_ptr)->GEOM_Object_ptr
+  Line1  = geompy.MakeLine(pz, vxy)                         #(2 GEOM_Object_ptr)->GEOM_Object_ptr
   Plane  = geompy.MakePlane(pz, vxyz, trimsize)             #(2 GEOM_Object_ptr, Double)->GEOM_Object_ptr
   Plane1 = geompy.MakePlaneThreePnt(px, pz, p200, trimsize) #(4 Doubles)->GEOM_Object_ptr
 
@@ -98,11 +98,13 @@ def TestAll (geompy, math):
 
   #Create base geometry 3D
   Box      = geompy.MakeBoxTwoPnt(p0, p200)                   #(2 GEOM_Object_ptr)->GEOM_Object_ptr
-  Box1     = geompy.MakeBoxDXDYDZ(10, 20,30)                  #(3 Doubles)->GEOM_Object_ptr
+  Box1     = geompy.MakeBoxDXDYDZ(10, 20, 30)                 #(3 Doubles)->GEOM_Object_ptr
+  Box2     = geompy.MakeBox(10,20,30, 15,25,35)               #(6 Doubles)->GEOM_Object_ptr
   Cylinder = geompy.MakeCylinder(p0, vz, radius1, height)     #(2 GEOM_Object_ptr, 2 Doubles)->GEOM_Object_ptr
   Cyl1     = geompy.MakeCylinderRH(radius2, height)           #(2 Doubles)->GEOM_Object_ptr
-  Sphere   = geompy.MakeSphere(p0, radius1)                   #(GEOM_Object_ptr, Double)->GEOM_Object_ptr
+  Sphere   = geompy.MakeSpherePntR(p0, radius1)               #(GEOM_Object_ptr, Double)->GEOM_Object_ptr
   Sphere1  = geompy.MakeSphereR(radius)                       #(Double)->GEOM_Object_ptr
+  Sphere2  = geompy.MakeSphere(50, 70, 30, radius)            #(4 Doubles)->GEOM_Object_ptr
   Cone     = geompy.MakeCone(p0, vz, radius2, radius, height) #(2 GEOM_Object_ptr, 3 Doubles)->GEOM_Object_ptr
   Cone1    = geompy.MakeConeR1R2H(radius1, radius, height)    #(3 Doubles)->GEOM_Object_ptr
   Torus    = geompy.MakeTorus(p0, vz, radius2, radius)        #(2 GEOM_Object_ptr, 2 Doubles)->GEOM_Object_ptr
@@ -123,7 +125,7 @@ def TestAll (geompy, math):
   Face2    = geompy.MakeFace(Sketcher, WantPlanarFace)
   Shell    = geompy.MakeShell([Face, Face1])         #(List of GEOM_Object_ptr)->GEOM_Object_ptr
 
-  Prism1   = geompy.MakePrismTwoPnt(Face2, p0, pxyz) #(3 GEOM_Object_ptr)->GEOM_Object_ptr
+  Prism1   = geompy.MakePrism(Face2, p0, pxyz)       #(3 GEOM_Object_ptr)->GEOM_Object_ptr
   prism1_faces = geompy.SubShapeAllSorted(Prism1, ShapeTypeFace)
   Shell1   = geompy.MakeShell([prism1_faces[0], prism1_faces[1],
                                prism1_faces[3], prism1_faces[4],
@@ -146,7 +148,7 @@ def TestAll (geompy, math):
 
   #Create advanced objects
   Copy       = geompy.MakeCopy(Box)                      #(GEOM_Object_ptr)->GEOM_Object_ptr
-  Prism      = geompy.MakePrism(Face, vz, 100.0)         #(2 GEOM_Object_ptr, Double)->GEOM_Object_ptr
+  Prism      = geompy.MakePrismVecH(Face, vz, 100.0)     #(2 GEOM_Object_ptr, Double)->GEOM_Object_ptr
   Revolution = geompy.MakeRevolution(Face, vz, angle2)   #
   Filling    = geompy.MakeFilling(Compound, mindeg, maxdeg,
                                   tol2d, tol3d, nbiter)  #(GEOM_Object_ptr, 4 Doubles, Short)->GEOM_Object_ptr
@@ -160,25 +162,26 @@ def TestAll (geompy, math):
   Mirror      = geompy.MakeMirrorByPlane(Box, Plane)          #(2 GEOM_Object_ptr)->GEOM_Object_ptr
   Position    = geompy.MakePosition(Box, cs1, cs2)            #(3 GEOM_Object_ptr)->GEOM_Object_ptr
   Offset      = geompy.MakeOffset(Box, 10.)                   #(GEOM_Object_ptr, Double)->GEOM_Object_ptr
+  Orientation = geompy.ChangeOrientation(Box)
 
   #IDList for Fillet/Chamfer
   prism_edges = geompy.SubShapeAllSorted(Prism, ShapeTypeEdge)
+
   for anEdge in prism_edges:
-    name = geompy.SubShapeName(anEdge, Prism)
-    #Id_SubEdge = geompy.addToStudyInFather(Prism, anEdge, name)
-    print "Edge Id = ", geompy.GetSubShapeID(Prism, anEdge)
+    eid = geompy.GetSubShapeID(Prism, anEdge)
+    sse = geompy.GetSubShape(Prism, [eid])
 
-  prism_faces = geompy.SubShapeAllSorted(Prism, ShapeTypeFace)
-  for aFace in prism_faces:
-    name = geompy.SubShapeName(aFace, Prism)
-    #Id_SubFace = geompy.addToStudyInFather(Prism, aFace, name)
-    print "Face Id = ", geompy.GetSubShapeID(Prism, aFace)
+    sse_id = geompy.GetSubShapeID(Prism, sse)
+    if sse_id != eid:
+      print "Error: GetSubShape() or GetSubShapeID() has failed!"
 
   IDlist_e = []
   IDlist_e.append(geompy.GetSubShapeID(Prism, prism_edges[0]))
   IDlist_e.append(geompy.GetSubShapeID(Prism, prism_edges[1]))
   IDlist_e.append(geompy.GetSubShapeID(Prism, prism_edges[2]))
 
+  prism_faces = geompy.SubShapeAllSorted(Prism, ShapeTypeFace)
+
   f_ind_1 = geompy.GetSubShapeID(Prism, prism_faces[0])
   f_ind_2 = geompy.GetSubShapeID(Prism, prism_faces[1])
 
@@ -196,8 +199,8 @@ def TestAll (geompy, math):
   MultiTrans1D = geompy.MakeMultiTranslation1D(Fillet, vz, step1, nbtimes1)
   MultiTrans2D = geompy.MakeMultiTranslation2D(Fillet, vz, step1, nbtimes1, vy, step2, nbtimes2)
   #!!!!Angle In Degree!!!!
-  MultiRot1D   = geompy.MakeMultiRotation1D(Chamfer, vx, nbtimes1)
-  MultiRot2D   = geompy.MakeMultiRotation2D(Chamfer, vx, angle, nbtimes1, step1, nbtimes2)
+  MultiRot1D   = geompy.MultiRotate1D(Chamfer, vx, nbtimes1)
+  MultiRot2D   = geompy.MultiRotate2D(Chamfer, vx, angle, nbtimes1, step1, nbtimes2)
 
   #Create Informations objects
   CDG        = geompy.MakeCDG(Prism)               #(GEOM_Object_ptr)->GEOM_Object_ptr
@@ -228,6 +231,7 @@ def TestAll (geompy, math):
   id_cs2 = geompy.addToStudy(cs2, "CS 70,80,10, 1,0,1, 1,1,0")
 
   id_Line   = geompy.addToStudy(Line,   "Line")
+  id_Line1  = geompy.addToStudy(Line1,  "Line by point and vector")
   id_Plane  = geompy.addToStudy(Plane,  "Plane")
   id_Plane1 = geompy.addToStudy(Plane1,  "Plane by 3 points")
 
@@ -244,10 +248,12 @@ def TestAll (geompy, math):
 
   id_Box      = geompy.addToStudy(Box,      "Box")
   id_Box1     = geompy.addToStudy(Box1,     "Box 10x20x30")
+  id_Box2     = geompy.addToStudy(Box2,     "Box (10,20,30)-(15,25,35)")
   id_Cylinder = geompy.addToStudy(Cylinder, "Cylinder")
   id_Cyl1     = geompy.addToStudy(Cyl1,     "Cylinder RH")
-  id_Sphere   = geompy.addToStudy(Sphere,   "Sphere")
+  id_Sphere   = geompy.addToStudy(Sphere,   "Sphere Pnt R")
   id_Sphere1  = geompy.addToStudy(Sphere1,  "Sphere R")
+  id_Sphere2  = geompy.addToStudy(Sphere2,  "Sphere")
   id_Cone     = geompy.addToStudy(Cone,     "Cone")
   id_Cone1    = geompy.addToStudy(Cone1,    "Cone R1R2H")
   id_Torus    = geompy.addToStudy(Torus,    "Torus")
@@ -279,38 +285,42 @@ def TestAll (geompy, math):
   id_Pipe       = geompy.addToStudy(Pipe,       "Pipe")
   id_Sewing     = geompy.addToStudy(Sewing,     "Sewing")
 
-  Id_Translation = geompy.addToStudy(Translation, "Translation")
-  Id_Rotation    = geompy.addToStudy(Rotation,    "Rotation")
-  Id_Scale       = geompy.addToStudy(Scale,       "Scale")
-  Id_Mirror      = geompy.addToStudy(Mirror,      "Mirror")
-  Id_Position    = geompy.addToStudy(Position,    "Positioned box")
-  Id_Offset      = geompy.addToStudy(Offset,      "Offset")
+  id_Translation = geompy.addToStudy(Translation, "Translation")
+  id_Rotation    = geompy.addToStudy(Rotation,    "Rotation")
+  id_Scale       = geompy.addToStudy(Scale,       "Scale")
+  id_Mirror      = geompy.addToStudy(Mirror,      "Mirror")
+  id_Position    = geompy.addToStudy(Position,    "Positioned box")
+  id_Offset      = geompy.addToStudy(Offset,      "Offset")
+  id_Orientation = geompy.addToStudy(Orientation, "Orientation")
 
-  Id_Fillet   = geompy.addToStudy(Fillet,   "Fillet")
-  Id_Chamfer  = geompy.addToStudy(Chamfer,  "Chamfer on Edge")
-  Id_Chamfer2 = geompy.addToStudy(Chamfer2, "Chamfer on Faces")
+  id_Fillet   = geompy.addToStudy(Fillet,   "Fillet")
+  id_Chamfer  = geompy.addToStudy(Chamfer,  "Chamfer on Edge")
+  id_Chamfer2 = geompy.addToStudy(Chamfer2, "Chamfer on Faces")
 
-  Id_MultiTrans1D = geompy.addToStudy(MultiTrans1D, "MultiTrans1D")
-  Id_MultiTrans2D = geompy.addToStudy(MultiTrans2D, "MultiTrans2D")
-  Id_MultiRot1D   = geompy.addToStudy(MultiRot1D,   "MultiRot1D")
-  Id_MultiRot2D   = geompy.addToStudy(MultiRot2D,   "MultiRot2D")
+  id_MultiTrans1D = geompy.addToStudy(MultiTrans1D, "MultiTrans1D")
+  id_MultiTrans2D = geompy.addToStudy(MultiTrans2D, "MultiTrans2D")
+  id_MultiRot1D   = geompy.addToStudy(MultiRot1D,   "MultiRot1D")
+  id_MultiRot2D   = geompy.addToStudy(MultiRot2D,   "MultiRot2D")
 
-  Id_CDG       = geompy.addToStudy(CDG,       "CDG")
-  Id_Archimede = geompy.addToStudy(Archimede, "Archimede")
+  id_CDG       = geompy.addToStudy(CDG,       "CDG")
+  id_Archimede = geompy.addToStudy(Archimede, "Archimede")
 
-  Id_Partition = geompy.addToStudy(Partition, "Partition")
+  id_Partition = geompy.addToStudy(Partition, "Partition")
 
   #Decompose objects
-  SubFaceList    = geompy.SubShapeAll(Box, geompy.ShapeType["FACE"])
-  SubFace        = SubFaceList[2]
-  name           = geompy.SubShapeName(SubFace, Box)
-  Id_SubFace     = geompy.addToStudyInFather(Box, SubFace, name)
+  SubFace    = geompy.SubShape(Box, geompy.ShapeType["FACE"], [2])
+  name       = geompy.SubShapeName(SubFace, Box)
+  id_SubFace = geompy.addToStudyInFather(Box, SubFace, name)
+
+  SubFaceS   = geompy.SubShapeSorted(Box, geompy.ShapeType["FACE"], [5])
+  nameS      = geompy.SubShapeName(SubFaceS, Box)
+  id_SubFace = geompy.addToStudyInFather(Box, SubFaceS, nameS)
 
   SubEdgeList = geompy.SubShapeAll(SubFace, geompy.ShapeType["EDGE"])
   i=0
   for SubEdge in SubEdgeList :
     name = geompy.SubShapeName(SubEdge, SubFace)
-    Id_SubEdge = geompy.addToStudyInFather(SubFace, SubEdge, name)
+    id_SubEdge = geompy.addToStudyInFather(SubFace, SubEdge, name)
 
   #-------------------
 
diff --git a/src/GEOM_SWIG/GEOM_TestHealing.py b/src/GEOM_SWIG/GEOM_TestHealing.py
new file mode 100644 (file)
index 0000000..4ad4a1c
--- /dev/null
@@ -0,0 +1,331 @@
+#  GEOM GEOM_SWIG : binding of C++ implementaion with Python
+#
+#  Copyright (C) 2003  CEA
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+#  See http://www.salome-platform.org or email : webmaster.salome@opencascade.org
+#
+#
+#  File   : GEOM_TestHealing.py
+#  Author : Julia DOROVSKIKH
+#  Module : GEOM
+#  $Header$
+
+def TestProcessShape (geompy):
+
+  ##Load shape from BREP file
+  #import os
+  #datadir = os.getenv("GEOM_TEST")
+  #if datadir != 0:
+  #  datadir = datadir + "/Resources/"
+  #else:
+  #  "Please, define GEOM_TEST variable !"
+  #
+  #print "Import ", datadir + "aze2.brep"
+  #Shape = batchmode_geompy.Import(datadir + "aze2.brep", "BREP")
+
+  p1 = geompy.MakeVertex(0,0,0)
+  p2 = geompy.MakeVertex(200,0,0)
+  p3 = geompy.MakeVertex(100,150,0)
+
+  edge = geompy.MakeEdge(p1,p2)
+  arc  = geompy.MakeArc(p1,p3,p2)
+  wire = geompy.MakeWire([edge,arc])
+  face = geompy.MakeFace(wire, 1)
+
+  theShape = geompy.MakePrismVecH(face, edge, 130)
+
+  #Check shape
+  print "Before ProcessShape:"
+  isValid = geompy.CheckShape(theShape)
+  if isValid == 0:
+    print "The shape is not valid"
+  else:
+    print "The shape seems to be valid"
+
+  #Process Shape
+  Operators = ["FixShape"]
+  Parameters = ["FixShape.Tolerance3d"]
+  Values = ["1e-7"]
+
+  PS = geompy.ProcessShape(theShape, Operators, Parameters, Values)
+
+  #Check shape
+  print "After ProcessShape:"
+  isValid = geompy.CheckShape(PS)
+  if isValid == 0:
+    print "The shape is not valid"
+    raise RuntimeError, "It seems, that the ProcessShape() has failed"
+  else:
+    print "The shape seems to be valid"
+
+  #Add In Study
+  Id_Shape = geompy.addToStudy(theShape, "Invalid Shape")
+  Id_PS    = geompy.addToStudy(PS, "Processed Shape")
+
+def TestSuppressFaces (geompy):
+
+  #Create base geometry 3D
+  Box = geompy.MakeBoxDXDYDZ(200., 200., 200.)
+
+  #IDList for SuppHole
+  faces = []
+  faces = geompy.SubShapeAllSorted(Box, geompy.ShapeType["FACE"])
+
+  f_glob_id = geompy.GetSubShapeID(Box, faces[5])
+
+  #Transform objects
+  SuppFace = geompy.SuppressFaces(Box, [f_glob_id])
+
+  #Add In Study
+  Id_SuppFace = geompy.addToStudy(SuppFace, "SuppFace")
+
+def TestSuppressInternalWires (geompy):
+
+  #Create Face with hole
+  p11 = geompy.MakeVertex( 0,  0, 0)
+  p12 = geompy.MakeVertex(30,  0, 0)
+  p13 = geompy.MakeVertex(30, 30, 0)
+  p14 = geompy.MakeVertex( 0, 30, 0)
+
+  p21 = geompy.MakeVertex(10, 10, 0)
+  p22 = geompy.MakeVertex(20, 10, 0)
+  p23 = geompy.MakeVertex(20, 20, 0)
+  p24 = geompy.MakeVertex(10, 20, 0)
+
+  e11 = geompy.MakeEdge(p11, p12)
+  e12 = geompy.MakeEdge(p12, p13)
+  e13 = geompy.MakeEdge(p13, p14)
+  e14 = geompy.MakeEdge(p14, p11)
+
+  e21 = geompy.MakeEdge(p21, p22)
+  e22 = geompy.MakeEdge(p22, p23)
+  e23 = geompy.MakeEdge(p23, p24)
+  e24 = geompy.MakeEdge(p24, p21)
+
+  w1 = geompy.MakeWire([e11, e12, e13, e14])
+  w2 = geompy.MakeWire([e21, e22, e23, e24])
+
+  id_w1 = geompy.addToStudy(w1, "Outside Wire")
+  id_w2 = geompy.addToStudy(w2, "Inside Wire")
+
+  f12 = geompy.MakeFaceWires([w1, w2], 0)
+  id_f12 = geompy.addToStudy(f12, "Face WO + WI")
+
+  #Get Free Boundary
+  Res1 = geompy.GetFreeBoundary(f12)
+  isSuccess1   = Res1[0]
+  ClosedWires1 = Res1[1]
+  OpenWires1   = Res1[2]
+  nbw1 = 0
+
+  for wire in ClosedWires1:
+    nbw1 = nbw1 + 1
+
+  if nbw1 != 2:
+    raise RuntimeError, "GetFreeBoundary(f12) must return 2 closed wires, but returned ", nbw1
+
+  #SuppressInternalWires
+  face = geompy.SuppressInternalWires(f12, [])
+
+  #Get Free Boundary
+  Res2 = geompy.GetFreeBoundary(face)
+  isSuccess2   = Res2[0]
+  ClosedWires2 = Res2[1]
+  OpenWires2   = Res2[2]
+  nbw2 = 0
+
+  for wire in ClosedWires2:
+    nbw2 = nbw2 + 1
+
+  if nbw2 != 1:
+    print "GetFreeBoundary(face) must return 1 closed wires, but returned ", nbw2
+    raise RuntimeError, "SuppressInternalWires() works not correctly"
+
+  #Add In Study
+  Id_face = geompy.addToStudy(face, "Face without internal wires")
+
+def TestCloseContour (geompy):
+
+  ##Load shape from BREP file
+  #import os
+  #datadir = os.getenv("GEOM_TEST")
+  #if datadir != 0:
+  #  datadir = datadir + "/Resources/"
+  #else:
+  #  "Please, define GEOM_TEST variable !"
+  #
+  #print "Import ", datadir + "open_cont.brep"
+  #Shape = geompy.Import(datadir + "open_cont.brep", "BREP")
+
+  p0   = geompy.MakeVertex(0.  , 0.  , 0.  )
+  py   = geompy.MakeVertex(0.  , 100., 0.  )
+  pz   = geompy.MakeVertex(0.  , 0.  , 100.)
+  p200 = geompy.MakeVertex(200., 200., 200.)
+
+  Shape = geompy.MakePolyline([p0, pz, py, p200])
+
+  #Check shape
+  print "Before closing contour:"
+  isValid = geompy.CheckShape(Shape)
+  if isValid == 0:
+    print "The shape is not valid"
+  else:
+    print "The shape seems to be valid"
+
+  #Close Contour
+  IsCommonVertex = 0 # false
+
+  shape_wires = geompy.SubShapeAll(Shape, geompy.ShapeType["WIRE"])
+  Wires = []
+  wi = 0
+
+  for wire in shape_wires:
+    Wires.append(geompy.GetSubShapeID(Shape, shape_wires[wi]))
+    wi = wi + 1
+
+  CC = geompy.CloseContour(Shape, Wires, IsCommonVertex)
+
+  #Check shape
+  print "After closing contour:"
+  isValid = geompy.CheckShape(CC)
+  if isValid == 0:
+    print "The shape is not valid"
+    raise RuntimeError, "It seems, that the contour was not closed"
+  else:
+    print "The shape seems to be valid"
+
+  #Add In Study
+  Id_Shape = geompy.addToStudy(Shape, "Shape with open wire")
+  Id_CC    = geompy.addToStudy(CC, "Shape with closed wire")
+
+def TestSuppressHoles (geompy):
+
+  #Create base Variables
+  radius = 50.
+  height = 300.
+
+  #Create base points
+  p1 = geompy.MakeVertex(100., 100., 50.)
+
+  #Create base directions
+  vz = geompy.MakeVectorDXDYDZ(0., 0., 100.)
+
+  #Create base geometry 3D
+  Box      = geompy.MakeBoxDXDYDZ(200., 200., 200.)
+  Cylinder = geompy.MakeCylinder(p1, vz, radius, height)
+
+  #Boolean (Cut)
+  Cut = geompy.MakeBoolean(Box, Cylinder, 2)
+  idCut = geompy.addToStudy(Cut, "CUT")
+
+  #IDList for SuppressFaces
+  faces = []
+  faces = geompy.SubShapeAllSorted(Cut, geompy.ShapeType["FACE"])
+  ind = 0
+  for face in faces:
+      f_name = "FACE %d"%(ind)
+      f_id = geompy.addToStudyInFather(Cut, face, f_name)
+
+      f_glob_id = geompy.GetSubShapeID(Cut, face)
+      print "face ", ind, " global index = ", f_glob_id
+      ind = ind + 1
+
+  f_glob_id_0 = geompy.GetSubShapeID(Cut, faces[0])
+  cut_without_f_0 = geompy.SuppressFaces(Cut, [f_glob_id_0])
+
+  faces1 = []
+  faces1 = geompy.SubShapeAllSorted(cut_without_f_0, geompy.ShapeType["FACE"])
+  ind = 0
+  for face in faces1:
+      f_name = "FACE %d"%(ind)
+      f_id = geompy.addToStudyInFather(cut_without_f_0, face, f_name)
+
+      f_glob_id = geompy.GetSubShapeID(cut_without_f_0, face)
+      print "face ", ind, " global index = ", f_glob_id
+      ind = ind + 1
+
+  f_glob_id_5 = geompy.GetSubShapeID(cut_without_f_0, faces1[5])
+  cut_without_f_0_5 = geompy.SuppressFaces(cut_without_f_0, [f_glob_id_5])
+  cut_without_f_0_5_id = geompy.addToStudy(cut_without_f_0_5, "Cut without faces 0 and 5")
+
+  #IDList for SuppHole
+  wires = []
+  wires = geompy.SubShapeAllSorted(cut_without_f_0_5, geompy.ShapeType["WIRE"])
+  ind = 0
+  for wire in wires:
+      w_name = "WIRE %d"%(ind)
+      w_id = geompy.addToStudyInFather(cut_without_f_0_5, wire, w_name)
+
+      w_glob_id = geompy.GetSubShapeID(cut_without_f_0_5, wire)
+      print "wire ", ind, " global index = ", w_glob_id
+      ind = ind + 1
+
+  w_3 = geompy.GetSubShapeID(cut_without_f_0_5, wires[3])
+
+  SuppHole3 = geompy.SuppressHoles(cut_without_f_0_5, [w_3])
+  SuppHole3_id = geompy.addToStudy(SuppHole3, "Supp Hole 3")
+
+def TestMakeSewing (geompy, math):
+
+  #Create base points
+  px = geompy.MakeVertex(100., 0., 0.)
+  py = geompy.MakeVertex(0., 100., 0.)
+  pz = geompy.MakeVertex(0., 0., 100.)
+
+  #Create base geometry 2D & 3D
+  Vector = geompy.MakeVector(px, py)
+  Arc    = geompy.MakeArc(py, pz, px)
+
+  #Create base objects
+  angle     = 45. * math.pi / 180
+  WantPlanarFace = 1 #True
+
+  Wire = geompy.MakeWire([Vector, Arc])
+  Face = geompy.MakeFace(Wire, WantPlanarFace)
+  S    = geompy.MakeRotation(Face, Vector, angle)
+
+  #Make Sewing
+  precision = 0.00001
+  Sewing = geompy.MakeSewing([Face, S], precision)
+
+  #Add In Study
+  id_Sewing = geompy.addToStudy(Sewing, "Sewing")
+
+def TestDivideEdge (geompy):
+
+  #Create Box
+  Box = geompy.MakeBoxDXDYDZ(200., 200., 200.)
+
+  #Divide Edge
+  box_edges = geompy.SubShapeAllSorted(Box, geompy.ShapeType["EDGE"])
+  edge_ind = geompy.GetSubShapeID(Box, box_edges[1])
+
+  Divide = geompy.DivideEdge(Box, edge_ind, 0.5, 1) # Obj, ind, param, is_curve_param
+
+  #Add In Study
+  Id_Box    = geompy.addToStudy(Box, "Box")
+  Id_Divide = geompy.addToStudy(Divide, "Box with Divided Edge")
+
+def TestHealingOperations (geompy, math):
+
+  TestMakeSewing(geompy, math)
+  TestDivideEdge(geompy)
+  TestSuppressHoles(geompy)
+  TestSuppressInternalWires(geompy)
+  TestCloseContour(geompy)
+  TestSuppressFaces(geompy)
+  TestProcessShape(geompy)
index 1b6265a7c92d560b8cbef3c4cfe7fefc37853e39..53604ea184ff9b1097f4b6f62fc8b4652b5a3bd6 100644 (file)
@@ -12,9 +12,9 @@ def TestMeasureOperations (geompy, math):
 
   ####### PointCoordinates #######
 
-  #Coords = geompy.PointCoordinates(p137)
-  #if Coords[0] != 10 or Coords[1] != 30 or Coords[2] != 70:
-  #  print "Coordinates of p137 must be (10, 30, 70), but returned (", Coords[0], ", ", Coords[1], ", ", Coords[2], ")"
+  Coords = geompy.PointCoordinates(p137)
+  if Coords[0] != 10 or Coords[1] != 30 or Coords[2] != 70:
+    print "Coordinates of p137 must be (10, 30, 70), but returned (", Coords[0], ", ", Coords[1], ", ", Coords[2], ")"
 
   ####### CheckShape #######
 
@@ -84,10 +84,11 @@ def TestMeasureOperations (geompy, math):
   if pcdg is None:
     raise RuntimeError, "MakeCDG(box) failed"
   else:
-    print "\nCentre of gravity of box has been successfully obtained"
-    #Coords = geompy.PointCoordinates(pcdg)
-    #if Coords[0] != 5 or Coords[1] != 15 or Coords[2] != 35:
-    #  print "Coordinates of box center of gravity must be (5, 15, 35), but returned (", Coords[0], ", ", Coords[1], ", ", Coords[2], ")"
+    print "\nCentre of gravity of box has been successfully obtained:"
+    Coords = geompy.PointCoordinates(pcdg)
+    print "(", Coords[0], ", ", Coords[1], ", ", Coords[2], ")"
+    if Coords[0] != 5 or Coords[1] != 15 or Coords[2] != 35:
+      print "But must be (5, 15, 35)"
 
   ####### MinDistance #######
 
diff --git a/src/GEOM_SWIG/GEOM_TestOthers.py b/src/GEOM_SWIG/GEOM_TestOthers.py
new file mode 100644 (file)
index 0000000..9ef7d1e
--- /dev/null
@@ -0,0 +1,209 @@
+#  GEOM GEOM_SWIG : binding of C++ implementaion with Python
+#
+#  Copyright (C) 2003  CEA
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+#  See http://www.salome-platform.org or email : webmaster.salome@opencascade.org
+#
+#
+#  File   : GEOM_TestOthers.py
+#  Author : Julia DOROVSKIKH
+#  Module : GEOM
+#  $Header$
+
+def TestOtherOperations (geompy, math, BATCHMODE = None):
+
+  # MakeFaces
+  p11 = geompy.MakeVertex( 0,  0, 0)
+  p12 = geompy.MakeVertex(30,  0, 0)
+  p13 = geompy.MakeVertex(30, 30, 0)
+  p14 = geompy.MakeVertex( 0, 30, 0)
+
+  p21 = geompy.MakeVertex(10, 10, 0)
+  p22 = geompy.MakeVertex(20, 10, 0)
+  p23 = geompy.MakeVertex(20, 20, 0)
+  p24 = geompy.MakeVertex(10, 20, 0)
+
+  e11 = geompy.MakeEdge(p11, p12)
+  e12 = geompy.MakeEdge(p12, p13)
+  e13 = geompy.MakeEdge(p13, p14)
+  e14 = geompy.MakeEdge(p14, p11)
+
+  e21 = geompy.MakeEdge(p21, p22)
+  e22 = geompy.MakeEdge(p22, p23)
+  e23 = geompy.MakeEdge(p23, p24)
+  e24 = geompy.MakeEdge(p24, p21)
+
+  w1 = geompy.MakeWire([e11, e12, e13, e14])
+  w2 = geompy.MakeWire([e21, e22, e23, e24])
+  w3 = geompy.MakeTranslation(w2, 0, 0, 10)
+
+  id_w1 = geompy.addToStudy(w1, "Outside Wire")
+  id_w2 = geompy.addToStudy(w2, "Inside Wire")
+  id_w3 = geompy.addToStudy(w3, "Inside Wire, translated along OZ")
+
+  f12 = geompy.MakeFaces([w1, w2], 0)
+  id_f12 = geompy.addToStudy(f12, "MakeFaces WO + WI")
+
+  # OrientationChange
+  Box = geompy.MakeBoxDXDYDZ(200, 200, 200)
+  Orientation = geompy.OrientationChange(Box)
+  id_Orientation = geompy.addToStudy(Orientation, "OrientationChange")
+
+  # MakeCommon, MakeCut, MakeFuse, MakeSection
+  Sphere = geompy.MakeSphereR(100)
+
+  Common  = geompy.MakeCommon (Box, Sphere)
+  Cut     = geompy.MakeCut    (Box, Sphere)
+  Fuse    = geompy.MakeFuse   (Box, Sphere)
+  Section = geompy.MakeSection(Box, Sphere)
+
+  id_Common  = geompy.addToStudy(Common,  "Common")
+  id_Cut     = geompy.addToStudy(Cut,     "Cut")
+  id_Fuse    = geompy.addToStudy(Fuse,    "Fuse")
+  id_Section = geompy.addToStudy(Section, "Section")
+
+  # Partition
+  p100 = geompy.MakeVertex(100, 100, 100)
+  p300 = geompy.MakeVertex(300, 300, 300)
+  Box1 = geompy.MakeBoxTwoPnt(p100, p300)
+  Partition = geompy.Partition([Box], [Box1], [], [Box])
+  id_Partition = geompy.addToStudy(Partition, "Partition of Box by Box1")
+
+  # MakeMultiRotation1D, MakeMultiRotation2D
+  pz = geompy.MakeVertex(0, 0, 100)
+  vy = geompy.MakeVectorDXDYDZ(0, 100, 0)
+
+  MultiRot1D = geompy.MakeMultiRotation1D(f12, vy, pz, 6)
+  MultiRot2D = geompy.MakeMultiRotation2D(f12, vy, pz, 45, 6, 30, 3)
+
+  id_MultiRot1D = geompy.addToStudy(MultiRot1D, "MakeMultiRotation1D")
+  id_MultiRot2D = geompy.addToStudy(MultiRot2D, "MakeMultiRotation2D")
+
+  # MakeFilletAll
+  radius_fillet = 10.
+  face5 = geompy.SubShapeSorted(Box, geompy.ShapeType["FACE"], [5])
+  f_glob_id = geompy.GetSubShapeID(Box, face5)
+  SuppFace = geompy.SuppressFaces(Box, [f_glob_id])
+
+  MakeFilletAll = geompy.MakeFilletAll(SuppFace, radius_fillet)
+  id_MakeFilletAll = geompy.addToStudy(MakeFilletAll, "MakeFilletAll")
+
+  # MakeChamferAll
+  dimension_chamfer = 10.
+  MakeChamferAll = geompy.MakeChamferAll(SuppFace, dimension_chamfer)
+  id_MakeChamferAll = geompy.addToStudy(MakeChamferAll, "MakeChamferAll")
+
+  # MakeChamfer
+  d1 = 13.
+  d2 = 7.
+  box_faces = geompy.SubShapeAllSorted(Box, geompy.ShapeType["FACE"])
+  f_ind_1 = geompy.GetSubShapeID(Box, box_faces[0])
+  f_ind_2 = geompy.GetSubShapeID(Box, box_faces[1])
+  f_ind_3 = geompy.GetSubShapeID(Box, box_faces[2])
+
+  MakeChamfer = geompy.MakeChamfer(Box, d1, d2, geompy.ShapeType["FACE"],
+                                   [f_ind_1, f_ind_2, f_ind_3])
+  id_MakeChamfer = geompy.addToStudy(MakeChamfer, "MakeChamfer")
+
+  # Export
+  geompy.Export(f12, "/tmp/testExportImport.brep", "BREP")
+
+  # ExportBREP, ExportIGES, ExportSTEP
+  if BATCHMODE is not None:
+    geompy.Export(f12, "/tmp/testExportImportBREP.brep","BREP")
+    geompy.Export(f12, "/tmp/testExportImportIGES.iges","IGES")
+    geompy.Export(f12, "/tmp/testExportImportSTEP.step","STEP")
+  else:
+    geompy.ExportBREP(f12, "/tmp/testExportImportBREP.brep")
+    geompy.ExportIGES(f12, "/tmp/testExportImportIGES.iges")
+    geompy.ExportSTEP(f12, "/tmp/testExportImportSTEP.step")
+
+  # Import
+  Import = geompy.Import("/tmp/testExportImport.brep", "BREP")
+
+  id_Import = geompy.addToStudy(Import, "Import")
+
+  # ImportBREP, ImportIGES, ImportSTEP
+  if BATCHMODE is not None:
+    ImportBREP = geompy.Import("/tmp/testExportImportBREP.brep","BREP")
+    ImportIGES = geompy.Import("/tmp/testExportImportIGES.iges","IGES")
+    ImportSTEP = geompy.Import("/tmp/testExportImportSTEP.step","STEP")
+  else:
+    ImportBREP = geompy.ImportBREP("/tmp/testExportImportBREP.brep")
+    ImportIGES = geompy.ImportIGES("/tmp/testExportImportIGES.iges")
+    ImportSTEP = geompy.ImportSTEP("/tmp/testExportImportSTEP.step")
+
+  id_ImportBREP = geompy.addToStudy(ImportBREP, "ImportBREP")
+  id_ImportIGES = geompy.addToStudy(ImportIGES, "ImportIGES")
+  id_ImportSTEP = geompy.addToStudy(ImportSTEP, "ImportSTEP")
+
+  # MakeBlockExplode
+  Compound = geompy.MakeCompound([Box, Sphere])
+  MakeBlockExplode = geompy.MakeBlockExplode(Compound, 6, 6)
+
+  id_MakeBlockExplode = geompy.addToStudy(MakeBlockExplode[0], "MakeBlockExplode")
+
+  # CheckCompoundOfBlocks
+  p1 = geompy.MakeVertex(200, 0, 0)
+  p2 = geompy.MakeVertex(400, 200, 200)
+  p3 = geompy.MakeVertex(400, 50, 50)
+  p4 = geompy.MakeVertex(600, 250, 250)
+
+  Box2 = geompy.MakeBoxTwoPnt(p1, p2)
+  Box3 = geompy.MakeBoxTwoPnt(p3, p4)
+  Cyl  = geompy.MakeCylinderRH(50, 300)
+  Cone = geompy.MakeConeR1R2H(150, 10, 400)
+
+  Compound1 = geompy.MakeCompound([Box, Cyl, Cone, Box3, Box2])
+
+  IsValid = geompy.CheckCompoundOfBlocks(Compound1)
+  if IsValid == 0:
+    print "The Blocks Compound is NOT VALID"
+  else:
+    print "The Blocks Compound is VALID"
+
+  IsValid = geompy.CheckCompoundOfBlocks(Box)
+  if IsValid == 0:
+    print "The Box is NOT VALID"
+  else:
+    print "The Box is VALID"
+
+  # test geometrical groups
+
+  # CreateGroup
+  CreateGroup = geompy.CreateGroup(Box, geompy.ShapeType["FACE"])
+
+  id_CreateGroup = geompy.addToStudy(CreateGroup, "CreateGroup")
+
+  # AddObject
+  f_ind_4 = geompy.GetSubShapeID(Box, box_faces[3])
+  f_ind_5 = geompy.GetSubShapeID(Box, box_faces[4])
+  f_ind_6 = geompy.GetSubShapeID(Box, box_faces[5])
+
+  geompy.AddObject(CreateGroup, f_ind_6)
+  geompy.AddObject(CreateGroup, f_ind_1)
+  geompy.AddObject(CreateGroup, f_ind_4)
+
+  # RemoveObject(theGroup, theSubShapeID)
+  geompy.RemoveObject(CreateGroup, f_ind_1)
+
+  # GetObjectIDs
+  GetObjectIDs = geompy.GetObjectIDs(CreateGroup)
+
+  print "Group of Box's faces includes the following IDs:"
+  for ObjectID in GetObjectIDs:
+    print " ", ObjectID
diff --git a/src/GEOM_SWIG/GEOM_all.py b/src/GEOM_SWIG/GEOM_all.py
deleted file mode 100644 (file)
index e0da9b6..0000000
+++ /dev/null
@@ -1,734 +0,0 @@
-from batchmode_salome import *
-import GEOM
-import math
-
-geom = lcc.FindOrLoadComponent("FactoryServer", "GEOM")
-myBuilder = myStudy.NewBuilder()
-
-id = myStudy._get_StudyId()
-
-#######################################################
-### Basic Operations
-#######################################################
-###
-BasicOp = geom.GetIBasicOperations(id)
-print "\n --- Basic Operations --- \n"
-
-#######################################################
-point1 = BasicOp.MakePointXYZ(0, 0, 0)
-if BasicOp.IsDone() == 0:
-    print "MakePointXYZ(0, 0, 0) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if point1 is None:
-        print "MakePointXYZ(0, 0, 0) returned null : ", BasicOp.GetErrorCode()
-    else:
-        point1.SetName("Point1: MakePointXYZ(0, 0, 0)")
-        print point1.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-point2 = BasicOp.MakePointWithReference(point1, 40, 40, 52)
-if BasicOp.IsDone() == 0:
-    print "MakePointWithReference(point1, 40, 40, 52) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if point2 is None:
-        print "MakePointWithReference(point1, 40, 40, 52) returned null : ", BasicOp.GetErrorCode()
-    else:
-        point2.SetName("Point2: MakePointWithReference(point1, 40, 40, 52)")
-        print point2.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-point3 = BasicOp.MakePointWithReference(point2, -20, -20, 0)
-if BasicOp.IsDone() == 0:
-    print "MakePointWithReference(point2, -20, -20, 0) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if point3 is None:
-        print "MakePointWithReference(point2, -20, -20, 0) returned null : ", BasicOp.GetErrorCode()
-    else:
-        point3.SetName("Point3: MakePointWithReference(point2, -20, -20, 0)")
-        print point3.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-point5 = BasicOp.MakePointWithReference(point3, 40, 0, -3.5)
-if BasicOp.IsDone() == 0:
-    print "MakePointWithReference(point3, 40, 0, -3.5) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if point5 is None:
-        print "MakePointWithReference(point3, 40, 0, -3.5) returned null : ", BasicOp.GetErrorCode()
-    else:
-        point5.SetName("Point5: MakePointWithReference(point3, 40, 0, -3.5)")
-        print point5.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-point6 = BasicOp.MakePointWithReference(point5, 0, 0, -9)
-if BasicOp.IsDone() == 0:
-    print "MakePointWithReference(point5, 0, 0, -9) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if point6 is None:
-        print "MakePointWithReference(point5, 0, 0, -9) returned null : ", BasicOp.GetErrorCode()
-    else:
-        point6.SetName("Point6: MakePointWithReference(point5, 0, 0, -9)")
-        print point6.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-point7 = BasicOp.MakePointWithReference(point2, 0, 0, -52)
-if BasicOp.IsDone() == 0:
-    print "MakePointWithReference(point2, 0, 0, -52) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if point7 is None:
-        print "MakePointWithReference(point2, 0, 0, -52) returned null : ", BasicOp.GetErrorCode()
-    else:
-        point7.SetName("Point7: MakePointWithReference(point2, 0, 0, -52)")
-        print point7.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-vector1 = BasicOp.MakeVectorDXDYDZ(0,0,1)
-if BasicOp.IsDone() == 0:
-    print "MakeVectorDXDYDZ(0,0,1) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if vector1 is None:
-        print "MakeVectorDXDYDZ(0,0,1) returned null : ", BasicOp.GetErrorCode()
-    else:
-        vector1.SetName("Vector1: MakeVectorDXDYDZ(0,0,1)")
-        print vector1.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-vector2 = BasicOp.MakeVectorTwoPnt(point2, point3)
-if BasicOp.IsDone() == 0:
-    print "MakeVectorTwoPnt(point2, point3) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if vector2 is None:
-        print "MakeVectorTwoPnt(point2, point3) returned null : ", BasicOp.GetErrorCode()
-    else:
-        vector2.SetName("Vector2: MakeVectorTwoPnt(point2, point3)")
-        print vector2.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-vector3 = BasicOp.MakeVectorTwoPnt(point2, point6)
-if BasicOp.IsDone() == 0:
-    print "MakeVectorTwoPnt(point2, point6) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if vector3 is None:
-        print "MakeVectorTwoPnt(point2, point6) returned null : ", BasicOp.GetErrorCode()
-    else:
-        vector3.SetName("Vector3: MakeVectorTwoPnt(point2, point6)")
-        print vector3.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-line1 = BasicOp.MakeLine(point7, point3)
-if BasicOp.IsDone() == 0:
-    print "MakeLine(point7, point3) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if line1 is None:
-        print "MakeLine(point7, point3) returned null : ", BasicOp.GetErrorCode()
-    else:
-        line1.SetName("Line1: MakeLine(point7, point3)")
-        print line1.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-plane1 = BasicOp.MakePlanePntVec(point3, vector1, 20.0 * math.sqrt(2.0))
-if BasicOp.IsDone() == 0:
-    print "MakePlanePntVec(point3, vector1, 20.0 * math.sqrt(2.0)) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if plane1 is None:
-        print "MakePlanePntVec(point3, vector1, 20.0 * math.sqrt(2.0)) returned null : ", BasicOp.GetErrorCode()
-    else:
-        plane1.SetName("Plane1: MakePlanePntVec(point3, vector1, 20.0 * math.sqrt(2.0))")
-        print plane1.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-plane2 = BasicOp.MakePlaneThreePnt(point1, point2, point3, 50)
-if BasicOp.IsDone() == 0:
-    print "MakePlaneThreePnt(point1, point2, point3, 50) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if plane2 is None:
-        print "MakePlaneThreePnt(point1, point2, point3, 50) returned null : ", BasicOp.GetErrorCode()
-    else:
-        plane2.SetName("Plane2: MakePlaneThreePnt(point1, point2, point3, 50)")
-        print plane2.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-plane3 = BasicOp.MakePlaneFace(plane2, 70)
-if BasicOp.IsDone() == 0:
-    print "MakePlaneFace(plane2, 70) NOT DONE : ", BasicOp.GetErrorCode()
-else:
-    if plane3 is None:
-        print "MakePlaneFace(plane2, 70) returned null : ", BasicOp.GetErrorCode()
-    else:
-        plane3.SetName("Plane3: MakePlaneFace(plane2, 70)")
-        print plane3.GetName(), " : ", BasicOp.GetErrorCode()
-
-#######################################################
-### Insert Operations
-#######################################################
-###
-#InsertOp = geom.GetIInsertOperations(id)
-#print "\n --- Insert Operations --- \n"
-#
-#######################################################
-#obj3 = InsertOp.MakeCopy(obj2)
-
-#######################################################
-### Curves Creation
-#######################################################
-###
-CurvesOp = geom.GetICurvesOperations(id)
-print "\n --- Curves Creation --- \n"
-
-#######################################################
-circle1 = CurvesOp.MakeCirclePntVecR(point2, vector2, 13)
-if CurvesOp.IsDone() == 0:
-    print "MakeCirclePntVecR(point2, vector2, 13) NOT DONE : ", CurvesOp.GetErrorCode()
-else:
-    if circle1 is None:
-        print "MakeCirclePntVecR(point2, vector2, 13) returned null : ", CurvesOp.GetErrorCode()
-    else:
-        circle1.SetName("Circle1: MakeCirclePntVecR(point2, vector2, 13)")
-        print circle1.GetName(), " : ", CurvesOp.GetErrorCode()
-
-#######################################################
-circle2 = CurvesOp.MakeCircleThreePnt(point1, point2, point3)
-if CurvesOp.IsDone() == 0:
-    print "MakeCircleThreePnt(point1, point2, point3) NOT DONE : ", CurvesOp.GetErrorCode()
-else:
-    if circle2 is None:
-        print "MakeCircleThreePnt(point1, point2, point3) returned null : ", CurvesOp.GetErrorCode()
-    else:
-        circle2.SetName("Circle2: MakeCircleThreePnt(point1, point2, point3)")
-        print circle2.GetName(), " : ", CurvesOp.GetErrorCode()
-
-#######################################################
-ellipse1 = CurvesOp.MakeEllipse(point2, vector2, 21, 13)
-if CurvesOp.IsDone() == 0:
-    print "MakeEllipse(point2, vector2, 21, 13) NOT DONE : ", CurvesOp.GetErrorCode()
-else:
-    if ellipse1 is None:
-        print "MakeEllipse(point2, vector2, 21, 13) returned null : ", CurvesOp.GetErrorCode()
-    else:
-        ellipse1.SetName("Ellipse1: MakeEllipse(point2, vector2, 21, 13)")
-        print ellipse1.GetName(), " : ", CurvesOp.GetErrorCode()
-
-#######################################################
-arc1 = CurvesOp.MakeArc(point1, point2, point3)
-if CurvesOp.IsDone() == 0:
-    print "MakeArc(point1, point2, point3) NOT DONE : ", CurvesOp.GetErrorCode()
-else:
-    if arc1 is None:
-        print "MakeArc(point1, point2, point3) returned null : ", CurvesOp.GetErrorCode()
-    else:
-        arc1.SetName("Arc1: MakeArc(point1, point2, point3)")
-        print arc1.GetName(), " : ", CurvesOp.GetErrorCode()
-
-#######################################################
-poly1 = CurvesOp.MakePolyline([point1, point3, point2, point7])
-if CurvesOp.IsDone() == 0:
-    print "MakePolyline([point1, point3, point2, point7]) NOT DONE : ", CurvesOp.GetErrorCode()
-else:
-    if poly1 is None:
-        print "MakePolyline([point1, point3, point2, point7]) returned null : ", CurvesOp.GetErrorCode()
-    else:
-        poly1.SetName("Polyline1: MakePolyline([point1, point3, point2, point7])")
-        print poly1.GetName(), " : ", CurvesOp.GetErrorCode()
-
-#######################################################
-bezier1 = CurvesOp.MakeSplineBezier([point2, point3, point7, point1])
-if CurvesOp.IsDone() == 0:
-    print "MakeSplineBezier([point2, point3, point7, point1]) NOT DONE : ", CurvesOp.GetErrorCode()
-else:
-    if bezier1 is None:
-        print "MakeSplineBezier([point2, point3, point7, point1]) returned null : ", CurvesOp.GetErrorCode()
-    else:
-        bezier1.SetName("Bezier1: MakeSplineBezier([point2, point3, point7, point1])")
-        print bezier1.GetName(), " : ", CurvesOp.GetErrorCode()
-
-#######################################################
-bspline1 = CurvesOp.MakeSplineInterpolation([point2, point7, point1, point3])
-if CurvesOp.IsDone() == 0:
-    print "MakeSplineInterpolation([point2, point7, point1, point3]) NOT DONE : ", CurvesOp.GetErrorCode()
-else:
-    if bspline1 is None:
-        print "MakeSplineInterpolation([point2, point7, point1, point3]) returned null : ", CurvesOp.GetErrorCode()
-    else:
-        bspline1.SetName("B-Spline1: MakeSplineInterpolation([point2, point7, point1, point3])")
-        print bspline1.GetName(), " : ", CurvesOp.GetErrorCode()
-
-#######################################################
-### 3D Primitives Creation
-#######################################################
-###
-PrimOp = geom.GetI3DPrimOperations(id)
-print "\n --- 3D Primitives Creation --- \n"
-
-#######################################################
-box1 = PrimOp.MakeBoxTwoPnt(point1, point2)
-if PrimOp.IsDone() == 0:
-    print "MakeBoxTwoPnt(point1, point2) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if box1 is None:
-        print "MakeBoxTwoPnt(point1, point2) returned null : ", PrimOp.GetErrorCode()
-    else:
-        box1.SetName("Box1: MakeBoxTwoPnt(point1, point2)")
-        print box1.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-box2 = PrimOp.MakeBoxDXDYDZ(10, 20, -30)
-if PrimOp.IsDone() == 0:
-    print "MakeBoxDXDYDZ(10, 20, -30) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if box2 is None:
-        print "MakeBoxDXDYDZ(10, 20, -30) returned null : ", PrimOp.GetErrorCode()
-    else:
-        box2.SetName("Box2: MakeBoxDXDYDZ(10, 20, -30)")
-        print box2.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-sphere1 = PrimOp.MakeSphereR(7)
-if PrimOp.IsDone() == 0:
-    print "MakeSphereR(7) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if sphere1 is None:
-        print "MakeSphereR(7) returned null : ", PrimOp.GetErrorCode()
-    else:
-        sphere1.SetName("Sphere1: MakeSphereR(7)")
-        print sphere1.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-sphere2 = PrimOp.MakeSpherePntR(point5, 3.5)
-if PrimOp.IsDone() == 0:
-    print "MakeSpherePntR(point5, 3.5) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if sphere2 is None:
-        print "MakeSpherePntR(point5, 3.5) returned null : ", PrimOp.GetErrorCode()
-    else:
-        sphere2.SetName("Sphere2: MakeSpherePntR(point5, 3.5)")
-        print sphere2.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-cylinder1 = PrimOp.MakeCylinderRH(3, 33)
-if PrimOp.IsDone() == 0:
-    print "MakeCylinderRH(3, 33) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if cylinder1 is None:
-        print "MakeCylinderRH(3, 33) returned null : ", PrimOp.GetErrorCode()
-    else:
-        cylinder1.SetName("Cylinder1: MakeCylinderRH(3, 33)")
-        print cylinder1.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-cylinder2 = PrimOp.MakeCylinderPntVecRH(point3, vector1, 20, 13)
-if PrimOp.IsDone() == 0:
-    print "MakeCylinderPntVecRH(point3, vector1, 20, 13) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if cylinder2 is None:
-        print "MakeCylinderPntVecRH(point3, vector1, 20, 13) returned null : ", PrimOp.GetErrorCode()
-    else:
-        cylinder2.SetName("Cylinder2: MakeCylinderPntVecRH(point3, vector1, 20, 13)")
-        print cylinder2.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-cone1 = PrimOp.MakeConeR1R2H(10, 3, 2)
-if PrimOp.IsDone() == 0:
-    print "MakeConeR1R2H(10, 3, 2) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if cone1 is None:
-        print "MakeConeR1R2H(10, 3, 2) returned null : ", PrimOp.GetErrorCode()
-    else:
-        cone1.SetName("Cone1: MakeConeR1R2H(10, 3, 2)")
-        print cone1.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-cone2 = PrimOp.MakeConePntVecR1R2H(point6, vector1, 3.5, 0, 9)
-if PrimOp.IsDone() == 0:
-    print "MakeConePntVecR1R2H(point6, vector1, 3.5, 0, 9) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if cone2 is None:
-        print "MakeConePntVecR1R2H(point6, vector1, 3.5, 0, 9) returned null : ", PrimOp.GetErrorCode()
-    else:
-        cone2.SetName("Cone2: MakeConePntVecR1R2H(point6, vector1, 3.5, 0, 9)")
-        print cone2.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-cone3 = PrimOp.MakeConePntVecR1R2H(point6, vector1, 3.5, 0, -9)
-if PrimOp.IsDone() == 0:
-    print "MakeConePntVecR1R2H(point6, vector1, 3.5, 0, -9) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if cone3 is None:
-        print "MakeConePntVecR1R2H(point6, vector1, 3.5, 0, -9) returned null : ", PrimOp.GetErrorCode()
-    else:
-        cone3.SetName("Cone3: MakeConePntVecR1R2H(point6, vector1, 3.5, 0, -9)")
-        print cone3.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-torus1 = PrimOp.MakeTorusPntVecRR(point7, vector2, 50, 49)
-if PrimOp.IsDone() == 0:
-    print "MakeTorusPntVecRR(point7, vector2, 50, 49) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if torus1 is None:
-        print "MakeTorusPntVecRR(point7, vector2, 50, 49) returned null : ", PrimOp.GetErrorCode()
-    else:
-        torus1.SetName("Torus1: MakeTorusPntVecRR(point7, vector2, 50, 49)")
-        print torus1.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-torus2 = PrimOp.MakeTorusRR(50, 49)
-if PrimOp.IsDone() == 0:
-    print "MakeTorusRR(50, 49) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if torus2 is None:
-        print "MakeTorusRR(50, 49) returned null : ", PrimOp.GetErrorCode()
-    else:
-        torus2.SetName("Torus2: MakeTorusRR(50, 49)")
-        print torus2.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-prism1 = PrimOp.MakePrismVecH(poly1, vector3, 10)
-if PrimOp.IsDone() == 0:
-    print "MakePrismVecH(poly1, vector3, 10) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if prism1 is None:
-        print "MakePrismVecH(poly1, vector3, 10) returned null : ", PrimOp.GetErrorCode()
-    else:
-        prism1.SetName("Prism1: MakePrismVecH(poly1, vector3, 10)")
-        print prism1.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-pipe1 = PrimOp.MakePipe(circle1, bspline1)
-if PrimOp.IsDone() == 0:
-    print "MakePipe(circle1, bspline1) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if pipe1 is None:
-        print "MakePipe(circle1, bspline1) returned null : ", PrimOp.GetErrorCode()
-    else:
-        pipe1.SetName("Pipe1: MakePipe(circle1, bspline1)")
-        print pipe1.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-pipe2 = PrimOp.MakePipe(circle1, box1)
-if PrimOp.IsDone() == 0:
-    print "MakePipe(circle1, box1) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if pipe2 is None:
-        print "MakePipe(circle1, box1) returned null : ", PrimOp.GetErrorCode()
-    else:
-        pipe2.SetName("Pipe2: MakePipe(circle1, box1)")
-        print pipe2.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-revol1 = PrimOp.MakeRevolutionAxisAngle(bezier1, vector3, 10*math.pi/180.0)
-if PrimOp.IsDone() == 0:
-    print "MakeRevolutionAxisAngle(bezier1, vector3, 10*math.pi/180.0) NOT DONE : ", PrimOp.GetErrorCode()
-else:
-    if revol1 is None:
-        print "MakeRevolutionAxisAngle(bezier1, vector3, 10*math.pi/180.0) returned null : ", PrimOp.GetErrorCode()
-    else:
-        revol1.SetName("Revolution1: MakeRevolutionAxisAngle(bezier1, vector3, 10*math.pi/180.0)")
-        print revol1.GetName(), " : ", PrimOp.GetErrorCode()
-
-#######################################################
-### Shapes Creation
-#######################################################
-###
-ShapesOp = geom.GetIShapesOperations(id)
-print "\n --- Shapes Creation --- \n"
-
-#######################################################
-edge1 = ShapesOp.MakeEdge(point1, point2)
-if ShapesOp.IsDone() == 0:
-    print "MakeEdge(point1, point2) NOT DONE : ", ShapesOp.GetErrorCode()
-else:
-    if edge1 is None:
-        print "MakeEdge(point1, point2) returned null : ", ShapesOp.GetErrorCode()
-    else:
-        edge1.SetName("Edge1: MakeEdge(point1, point2)")
-        print edge1.GetName(), " : ", ShapesOp.GetErrorCode()
-
-#######################################################
-edge2 = ShapesOp.MakeEdge(point2, point3)
-if ShapesOp.IsDone() == 0:
-    print "MakeEdge(point2, point3) NOT DONE : ", ShapesOp.GetErrorCode()
-else:
-    if edge2 is None:
-        print "MakeEdge(point2, point3) returned null : ", ShapesOp.GetErrorCode()
-    else:
-        edge2.SetName("Edge2: MakeEdge(point2, point3)")
-        print edge2.GetName(), " : ", ShapesOp.GetErrorCode()
-
-#######################################################
-edge3 = ShapesOp.MakeEdge(point3, point1)
-if ShapesOp.IsDone() == 0:
-    print "MakeEdge(point3, point1) NOT DONE : ", ShapesOp.GetErrorCode()
-else:
-    if edge3 is None:
-        print "MakeEdge(point3, point1) returned null : ", ShapesOp.GetErrorCode()
-    else:
-        edge3.SetName("Edge3: MakeEdge(point3, point1)")
-        print edge3.GetName(), " : ", ShapesOp.GetErrorCode()
-
-#######################################################
-wire1 = ShapesOp.MakeWire([edge1, edge2, edge3])
-if ShapesOp.IsDone() == 0:
-    print "MakeWire([edge1, edge2, edge3]) NOT DONE : ", ShapesOp.GetErrorCode()
-else:
-    if wire1 is None:
-        print "MakeWire([edge1, edge2, edge3]) returned null : ", ShapesOp.GetErrorCode()
-    else:
-        wire1.SetName("Wire1: MakeWire([edge1, edge2, edge3])")
-        print wire1.GetName(), " : ", ShapesOp.GetErrorCode()
-
-#######################################################
-face1 = ShapesOp.MakeFace(wire1, 1)
-if ShapesOp.IsDone() == 0:
-    print "MakeFace(wire1, 1) NOT DONE : ", ShapesOp.GetErrorCode()
-else:
-    if face1 is None:
-        print "MakeFace(wire1, 1) returned null : ", ShapesOp.GetErrorCode()
-    else:
-        face1.SetName("Face1: MakeFace(wire1, 1)")
-        print face1.GetName(), " : ", ShapesOp.GetErrorCode()
-
-#######################################################
-shell1 = ShapesOp.MakeShell([face1])
-if ShapesOp.IsDone() == 0:
-    print "MakeShell([face1]) NOT DONE : ", ShapesOp.GetErrorCode()
-else:
-    if shell1 is None:
-        print "MakeShell([face1]) returned null : ", ShapesOp.GetErrorCode()
-    else:
-        shell1.SetName("Shell1: MakeShell([face1])")
-        print shell1.GetName(), " : ", ShapesOp.GetErrorCode()
-
-#######################################################
-solid1 = ShapesOp.MakeSolidShells([shell1])
-if ShapesOp.IsDone() == 0:
-    print "MakeSolidShells([shell1]) NOT DONE : ", ShapesOp.GetErrorCode()
-else:
-    if solid1 is None:
-        print "MakeSolidShells([shell1]) returned null : ", ShapesOp.GetErrorCode()
-    else:
-        solid1.SetName("Solid1: MakeSolidShells([shell1])")
-        print solid1.GetName(), " : ", ShapesOp.GetErrorCode()
-
-#######################################################
-solid2 = ShapesOp.MakeSolidShell(shell1)
-if ShapesOp.IsDone() == 0:
-    print "MakeSolidShell(shell1) NOT DONE : ", ShapesOp.GetErrorCode()
-else:
-    if solid2 is None:
-        print "MakeSolidShell(shell1) returned null : ", ShapesOp.GetErrorCode()
-    else:
-        solid2.SetName("Solid2: MakeSolidShell(shell1)")
-        print solid2.GetName(), " : ", ShapesOp.GetErrorCode()
-
-#######################################################
-comp1 = ShapesOp.MakeCompound([box1, sphere2, cone2])
-if ShapesOp.IsDone() == 0:
-    print "MakeCompound([box1, sphere2, cone2]) NOT DONE : ", ShapesOp.GetErrorCode()
-else:
-    if comp1 is None:
-        print "MakeCompound([box1, sphere2, cone2]) returned null : ", ShapesOp.GetErrorCode()
-    else:
-        comp1.SetName("Compound1: MakeCompound([box1, sphere2, cone2])")
-        print comp1.GetName(), " : ", ShapesOp.GetErrorCode()
-
-#######################################################
-### Transformations
-#######################################################
-###
-TrsfOp = geom.GetITransformOperations(id)
-print "\n --- Transformations --- \n"
-
-#######################################################
-TrsfOp.TranslateTwoPoints(cone1, point1, point2)
-if TrsfOp.IsDone() == 0:
-    print "TranslateTwoPoints(cone1, point1, point2) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    print "TranslateTwoPoints(cone1, point1, point2) DONE : ", TrsfOp.GetErrorCode()
-
-#######################################################
-transl_cone1 = TrsfOp.TranslateTwoPointsCopy(cone1, point1, point2)
-if TrsfOp.IsDone() == 0:
-    print "TranslateTwoPointsCopy(cone1, point1, point2) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    if transl_cone1 is None:
-        print "TranslateTwoPointsCopy(cone1, point1, point2) returned null : ", TrsfOp.GetErrorCode()
-    else:
-        transl_cone1.SetName("Copy1a: TranslateTwoPointsCopy(cone1, point1, point2)")
-        print transl_cone1.GetName(), " : ", TrsfOp.GetErrorCode()
-
-#######################################################
-TrsfOp.TranslateVector(cone1, vector2)
-if TrsfOp.IsDone() == 0:
-    print "TranslateVector(cone1, vector2) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    print "TranslateVector(cone1, vector2) DONE : ", TrsfOp.GetErrorCode()
-
-#######################################################
-transl_cone2 = TrsfOp.TranslateVectorCopy(cone1, vector2)
-if TrsfOp.IsDone() == 0:
-    print "TranslateVectorCopy(cone1, vector2) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    if transl_cone2 is None:
-        print "TranslateVectorCopy(cone1, vector2) returned null : ", TrsfOp.GetErrorCode()
-    else:
-        transl_cone2.SetName("Copy1b: TranslateVectorCopy(cone1, vector2)")
-        print transl_cone2.GetName(), " : ", TrsfOp.GetErrorCode()
-
-#######################################################
-#TrsfOp.Rotate(cone1, vector2, math.pi/2.0)
-#if TrsfOp.IsDone() == 0:
-#    print "Rotate(cone1, vector2, ) NOT DONE : ", TrsfOp.GetErrorCode()
-#else:
-#    print "Rotate(cone1, vector2, ) DONE : ", TrsfOp.GetErrorCode()
-
-#######################################################
-#rotate_cone2 = TrsfOp.RotateCopy(cone1, vector2, math.pi/4.0)
-#if TrsfOp.IsDone() == 0:
-#    print "RotateCopy(cone1, vector2, ) NOT DONE : ", TrsfOp.GetErrorCode()
-#else:
-#    if rotate_cone2 is None:
-#        print "RotateCopy(cone1, vector2, ) returned null : ", TrsfOp.GetErrorCode()
-#    else:
-#        rotate_cone2.SetName("Copy1c: RotateCopy(cone1, vector2, )")
-#        print rotate_cone2.GetName(), " : ", TrsfOp.GetErrorCode()
-
-#######################################################
-TrsfOp.MirrorPlane(arc1, plane1)
-if TrsfOp.IsDone() == 0:
-    print "MirrorPlane(arc1, plane1) NOT DONE: ", TrsfOp.GetErrorCode()
-else:
-    print "MirrorPlane(arc1, plane1) DONE: ", TrsfOp.GetErrorCode()
-
-#######################################################
-mirror_ell1 = TrsfOp.MirrorPlaneCopy(ellipse1, plane3)
-if TrsfOp.IsDone() == 0:
-    print "MirrorPlaneCopy(ellipse1, plane3) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    if mirror_ell1 is None:
-        print "MirrorPlaneCopy(ellipse1, plane3) returned null : ", TrsfOp.GetErrorCode()
-    else:
-        mirror_ell1.SetName("Copy4: MirrorPlaneCopy(ellipse1, plane3)")
-        print mirror_ell1.GetName(), " : ", TrsfOp.GetErrorCode()
-
-#######################################################
-TrsfOp.MirrorAxis(arc1, line1)
-if TrsfOp.IsDone() == 0:
-    print "MirrorAxis(arc1, line1) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    print "MirrorAxis(arc1, line1) DONE : ", TrsfOp.GetErrorCode()
-
-#######################################################
-mirror_ell1_vec3 = TrsfOp.MirrorAxisCopy(ellipse1, vector3)
-if TrsfOp.IsDone() == 0:
-    print "MirrorAxisCopy(ellipse1, vector3) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    if mirror_ell1_vec3 is None:
-        print "MirrorAxisCopy(ellipse1, vector3) returned null : ", TrsfOp.GetErrorCode()
-    else:
-        mirror_ell1_vec3.SetName("Copy5: MirrorAxisCopy(ellipse1, vector3)")
-        print mirror_ell1_vec3.GetName(), " : ", TrsfOp.GetErrorCode()
-
-#######################################################
-TrsfOp.MirrorPoint(arc1, point7)
-if TrsfOp.IsDone() == 0:
-    print "MirrorPoint(arc1, point7) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    print "MirrorPoint(arc1, point7) DONE : ", TrsfOp.GetErrorCode()
-
-#######################################################
-mirror_ell1_pnt7 = TrsfOp.MirrorPointCopy(ellipse1, point7)
-if TrsfOp.IsDone() == 0:
-    print "MirrorPointCopy(ellipse1, point7) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    if mirror_ell1_pnt7 is None:
-        print "MirrorPointCopy(ellipse1, point7) returned null : ", TrsfOp.GetErrorCode()
-    else:
-        mirror_ell1_pnt7.SetName("Copy6: MirrorPointCopy(ellipse1, point7)")
-        print mirror_ell1_pnt7.GetName(), " : ", TrsfOp.GetErrorCode()
-
-#######################################################
-TrsfOp.OffsetShape(cone1, 11)
-if TrsfOp.IsDone() == 0:
-    print "OffsetShape(cone1, 11) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    print "OffsetShape(cone1, 11) DONE : ", TrsfOp.GetErrorCode()
-
-#######################################################
-offset_cone2 = TrsfOp.OffsetShapeCopy(cone1, 11)
-if TrsfOp.IsDone() == 0:
-    print "OffsetShapeCopy(cone1, 11) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    if offset_cone2 is None:
-        print "OffsetShapeCopy(cone1, 11) returned null : ", TrsfOp.GetErrorCode()
-    else:
-        offset_cone2.SetName("Copy2: OffsetShapeCopy(cone1, 11)")
-        print offset_cone2.GetName(), " : ", TrsfOp.GetErrorCode()
-
-#######################################################
-TrsfOp.ScaleShape(cylinder1, point1, 3)
-if TrsfOp.IsDone() == 0:
-    print "ScaleShape(cylinder1, point1, 3) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    print "ScaleShape(cylinder1, point1, 3) DONE : ", TrsfOp.GetErrorCode()
-
-#######################################################
-copy_scale1 = TrsfOp.ScaleShapeCopy(cylinder1, point1, 3)
-if TrsfOp.IsDone() == 0:
-    print "ScaleShapeCopy(cylinder1, point1, 3) NOT DONE : ", TrsfOp.GetErrorCode()
-else:
-    if copy_scale1 is None:
-        print "ScaleShapeCopy(cylinder1, point1, 3) returned null : ", TrsfOp.GetErrorCode()
-    else:
-        copy_scale1.SetName("Copy3: ScaleShapeCopy(cylinder1, point1, 3)")
-        print copy_scale1.GetName(), " : ", TrsfOp.GetErrorCode()
-
-#######################################################
-### Boolean Operations
-#######################################################
-###
-BoolOp = geom.GetIBooleanOperations(id)
-print "\n --- Boolean Operations --- \n"
-
-#######################################################
-common1 = BoolOp.MakeBoolean(box1, sphere1, 1)
-#print common1
-#print dir(common1)
-if BoolOp.IsDone() == 0:
-    print "MakeBoolean(box1, sphere1, 1) NOT DONE : ", BoolOp.GetErrorCode()
-else:
-    if common1 is None:
-        print "MakeBoolean(box1, sphere1, 1) returned null : ", BoolOp.GetErrorCode()
-    else:
-#        print common1.GetEntry()
-        common1.SetName("Common1: MakeBoolean(box1, sphere1, 1)")
-        print common1.GetName(), " : ", BoolOp.GetErrorCode()
-#        geom.PublishInStudy(myStudy, None, common1, "common_box1_sphere1")
-
-#######################################################
-#part_limit = batchmode_geompy.ShapeType["SHAPE"]
-
-partition1 = BoolOp.MakePartition([box1, sphere1], [], [], [], 8, 1, [7, 7])
-if BoolOp.IsDone() == 0:
-    print "MakePartition([box1, sphere1], [], [], [], SHAPE, 1, [7, 7]) NOT DONE : ", BoolOp.GetErrorCode()
-else:
-    if partition1 is None:
-        print "MakePartition([box1, sphere1], [], [], [], SHAPE, 1, [7, 7]) returned null : ", BoolOp.GetErrorCode()
-    else:
-        partition1.SetName("Partition1: MakePartition([box1, sphere1], [], [], [], SHAPE, 1, [7, 7])")
-        print partition1.GetName(), " : ", BoolOp.GetErrorCode()
-
-#######################################################
-### Local Operations
-#######################################################
-###
-LocalOp = geom.GetILocalOperations(id)
-print "\n --- Local Operations --- \n"
-
-#######################################################
-fillet1 = LocalOp.MakeFilletAll(box1, 7)
-if LocalOp.IsDone() == 0:
-    print "MakeFilletAll(box1, 7) NOT DONE : ", LocalOp.GetErrorCode()
-else:
-    if fillet1 is None:
-        print "MakeFilletAll(box1, 7) returned null : ", LocalOp.GetErrorCode()
-    else:
-        fillet1.SetName("Fillet1: MakeFilletAll(box1, 7)")
-        print fillet1.GetName(), " : ", LocalOp.GetErrorCode()
index 4e22f4f591ad8d937b3e18b82f840e9ed19a849d..dfe87ae278153c3882115ae59b8219d2836152c4 100644 (file)
@@ -1,23 +1,23 @@
 #  GEOM GEOM_SWIG : binding of C++ omplementaion with Python
 #
 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
 #
 #
 #
@@ -81,7 +81,7 @@ Cylindre = geompy.MakeBoolean(C01, C0, 2)
 
 #Camemberts de coupe
 B1 = BasicOp.MakeVectorTwoPnt(P6, P7)
-B2 = geompy.MakePrism(B1, V1, HauteurT)
+B2 = geompy.MakePrismVecH(B1, V1, HauteurT)
 S0 = geompy.MakeRevolution(B2, V3, Angle1)
 CoupeList = []
 CoupeList.append(S0)
index a79211ce0a52ea00343a50a9a70ad76e3e3e53ee..08fdc0864dac1455251ea1ebd8fa845d8b28573e 100644 (file)
@@ -30,7 +30,11 @@ import geompy
 import math
 
 import GEOM_TestAll
+import GEOM_TestOthers
+import GEOM_TestHealing
 import GEOM_TestMeasures
 
 GEOM_TestMeasures.TestMeasureOperations(geompy, math)
+GEOM_TestHealing.TestHealingOperations(geompy, math)
+GEOM_TestOthers.TestOtherOperations(geompy, math)
 GEOM_TestAll.TestAll(geompy, math)
index 804e0292b664be726179a97bb76b46c0c5a6bc8e..51fb02ed15a050352ad7d69d9100f24313e42330 100644 (file)
@@ -1,23 +1,23 @@
 #  GEOM GEOM_SWIG : binding of C++ omplementaion with Python
 #
 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
-# 
-#  This library is free software; you can redistribute it and/or 
-#  modify it under the terms of the GNU Lesser General Public 
-#  License as published by the Free Software Foundation; either 
-#  version 2.1 of the License. 
-# 
-#  This library is distributed in the hope that it will be useful, 
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of 
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
-#  Lesser General Public License for more details. 
-# 
-#  You should have received a copy of the GNU Lesser General Public 
-#  License along with this library; if not, write to the Free Software 
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
-# 
-#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
+#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#
+#  This library is free software; you can redistribute it and/or
+#  modify it under the terms of the GNU Lesser General Public
+#  License as published by the Free Software Foundation; either
+#  version 2.1 of the License.
+#
+#  This library is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+#  Lesser General Public License for more details.
+#
+#  You should have received a copy of the GNU Lesser General Public
+#  License along with this library; if not, write to the Free Software
+#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+#  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
 #
 #
 #
@@ -37,14 +37,13 @@ VPATH=.:@srcdir@:@top_srcdir@/idl
 # Libraries targets
 
 LIB = libGEOM_Swigcmodule.la
-LIB_SRC = 
+LIB_SRC =
 
 SWIG_DEF = libGEOM_Swig.i
 EXPORT_PYSCRIPTS = \
        libGEOM_Swig.py \
        geompy.py \
        batchmode_geompy.py \
-       GEOM_all.py \
        GEOM_Spanner.py \
        GEOM_blocks.py \
        GEOM_example.py \
@@ -53,8 +52,10 @@ EXPORT_PYSCRIPTS = \
        GEOM_example4.py \
        GEOM_example5.py \
        GEOM_moteur.py \
-       GEOM_TestMeasures.py \
        GEOM_TestAll.py  \
+       GEOM_TestOthers.py \
+       GEOM_TestHealing.py \
+       GEOM_TestMeasures.py \
        GEOM_usinggeom.py  \
        GEOM_Partition1.py \
        GEOM_Partition2.py \
index 2a5ffb0225f5bd7e12117ffa1d1f76aa05ffaebf..93e695b96a44c0c345a531132a08fbe4e4d978ad 100644 (file)
 #  $Header$
 
 from batchmode_salome import *
-
-geom = lcc.FindOrLoadComponent("FactoryServer", "GEOM")
+import GEOM
+
+g=None
+step = 0
+while step < 50 and g == None:
+    g = lcc.FindOrLoadComponent("FactoryServer", "GEOM")
+    step = step + 1
+    time.sleep(4)
+geom = g._narrow( GEOM.GEOM_Gen )
 myBuilder = myStudy.NewBuilder()
 
 father = myStudy.FindComponent("GEOM")
@@ -52,7 +59,7 @@ def SubShapeName(aSubObj, aMainObj):
     return name
 
 # -----------------------------------------------------------------------------
-# The code below is common with geompy.py
+# Operations
 # -----------------------------------------------------------------------------
 
 def addToStudy(aShape, aName):
@@ -130,7 +137,13 @@ def MakeVector(p1,p2):
       print "MakeVectorTwoPnt : ", BasicOp.GetErrorCode()
     return anObj
 
-def MakeLine(p1, p2):
+def MakeLine(p1, d1):
+    anObj = BasicOp.MakeLine(p1,d1)
+    if BasicOp.IsDone() == 0:
+      print "MakeLine : ", BasicOp.GetErrorCode()
+    return anObj
+
+def MakeLineTwoPnt(p1, p2):
     anObj = BasicOp.MakeLineTwoPnt(p1,p2)
     if BasicOp.IsDone() == 0:
       print "MakeLineTwoPnt : ", BasicOp.GetErrorCode()
@@ -206,7 +219,9 @@ def MakeInterpol(ListShape):
       print "MakeSplineInterpolation : ", CurvesOp.GetErrorCode()
     return anObj
 
-def MakeSketcher(Cmd, WPL):
+# <WPL>: Nine double values, defining origin,
+# OZ and OX directions of the working plane.
+def MakeSketcher(Cmd, WPL = [0,0,0, 0,0,1, 1,0,0]):
     anObj = CurvesOp.MakeSketcher(Cmd, WPL)
     if CurvesOp.IsDone() == 0:
       print "MakeSketcher : ", CurvesOp.GetErrorCode()
@@ -245,12 +260,17 @@ def MakeCylinderRH(radius,height):
       print "MakeCylinderRH : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeSphere(point,radius):
+def MakeSpherePntR(point,radius):
     anObj = PrimOp.MakeSpherePntR(point,radius)
     if PrimOp.IsDone() == 0:
       print "MakeSpherePntR : ", PrimOp.GetErrorCode()
     return anObj
 
+def MakeSphere(x,y,z,radius):
+    point = MakeVertex(x,y,z)
+    anObj = MakeSpherePntR(point,radius)
+    return anObj
+
 def MakeSphereR(radius):
     anObj = PrimOp.MakeSphereR(radius)
     if PrimOp.IsDone() == 0:
@@ -281,16 +301,16 @@ def MakeTorusRR(major_radius,minor_radius):
       print "MakeTorusRR : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakePrism(baseShape,vector,height):
-    anObj = PrimOp.MakePrismVecH(baseShape,vector,height)
+def MakePrism(baseShape,point1,point2):
+    anObj = PrimOp.MakePrismTwoPnt(baseShape,point1,point2)
     if PrimOp.IsDone() == 0:
-      print "MakePrismVecH : ", PrimOp.GetErrorCode()
+      print "MakePrismTwoPnt : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakePrismTwoPnt(baseShape,point1,point2):
-    anObj = PrimOp.MakePrismTwoPnt(baseShape,point1,point2)
+def MakePrismVecH(baseShape,vector,height):
+    anObj = PrimOp.MakePrismVecH(baseShape,vector,height)
     if PrimOp.IsDone() == 0:
-      print "MakePrismTwoPnt : ", PrimOp.GetErrorCode()
+      print "MakePrismVecH : ", PrimOp.GetErrorCode()
     return anObj
 
 def MakePipe(baseShape,pathShape):
@@ -333,6 +353,10 @@ def MakeFaceWires(ListWires,WantPlanarFace):
       print "MakeFaceWires : ", ShapesOp.GetErrorCode()
     return anObj
 
+def MakeFaces(ListWires,WantPlanarFace):
+    anObj = MakeFaceWires(ListWires,WantPlanarFace)
+    return anObj
+
 def MakeShell(ListOfShapes):
     anObj = ShapesOp.MakeShell(ListOfShapes)
     if ShapesOp.IsDone() == 0:
@@ -357,28 +381,62 @@ def ChangeOrientation(Shape):
       print "ChangeOrientation : ", ShapesOp.GetErrorCode()
     return anObj
 
+def OrientationChange(Shape):
+    anObj = ChangeOrientation(Shape)
+    return anObj
+
 # -----------------------------------------------------------------------------
-# Decompose objects
+# Access to sub-shapes by their unique IDs inside the main shape.
 # -----------------------------------------------------------------------------
 
-def SubShape(aShape,ListOfId):
-    anObj = geom.AddSubShape(aShape,ListOfId)
+# Obtain a composite sub-shape of <aShape>, composed from sub-shapes
+# of <aShape>, selected by their unique IDs inside <aShape>
+def GetSubShape(aShape, ListOfID):
+    anObj = geom.AddSubShape(aShape,ListOfID)
     return anObj
 
-def SubShapeAll(aShape,type):
-    ListObj = ShapesOp.MakeExplode(aShape,type,0)
+# Obtain unique ID of sub-shape <aSubShape> inside <aShape>
+def GetSubShapeID(aShape, aSubShape):
+    anID = LocalOp.GetSubShapeIndex(aShape, aSubShape)
+    if LocalOp.IsDone() == 0:
+      print "GetSubShapeIndex : ", LocalOp.GetErrorCode()
+    return anID
+
+# -----------------------------------------------------------------------------
+# Decompose objects
+# -----------------------------------------------------------------------------
+
+def SubShapeAll(aShape, aType):
+    ListObj = ShapesOp.MakeExplode(aShape,aType,0)
     if ShapesOp.IsDone() == 0:
       print "MakeExplode : ", ShapesOp.GetErrorCode()
     return ListObj
 
-def SubShapeAllSorted(aShape,type):
-    ListObj = ShapesOp.MakeExplode(aShape,type,1)
+def SubShapeAllSorted(aShape,aType):
+    ListObj = ShapesOp.MakeExplode(aShape,aType,1)
     if ShapesOp.IsDone() == 0:
       print "MakeExplode : ", ShapesOp.GetErrorCode()
     return ListObj
 
-def GetSubShapeID(aShape, aSubShape):
-    return LocalOp.GetSubShapeIndex(aShape, aSubShape)
+# Obtain a compound of sub-shapes of <aShape>,
+# selected by they indices in list of all sub-shapes of type <aType>
+def SubShape(aShape, aType, ListOfInd):
+    ListOfIDs = []
+    AllShapeList = SubShapeAll(aShape, aType)
+    for ind in ListOfInd:
+        ListOfIDs.append(GetSubShapeID(aShape, AllShapeList[ind - 1]))
+    anObj = GetSubShape(aShape, ListOfIDs)
+    return anObj
+
+# Obtain a compound of sub-shapes of <aShape>,
+# selected by they indices in sorted list of all sub-shapes of type <aType>
+def SubShapeSorted(aShape, aType, ListOfInd):
+    ListOfIDs = []
+    AllShapeList = SubShapeAllSorted(aShape, aType)
+    for ind in ListOfInd:
+        ListOfIDs.append(GetSubShapeID(aShape, AllShapeList[ind - 1]))
+    anObj = GetSubShape(aShape, ListOfIDs)
+    return anObj
 
 # -----------------------------------------------------------------------------
 # Healing operations
@@ -469,6 +527,18 @@ def MakeBoolean(shape1,shape2,operation):
       print "MakeBoolean : ", BoolOp.GetErrorCode()
     return anObj
 
+def MakeCommon(s1, s2):
+    return MakeBoolean(s1, s2, 1)
+
+def MakeCut(s1, s2):
+    return MakeBoolean(s1, s2, 2)
+
+def MakeFuse(s1, s2):
+    return MakeBoolean(s1, s2, 3)
+
+def MakeSection(s1, s2):
+    return MakeBoolean(s1, s2, 4)
+
 def MakePartition(ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[],
                   Limit=ShapeType["SHAPE"], RemoveWebs=0, ListMaterials=[]):
     anObj = BoolOp.MakePartition(ListShapes, ListTools,
@@ -478,6 +548,13 @@ def MakePartition(ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=
       print "MakePartition : ", BoolOp.GetErrorCode()
     return anObj
 
+def Partition(ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[],
+              Limit=ShapeType["SHAPE"], RemoveWebs=0, ListMaterials=[]):
+    anObj = MakePartition(ListShapes, ListTools,
+                          ListKeepInside, ListRemoveInside,
+                          Limit, RemoveWebs, ListMaterials);
+    return anObj
+
 # -----------------------------------------------------------------------------
 # Transform objects
 # -----------------------------------------------------------------------------
@@ -540,18 +617,28 @@ def MakeMultiTranslation2D(aShape,d1,step1,nbtimes1,d2,step2,nbtimes2):
       print "MultiTranslate2D : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeMultiRotation1D(aShape,aVec,aNbTimes):
+def MultiRotate1D(aShape,aVec,aNbTimes):
     anObj = TrsfOp.MultiRotate1D(aShape,aVec,aNbTimes)
     if TrsfOp.IsDone() == 0:
       print "MultiRotate1D : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeMultiRotation2D(aShape,aVec,anAngle,nbtimes1,aStep,nbtimes2):
+def MultiRotate2D(aShape,aVec,anAngle,nbtimes1,aStep,nbtimes2):
     anObj = TrsfOp.MultiRotate2D(aShape,aVec,anAngle,nbtimes1,aStep,nbtimes2)
     if TrsfOp.IsDone() == 0:
       print "MultiRotate2D : ", TrsfOp.GetErrorCode()
     return anObj
 
+def MakeMultiRotation1D(aShape,aDir,aPoint,aNbTimes):
+    aVec = MakeLine(aPoint,aDir)
+    anObj = MultiRotate1D(aShape,aVec,aNbTimes)
+    return anObj
+
+def MakeMultiRotation2D(aShape,aDir,aPoint,anAngle,nbtimes1,aStep,nbtimes2):
+    aVec = MakeLine(aPoint,aDir)
+    anObj = MultiRotate2D(aShape,aVec,anAngle,nbtimes1,aStep,nbtimes2)
+    return anObj
+
 # -----------------------------------------------------------------------------
 # Local operations
 # -----------------------------------------------------------------------------
@@ -590,30 +677,20 @@ def MakeChamferFaces(aShape,d1,d2,ListShape):
       print "MakeChamferFaces : ", LocalOp.GetErrorCode()
     return anObj
 
+def MakeChamfer(aShape,d1,d2,aShapeType,ListShape):
+    anObj = None
+    if aShapeType == ShapeType["EDGE"]:
+        anObj = MakeChamferEdge(aShape,d1,d2,ListShape[0],ListShape[1])
+    else:
+        anObj = MakeChamferFaces(aShape,d1,d2,ListShape)
+    return anObj
+
 def Archimede(aShape,weight,WaterDensity,MeshingDeflection):
     anObj = LocalOp.MakeArchimede(aShape,weight,WaterDensity,MeshingDeflection)
     if LocalOp.IsDone() == 0:
       print "MakeArchimede : ", LocalOp.GetErrorCode()
     return anObj
 
-def MakeMultiTransformation1D(Block, DirFaceID1, DirFaceID2, NbTimes):
-    anObj = BlocksOp.MakeMultiTransformation1D(Block, DirFaceID1, DirFaceID2, NbTimes)
-    if BlocksOp.IsDone() == 0:
-      print "MakeMultiTransformation1D : ", BlocksOp.GetErrorCode()
-    return anObj
-
-def MakeMultiTransformation2D(Block, DirFaceID1U, DirFaceID2U, NbTimesU, DirFaceID1V, DirFaceID2V, NbTimesV):
-    anObj = BlocksOp.MakeMultiTransformation2D(Block, DirFaceID1U, DirFaceID2U, NbTimesU, DirFaceID1V, DirFaceID2V, NbTimesV)
-    if BlocksOp.IsDone() == 0:
-      print "MakeMultiTransformation2D : ", BlocksOp.GetErrorCode()
-    return anObj
-
-def MakeBlockExplode(Compound, MinNbFaces, MaxNbFaces):
-    aList = BlocksOp.ExplodeCompoundOfBlocks(Compound, MinNbFaces, MaxNbFaces)
-    if BlocksOp.IsDone() == 0:
-      print "MakeBlockExplode : ", BlocksOp.GetErrorCode()
-    return aList
-
 # -----------------------------------------------------------------------------
 # Information objects
 # -----------------------------------------------------------------------------
@@ -694,36 +771,66 @@ def Export(aShape, filename, formatname):
 # Block operations
 # -----------------------------------------------------------------------------
 
-def MakeQuadFace(E1, E2, E3, E4):
-    anObj = BlocksOp.MakeQuadFaceFourEdges(E1, E2, E3, E4)
+def MakeQuad(E1, E2, E3, E4):
+    anObj = BlocksOp.MakeQuad(E1, E2, E3, E4)
     if BlocksOp.IsDone() == 0:
-      print "MakeQuadFace : ", BlocksOp.GetErrorCode()
+      print "MakeQuad : ", BlocksOp.GetErrorCode()
     return anObj
 
-def MakeQuadFaceTwoEdges(E1, E2):
-    anObj = BlocksOp.MakeQuadFaceTwoEdges(E1, E2)
+def MakeQuad2Edges(E1, E2):
+    anObj = BlocksOp.MakeQuad2Edges(E1, E2)
     if BlocksOp.IsDone() == 0:
-      print "MakeQuadFaceEdge : ", BlocksOp.GetErrorCode()
+      print "MakeQuad2Edges : ", BlocksOp.GetErrorCode()
     return anObj
 
-def MakeQuadFaceVertices(V1, V2, V3, V4):
-    anObj = BlocksOp.MakeQuadFaceFourVertices(V1, V2, V3, V4)
+def MakeQuad4Vertices(V1, V2, V3, V4):
+    anObj = BlocksOp.MakeQuad4Vertices(V1, V2, V3, V4)
     if BlocksOp.IsDone() == 0:
-      print "MakeQuadFaceVertex : ", BlocksOp.GetErrorCode()
+      print "MakeQuad4Vertices : ", BlocksOp.GetErrorCode()
     return anObj
 
-def MakeHexaSolid(F1, F2, F3, F4, F5, F6):
-    anObj = BlocksOp.MakeHexaSolidSixFaces(F1, F2, F3, F4, F5, F6)
+def MakeHexa(F1, F2, F3, F4, F5, F6):
+    anObj = BlocksOp.MakeHexa(F1, F2, F3, F4, F5, F6)
     if BlocksOp.IsDone() == 0:
-      print "MakeHexaSolid : ", BlocksOp.GetErrorCode()
+      print "MakeHexa : ", BlocksOp.GetErrorCode()
     return anObj
 
-def MakeHexaSolidTwoFaces(F1, F2):
-    anObj = BlocksOp.MakeHexaSolidTwoFaces(F1, F2)
+def MakeHexa2Faces(F1, F2):
+    anObj = BlocksOp.MakeHexa2Faces(F1, F2)
     if BlocksOp.IsDone() == 0:
-      print "MakeHexaSolidTwoFace : ", BlocksOp.GetErrorCode()
+      print "MakeHexa2Faces : ", BlocksOp.GetErrorCode()
     return anObj
 
+def MakeMultiTransformation1D(Block, DirFaceID1, DirFaceID2, NbTimes):
+    anObj = BlocksOp.MakeMultiTransformation1D(Block, DirFaceID1, DirFaceID2, NbTimes)
+    if BlocksOp.IsDone() == 0:
+      print "MakeMultiTransformation1D : ", BlocksOp.GetErrorCode()
+    return anObj
+
+def MakeMultiTransformation2D(Block, DirFaceID1U, DirFaceID2U, NbTimesU,
+                                    DirFaceID1V, DirFaceID2V, NbTimesV):
+    anObj = BlocksOp.MakeMultiTransformation2D(Block, DirFaceID1U, DirFaceID2U, NbTimesU,
+                                                     DirFaceID1V, DirFaceID2V, NbTimesV)
+    if BlocksOp.IsDone() == 0:
+      print "MakeMultiTransformation2D : ", BlocksOp.GetErrorCode()
+    return anObj
+
+def MakeBlockExplode(Compound, MinNbFaces, MaxNbFaces):
+    aList = BlocksOp.ExplodeCompoundOfBlocks(Compound, MinNbFaces, MaxNbFaces)
+    if BlocksOp.IsDone() == 0:
+      print "MakeBlockExplode : ", BlocksOp.GetErrorCode()
+    return aList
+
+def CheckCompoundOfBlocks(Compound):
+    (IsValid, BCErrors) = BlocksOp.CheckCompoundOfBlocks(Compound)
+    if BlocksOp.IsDone() == 0:
+      print "CheckCompoundOfBlocks : ", BlocksOp.GetErrorCode()
+    else:
+      if IsValid == 0:
+        Descr = BlocksOp.PrintBCErrors(Compound, BCErrors)
+        print Descr
+    return IsValid
+
 # -----------------------------------------------------------------------------
 # Group operations
 # -----------------------------------------------------------------------------
@@ -735,19 +842,21 @@ def CreateGroup(MainShape, ShapeType):
     return anObj
 
 def AddObject(Group, SubShapeID):
-    anObj = GroupOp.AddObject(Group, SubShapeID)
+    GroupOp.AddObject(Group, SubShapeID)
     if GroupOp.IsDone() == 0:
       print "AddObject : ", GroupOp.GetErrorCode()
-    return anObj
 
 def RemoveObject(Group, SubShapeID):
-    anObj = GroupOp.RemoveObject(Group, SubShapeID)
+    GroupOp.RemoveObject(Group, SubShapeID)
     if GroupOp.IsDone() == 0:
       print "RemoveObject : ", GroupOp.GetErrorCode()
-    return anObj
 
 def GetObjectIDs(Group):
-    anObj = GroupOp.GetObjects(Group)
+    ListIDs = GroupOp.GetObjects(Group)
     if GroupOp.IsDone() == 0:
       print "GetObjectIDs : ", GroupOp.GetErrorCode()
-    return anObj
+    return ListIDs
+
+def addPath(Path):
+    if (sys.path.count(Path) < 1):
+       sys.path.append(Path)
index 6a0a3317809d8153aa0ff5cce1997e5e33ec0ec2..b2bc785ac69b0a8927bf45944fd863d1c5136b73 100644 (file)
 #  $Header$
 
 from salome import *
+import GEOM
 
-geom = lcc.FindOrLoadComponent("FactoryServer", "GEOM")
+g = lcc.FindOrLoadComponent("FactoryServer", "GEOM")
+geom = g._narrow( GEOM.GEOM_Gen )
 myBuilder = myStudy.NewBuilder()
 
 father = myStudy.FindComponent("GEOM")
@@ -42,12 +44,12 @@ if father is None:
        aPixmap.SetPixMap("ICON_OBJBROWSER_Geometry")
        myBuilder.DefineComponentInstance(father,geom)
 
-# -----------------------------------------------------------------------------
-# add To Study
-# -----------------------------------------------------------------------------
-
 gg = ImportComponentGUI("GEOM")
 
+#     *  Get name for sub-shape aSubObj of shape aMainObj
+#
+#     *  Example: see GEOM_TestAll.py
+#
 def SubShapeName(aSubObj, aMainObj):
     aSubId  = orb.object_to_string(aSubObj)
     aMainId = orb.object_to_string(aMainObj)
@@ -55,10 +57,10 @@ def SubShapeName(aSubObj, aMainObj):
     name = gg.getShapeTypeString(aSubId) + "_%d"%(index)
     return name
 
-# -----------------------------------------------------------------------------
-# The code below is common with batchmode_geompy.py
-# -----------------------------------------------------------------------------
-
+#     *  Publish in study aShape with name aName
+#
+#     *  Example: see GEOM_TestAll.py
+#
 def addToStudy(aShape, aName):
     try:
         aSObject = geom.AddInStudy(myStudy, aShape, aName, None)
@@ -67,11 +69,13 @@ def addToStudy(aShape, aName):
         return ""
     return aShape.GetStudyEntry()
 
+#     *  Publish in study aShape with name aName as sub-object of previously published aFather
+#
+#     *  Example: see GEOM_TestAll.py
+#
 def addToStudyInFather(aFather, aShape, aName):
     try:
-#        myBuilder.NewCommand()
         aSObject = geom.AddInStudy(myStudy, aShape, aName, aFather)
-#        myBuilder.CommitCommand()
     except:
         print "addToStudyInFather() failed"
         return ""
@@ -104,60 +108,154 @@ GroupOp  = geom.GetIGroupOperations   (myStudyId)
 # Basic primitives
 # -----------------------------------------------------------------------------
 
-def MakeVertex(x,y,z):
-    anObj = BasicOp.MakePointXYZ(x,y,z)
+#     *  Create point by three coordinates.
+#     *  \param theX The X coordinate of the point.
+#     *  \param theY The Y coordinate of the point.
+#     *  \param theZ The Z coordinate of the point.
+#     *  \return New GEOM_Object, containing the created point.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeVertex(theX, theY, theZ):
+    anObj = BasicOp.MakePointXYZ(theX, theY, theZ)
     if BasicOp.IsDone() == 0:
       print "MakePointXYZ : ", BasicOp.GetErrorCode()
     return anObj
 
-def MakeVertexWithRef(vertex,x,y,z):
-    anObj = BasicOp.MakePointWithReference(vertex,x,y,z)
+#     *  Create a point, distant from the referenced point
+#     *  on the given distances along the coordinate axes.
+#     *  \param theReference The referenced point.
+#     *  \param theX Displacement from the referenced point along OX axis.
+#     *  \param theY Displacement from the referenced point along OY axis.
+#     *  \param theZ Displacement from the referenced point along OZ axis.
+#     *  \return New GEOM_Object, containing the created point.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeVertexWithRef(theReference, theX, theY, theZ):
+    anObj = BasicOp.MakePointWithReference(theReference, theX, theY, theZ)
     if BasicOp.IsDone() == 0:
       print "MakePointWithReference : ", BasicOp.GetErrorCode()
     return anObj
 
-def MakeVertexOnCurve(curve,par):
-    anObj = BasicOp.MakePointOnCurve(curve,par)
+#     *  Create a point, corresponding to the given parameter on the given curve.
+#     *  \param theRefCurve The referenced curve.
+#     *  \param theParameter Value of parameter on the referenced curve.
+#     *  \return New GEOM_Object, containing the created point.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeVertexOnCurve(theRefCurve, theParameter):
+    anObj = BasicOp.MakePointOnCurve(theRefCurve, theParameter)
     if BasicOp.IsDone() == 0:
       print "MakePointOnCurve : ", BasicOp.GetErrorCode()
     return anObj
 
-def MakeVectorDXDYDZ(dx,dy,dz):
-    anObj = BasicOp.MakeVectorDXDYDZ(dx,dy,dz)
+#     *  Create a vector with the given components.
+#     *  \param theDX X component of the vector.
+#     *  \param theDY Y component of the vector.
+#     *  \param theDZ Z component of the vector.
+#     *  \return New GEOM_Object, containing the created vector.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeVectorDXDYDZ(theDX, theDY, theDZ):
+    anObj = BasicOp.MakeVectorDXDYDZ(theDX, theDY, theDZ)
     if BasicOp.IsDone() == 0:
       print "MakeVectorDXDYDZ : ", BasicOp.GetErrorCode()
     return anObj
 
-def MakeVector(p1,p2):
-    anObj = BasicOp.MakeVectorTwoPnt(p1, p2)
+#     *  Create a vector between two points.
+#     *  \param thePnt1 Start point for the vector.
+#     *  \param thePnt2 End point for the vector.
+#     *  \return New GEOM_Object, containing the created vector.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeVector(thePnt1, thePnt2):
+    anObj = BasicOp.MakeVectorTwoPnt(thePnt1, thePnt2)
     if BasicOp.IsDone() == 0:
       print "MakeVectorTwoPnt : ", BasicOp.GetErrorCode()
     return anObj
 
-def MakeLine(p1, p2):
-    anObj = BasicOp.MakeLineTwoPnt(p1,p2)
+#     *  Create a line, passing through the given point
+#     *  and parrallel to the given direction
+#     *  \param thePnt Point. The resulting line will pass through it.
+#     *  \param theDir Direction. The resulting line will be parallel to it.
+#     *  \return New GEOM_Object, containing the created line.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeLine(thePnt, theDir):
+    anObj = BasicOp.MakeLine(thePnt, theDir)
+    if BasicOp.IsDone() == 0:
+      print "MakeLine : ", BasicOp.GetErrorCode()
+    return anObj
+
+#     *  Create a line, passing through the given points
+#     *  \param thePnt1 First of two points, defining the line.
+#     *  \param thePnt2 Second of two points, defining the line.
+#     *  \return New GEOM_Object, containing the created line.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeLineTwoPnt(thePnt1, thePnt2):
+    anObj = BasicOp.MakeLineTwoPnt(thePnt1, thePnt2)
     if BasicOp.IsDone() == 0:
       print "MakeLineTwoPnt : ", BasicOp.GetErrorCode()
     return anObj
 
-def MakePlane(p1,v1,trimsize):
-    anObj = BasicOp.MakePlanePntVec(p1,v1,trimsize)
+#     *  Create a plane, passing through the given point
+#     *  and normal to the given vector.
+#     *  \param thePnt Point, the plane has to pass through.
+#     *  \param theVec Vector, defining the plane normal direction.
+#     *  \param theTrimSize Half size of a side of quadrangle face, representing the plane.
+#     *  \return New GEOM_Object, containing the created plane.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakePlane(thePnt, theVec, theTrimSize):
+    anObj = BasicOp.MakePlanePntVec(thePnt, theVec, theTrimSize)
     if BasicOp.IsDone() == 0:
       print "MakePlanePntVec : ", BasicOp.GetErrorCode()
     return anObj
 
-def MakePlaneThreePnt(p1,p2,p3,trimsize):
-    anObj = BasicOp.MakePlaneThreePnt(p1,p2,p3,trimsize)
+#     *  Create a plane, passing through the three given points
+#     *  \param thePnt1 First of three points, defining the plane.
+#     *  \param thePnt2 Second of three points, defining the plane.
+#     *  \param thePnt3 Fird of three points, defining the plane.
+#     *  \param theTrimSize Half size of a side of quadrangle face, representing the plane.
+#     *  \return New GEOM_Object, containing the created plane.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize):
+    anObj = BasicOp.MakePlaneThreePnt(thePnt1, thePnt2, thePnt3, theTrimSize)
     if BasicOp.IsDone() == 0:
       print "MakePlaneThreePnt : ", BasicOp.GetErrorCode()
     return anObj
 
-def MakePlaneFace(face,trimsize):
-    anObj = BasicOp.MakePlaneFace(face,trimsize)
+#     *  Create a plane, similar to the existing one, but with another size of representing face.
+#     *  \param theFace Referenced plane.
+#     *  \param theTrimSize New half size of a side of quadrangle face, representing the plane.
+#     *  \return New GEOM_Object, containing the created plane.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakePlaneFace(theFace, theTrimSize):
+    anObj = BasicOp.MakePlaneFace(theFace, theTrimSize)
     if BasicOp.IsDone() == 0:
       print "MakePlaneFace : ", BasicOp.GetErrorCode()
     return anObj
 
+#     *  Create a local coordinate system.
+#     *  \param OX,OY,OZ Three coordinates of coordinate system origin.
+#     *  \param XDX,XDY,XDZ Three components of OX direction
+#     *  \param YDX,YDY,YDZ Three components of OY direction
+#     *  \return New GEOM_Object, containing the created coordinate system.
+#
+#     *  Example: see GEOM_TestAll.py
+#
 def MakeMarker(OX,OY,OZ, XDX,XDY,XDZ, YDX,YDY,YDZ):
     anObj = BasicOp.MakeMarker(OX,OY,OZ, XDX,XDY,XDZ, YDX,YDY,YDZ)
     if BasicOp.IsDone() == 0:
@@ -168,50 +266,134 @@ def MakeMarker(OX,OY,OZ, XDX,XDY,XDZ, YDX,YDY,YDZ):
 # Curves
 # -----------------------------------------------------------------------------
 
-def MakeArc(p1,p2,p3):
-    anObj = CurvesOp.MakeArc(p1,p2,p3)
+#     *  Create an arc of circle, passing through three given points.
+#     *  \param thePnt1 Start point of the arc.
+#     *  \param thePnt2 Middle point of the arc.
+#     *  \param thePnt3 End point of the arc.
+#     *  \return New GEOM_Object, containing the created arc.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeArc(thePnt1, thePnt2, thePnt3):
+    anObj = CurvesOp.MakeArc(thePnt1, thePnt2, thePnt3)
     if CurvesOp.IsDone() == 0:
       print "MakeArc : ", CurvesOp.GetErrorCode()
     return anObj
 
-def MakeCircle(p1,v1,radius):
-    anObj = CurvesOp.MakeCirclePntVecR(p1,v1,radius)
+#     *  Create a circle with given center, normal vector and radius.
+#     *  \param thePnt Circle center.
+#     *  \param theVec Vector, normal to the plane of the circle.
+#     *  \param theR Circle radius.
+#     *  \return New GEOM_Object, containing the created circle.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeCircle(thePnt, theVec, theR):
+    anObj = CurvesOp.MakeCirclePntVecR(thePnt, theVec, theR)
     if CurvesOp.IsDone() == 0:
       print "MakeCirclePntVecR : ", CurvesOp.GetErrorCode()
     return anObj
 
-def MakeCircleThreePnt(p1,p2,p3):
-    anObj = CurvesOp.MakeCircleThreePnt(p1,p2,p3)
+#     *  Create a circle, passing through three given points
+#     *  \param thePnt1,thePnt2,thePnt3 Points, defining the circle.
+#     *  \return New GEOM_Object, containing the created circle.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeCircleThreePnt(thePnt1, thePnt2, thePnt3):
+    anObj = CurvesOp.MakeCircleThreePnt(thePnt1, thePnt2, thePnt3)
     if CurvesOp.IsDone() == 0:
       print "MakeCircleThreePnt : ", CurvesOp.GetErrorCode()
     return anObj
 
-def MakeEllipse(p1,v1,radiusMaj,radiusMin):
-    anObj = CurvesOp.MakeEllipse(p1,v1,radiusMaj, radiusMin)
+#     *  Create an ellipse with given center, normal vector and radiuses.
+#     *  \param thePnt Ellipse center.
+#     *  \param theVec Vector, normal to the plane of the ellipse.
+#     *  \param theRMajor Major ellipse radius.
+#     *  \param theRMinor Minor ellipse radius.
+#     *  \return New GEOM_Object, containing the created ellipse.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeEllipse(thePnt, theVec, theRMajor, theRMinor):
+    anObj = CurvesOp.MakeEllipse(thePnt, theVec, theRMajor, theRMinor)
     if CurvesOp.IsDone() == 0:
       print "MakeEllipse : ", CurvesOp.GetErrorCode()
     return anObj
 
-def MakePolyline(ListShape):
-    anObj = CurvesOp.MakePolyline(ListShape)
+#     *  Create a polyline on the set of points.
+#     *  \param thePoints Sequence of points for the polyline.
+#     *  \return New GEOM_Object, containing the created polyline.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakePolyline(thePoints):
+    anObj = CurvesOp.MakePolyline(thePoints)
     if CurvesOp.IsDone() == 0:
       print "MakePolyline : ", CurvesOp.GetErrorCode()
     return anObj
 
-def MakeBezier(ListShape):
-    anObj = CurvesOp.MakeSplineBezier(ListShape)
+#     *  Create bezier curve on the set of points.
+#     *  \param thePoints Sequence of points for the bezier curve.
+#     *  \return New GEOM_Object, containing the created bezier curve.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeBezier(thePoints):
+    anObj = CurvesOp.MakeSplineBezier(thePoints)
     if CurvesOp.IsDone() == 0:
       print "MakeSplineBezier : ", CurvesOp.GetErrorCode()
     return anObj
 
-def MakeInterpol(ListShape):
-    anObj = CurvesOp.MakeSplineInterpolation(ListShape)
+#     *  Create B-Spline curve on the set of points.
+#     *  \param thePoints Sequence of points for the B-Spline curve.
+#     *  \return New GEOM_Object, containing the created B-Spline curve.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeInterpol(thePoints):
+    anObj = CurvesOp.MakeSplineInterpolation(thePoints)
     if CurvesOp.IsDone() == 0:
       print "MakeSplineInterpolation : ", CurvesOp.GetErrorCode()
     return anObj
 
-def MakeSketcher(Cmd, WPL):
-    anObj = CurvesOp.MakeSketcher(Cmd, WPL)
+#     *  Create a sketcher (wire or face), following the textual description,
+#     *  passed through \a theCommand argument. \n
+#     *  Edges of the resulting wire or face will be arcs of circles and/or linear segments. \n
+#     *  Format of the description string have to be the following:
+#     *
+#     *  "Sketcher[:F x1 y1]:CMD[:CMD[:CMD...]]"
+#     *
+#     *  Where:
+#     *  - x1, y1 are coordinates of the first sketcher point (zero by default),
+#     *  - CMD is one of
+#     *     - "R angle" : Set the direction by angle
+#     *     - "D dx dy" : Set the direction by DX & DY
+#     *     .
+#     *       \n
+#     *     - "TT x y" : Create segment by point at X & Y
+#     *     - "T dx dy" : Create segment by point with DX & DY
+#     *     - "L length" : Create segment by direction & Length
+#     *     - "IX x" : Create segment by direction & Intersect. X
+#     *     - "IY y" : Create segment by direction & Intersect. Y
+#     *     .
+#     *       \n
+#     *     - "C radius length" : Create arc by direction, radius and length(in degree)
+#     *     .
+#     *       \n
+#     *     - "WW" : Close Wire (to finish)
+#     *     - "WF" : Close Wire and build face (to finish)
+#     *
+#     *  \param theCommand String, defining the sketcher in local
+#     *                    coordinates of the working plane.
+#     *  \param theWorkingPlane Nine double values, defining origin,
+#     *                         OZ and OX directions of the working plane.
+#     *  \return New GEOM_Object, containing the created wire.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeSketcher(theCommand, theWorkingPlane = [0,0,0, 0,0,1, 1,0,0]):
+    anObj = CurvesOp.MakeSketcher(theCommand, theWorkingPlane)
     if CurvesOp.IsDone() == 0:
       print "MakeSketcher : ", CurvesOp.GetErrorCode()
     return anObj
@@ -220,91 +402,232 @@ def MakeSketcher(Cmd, WPL):
 # Create 3D Primitives
 # -----------------------------------------------------------------------------
 
+#     *  Create a box by coordinates of two opposite vertices.
+#
+#     *  Example: see GEOM_TestAll.py
+#
 def MakeBox(x1,y1,z1,x2,y2,z2):
     pnt1 = MakeVertex(x1,y1,z1)
     pnt2 = MakeVertex(x2,y2,z2)
     return MakeBoxTwoPnt(pnt1,pnt2)
 
-def MakeBoxDXDYDZ(dx,dy,dz):
-    anObj = PrimOp.MakeBoxDXDYDZ(dx,dy,dz)
+#     *  Create a box with specified dimensions along the coordinate axes
+#     *  and with edges, parallel to the coordinate axes.
+#     *  Center of the box will be at point (DX/2, DY/2, DZ/2).
+#     *  \param theDX Length of Box edges, parallel to OX axis.
+#     *  \param theDY Length of Box edges, parallel to OY axis.
+#     *  \param theDZ Length of Box edges, parallel to OZ axis.
+#     *  \return New GEOM_Object, containing the created box.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeBoxDXDYDZ(theDX, theDY, theDZ):
+    anObj = PrimOp.MakeBoxDXDYDZ(theDX, theDY, theDZ)
     if PrimOp.IsDone() == 0:
       print "MakeBoxDXDYDZ : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeBoxTwoPnt(point1, point2):
-    anObj = PrimOp.MakeBoxTwoPnt(point1, point2)
+#     *  Create a box with two specified opposite vertices,
+#     *  and with edges, parallel to the coordinate axes
+#     *  \param thePnt1 First of two opposite vertices.
+#     *  \param thePnt2 Second of two opposite vertices.
+#     *  \return New GEOM_Object, containing the created box.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeBoxTwoPnt(thePnt1, thePnt2):
+    anObj = PrimOp.MakeBoxTwoPnt(thePnt1, thePnt2)
     if PrimOp.IsDone() == 0:
       print "MakeBoxTwoPnt : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeCylinder(p1,v1,radius,height):
-    anObj = PrimOp.MakeCylinderPntVecRH(p1,v1,radius,height)
+#     *  Create a cylinder with given base point, axis, radius and height.
+#     *  \param thePnt Central point of cylinder base.
+#     *  \param theAxis Cylinder axis.
+#     *  \param theR Cylinder radius.
+#     *  \param theH Cylinder height.
+#     *  \return New GEOM_Object, containing the created cylinder.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeCylinder(thePnt, theAxis, theR, theH):
+    anObj = PrimOp.MakeCylinderPntVecRH(thePnt, theAxis, theR, theH)
     if PrimOp.IsDone() == 0:
       print "MakeCylinderPntVecRH : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeCylinderRH(radius,height):
-    anObj = PrimOp.MakeCylinderRH(radius,height)
+#     *  Create a cylinder with given radius and height at
+#     *  the origin of coordinate system. Axis of the cylinder
+#     *  will be collinear to the OZ axis of the coordinate system.
+#     *  \param theR Cylinder radius.
+#     *  \param theH Cylinder height.
+#     *  \return New GEOM_Object, containing the created cylinder.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeCylinderRH(theR, theH):
+    anObj = PrimOp.MakeCylinderRH(theR, theH)
     if PrimOp.IsDone() == 0:
       print "MakeCylinderRH : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeSphere(point,radius):
-    anObj = PrimOp.MakeSpherePntR(point,radius)
+#     *  Create a sphere with given center and radius.
+#     *  \param thePnt Sphere center.
+#     *  \param theR Sphere radius.
+#     *  \return New GEOM_Object, containing the created sphere.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeSpherePntR(thePnt, theR):
+    anObj = PrimOp.MakeSpherePntR(thePnt, theR)
     if PrimOp.IsDone() == 0:
       print "MakeSpherePntR : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeSphereR(radius):
-    anObj = PrimOp.MakeSphereR(radius)
+#     *  Create a sphere with given center and radius.
+#     *  \param x,y,z Coordinates of sphere center.
+#     *  \param theR Sphere radius.
+#     *  \return New GEOM_Object, containing the created sphere.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeSphere(x, y, z, theR):
+    point = MakeVertex(x, y, z)
+    anObj = MakeSpherePntR(point, theR)
+    return anObj
+
+#     *  Create a sphere with given radius at the origin of coordinate system.
+#     *  \param theR Sphere radius.
+#     *  \return New GEOM_Object, containing the created sphere.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeSphereR(theR):
+    anObj = PrimOp.MakeSphereR(theR)
     if PrimOp.IsDone() == 0:
       print "MakeSphereR : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeCone(p1,v1,radius1,radius2,height):
-    anObj = PrimOp.MakeConePntVecR1R2H(p1,v1,radius1,radius2,height)
+#     *  Create a cone with given base point, axis, height and radiuses.
+#     *  \param thePnt Central point of the first cone base.
+#     *  \param theAxis Cone axis.
+#     *  \param theR1 Radius of the first cone base.
+#     *  \param theR2 Radius of the second cone base.
+#     *    \note If both radiuses are non-zero, the cone will be truncated.
+#     *    \note If the radiuses are equal, a cylinder will be created instead.
+#     *  \param theH Cone height.
+#     *  \return New GEOM_Object, containing the created cone.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeCone(thePnt, theAxis, theR1, theR2, theH):
+    anObj = PrimOp.MakeConePntVecR1R2H(thePnt, theAxis, theR1, theR2, theH)
     if PrimOp.IsDone() == 0:
       print "MakeConePntVecR1R2H : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeConeR1R2H(radius1,radius2,height):
-    anObj = PrimOp.MakeConeR1R2H(radius1,radius2,height)
+#     *  Create a cone with given height and radiuses at
+#     *  the origin of coordinate system. Axis of the cone will
+#     *  be collinear to the OZ axis of the coordinate system.
+#     *  \param theR1 Radius of the first cone base.
+#     *  \param theR2 Radius of the second cone base.
+#     *    \note If both radiuses are non-zero, the cone will be truncated.
+#     *    \note If the radiuses are equal, a cylinder will be created instead.
+#     *  \param theH Cone height.
+#     *  \return New GEOM_Object, containing the created cone.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeConeR1R2H(theR1, theR2, theH):
+    anObj = PrimOp.MakeConeR1R2H(theR1, theR2, theH)
     if PrimOp.IsDone() == 0:
       print "MakeConeR1R2H : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeTorus(p1,v1,major_radius,minor_radius):
-    anObj = PrimOp.MakeTorusPntVecRR(p1,v1,major_radius,minor_radius)
+#     *  Create a torus with given center, normal vector and radiuses.
+#     *  \param thePnt Torus central point.
+#     *  \param theVec Torus axis of symmetry.
+#     *  \param theRMajor Torus major radius.
+#     *  \param theRMinor Torus minor radius.
+#     *  \return New GEOM_Object, containing the created torus.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeTorus(thePnt, theVec, theRMajor, theRMinor):
+    anObj = PrimOp.MakeTorusPntVecRR(thePnt, theVec, theRMajor, theRMinor)
     if PrimOp.IsDone() == 0:
       print "MakeTorusPntVecRR : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeTorusRR(major_radius,minor_radius):
-    anObj = PrimOp.MakeTorusRR(major_radius,minor_radius)
+#     *  Create a torus with given radiuses at the origin of coordinate system.
+#     *  \param theRMajor Torus major radius.
+#     *  \param theRMinor Torus minor radius.
+#     *  \return New GEOM_Object, containing the created torus.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeTorusRR(theRMajor, theRMinor):
+    anObj = PrimOp.MakeTorusRR(theRMajor, theRMinor)
     if PrimOp.IsDone() == 0:
       print "MakeTorusRR : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakePrism(baseShape,vector,height):
-    anObj = PrimOp.MakePrismVecH(baseShape,vector,height)
+#     *  Create a shape by extrusion of the base shape along a vector, defined by two points.
+#     *  \param theBase Base shape to be extruded.
+#     *  \param thePoint1 First end of extrusion vector.
+#     *  \param thePoint2 Second end of extrusion vector.
+#     *  \return New GEOM_Object, containing the created prism.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakePrism(theBase, thePoint1, thePoint2):
+    anObj = PrimOp.MakePrismTwoPnt(theBase, thePoint1, thePoint2)
     if PrimOp.IsDone() == 0:
-      print "MakePrismVecH : ", PrimOp.GetErrorCode()
+      print "MakePrismTwoPnt : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakePrismTwoPnt(baseShape,point1,point2):
-    anObj = PrimOp.MakePrismTwoPnt(baseShape,point1,point2)
+#     *  Create a shape by extrusion of the base shape along the vector,
+#     *  i.e. all the space, transfixed by the base shape during its translation
+#     *  along the vector on the given distance.
+#     *  \param theBase Base shape to be extruded.
+#     *  \param theVec Direction of extrusion.
+#     *  \param theH Prism dimension along theVec.
+#     *  \return New GEOM_Object, containing the created prism.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakePrismVecH(theBase, theVec, theH):
+    anObj = PrimOp.MakePrismVecH(theBase, theVec, theH)
     if PrimOp.IsDone() == 0:
-      print "MakePrismTwoPnt : ", PrimOp.GetErrorCode()
+      print "MakePrismVecH : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakePipe(baseShape,pathShape):
-    anObj = PrimOp.MakePipe(baseShape,pathShape)
+#     *  Create a shape by extrusion of the base shape along
+#     *  the path shape. The path shape can be a wire or an edge.
+#     *  \param theBase Base shape to be extruded.
+#     *  \param thePath Path shape to extrude the base shape along it.
+#     *  \return New GEOM_Object, containing the created pipe.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakePipe(theBase, thePath):
+    anObj = PrimOp.MakePipe(theBase, thePath)
     if PrimOp.IsDone() == 0:
       print "MakePipe : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeRevolution(aShape,axis,angle):
-    anObj = PrimOp.MakeRevolutionAxisAngle(aShape,axis,angle)
+#     *  Create a shape by revolution of the base shape around the axis
+#     *  on the given angle, i.e. all the space, transfixed by the base
+#     *  shape during its rotation around the axis on the given angle.
+#     *  \param theBase Base shape to be rotated.
+#     *  \param theAxis Rotation axis.
+#     *  \param theAngle Rotation angle in radians.
+#     *  \return New GEOM_Object, containing the created revolution.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeRevolution(theBase, theAxis, theAngle):
+    anObj = PrimOp.MakeRevolutionAxisAngle(theBase, theAxis, theAngle)
     if PrimOp.IsDone() == 0:
       print "MakeRevolutionAxisAngle : ", PrimOp.GetErrorCode()
     return anObj
@@ -313,130 +636,336 @@ def MakeRevolution(aShape,axis,angle):
 # Create base shapes
 # -----------------------------------------------------------------------------
 
-def MakeEdge(p1,p2):
-    anObj = ShapesOp.MakeEdge(p1,p2)
+#     *  Create a linear edge with specified ends.
+#     *  \param thePnt1 Point for the first end of edge.
+#     *  \param thePnt2 Point for the second end of edge.
+#     *  \return New GEOM_Object, containing the created edge.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeEdge(thePnt1, thePnt2):
+    anObj = ShapesOp.MakeEdge(thePnt1, thePnt2)
     if ShapesOp.IsDone() == 0:
       print "MakeEdge : ", ShapesOp.GetErrorCode()
     return anObj
 
-def MakeWire(ListShape):
-    anObj = ShapesOp.MakeWire(ListShape)
+#     *  Create a wire from the set of edges and wires.
+#     *  \param theEdgesAndWires List of edges and/or wires.
+#     *  \return New GEOM_Object, containing the created wire.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeWire(theEdgesAndWires):
+    anObj = ShapesOp.MakeWire(theEdgesAndWires)
     if ShapesOp.IsDone() == 0:
       print "MakeWire : ", ShapesOp.GetErrorCode()
     return anObj
 
-def MakeFace(aShapeWire,WantPlanarFace):
-    anObj = ShapesOp.MakeFace(aShapeWire,WantPlanarFace)
+#     *  Create a face on the given wire.
+#     *  \param theWire Wire to build the face on.
+#     *  \param isPlanarWanted If TRUE, only planar face will be built.
+#     *                        If impossible, NULL object will be returned.
+#     *  \return New GEOM_Object, containing the created face.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeFace(theWire, isPlanarWanted):
+    anObj = ShapesOp.MakeFace(theWire, isPlanarWanted)
     if ShapesOp.IsDone() == 0:
       print "MakeFace : ", ShapesOp.GetErrorCode()
     return anObj
 
-def MakeFaceWires(ListWires,WantPlanarFace):
-    anObj = ShapesOp.MakeFaceWires(ListWires,WantPlanarFace)
+#     *  Create a face on the given wires set.
+#     *  \param theWires List of wires to build the face on.
+#     *  \param isPlanarWanted If TRUE, only planar face will be built.
+#     *                        If impossible, NULL object will be returned.
+#     *  \return New GEOM_Object, containing the created face.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeFaceWires(theWires, isPlanarWanted):
+    anObj = ShapesOp.MakeFaceWires(theWires, isPlanarWanted)
     if ShapesOp.IsDone() == 0:
       print "MakeFaceWires : ", ShapesOp.GetErrorCode()
     return anObj
 
-def MakeShell(ListOfShapes):
-    anObj = ShapesOp.MakeShell(ListOfShapes)
+#     *  Shortcut to MakeFaceWires()
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def MakeFaces(theWires, isPlanarWanted):
+    anObj = MakeFaceWires(theWires, isPlanarWanted)
+    return anObj
+
+#     *  Create a shell from the set of faces and shells.
+#     *  \param theFacesAndShells List of faces and/or shells.
+#     *  \return New GEOM_Object, containing the created shell.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeShell(theFacesAndShells):
+    anObj = ShapesOp.MakeShell(theFacesAndShells)
     if ShapesOp.IsDone() == 0:
        print "MakeShell : ", ShapesOp.GetErrorCode()
     return anObj
 
-def MakeSolid(ListOfShells):
-    anObj = ShapesOp.MakeSolidShells(ListOfShells)
+#     *  Create a solid, bounded by the given shells.
+#     *  \param theShells Sequence of bounding shells.
+#     *  \return New GEOM_Object, containing the created solid.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeSolid(theShells):
+    anObj = ShapesOp.MakeSolidShells(theShells)
     if ShapesOp.IsDone() == 0:
        print "MakeSolid : ", ShapesOp.GetErrorCode()
     return anObj
 
-def MakeCompound(ListShape):
-    anObj = ShapesOp.MakeCompound(ListShape)
+#     *  Create a compound of the given shapes.
+#     *  \param theShapes List of shapes to put in compound.
+#     *  \return New GEOM_Object, containing the created compound.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeCompound(theShapes):
+    anObj = ShapesOp.MakeCompound(theShapes)
     if ShapesOp.IsDone() == 0:
       print "MakeCompound : ", ShapesOp.GetErrorCode()
     return anObj
 
-def ChangeOrientation(Shape):
-    anObj = ShapesOp.ChangeOrientation(Shape)
+#     *  Reverses an orientation the given shape.
+#     *  \param theShape Shape to be reversed.
+#     *  \return The reversed copy of theShape.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def ChangeOrientation(theShape):
+    anObj = ShapesOp.ChangeOrientation(theShape)
     if ShapesOp.IsDone() == 0:
       print "ChangeOrientation : ", ShapesOp.GetErrorCode()
-    return anObj 
+    return anObj
+
+#     *  Shortcut to ChangeOrientation()
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def OrientationChange(theShape):
+    anObj = ChangeOrientation(theShape)
+    return anObj
 
 # -----------------------------------------------------------------------------
-# Decompose objects
+# Access to sub-shapes by their unique IDs inside the main shape.
 # -----------------------------------------------------------------------------
 
-def SubShape(aShape,ListOfId):
-    anObj = geom.AddSubShape(aShape,ListOfId)
+#     *  Obtain a composite sub-shape of <aShape>, composed from sub-shapes
+#     *  of <aShape>, selected by their unique IDs inside <aShape>
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def GetSubShape(aShape, ListOfID):
+    anObj = geom.AddSubShape(aShape,ListOfID)
     return anObj
 
-def SubShapeAll(aShape,type):
-    ListObj = ShapesOp.MakeExplode(aShape,type,0)
+#     *  Obtain unique ID of sub-shape <aSubShape> inside <aShape>
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def GetSubShapeID(aShape, aSubShape):
+    anID = LocalOp.GetSubShapeIndex(aShape, aSubShape)
+    if LocalOp.IsDone() == 0:
+      print "GetSubShapeIndex : ", LocalOp.GetErrorCode()
+    return anID
+
+# -----------------------------------------------------------------------------
+# Decompose objects
+# -----------------------------------------------------------------------------
+
+#     *  Explode a shape on subshapes of a given type.
+#     *  \param theShape Shape to be exploded.
+#     *  \param theShapeType Type of sub-shapes to be retrieved.
+#     *  \return List of sub-shapes of type theShapeType, contained in theShape.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def SubShapeAll(aShape, aType):
+    ListObj = ShapesOp.MakeExplode(aShape,aType,0)
     if ShapesOp.IsDone() == 0:
       print "MakeExplode : ", ShapesOp.GetErrorCode()
     return ListObj
 
-def SubShapeAllSorted(aShape,type):
-    ListObj = ShapesOp.MakeExplode(aShape,type,1)
+#     *  Explode a shape on subshapes of a given type.
+#     *  Sub-shapes will be sorted by coordinates of their gravity centers.
+#     *  \param theShape Shape to be exploded.
+#     *  \param theShapeType Type of sub-shapes to be retrieved.
+#     *  \return List of sub-shapes of type theShapeType, contained in theShape.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def SubShapeAllSorted(aShape, aType):
+    ListObj = ShapesOp.MakeExplode(aShape,aType,1)
     if ShapesOp.IsDone() == 0:
       print "MakeExplode : ", ShapesOp.GetErrorCode()
     return ListObj
 
-def GetSubShapeID(aShape, aSubShape):
-    return LocalOp.GetSubShapeIndex(aShape, aSubShape)
+#     *  Obtain a compound of sub-shapes of <aShape>,
+#     *  selected by they indices in list of all sub-shapes of type <aType>.
+#     *  Each index is in range [1, Nb_Sub-Shapes_Of_Given_Type]
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def SubShape(aShape, aType, ListOfInd):
+    ListOfIDs = []
+    AllShapeList = SubShapeAll(aShape, aType)
+    for ind in ListOfInd:
+        ListOfIDs.append(GetSubShapeID(aShape, AllShapeList[ind - 1]))
+    anObj = GetSubShape(aShape, ListOfIDs)
+    return anObj
+
+#     *  Obtain a compound of sub-shapes of <aShape>,
+#     *  selected by they indices in sorted list of all sub-shapes of type <aType>.
+#     *  Each index is in range [1, Nb_Sub-Shapes_Of_Given_Type]
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def SubShapeSorted(aShape, aType, ListOfInd):
+    ListOfIDs = []
+    AllShapeList = SubShapeAllSorted(aShape, aType)
+    for ind in ListOfInd:
+        ListOfIDs.append(GetSubShapeID(aShape, AllShapeList[ind - 1]))
+    anObj = GetSubShape(aShape, ListOfIDs)
+    return anObj
 
 # -----------------------------------------------------------------------------
 # Healing operations
 # -----------------------------------------------------------------------------
 
-def ProcessShape(Shape, Operators, Parameters, Values):
-    anObj = HealOp.ProcessShape(Shape, Operators, Parameters, Values)
+#     *  Apply a sequence of Shape Healing operators to the given object.
+#     *  \param theShape Shape to be processed.
+#     *  \param theOperators List of names of operators ("FixShape", "SplitClosedFaces", etc.).
+#     *  \param theParameters List of names of parameters
+#     *                    ("FixShape.Tolerance3d", "SplitClosedFaces.NbSplitPoints", etc.).
+#     *  \param theValues List of values of parameters, in the same order
+#     *                    as parameters are listed in \a theParameters list.
+#     *  \return New GEOM_Object, containing processed shape.
+#
+#     *  Example: see GEOM_TestHealing.py
+#
+def ProcessShape(theShape, theOperators, theParameters, theValues):
+    anObj = HealOp.ProcessShape(theShape, theOperators, theParameters, theValues)
     if HealOp.IsDone() == 0:
        print "ProcessShape : ", HealOp.GetErrorCode()
     return anObj
 
-def SuppressFaces(aShape,ListOfId):
-    anObj = HealOp.SuppressFaces(aShape,ListOfId)
+#     *  Remove faces from the given object (shape).
+#     *  \param theObject Shape to be processed.
+#     *  \param theFaces Indices of faces to be removed, if EMPTY then the method
+#     *                  removes ALL faces of the given object.
+#     *  \return New GEOM_Object, containing processed shape.
+#
+#     *  Example: see GEOM_TestHealing.py
+#
+def SuppressFaces(theObject, theFaces):
+    anObj = HealOp.SuppressFaces(theObject, theFaces)
     if HealOp.IsDone() == 0:
       print "SuppressFaces : ", HealOp.GetErrorCode()
     return anObj
 
-def MakeSewing(ListShape,precision):
+#     *  Sewing of some shapes into single shape.
+#
+#     *  Example: see GEOM_TestHealing.py
+#
+def MakeSewing(ListShape, theTolerance):
     comp = MakeCompound(ListShape)
-    anObj = Sew(comp,precision)
+    anObj = Sew(comp, theTolerance)
     return anObj
 
-def Sew(aShape,precision):
-    anObj = HealOp.Sew(aShape,precision)
+#     *  Sewing of the given object.
+#     *  \param theObject Shape to be processed.
+#     *  \param theTolerance Required tolerance value.
+#     *  \return New GEOM_Object, containing processed shape.
+#
+#     *  Example: see MakeSewing() above
+#
+def Sew(theObject, theTolerance):
+    anObj = HealOp.Sew(theObject, theTolerance)
     if HealOp.IsDone() == 0:
       print "Sew : ", HealOp.GetErrorCode()
     return anObj
 
-def SuppressInternalWires(aShape, Wires):
-    anObj = HealOp.RemoveIntWires(aShape, Wires)
+#     *  Remove internal wires and edges from the given object (face).
+#     *  \param theObject Shape to be processed.
+#     *  \param theWires Indices of wires to be removed, if EMPTY then the method
+#     *                  removes ALL internal wires of the given object.
+#     *  \return New GEOM_Object, containing processed shape.
+#
+#     *  Example: see GEOM_TestHealing.py
+#
+def SuppressInternalWires(theObject, theWires):
+    anObj = HealOp.RemoveIntWires(theObject, theWires)
     if HealOp.IsDone() == 0:
       print "SuppressInternalWires : ", HealOp.GetErrorCode()
     return anObj
 
-def SuppressHoles(aShape, ListOfId):
-    anObj = HealOp.FillHoles(aShape,ListOfId)
+#     *  Remove internal closed contours (holes) from the given object.
+#     *  \param theObject Shape to be processed.
+#     *  \param theWires Indices of wires to be removed, if EMPTY then the method
+#     *                  removes ALL internal holes of the given object
+#     *  \return New GEOM_Object, containing processed shape.
+#
+#     *  Example: see GEOM_TestHealing.py
+#
+def SuppressHoles(theObject, theWires):
+    anObj = HealOp.FillHoles(theObject, theWires)
     if HealOp.IsDone() == 0:
       print "SuppressHoles : ", HealOp.GetErrorCode()
     return anObj
 
-def CloseContour(aShape, Wires, IsCommonVertex):
-    anObj = HealOp.CloseContour(aShape, Wires, IsCommonVertex)
+#     *  Close an open wire.
+#     *  \param theObject Shape to be processed.
+#     *  \param theWires Indexes of edge(s) and wire(s) to be closed within <VAR>theObject</VAR>'s shape,
+#     *                  if -1, then theObject itself is a wire.
+#     *  \param isCommonVertex If TRUE : closure by creation of a common vertex,
+#     *                        If FALS : closure by creation of an edge between ends.
+#     *  \return New GEOM_Object, containing processed shape.
+#
+#     *  Example: see GEOM_TestHealing.py
+#
+def CloseContour(theObject, theWires, isCommonVertex):
+    anObj = HealOp.CloseContour(theObject, theWires, isCommonVertex)
     if HealOp.IsDone() == 0:
       print "CloseContour : ", HealOp.GetErrorCode()
     return anObj
 
-def DivideEdge(aShape, EdgeID, Value, IsByParameter):
-    anObj = HealOp.DivideEdge(aShape, EdgeID, Value, IsByParameter)
+#     *  Addition of a point to a given edge object.
+#     *  \param theObject Shape to be processed.
+#     *  \param theEdgeIndex Index of edge to be divided within theObject's shape,
+#     *                      if -1, then theObject itself is the edge.
+#     *  \param theValue Value of parameter on edge or length parameter,
+#     *                  depending on \a isByParameter.
+#     *  \param isByParameter If TRUE : \a theValue is treated as a curve parameter [0..1],
+#     *                       if FALSE : \a theValue is treated as a length parameter [0..1]
+#     *  \return New GEOM_Object, containing processed shape.
+#
+#     *  Example: see GEOM_TestHealing.py
+#
+def DivideEdge(theObject, theEdgeIndex, theValue, isByParameter):
+    anObj = HealOp.DivideEdge(theObject, theEdgeIndex, theValue, isByParameter)
     if HealOp.IsDone() == 0:
       print "DivideEdge : ", HealOp.GetErrorCode()
     return anObj
 
-def GetFreeBoundary(Shape):
-    anObj = HealOp.GetFreeBoundary(Shape)
+#     *  Get a list of wires (wrapped in GEOM_Object-s),
+#     *  that constitute a free boundary of the given shape.
+#     *  \param theObject Shape to get free boundary of.
+#     *  \return [status, theClosedWires, theOpenWires]
+#     *  status: FALSE, if an error(s) occured during the method execution.
+#     *  theClosedWires: Closed wires on the free boundary of the given shape.
+#     *  theOpenWires: Open wires on the free boundary of the given shape.
+#
+#     *  Example: see GEOM_TestHealing.py
+#
+def GetFreeBoundary(theObject):
+    anObj = HealOp.GetFreeBoundary(theObject)
     if HealOp.IsDone() == 0:
       print "GetFreeBoundaries : ", HealOp.GetErrorCode()
     return anObj
@@ -445,20 +974,42 @@ def GetFreeBoundary(Shape):
 # Create advanced objects
 # -----------------------------------------------------------------------------
 
-def MakeCopy(aShape):
-    anObj = InsertOp.MakeCopy(aShape)
+#     *  Create a copy of the given object
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeCopy(theOriginal):
+    anObj = InsertOp.MakeCopy(theOriginal)
     if InsertOp.IsDone() == 0:
       print "MakeCopy : ", InsertOp.GetErrorCode()
     return anObj
 
-def MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter):
-    anObj = PrimOp.MakeFilling(aShape,mindeg,maxdeg,tol2d,tol3d,nbiter)
+#     *  Create a filling from the given compound of contours.
+#     *  \param theShape the compound of contours
+#     *  \param theMinDeg a minimal degree
+#     *  \param theMaxDeg a maximal degree
+#     *  \param theTol2D a 2d tolerance
+#     *  \param theTol3D a 3d tolerance
+#     *  \param theNbIter a number of iteration
+#     *  \return New GEOM_Object, containing the created filling surface.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter):
+    anObj = PrimOp.MakeFilling(theShape, theMinDeg, theMaxDeg, theTol2D, theTol3D, theNbIter)
     if PrimOp.IsDone() == 0:
       print "MakeFilling : ", PrimOp.GetErrorCode()
     return anObj
 
-def MakeGlueFaces(aShape,aTolerance):
-    anObj = ShapesOp.MakeGlueFaces(aShape,aTolerance)
+#     *  Replace coincident faces in theShape by one face.
+#     *  \param theShape Initial shape.
+#     *  \param theTolerance Maximum distance between faces, which can be considered as coincident.
+#     *  \return New GEOM_Object, containing a copy of theShape without coincident faces.
+#
+#     *  Example: see GEOM_Spanner.py
+#
+def MakeGlueFaces(theShape, theTolerance):
+    anObj = ShapesOp.MakeGlueFaces(theShape, theTolerance)
     if ShapesOp.IsDone() == 0:
       print "MakeGlueFaces : ", ShapesOp.GetErrorCode()
     return anObj
@@ -467,12 +1018,51 @@ def MakeGlueFaces(aShape,aTolerance):
 # Boolean (Common, Cut, Fuse, Section)
 # -----------------------------------------------------------------------------
 
-def MakeBoolean(shape1,shape2,operation):
-    anObj = BoolOp.MakeBoolean(shape1,shape2,operation)
+#     *  Perform one of boolean operations on two given shapes.
+#     *  \param theShape1 First argument for boolean operation.
+#     *  \param theShape2 Second argument for boolean operation.
+#     *  \param theOperation Indicates the operation to be done:
+#     *                      1 - Common, 2 - Cut, 3 - Fuse, 4 - Section.
+#     *  \return New GEOM_Object, containing the result shape.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeBoolean(theShape1, theShape2, theOperation):
+    anObj = BoolOp.MakeBoolean(theShape1, theShape2, theOperation)
     if BoolOp.IsDone() == 0:
       print "MakeBoolean : ", BoolOp.GetErrorCode()
     return anObj
 
+#     *  Shortcuts to MakeBoolean() for certain operations
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def MakeCommon(s1, s2):
+    return MakeBoolean(s1, s2, 1)
+#
+def MakeCut(s1, s2):
+    return MakeBoolean(s1, s2, 2)
+#
+def MakeFuse(s1, s2):
+    return MakeBoolean(s1, s2, 3)
+#
+def MakeSection(s1, s2):
+    return MakeBoolean(s1, s2, 4)
+
+#     *  Perform partition operation.
+#     *  \param ListShapes Shapes to be intersected.
+#     *  \param ListTools Shapes to intersect theShapes.
+#     *  \param ListKeepInside Shapes, outside which the results will be deleted.
+#     *         Each shape from theKeepInside must belong to theShapes also.
+#     *  \param ListRemoveInside Shapes, inside which the results will be deleted.
+#     *         Each shape from theRemoveInside must belong to theShapes also.
+#     *  \param Limit Type of resulting shapes (corresponding to TopAbs_ShapeEnum).
+#     *  \param RemoveWebs If TRUE, perform Glue 3D algorithm.
+#     *  \param ListMaterials Material indices for each shape. Make sence, only if theRemoveWebs is TRUE.
+#     *  \return New GEOM_Object, containing the result shapes.
+#
+#     *  Example: see GEOM_TestAll.py
+#
 def MakePartition(ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[],
                   Limit=ShapeType["SHAPE"], RemoveWebs=0, ListMaterials=[]):
     anObj = BoolOp.MakePartition(ListShapes, ListTools,
@@ -482,48 +1072,113 @@ def MakePartition(ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=
       print "MakePartition : ", BoolOp.GetErrorCode()
     return anObj
 
+#     *  Shortcut to MakePartition()
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def Partition(ListShapes, ListTools=[], ListKeepInside=[], ListRemoveInside=[],
+              Limit=ShapeType["SHAPE"], RemoveWebs=0, ListMaterials=[]):
+    anObj = MakePartition(ListShapes, ListTools,
+                          ListKeepInside, ListRemoveInside,
+                          Limit, RemoveWebs, ListMaterials);
+    return anObj
+
 # -----------------------------------------------------------------------------
 # Transform objects
 # -----------------------------------------------------------------------------
 
-def MakeTranslationTwoPoints(aShape,point1,point2):
-    anObj = TrsfOp.TranslateTwoPointsCopy(aShape,point1,point2)
+#     *  Translate the given object along the vector, specified
+#     *  by its end points, creating its copy before the translation.
+#     *  \param theObject The object to be translated.
+#     *  \param thePoint1 Start point of translation vector.
+#     *  \param thePoint2 End point of translation vector.
+#     *  \return New GEOM_Object, containing the translated object.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeTranslationTwoPoints(theObject, thePoint1, thePoint2):
+    anObj = TrsfOp.TranslateTwoPointsCopy(theObject, thePoint1, thePoint2)
     if TrsfOp.IsDone() == 0:
       print "TranslateTwoPointsCopy : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeTranslation(aShape,dx,dy,dz):
-    anObj = TrsfOp.TranslateDXDYDZCopy(aShape,dx,dy,dz)
+#     *  Translate the given object along the vector, specified
+#     *  by its components, creating its copy before the translation.
+#     *  \param theObject The object to be translated.
+#     *  \param theDX,theDY,theDZ Components of translation vector.
+#     *  \return New GEOM_Object, containing the translated object.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeTranslation(theObject, theDX, theDY, theDZ):
+    anObj = TrsfOp.TranslateDXDYDZCopy(theObject, theDX, theDY, theDZ)
     if TrsfOp.IsDone() == 0:
       print "TranslateDXDYDZCopy : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeRotation(aShape,axis,angle):
-    anObj = TrsfOp.RotateCopy(aShape,axis,angle)
+#     *  Rotate the given object around the given axis
+#     *  on the given angle, creating its copy before the rotatation.
+#     *  \param theObject The object to be rotated.
+#     *  \param theAxis Rotation axis.
+#     *  \param theAngle Rotation angle in radians.
+#     *  \return New GEOM_Object, containing the rotated object.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeRotation(theObject, theAxis, theAngle):
+    anObj = TrsfOp.RotateCopy(theObject, theAxis, theAngle)
     if TrsfOp.IsDone() == 0:
       print "RotateCopy : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeScaleTransform(aShape,theCenterofScale,factor):
-    anObj = TrsfOp.ScaleShapeCopy(aShape,theCenterofScale,factor)
+#     *  Scale the given object by the factor, creating its copy before the scaling.
+#     *  \param theObject The object to be scaled.
+#     *  \param thePoint Center point for scaling.
+#     *  \param theFactor Scaling factor value.
+#     *  \return New GEOM_Object, containing the scaled shape.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeScaleTransform(theObject, thePoint, theFactor):
+    anObj = TrsfOp.ScaleShapeCopy(theObject, thePoint, theFactor)
     if TrsfOp.IsDone() == 0:
       print "ScaleShapeCopy : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeMirrorByPlane(aShape,aPlane):
-    anObj = TrsfOp.MirrorPlaneCopy(aShape,aPlane)
+#     *  Create an object, symmetrical
+#     *  to the given one relatively the given plane.
+#     *  \param theObject The object to be mirrored.
+#     *  \param thePlane Plane of symmetry.
+#     *  \return New GEOM_Object, containing the mirrored shape.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeMirrorByPlane(theObject, thePlane):
+    anObj = TrsfOp.MirrorPlaneCopy(theObject, thePlane)
     if TrsfOp.IsDone() == 0:
       print "MirrorPlaneCopy : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakePosition(aShape,theStartLCS,theEndLCS):
-    anObj = TrsfOp.PositionShapeCopy(aShape,theStartLCS,theEndLCS)
+#     *  Modify the Location of the given object by LCS
+#     *  creating its copy before the setting
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakePosition(theObject, theStartLCS, theEndLCS):
+    anObj = TrsfOp.PositionShapeCopy(theObject, theStartLCS, theEndLCS)
     if TrsfOp.IsDone() == 0:
       print "PositionShapeCopy : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeOffset(aShape, anOffset):
-    anObj = TrsfOp.OffsetShapeCopy(aShape, anOffset)
+#     *  Create new object as offset of the given one.
+#     *  \param theObject The base object for the offset.
+#     *  \param theOffset Offset value.
+#     *  \return New GEOM_Object, containing the offset object.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeOffset(theObject, theOffset):
+    anObj = TrsfOp.OffsetShapeCopy(theObject, theOffset)
     if TrsfOp.IsDone() == 0:
       print "OffsetShapeCopy : ", TrsfOp.GetErrorCode()
     return anObj
@@ -532,146 +1187,334 @@ def MakeOffset(aShape, anOffset):
 # Patterns
 # -----------------------------------------------------------------------------
 
-def MakeMultiTranslation1D(aShape,aDir,aStep,aNbTimes):
-    anObj = TrsfOp.MultiTranslate1D(aShape,aDir,aStep,aNbTimes)
+#     *  Translate the given object along the given vector a given number times
+#     *  \param theObject The object to be translated.
+#     *  \param theVector Direction of the translation.
+#     *  \param theStep Distance to translate on.
+#     *  \param theNbTimes Quantity of translations to be done.
+#     *  \return New GEOM_Object, containing compound of all
+#     *          the shapes, obtained after each translation.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeMultiTranslation1D(theObject, theVector, theStep, theNbTimes):
+    anObj = TrsfOp.MultiTranslate1D(theObject, theVector, theStep, theNbTimes)
     if TrsfOp.IsDone() == 0:
       print "MultiTranslate1D : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeMultiTranslation2D(aShape,d1,step1,nbtimes1,d2,step2,nbtimes2):
-    anObj = TrsfOp.MultiTranslate2D(aShape,d1,step1,nbtimes1,d2,step2,nbtimes2)
+#     *  Conseqently apply two specified translations to theObject specified number of times.
+#     *  \param theObject The object to be translated.
+#     *  \param theVector1 Direction of the first translation.
+#     *  \param theStep1 Step of the first translation.
+#     *  \param theNbTimes1 Quantity of translations to be done along theVector1.
+#     *  \param theVector2 Direction of the second translation.
+#     *  \param theStep2 Step of the second translation.
+#     *  \param theNbTimes2 Quantity of translations to be done along theVector2.
+#     *  \return New GEOM_Object, containing compound of all
+#     *          the shapes, obtained after each translation.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeMultiTranslation2D(theObject, theVector1, theStep1, theNbTimes1,
+                                     theVector2, theStep2, theNbTimes2):
+    anObj = TrsfOp.MultiTranslate2D(theObject, theVector1, theStep1, theNbTimes1,
+                                              theVector2, theStep2, theNbTimes2)
     if TrsfOp.IsDone() == 0:
       print "MultiTranslate2D : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeMultiRotation1D(aShape,aVec,aNbTimes):
-    anObj = TrsfOp.MultiRotate1D(aShape,aVec,aNbTimes)
+#     *  Rotate the given object around the given axis a given number times.
+#     *  Rotation angle will be 2*PI/theNbTimes.
+#     *  \param theObject The object to be rotated.
+#     *  \param theAxis The rotation axis.
+#     *  \param theNbTimes Quantity of rotations to be done.
+#     *  \return New GEOM_Object, containing compound of all the
+#     *          shapes, obtained after each rotation.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MultiRotate1D(theObject, theAxis, theNbTimes):
+    anObj = TrsfOp.MultiRotate1D(theObject, theAxis, theNbTimes)
     if TrsfOp.IsDone() == 0:
       print "MultiRotate1D : ", TrsfOp.GetErrorCode()
     return anObj
 
-def MakeMultiRotation2D(aShape,aVec,anAngle,nbtimes1,aStep,nbtimes2):
-    anObj = TrsfOp.MultiRotate2D(aShape,aVec,anAngle,nbtimes1,aStep,nbtimes2)
+#     *  Rotate the given object around the
+#     *  given axis on the given angle a given number
+#     *  times and multi-translate each rotation result.
+#     *  Translation direction passes through center of gravity
+#     *  of rotated shape and its projection on the rotation axis.
+#     *  \param theObject The object to be rotated.
+#     *  \param theAxis Rotation axis.
+#     *  \param theAngle Rotation angle in graduces.
+#     *  \param theNbTimes1 Quantity of rotations to be done.
+#     *  \param theStep Translation distance.
+#     *  \param theNbTimes2 Quantity of translations to be done.
+#     *  \return New GEOM_Object, containing compound of all the
+#     *          shapes, obtained after each transformation.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2):
+    anObj = TrsfOp.MultiRotate2D(theObject, theAxis, theAngle, theNbTimes1, theStep, theNbTimes2)
     if TrsfOp.IsDone() == 0:
       print "MultiRotate2D : ", TrsfOp.GetErrorCode()
     return anObj
 
+#     *  The same, as MultiRotate1D(), but axis is given by direction and point
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def MakeMultiRotation1D(aShape,aDir,aPoint,aNbTimes):
+    aVec = MakeLine(aPoint,aDir)
+    anObj = MultiRotate1D(aShape,aVec,aNbTimes)
+    return anObj
+
+#     *  The same, as MultiRotate2D(), but axis is given by direction and point
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def MakeMultiRotation2D(aShape,aDir,aPoint,anAngle,nbtimes1,aStep,nbtimes2):
+    aVec = MakeLine(aPoint,aDir)
+    anObj = MultiRotate2D(aShape,aVec,anAngle,nbtimes1,aStep,nbtimes2)
+    return anObj
+
 # -----------------------------------------------------------------------------
 # Local operations
 # -----------------------------------------------------------------------------
 
-def MakeFilletAll(aShape,radius):
-    anObj = LocalOp.MakeFilletAll(aShape,radius)
+#     *  Perform a fillet on all edges of the given shape.
+#     *  \param theShape Shape, to perform fillet on.
+#     *  \param theR Fillet radius.
+#     *  \return New GEOM_Object, containing the result shape.
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def MakeFilletAll(theShape, theR):
+    anObj = LocalOp.MakeFilletAll(theShape, theR)
     if LocalOp.IsDone() == 0:
       print "MakeFilletAll : ", LocalOp.GetErrorCode()
     return anObj
 
-def MakeFillet(aShape,radius,aShapeType,ListShape):
+#     *  Perform a fillet on the specified edges/faces of the given shape
+#     *  \param theShape Shape, to perform fillet on.
+#     *  \param theR Fillet radius.
+#     *  \param theShapeType Type of shapes in <theListShapes>.
+#     *  \param theListShapes Global indices of edges/faces to perform fillet on.
+#     *    \note Global index of sub-shape can be obtained, using method geompy.GetSubShapeID().
+#     *  \return New GEOM_Object, containing the result shape.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeFillet(theShape, theR, theShapeType, theListShapes):
     anObj = None
-    if aShapeType == ShapeType["EDGE"]:
-        anObj = LocalOp.MakeFilletEdges(aShape,radius,ListShape)
+    if theShapeType == ShapeType["EDGE"]:
+        anObj = LocalOp.MakeFilletEdges(theShape, theR, theListShapes)
     else:
-        anObj = LocalOp.MakeFilletFaces(aShape,radius,ListShape)
+        anObj = LocalOp.MakeFilletFaces(theShape, theR, theListShapes)
     if LocalOp.IsDone() == 0:
       print "MakeFillet : ", LocalOp.GetErrorCode()
     return anObj
 
-def MakeChamferAll(aShape,d):
-    anObj = LocalOp.MakeChamferAll(aShape,d)
+#     *  Perform a symmetric chamfer on all edges of the given shape.
+#     *  \param theShape Shape, to perform chamfer on.
+#     *  \param theD Chamfer size along each face.
+#     *  \return New GEOM_Object, containing the result shape.
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def MakeChamferAll(theShape, theD):
+    anObj = LocalOp.MakeChamferAll(theShape, theD)
     if LocalOp.IsDone() == 0:
       print "MakeChamferAll : ", LocalOp.GetErrorCode()
     return anObj
 
-def MakeChamferEdge(aShape,d1,d2,face1,face2):
-    anObj = LocalOp.MakeChamferEdge(aShape,d1,d2,face1,face2)
+#     *  Perform a chamfer on edges, common to the specified faces,
+#     *  with distance D1 on the Face1
+#     *  \param theShape Shape, to perform chamfer on.
+#     *  \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 geompy.GetSubShapeID().
+#     *  \return New GEOM_Object, containing the result shape.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2):
+    anObj = LocalOp.MakeChamferEdge(theShape, theD1, theD2, theFace1, theFace2)
     if LocalOp.IsDone() == 0:
       print "MakeChamferEdge : ", LocalOp.GetErrorCode()
     return anObj
 
-def MakeChamferFaces(aShape,d1,d2,ListShape):
-    anObj = LocalOp.MakeChamferFaces(aShape,d1,d2,ListShape)
+#     *  Perform a chamfer on all edges of the specified faces,
+#     *  with distance D1 on the first specified face (if several for one edge)
+#     *  \param theShape Shape, to perform chamfer on.
+#     *  \param theD1 Chamfer size along face from \a theFaces. If both faces,
+#     *               connected to the edge, are in \a theFaces, \a theD1
+#     *               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 geompy.GetSubShapeIndex().
+#     *  \return New GEOM_Object, containing the result shape.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def MakeChamferFaces(theShape, theD1, theD2, theFaces):
+    anObj = LocalOp.MakeChamferFaces(theShape, theD1, theD2, theFaces)
     if LocalOp.IsDone() == 0:
       print "MakeChamferFaces : ", LocalOp.GetErrorCode()
     return anObj
 
-def Archimede(aShape,weight,WaterDensity,MeshingDeflection):
-    anObj = LocalOp.MakeArchimede(aShape,weight,WaterDensity,MeshingDeflection)
-    if LocalOp.IsDone() == 0:
-      print "MakeArchimede : ", LocalOp.GetErrorCode()
-    return anObj
-
-def MakeMultiTransformation1D(Block, DirFaceID1, DirFaceID2, NbTimes):
-    anObj = BlocksOp.MakeMultiTransformation1D(Block, DirFaceID1, DirFaceID2, NbTimes)
-    if BlocksOp.IsDone() == 0:
-      print "MakeMultiTransformation1D : ", BlocksOp.GetErrorCode()
+#     *  Shortcut to MakeChamferEdge() and MakeChamferFaces()
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def MakeChamfer(aShape,d1,d2,aShapeType,ListShape):
+    anObj = None
+    if aShapeType == ShapeType["EDGE"]:
+        anObj = MakeChamferEdge(aShape,d1,d2,ListShape[0],ListShape[1])
+    else:
+        anObj = MakeChamferFaces(aShape,d1,d2,ListShape)
     return anObj
 
-def MakeMultiTransformation2D(Block, DirFaceID1U, DirFaceID2U, NbTimesU, DirFaceID1V, DirFaceID2V, NbTimesV):
-    anObj = BlocksOp.MakeMultiTransformation2D(Block, DirFaceID1U, DirFaceID2U, NbTimesU, DirFaceID1V, DirFaceID2V, NbTimesV)
-    if BlocksOp.IsDone() == 0:
-      print "MakeMultiTransformation2D : ", BlocksOp.GetErrorCode()
+#     *  Perform an Archimde operation on the given shape with given parameters.
+#     *                    The object presenting the resulting face is returned
+#     *  \param theShape Shape to be put in water.
+#     *  \param theWeight Weight og the shape.
+#     *  \param theWaterDensity Density of the water.
+#     *  \param theMeshDeflection Deflection of the mesh, using to compute the section.
+#     *  \return New GEOM_Object, containing a section of \a theShape
+#     *          by a plane, corresponding to water level.
+#
+#     *  Example: see GEOM_TestAll.py
+#
+def Archimede(theShape, theWeight, theWaterDensity, theMeshDeflection):
+    anObj = LocalOp.MakeArchimede(theShape, theWeight, theWaterDensity, theMeshDeflection)
+    if LocalOp.IsDone() == 0:
+      print "MakeArchimede : ", LocalOp.GetErrorCode()
     return anObj
 
-def MakeBlockExplode(Compound, MinNbFaces, MaxNbFaces):
-    aList = BlocksOp.ExplodeCompoundOfBlocks(Compound, MinNbFaces, MaxNbFaces)
-    if BlocksOp.IsDone() == 0:
-      print "MakeBlockExplode : ", BlocksOp.GetErrorCode()
-    return aList
-
 # -----------------------------------------------------------------------------
 # Information objects
 # -----------------------------------------------------------------------------
 
+#     *  Get point coordinates
+#     *  \return [x, y, z]
+#
+#     *  Example: see GEOM_TestMeasures.py
+#
 def PointCoordinates(Point):
     aTuple = MeasuOp.PointCoordinates(Point)
     if MeasuOp.IsDone() == 0:
       print "PointCoordinates : ", MeasuOp.GetErrorCode()
     return aTuple
 
-def BasicProperties(Shape):
-    aTuple = MeasuOp.GetBasicProperties(Shape)
+#     *  Get summarized length of all wires,
+#     *  area of surface and volume of the given shape.
+#     *  \param theShape Shape to define properties of.
+#     *  \return [theLength, theSurfArea, theVolume]
+#     *  theLength:   Summarized length of all wires of the given shape.
+#     *  theSurfArea: Area of surface of the given shape.
+#     *  theVolume:   Volume of the given shape.
+#
+#     *  Example: see GEOM_TestMeasures.py
+#
+def BasicProperties(theShape):
+    aTuple = MeasuOp.GetBasicProperties(theShape)
     if MeasuOp.IsDone() == 0:
       print "BasicProperties : ", MeasuOp.GetErrorCode()
     return aTuple
 
-def BoundingBox(Shape):
-    aTuple = MeasuOp.GetBoundingBox(Shape)
+#     *  Get parameters of bounding box of the given shape
+#     *  \param theShape Shape to obtain bounding box of.
+#     *  \return [Xmin,Xmax, Ymin,Ymax, Zmin,Zmax]
+#     *  Xmin,Xmax: Limits of shape along OX axis.
+#     *  Ymin,Ymax: Limits of shape along OY axis.
+#     *  Zmin,Zmax: Limits of shape along OZ axis.
+#
+#     *  Example: see GEOM_TestMeasures.py
+#
+def BoundingBox(theShape):
+    aTuple = MeasuOp.GetBoundingBox(theShape)
     if MeasuOp.IsDone() == 0:
       print "BoundingBox : ", MeasuOp.GetErrorCode()
     return aTuple
 
-def Inertia(Shape):
-    aTuple = MeasuOp.GetInertia(Shape)
+#     *  Get inertia matrix and moments of inertia of theShape.
+#     *  \param theShape Shape to calculate inertia of.
+#     *  \return [I11,I12,I13, I21,I22,I23, I31,I32,I33, Ix,Iy,Iz]
+#     *  I(1-3)(1-3): Components of the inertia matrix of the given shape.
+#     *  Ix,Iy,Iz:    Moments of inertia of the given shape.
+#
+#     *  Example: see GEOM_TestMeasures.py
+#
+def Inertia(theShape):
+    aTuple = MeasuOp.GetInertia(theShape)
     if MeasuOp.IsDone() == 0:
       print "Inertia : ", MeasuOp.GetErrorCode()
     return aTuple
 
-def MinDistance(Shape1, Shape2):
-    aTuple = MeasuOp.GetMinDistance(Shape1, Shape2)
+#     *  Get minimal distance between the given shapes.
+#     *  \param theShape1,theShape2 Shapes to find minimal distance between.
+#     *  \return Value of the minimal distance between the given shapes.
+#
+#     *  Example: see GEOM_TestMeasures.py
+#
+def MinDistance(theShape1, theShape2):
+    aTuple = MeasuOp.GetMinDistance(theShape1, theShape2)
     if MeasuOp.IsDone() == 0:
       print "MinDistance : ", MeasuOp.GetErrorCode()
     return aTuple[0]
 
-def Tolerance(Shape):
-    aTuple = MeasuOp.GetTolerance(Shape)
+#     *  Get min and max tolerances of sub-shapes of theShape
+#     *  \param theShape Shape, to get tolerances of.
+#     *  \return [FaceMin,FaceMax, EdgeMin,EdgeMax, VertMin,VertMax]
+#     *  FaceMin,FaceMax: Min and max tolerances of the faces.
+#     *  EdgeMin,EdgeMax: Min and max tolerances of the edges.
+#     *  VertMin,VertMax: Min and max tolerances of the vertices.
+#
+#     *  Example: see GEOM_TestMeasures.py
+#
+def Tolerance(theShape):
+    aTuple = MeasuOp.GetTolerance(theShape)
     if MeasuOp.IsDone() == 0:
       print "Tolerance : ", MeasuOp.GetErrorCode()
     return aTuple
 
-def WhatIs(Shape):
-    aDescr = MeasuOp.WhatIs(Shape)
+#     *  Obtain description of the given shape (number of sub-shapes of each type)
+#     *  \param theShape Shape to be described.
+#     *  \return Description of the given shape.
+#
+#     *  Example: see GEOM_TestMeasures.py
+#
+def WhatIs(theShape):
+    aDescr = MeasuOp.WhatIs(theShape)
     if MeasuOp.IsDone() == 0:
       print "WhatIs : ", MeasuOp.GetErrorCode()
     return aDescr
 
-def MakeCDG(aShape):
-    anObj = MeasuOp.GetCentreOfMass(aShape)
+#     *  Get a point, situated at the centre of mass of theShape.
+#     *  \param theShape Shape to define centre of mass of.
+#     *  \return New GEOM_Object, containing the created point.
+#
+#     *  Example: see GEOM_TestMeasures.py
+#
+def MakeCDG(theShape):
+    anObj = MeasuOp.GetCentreOfMass(theShape)
     if MeasuOp.IsDone() == 0:
       print "GetCentreOfMass : ", MeasuOp.GetErrorCode()
     return anObj
 
-def CheckShape(aShape):
-    (IsValid, Status) = MeasuOp.CheckShape(aShape)
+#     *  Check a topology of the given shape.
+#     *  \param theShape Shape to check validity of.
+#     *  \return TRUE, if the shape "seems to be valid" from the topological point of view.
+#     *  If theShape is invalid, prints a description of problem.
+#
+#     *  Example: see GEOM_TestMeasures.py
+#
+def CheckShape(theShape):
+    (IsValid, Status) = MeasuOp.CheckShape(theShape)
     if MeasuOp.IsDone() == 0:
       print "CheckShape : ", MeasuOp.GetErrorCode()
     else:
@@ -683,79 +1526,255 @@ def CheckShape(aShape):
 # Import/Export objects
 # -----------------------------------------------------------------------------
 
-def Import(filename, formatname):
-    anObj = InsertOp.Import(filename, formatname)
+#     *  Import a shape from the BREP or IGES or STEP file
+#     *  (depends on given format) with given name.
+#     *  \param theFileName The file, containing the shape.
+#     *  \param theFormatName Specify format for the file reading.
+#     *         Available formats can be obtained with InsertOp.ImportTranslators() method.
+#     *  \return New GEOM_Object, containing the imported shape.
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def Import(theFileName, theFormatName):
+    anObj = InsertOp.Import(theFileName, theFormatName)
     if InsertOp.IsDone() == 0:
       print "Import : ", InsertOp.GetErrorCode()
     return anObj
 
-def Export(aShape, filename, formatname):
-    InsertOp.Export(aShape, filename, formatname)
+#     *  Shortcuts to Import() for certain formats
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def ImportBREP(theFileName):
+    return Import(theFileName, "BREP")
+#
+def ImportIGES(theFileName):
+    return Import(theFileName, "IGES")
+#
+def ImportSTEP(theFileName):
+    return Import(theFileName, "STEP")
+
+#     *  Export the given shape into a file with given name.
+#     *  \param theObject Shape to be stored in the file.
+#     *  \param theFileName Name of the file to store the given shape in.
+#     *  \param theFormatName Specify format for the shape storage.
+#     *         Available formats can be obtained with InsertOp.ImportTranslators() method.
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def Export(theObject, theFileName, theFormatName):
+    InsertOp.Export(theObject, theFileName, theFormatName)
     if InsertOp.IsDone() == 0:
       print "Export : ", InsertOp.GetErrorCode()
 
+#     *  Shortcuts to Export() for certain formats
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def ExportBREP(theObject, theFileName):
+    return Export(theObject, theFileName, "BREP")
+#
+def ExportIGES(theObject, theFileName):
+    return Export(theObject, theFileName, "IGES")
+#
+def ExportSTEP(theObject, theFileName):
+    return Export(theObject, theFileName, "STEP")
+
 # -----------------------------------------------------------------------------
 # Block operations
 # -----------------------------------------------------------------------------
 
-def MakeQuadFace(E1, E2, E3, E4):
-    anObj = BlocksOp.MakeQuadFaceFourEdges(E1, E2, E3, E4)
+#     *  Create a quadrangle face from four edges. Order of Edges is not
+#     *  important. It is  not necessary that edges share the same vertex.
+#     *  \param E1,E2,E3,E4 Edges for the face bound.
+#     *  \return New GEOM_Object, containing the created face.
+#
+#     *  Example: see GEOM_Spanner.py
+#
+def MakeQuad(E1, E2, E3, E4):
+    anObj = BlocksOp.MakeQuad(E1, E2, E3, E4)
     if BlocksOp.IsDone() == 0:
-      print "MakeQuadFace : ", BlocksOp.GetErrorCode()
+      print "MakeQuad : ", BlocksOp.GetErrorCode()
     return anObj
 
-def MakeQuadFaceTwoEdges(E1, E2):
-    anObj = BlocksOp.MakeQuadFaceTwoEdges(E1, E2)
+#     *  Create a quadrangle face on two edges.
+#     *  The missing edges will be built by creating the shortest ones.
+#     *  \param E1,E2 Two opposite edges for the face.
+#     *  \return New GEOM_Object, containing the created face.
+#
+#     *  Example: see GEOM_Spanner.py
+#
+def MakeQuad2Edges(E1, E2):
+    anObj = BlocksOp.MakeQuad2Edges(E1, E2)
     if BlocksOp.IsDone() == 0:
-      print "MakeQuadFaceEdge : ", BlocksOp.GetErrorCode()
+      print "MakeQuad2Edges : ", BlocksOp.GetErrorCode()
     return anObj
 
-def MakeQuadFaceVertices(V1, V2, V3, V4):
-    anObj = BlocksOp.MakeQuadFaceFourVertices(V1, V2, V3, V4)
+#     *  Create a quadrangle face with specified corners.
+#     *  The missing edges will be built by creating the shortest ones.
+#     *  \param V1,V2,V3,V4 Corner vertices for the face.
+#     *  \return New GEOM_Object, containing the created face.
+#
+#     *  Example: see GEOM_Spanner.py
+#
+def MakeQuad4Vertices(V1, V2, V3, V4):
+    anObj = BlocksOp.MakeQuad4Vertices(V1, V2, V3, V4)
     if BlocksOp.IsDone() == 0:
-      print "MakeQuadFaceVertex : ", BlocksOp.GetErrorCode()
+      print "MakeQuad4Vertices : ", BlocksOp.GetErrorCode()
     return anObj
 
-def MakeHexaSolid(F1, F2, F3, F4, F5, F6):
-    anObj = BlocksOp.MakeHexaSolidSixFaces(F1, F2, F3, F4, F5, F6)
+#     *  Create a hexahedral solid, bounded by the six given faces. Order of
+#     *  faces is not important. It is  not necessary that Faces share the same edge.
+#     *  \param F1,F2,F3,F4,F5,F6 Faces for the hexahedral solid.
+#     *  \return New GEOM_Object, containing the created solid.
+#
+#     *  Example: see GEOM_Spanner.py
+#
+def MakeHexa(F1, F2, F3, F4, F5, F6):
+    anObj = BlocksOp.MakeHexa(F1, F2, F3, F4, F5, F6)
     if BlocksOp.IsDone() == 0:
-      print "MakeHexaSolid : ", BlocksOp.GetErrorCode()
+      print "MakeHexa : ", BlocksOp.GetErrorCode()
     return anObj
 
-def MakeHexaSolidTwoFaces(F1, F2):
-    anObj = BlocksOp.MakeHexaSolidTwoFaces(F1, F2)
+#     *  Create a hexahedral solid between two given faces.
+#     *  The missing faces will be built by creating the smallest ones.
+#     *  \param F1,F2 Two opposite faces for the hexahedral solid.
+#     *  \return New GEOM_Object, containing the created solid.
+#
+#     *  Example: see GEOM_Spanner.py
+#
+def MakeHexa2Faces(F1, F2):
+    anObj = BlocksOp.MakeHexa2Faces(F1, F2)
+    if BlocksOp.IsDone() == 0:
+      print "MakeHexa2Faces : ", BlocksOp.GetErrorCode()
+    return anObj
+
+#     *  Multi-transformate block and glue the result.
+#     *  Transformation is defined so, as to superpose direction faces.
+#     *  \param Block Hexahedral solid to be multi-transformed.
+#     *  \param DirFace1 ID of First direction face.
+#     *  \param DirFace2 ID of Second direction face.
+#     *  \param NbTimes Quantity of transformations to be done.
+#     *    \note Unique ID of sub-shape can be obtained, using method GetSubShapeID().
+#     *  \return New GEOM_Object, containing the result shape.
+#
+#     *  Example: see GEOM_Spanner.py
+#
+def MakeMultiTransformation1D(Block, DirFace1, DirFace2, NbTimes):
+    anObj = BlocksOp.MakeMultiTransformation1D(Block, DirFace1, DirFace2, NbTimes)
+    if BlocksOp.IsDone() == 0:
+      print "MakeMultiTransformation1D : ", BlocksOp.GetErrorCode()
+    return anObj
+
+#     *  Multi-transformate block and glue the result.
+#     *  \param Block Hexahedral solid to be multi-transformed.
+#     *  \param DirFace1U,DirFace2U IDs of Direction faces for the first transformation.
+#     *  \param DirFace1V,DirFace2V IDs of Direction faces for the second transformation.
+#     *  \param NbTimesU,NbTimesV Quantity of transformations to be done.
+#     *  \return New GEOM_Object, containing the result shape.
+#
+#     *  Example: see GEOM_Spanner.py
+#
+def MakeMultiTransformation2D(Block, DirFace1U, DirFace2U, NbTimesU,
+                                    DirFace1V, DirFace2V, NbTimesV):
+    anObj = BlocksOp.MakeMultiTransformation2D(Block, DirFace1U, DirFace2U, NbTimesU,
+                                                     DirFace1V, DirFace2V, NbTimesV)
     if BlocksOp.IsDone() == 0:
-      print "MakeHexaSolidTwoFace : ", BlocksOp.GetErrorCode()
+      print "MakeMultiTransformation2D : ", BlocksOp.GetErrorCode()
     return anObj
 
+#     *  Get all the blocks, contained in the given compound.
+#     *  \param theCompound The compound to explode.
+#     *  \param theMinNbFaces If solid has lower number of faces, it is not a block.
+#     *  \param theMaxNbFaces If solid has higher number of faces, it is not a block.
+#     *    \note If theMaxNbFaces = 0, the maximum number of faces is not restricted.
+#     *  \return List of GEOM_Objects, containing the retrieved blocks.
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def MakeBlockExplode(theCompound, theMinNbFaces, theMaxNbFaces):
+    aList = BlocksOp.ExplodeCompoundOfBlocks(theCompound, theMinNbFaces, theMaxNbFaces)
+    if BlocksOp.IsDone() == 0:
+      print "MakeBlockExplode : ", BlocksOp.GetErrorCode()
+    return aList
+
+#     *  Check, if the compound of blocks is given.
+#     *  To be considered as a compound of blocks, the
+#     *  given shape must satisfy the following conditions:
+#     *  - Each element of the compound should be a Block (6 faces and 12 edges).
+#     *  - A connection between two Blocks should be an entire quadrangle face or an entire edge.
+#     *  - The compound should be connexe.
+#     *  - The glue between two quadrangle faces should be applied.
+#     *  \param theCompound The compound to check.
+#     *  \return TRUE, if the given shape is a compound of blocks.
+#     *  If theCompound is not valid, prints all discovered errors.
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def CheckCompoundOfBlocks(theCompound):
+    (IsValid, BCErrors) = BlocksOp.CheckCompoundOfBlocks(theCompound)
+    if BlocksOp.IsDone() == 0:
+      print "CheckCompoundOfBlocks : ", BlocksOp.GetErrorCode()
+    else:
+      if IsValid == 0:
+        Descr = BlocksOp.PrintBCErrors(theCompound, BCErrors)
+        print Descr
+    return IsValid
+
 # -----------------------------------------------------------------------------
 # Group operations
 # -----------------------------------------------------------------------------
 
-def CreateGroup(MainShape, ShapeType):
-    anObj = GroupOp.CreateGroup(MainShape, ShapeType)
+#     *  Creates a new group which will store sub shapes of theMainShape
+#     *  \param theMainShape is a GEOM object on which the group is selected
+#     *  \param theShapeType defines a shape type of the group
+#     *  \return a newly created GEOM group
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def CreateGroup(theMainShape, theShapeType):
+    anObj = GroupOp.CreateGroup(theMainShape, theShapeType)
     if GroupOp.IsDone() == 0:
        print "CreateGroup : ", GroupOp.GetErrorCode()
     return anObj
 
-def AddObject(Group, SubShapeID):
-    anObj = GroupOp.AddObject(Group, SubShapeID)
+#     *  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 GetSubShapeID() to get an unique ID of the sub shape
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def AddObject(theGroup, theSubShapeID):
+    GroupOp.AddObject(theGroup, theSubShapeID)
     if GroupOp.IsDone() == 0:
       print "AddObject : ", GroupOp.GetErrorCode()
-    return anObj
 
-def RemoveObject(Group, SubShapeID):
-    anObj = GroupOp.RemoveObject(Group, SubShapeID)
+#     *  Removes a sub object with ID \a theSubShapeId from the group
+#     *  \param theGroup is a GEOM group from which the new sub shape is removed
+#     *  \param theSubShapeID is a sub shape ID in the main object.
+#     *  \note Use method GetSubShapeID() to get an unique ID of the sub shape
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def RemoveObject(theGroup, theSubShapeID):
+    GroupOp.RemoveObject(theGroup, theSubShapeID)
     if GroupOp.IsDone() == 0:
       print "RemoveObject : ", GroupOp.GetErrorCode()
-    return anObj
 
-def GetObjectIDs(Group):
-    anObj = GroupOp.GetObjects(Group)
+#     *  Returns a list of sub objects ID stored in the group
+#     *  \param theGroup is a GEOM group for which a list of IDs is requested
+#
+#     *  Example: see GEOM_TestOthers.py
+#
+def GetObjectIDs(theGroup):
+    ListIDs = GroupOp.GetObjects(theGroup)
     if GroupOp.IsDone() == 0:
       print "GetObjectIDs : ", GroupOp.GetErrorCode()
-    return anObj
+    return ListIDs
 
+# Add Path to the system path
+#
 def addPath(Path):
     if (sys.path.count(Path) < 1):
-       sys.path.append(Path)
\ No newline at end of file
+       sys.path.append(Path)
index ae27786e5cf08c9f2f9bdbe114345dc3ba12ee5a..2a5478e7778b59b1ec1cd819986258f43ff5dad8 100644 (file)
@@ -231,7 +231,7 @@ void GenerationGUI_FillingDlg::SelectionIntoArgument()
 void GenerationGUI_FillingDlg::SetEditCurrentArgument()
 {
   QPushButton* send = (QPushButton*)sender();
-  globalSelection();
+  globalSelection( GEOM_ALLSHAPES );
 
   if(send == GroupPoints->PushButton1) {
     GroupPoints->LineEdit1->setFocus();
index d491b8cb15c30ae0aa944d489ee5f6d45f94d1f7..51674226aee3956feb72d8f46f034320185064c0 100644 (file)
@@ -116,6 +116,8 @@ void GenerationGUI_PipeDlg::Init()
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 
   initName(tr("GEOM_PIPE"));
+
+  globalSelection( GEOM_ALLSHAPES );
 }
 
 
@@ -253,6 +255,7 @@ void GenerationGUI_PipeDlg::enterEvent(QEvent* e)
 void GenerationGUI_PipeDlg::ActivateThisDialog()
 {
   GEOMBase_Skeleton::ActivateThisDialog();
+  globalSelection( GEOM_ALLSHAPES );
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
   displayPreview();
 }
index 944946de775ccb18d0196a374c3cb5e7c25f6be2..bd18da9b42c72fdbda72af7f0ca959d523465d9d 100644 (file)
@@ -129,6 +129,8 @@ void GenerationGUI_PrismDlg::Init()
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ;
 
   initName(tr("GEOM_PRISM"));
+
+  globalSelection( GEOM_ALLSHAPES );
 }
 
 
@@ -210,7 +212,7 @@ void GenerationGUI_PrismDlg::SelectionIntoArgument()
 void GenerationGUI_PrismDlg::SetEditCurrentArgument()
 {
   QPushButton* send = (QPushButton*)sender();
-  globalSelection();
+  globalSelection( GEOM_ALLSHAPES );
 
   if(send == GroupPoints->PushButton1) {
     GroupPoints->LineEdit1->setFocus();
@@ -258,6 +260,7 @@ void GenerationGUI_PrismDlg::enterEvent(QEvent * e)
 void GenerationGUI_PrismDlg::ActivateThisDialog()
 {
   GEOMBase_Skeleton::ActivateThisDialog();
+  globalSelection( GEOM_ALLSHAPES );
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
   GroupPoints->LineEdit1->setFocus();
   myEditCurrentArgument = GroupPoints->LineEdit1;
index 1bd537b48c159459cfc8e38a9a831d08bc858be9..f811dba46c6c3c083e63dda1158995ef8c599e79 100644 (file)
@@ -128,6 +128,8 @@ void GenerationGUI_RevolDlg::Init()
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument())) ;
 
   initName(tr("GEOM_REVOLUTION"));
+
+  globalSelection( GEOM_ALLSHAPES );
 }
 
 
@@ -233,7 +235,7 @@ void GenerationGUI_RevolDlg::SelectionIntoArgument()
 void GenerationGUI_RevolDlg::SetEditCurrentArgument()
 {
   QPushButton* send = (QPushButton*)sender();
-  globalSelection();
+  globalSelection( GEOM_ALLSHAPES );
 
   if(send == GroupPoints->PushButton1) {
     GroupPoints->LineEdit1->setFocus();
@@ -271,6 +273,7 @@ void GenerationGUI_RevolDlg::LineEditReturnPressed()
 void GenerationGUI_RevolDlg::ActivateThisDialog()
 {
   GEOMBase_Skeleton::ActivateThisDialog();
+  globalSelection( GEOM_ALLSHAPES );
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
   GroupPoints->LineEdit1->setFocus();
   myEditCurrentArgument = GroupPoints->LineEdit1;
index 5973e282082bff818e566600c58bd13624d0d40a..0559aaff7d226ffc9a86bc0e90d2f878a98036a6 100644 (file)
@@ -279,7 +279,7 @@ void GroupGUI_GroupDlg::SelectionIntoArgument()
       GEOM::GEOM_Object_var anObj =
         GEOMBase::ConvertIOinGEOMObject( mySelection->firstIObject(), aResult );
 
-      if ( aResult && !anObj->_is_nil() ) {
+      if ( aResult && !anObj->_is_nil() && GEOMBase::IsShape( anObj ) ) {
         myMainObj = anObj;
         myEditCurrentArgument->setText( GEOMBase::GetName( anObj ) );
         updateState();
@@ -467,7 +467,7 @@ void GroupGUI_GroupDlg::setShapeType( const TopAbs_ShapeEnum theType )
 //=================================================================================
 void GroupGUI_GroupDlg::activateSelection()
 {
-  globalSelection();
+  globalSelection( GEOM_ALLSHAPES );
 
   if ( !myMainObj->_is_nil() && !myEditCurrentArgument ) {
     localSelection( myMainObj, getShapeType() );
index e1a6247e0aea71d8aa8b1c919748a146627db7ef..7fed1dceb4adfa14f5a421888448434ed54359bb 100644 (file)
@@ -32,6 +32,6 @@ VPATH=.:@srcdir@
 
 @COMMENCE@
 
-SUBDIRS = OBJECT ARCHIMEDE NMTDS NMTTools NMTAlgo SKETCHER PARTITION GEOM BREPExport BREPImport IGESExport IGESImport STEPExport STEPImport ShHealOper GEOMImpl GEOM_I GEOMClient DlgRef GEOMFiltersSelection GEOMGUI GEOMBase DisplayGUI GEOMToolsGUI BasicGUI PrimitiveGUI GenerationGUI EntityGUI BuildGUI BooleanGUI TransformationGUI OperationGUI RepairGUI MeasureGUI GroupGUI BlocksGUI GEOM_SWIG
+SUBDIRS = OBJECT ARCHIMEDE NMTDS NMTTools NMTAlgo SKETCHER PARTITION GEOM BREPExport BREPImport IGESExport IGESImport STEPExport STEPImport ShHealOper GEOMImpl GEOM_I GEOMClient DlgRef GEOMFiltersSelection GEOMGUI GEOMBase DisplayGUI GEOMToolsGUI BasicGUI PrimitiveGUI GenerationGUI EntityGUI BuildGUI BooleanGUI TransformationGUI OperationGUI RepairGUI MeasureGUI GroupGUI BlocksGUI GEOM_SWIG GEOM_I_Superv
 
 @MODULE@
index 30a37d1531c3b406a3165d0d56738e348e7e1005..39bcaf04f0112e6043af7059a66d225cf136ab14 100644 (file)
@@ -303,7 +303,7 @@ void MeasureGUI_Skeleton::redisplayPreview()
 //=================================================================================
 void MeasureGUI_Skeleton::activateSelection()
 {
-  globalSelection();
+  globalSelection( GEOM_ALLSHAPES );
 }
 
 //=================================================================================
index a0bae70326b8841c23de77c4b073d2f6247b0926..26a867ae2eb011f96f2859f52d3bab4b9757af4c 100644 (file)
@@ -123,6 +123,8 @@ void OperationGUI_ArchimedeDlg::Init( SALOME_Selection* Sel )
 
   initName( tr( "GEOM_ARCHIMEDE" ) );
 
+  globalSelection( GEOM_ALLSHAPES );
+
   SelectionIntoArgument();
   
   /* displays Dialog */
@@ -171,8 +173,11 @@ void OperationGUI_ArchimedeDlg::SelectionIntoArgument()
   Standard_Boolean testResult = Standard_False;
   myShape = GEOMBase::ConvertIOinGEOMObject( mySelection->firstIObject(), testResult );
 
-  if ( !testResult || myShape->_is_nil() )
+  if ( !testResult || myShape->_is_nil() || !GEOMBase::IsShape( myShape ) )
+  {
+    myShape = GEOM::GEOM_Object::_nil();
     return;
+  }
 
   myEditCurrentArgument->setText( GEOMBase::GetName( myShape ) );
 }
@@ -201,6 +206,7 @@ void OperationGUI_ArchimedeDlg::LineEditReturnPressed()
 void OperationGUI_ArchimedeDlg::ActivateThisDialog()
 {
   GEOMBase_Skeleton::ActivateThisDialog();
+  globalSelection( GEOM_ALLSHAPES );
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
   return;
 }
index 74721e94720aaf806a843e10fd87717c883443ae..be89f1131d66246634e57a6294a4d5ab1322b145 100644 (file)
@@ -234,55 +234,61 @@ void OperationGUI_PartitionDlg::ClickOnCancel()
 //=================================================================================
 void OperationGUI_PartitionDlg::SelectionIntoArgument()
 {
-  myEditCurrentArgument->setText("");
+  myEditCurrentArgument->setText( "" );
   QString aString = "";
   
-  int nbSel = GEOMBase::GetNameOfSelectedIObjects(mySelection, aString);
+  int nbSel = GEOMBase::GetNameOfSelectedIObjects( mySelection, aString, true );
     
-  if(nbSel < 1) {
-    if(myEditCurrentArgument == GroupPoints->LineEdit1)
-      {
-       myListShapes.length(0);
-       myListMaterials.length(0);
-      }
-    else if(myEditCurrentArgument == GroupPoints->LineEdit2)
-      myListTools.length(0);
-    else if(myEditCurrentArgument == GroupPoints->LineEdit3)
-      myListRemoveInside.length(0);
-    else if(myEditCurrentArgument == GroupPoints->LineEdit4)
-      myListKeepInside.length(0);
+  if ( nbSel < 1 )
+  {
+    if ( myEditCurrentArgument == GroupPoints->LineEdit1 )
+    {
+      myListShapes.length( 0 );
+      myListMaterials.length( 0 );
+    }
+    else if ( myEditCurrentArgument == GroupPoints->LineEdit2 )
+      myListTools.length( 0 );
+    else if ( myEditCurrentArgument == GroupPoints->LineEdit3 )
+      myListRemoveInside.length( 0 );
+    else if ( myEditCurrentArgument == GroupPoints->LineEdit4 )
+      myListKeepInside.length( 0 );
   }
   
   // One and only one plane can be selected
   
-  if(getConstructorId() == 1 && myEditCurrentArgument == GroupPoints->LineEdit2 && nbSel!=1) {
-    myListTools.length(0);
+  if ( getConstructorId() == 1 && myEditCurrentArgument == GroupPoints->LineEdit2 && nbSel != 1 )
+  {
+    myListTools.length( 0 );
     return;
   }
   
-  if(myEditCurrentArgument == GroupPoints->LineEdit1) {
-    GEOMBase::ConvertListOfIOInListOfGO(mySelection->StoredIObjects(),  myListShapes);
-    myListMaterials.length(0);
-    if (!myListShapes.length())
+  if ( myEditCurrentArgument == GroupPoints->LineEdit1 )
+  {
+    GEOMBase::ConvertListOfIOInListOfGO( mySelection->StoredIObjects(), myListShapes, true );
+    myListMaterials.length( 0 );
+    if ( !myListShapes.length() )
       return;
   }
-  else if(myEditCurrentArgument == GroupPoints->LineEdit2) {
-    GEOMBase::ConvertListOfIOInListOfGO(mySelection->StoredIObjects(),  myListTools);
-    if (!myListTools.length())
+  else if ( myEditCurrentArgument == GroupPoints->LineEdit2 )
+  {
+    GEOMBase::ConvertListOfIOInListOfGO( mySelection->StoredIObjects(), myListTools, true );
+    if ( !myListTools.length() )
       return;
   }
-  else if(myEditCurrentArgument == GroupPoints->LineEdit3) {
-    GEOMBase::ConvertListOfIOInListOfGO(mySelection->StoredIObjects(),  myListRemoveInside);
+  else if(myEditCurrentArgument == GroupPoints->LineEdit3)
+  {
+    GEOMBase::ConvertListOfIOInListOfGO( mySelection->StoredIObjects(), myListRemoveInside, true );
     if (!myListRemoveInside.length())
       return;
   }
-  else if(myEditCurrentArgument == GroupPoints->LineEdit4) {
-    GEOMBase::ConvertListOfIOInListOfGO(mySelection->StoredIObjects(),  myListKeepInside);
-    if (!myListKeepInside.length())
+  else if(myEditCurrentArgument == GroupPoints->LineEdit4)
+  {
+    GEOMBase::ConvertListOfIOInListOfGO( mySelection->StoredIObjects(),  myListKeepInside, true );
+    if ( !myListKeepInside.length() )
       return;
   }
   
-  myEditCurrentArgument->setText(aString);
+  myEditCurrentArgument->setText( aString );
 }
 
 
@@ -297,17 +303,17 @@ void OperationGUI_PartitionDlg::SetEditCurrentArgument()
   if(send == GroupPoints->PushButton1) 
     myEditCurrentArgument = GroupPoints->LineEdit1;
   else if(send == GroupPoints->PushButton2)
-    {
-      myEditCurrentArgument = GroupPoints->LineEdit2;
-      if( getConstructorId()==1 )
-       globalSelection( GEOM_PLANE  );
-    }
+  {
+    myEditCurrentArgument = GroupPoints->LineEdit2;
+    if( getConstructorId()==1 )
+      globalSelection( GEOM_PLANE  );
+  }
   else if(send == GroupPoints->PushButton3)
     myEditCurrentArgument = GroupPoints->LineEdit3;
   else if(send == GroupPoints->PushButton4)
     myEditCurrentArgument = GroupPoints->LineEdit4;
  
-  globalSelection();
+  globalSelection( GEOM_ALLSHAPES );
       
   myEditCurrentArgument->setFocus();
   SelectionIntoArgument();
index 826879bfb6723d57b47a80c65865c5f30bceb20f..8bd14a9a51ff1e0da1ca370efe900e872be5ab03 100644 (file)
@@ -48,7 +48,8 @@ LIB_SRC =     RepairGUI.cxx \
                RepairGUI_RemoveIntWiresDlg.cxx \
                RepairGUI_RemoveHolesDlg.cxx \
                RepairGUI_DivideEdgeDlg.cxx \
-               RepairGUI_FreeBoundDlg.cxx 
+               RepairGUI_FreeBoundDlg.cxx \
+               RepairGUI_GlueDlg.cxx
     
 LIB_MOC = \
                RepairGUI_SewingDlg.h \
@@ -58,7 +59,8 @@ LIB_MOC = \
                RepairGUI_RemoveIntWiresDlg.h \
                RepairGUI_RemoveHolesDlg.h \
                RepairGUI_DivideEdgeDlg.h  \
-               RepairGUI_FreeBoundDlg.h     
+               RepairGUI_FreeBoundDlg.h \
+               RepairGUI_GlueDlg.h     
 
 LIB_CLIENT_IDL = SALOME_GenericObj.idl SALOME_Component.idl
 
index f9a5789f9737ed96be50a1fa85617eb76911bf24..5b97e0d7843b434b5aa3479de412f79ad13f2ee2 100644 (file)
@@ -41,6 +41,7 @@
 #include "RepairGUI_RemoveIntWiresDlg.h"// Method REMOVE INTERNAL WIRES
 #include "RepairGUI_DivideEdgeDlg.h"    // Method DEVIDE EDGE
 #include "RepairGUI_FreeBoundDlg.h"     // Method FREE BOUNDARIES
+#include "RepairGUI_GlueDlg.h"          // Method GLUE FACES
 
 #include "utilities.h"
 
@@ -89,40 +90,42 @@ bool RepairGUI::OnGUIEvent(int theCommandID, QAD_Desktop* parent)
   SALOME_Selection* Sel = SALOME_Selection::Selection(QAD_Application::getDesktop()->getActiveStudy()->getSelection());
 
   QDialog* aDlg = NULL;
-  switch (theCommandID)
-  {
+  switch (theCommandID) {
     case 601: // SEWING
-                       aDlg = new RepairGUI_SewingDlg( parent, "", Sel );
-                       break;
+      aDlg = new RepairGUI_SewingDlg( parent, "", Sel );
+      break;
+    case 602: // GLUE FACES
+      aDlg = new RepairGUI_GlueDlg( parent, "", Sel );
+      break;
     case 603: // SUPPRESS FACES
-                       aDlg = new RepairGUI_SuppressFacesDlg( parent, "", Sel);
-                       break;
+      aDlg = new RepairGUI_SuppressFacesDlg( parent, "", Sel);
+      break;
     case 604: // SUPPRESS HOLES
       aDlg = new RepairGUI_RemoveHolesDlg( parent, "", Sel );
-                       break;
+      break;
     case 605: // SHAPE PROCESSING
       aDlg = new RepairGUI_ShapeProcessDlg( parent, "", Sel );
-                       break;
-               case 606: // CLOSE CONTOUR
-                 aDlg = new RepairGUI_CloseContourDlg( parent, "", Sel );
-                 break;
-               case 607: // REMOVE INTERNAL WIRES
-                       aDlg = new RepairGUI_RemoveIntWiresDlg( parent, "", Sel );
-                       break;
-               case 608: // ADD POINT ON EDGE
-                       aDlg = new RepairGUI_DivideEdgeDlg( parent, "", Sel );
-                       break;
-               case 609: // FREE BOUNDARIES
-                       aDlg = new RepairGUI_FreeBoundDlg( parent, Sel );
-                       break;      
+      break;
+    case 606: // CLOSE CONTOUR
+      aDlg = new RepairGUI_CloseContourDlg( parent, "", Sel );
+      break;
+    case 607: // REMOVE INTERNAL WIRES
+      aDlg = new RepairGUI_RemoveIntWiresDlg( parent, "", Sel );
+      break;
+    case 608: // ADD POINT ON EDGE
+      aDlg = new RepairGUI_DivideEdgeDlg( parent, "", Sel );
+      break;
+    case 609: // FREE BOUNDARIES
+      aDlg = new RepairGUI_FreeBoundDlg( parent, Sel );
+      break;    
     default:
-                       parent->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID));
-                       break;
+      parent->putInfo(tr("GEOM_PRP_COMMAND").arg(theCommandID));
+      break;
   }
 
   if ( aDlg )
-       aDlg->show();
-     
+    aDlg->show();
+    
   return true;
 }
 
index e18ae59fe882748ae31a47851ad6dc453d1c3cf2..46721ef621b8bbb174ff0587dc1e6e285a431135 100644 (file)
@@ -92,7 +92,7 @@ RepairGUI_CloseContourDlg::RepairGUI_CloseContourDlg(QWidget* parent, const char
   myIsVertexGr->insert( new QRadioButton( tr( "Close by new edge" ), myIsVertexGr ), 1 );
   myIsVertexGr->find( 0 )->toggle();
 
-  Layout1->addWidget(GroupPoints, 1, 0);
+  Layout1->addWidget(GroupPoints, 2, 0);
   GroupPoints->getGroupBoxLayout()->addLayout( aSelectWiresLay, 1, 0 );
   GroupPoints->getGroupBoxLayout()->addMultiCellWidget(myIsVertexGr, 2, 2, 0, 2);
   /***************************************************************/
@@ -140,6 +140,8 @@ void RepairGUI_CloseContourDlg::Init()
   connect(mySelectWiresEdt, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
 
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
+
+  initName( tr( "CLOSE_CONTOUR_NEW_OBJ_NAME" ) );
 }
 
 
@@ -162,7 +164,9 @@ void RepairGUI_CloseContourDlg::ClickOnOk()
 bool RepairGUI_CloseContourDlg::ClickOnApply()
 {
   if ( !onAccept() )
-       return false;
+    return false;
+
+  initName();
 
   myEditCurrentArgument = GroupPoints->LineEdit1;
   myEditCurrentArgument->setText("");
@@ -192,26 +196,31 @@ void RepairGUI_CloseContourDlg::ClickOnCancel()
 void RepairGUI_CloseContourDlg::SelectionIntoArgument()
 {
   erasePreview();
-  myEditCurrentArgument->setText("");
-  mySelectWiresEdt->setText("");
-  if ( myEditCurrentArgument == GroupPoints->LineEdit1 ) myObject = GEOM::GEOM_Object::_nil();
-  else if ( myEditCurrentArgument == mySelectWiresEdt ) myWiresInd->length( 0 );
+  myEditCurrentArgument->setText( "" );
+  mySelectWiresEdt->setText( "" );
+  
+  if ( myEditCurrentArgument == GroupPoints->LineEdit1 )
+    myObject = GEOM::GEOM_Object::_nil();
+  else if ( myEditCurrentArgument == mySelectWiresEdt )
+    myWiresInd->length( 0 );
 
   if ( mySelection->IObjectCount() == 1 )
   {
     Handle(SALOME_InteractiveObject) anIO = mySelection->firstIObject();
 
-    if ( myEditCurrentArgument == GroupPoints->LineEdit1 )     // face selection
+    if ( myEditCurrentArgument == GroupPoints->LineEdit1 )  // face selection
     {
       Standard_Boolean aRes;
       myObject = GEOMBase::ConvertIOinGEOMObject( anIO, aRes );
-      if ( aRes )
+      if ( aRes && GEOMBase::IsShape( myObject ) )
       {
-       myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
-       TopoDS_Shape aShape;
-       if ( myGeomBase->GetShape( myObject, aShape, TopAbs_WIRE ) )
-         mySelectWiresEdt->setText( myEditCurrentArgument->text() );
+        myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
+        TopoDS_Shape aShape;
+        if ( myGeomBase->GetShape( myObject, aShape, TopAbs_WIRE ) )
+          mySelectWiresEdt->setText( myEditCurrentArgument->text() );
       }
+      else
+        myObject = GEOM::GEOM_Object::_nil();
     }
     else if ( myEditCurrentArgument == mySelectWiresEdt )
     {
@@ -220,9 +229,9 @@ void RepairGUI_CloseContourDlg::SelectionIntoArgument()
       const int n = aMap.Extent();
       myWiresInd->length( n );
       for ( int i = 1; i <= n; i++ )
-       myWiresInd[i-1] = aMap( i );
+        myWiresInd[ i-1 ] = aMap( i );
       if ( n )
-       myEditCurrentArgument->setText( QString::number( n ) + "_" + tr( "GEOM_WIRE" ) + tr( "_S_" ) );
+        myEditCurrentArgument->setText( QString::number( n ) + "_" + tr( "GEOM_WIRE" ) + tr( "_S_" ) );
     }
   }
 }
index 6ad2af742d1b52d828b4b94dfa12922a2cc6bdcf..acd54e86dd77a68c8b1dd5c641c6bb21ad800157 100644 (file)
@@ -80,9 +80,9 @@ RepairGUI_DivideEdgeDlg::RepairGUI_DivideEdgeDlg(QWidget* parent, const char* na
   aLay->addWidget( aLbl1, 0, 0 );
   aLay->addWidget( myValEdt, 0, 1 );
 
-  Layout1->addWidget(GroupPoints, 1, 0);
+  Layout1->addWidget(GroupPoints, 2, 0);
   GroupPoints->getGroupBoxLayout()->addMultiCellWidget(myIsParameterGr, 1, 1, 0, 2);
-       GroupPoints->getGroupBoxLayout()->addLayout( aLay, 2, 0 );
+  GroupPoints->getGroupBoxLayout()->addLayout( aLay, 2, 0 );
   /***************************************************************/
 
   Init();
@@ -125,6 +125,8 @@ void RepairGUI_DivideEdgeDlg::Init()
   connect(GroupPoints->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
 
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
+
+  initName( tr( "DEVIDE_EDGE_NEW_OBJECT_NAME" ) );
 }
 
 
@@ -149,6 +151,8 @@ bool RepairGUI_DivideEdgeDlg::ClickOnApply()
   if ( !onAccept() )
        return false;
 
+  initName();
+
   myEditCurrentArgument->setText("");
   myObject = GEOM::GEOM_Object::_nil();
   myIndex = -1;
index cdc78cb2b8d34dece3c2442afbe8407f969c72df..ca9930705c1e1866e60e2ee123130b748b20e202 100644 (file)
@@ -156,7 +156,7 @@ void RepairGUI_FreeBoundDlg::onSelectionDone()
   GEOM::GEOM_Object_var anObj =
     GEOMBase::ConvertIOinGEOMObject( mySelection->firstIObject(), isOk );
 
-  if ( !isOk || anObj->_is_nil() || anObj->GetType() == GEOM_MARKER )
+  if ( !isOk || anObj->_is_nil() || !GEOMBase::IsShape( anObj ) )
     return;
   else
   {
diff --git a/src/RepairGUI/RepairGUI_GlueDlg.cxx b/src/RepairGUI/RepairGUI_GlueDlg.cxx
new file mode 100644 (file)
index 0000000..11e5858
--- /dev/null
@@ -0,0 +1,297 @@
+//  GEOM GEOMGUI : GUI for Geometry component
+//
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU Lesser General Public
+//  License as published by the Free Software Foundation; either
+//  version 2.1 of the License.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+//  File   : RepairGUI_GlueDlg.cxx
+//  Author : Lucien PIGNOLONI
+//  Module : GEOM
+//  $Header$
+
+using namespace std;
+#include "RepairGUI_GlueDlg.h"
+
+#include "QAD_Desktop.h"
+#include "QAD_SpinBoxDbl.h"
+
+#include "OCCViewer_Viewer3d.h"
+#include "DlgRef_1Sel_Ext.h"
+#include "SALOME_ListIteratorOfListIO.hxx"
+
+#include "GEOMImpl_Types.hxx"
+
+#define DEFAULT_TOLERANCE_VALUE 1e-07
+
+
+//=================================================================================
+// class    : RepairGUI_GlueDlg()
+// purpose  : Constructs a RepairGUI_GlueDlg  which is 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.
+//=================================================================================
+RepairGUI_GlueDlg::RepairGUI_GlueDlg(QWidget* parent, const char* name, SALOME_Selection* Sel, bool modal, WFlags fl)
+  :GEOMBase_Skeleton(parent, name, Sel, modal, WStyle_Customize | WStyle_NormalBorder | WStyle_Title | WStyle_SysMenu)
+{
+  QPixmap image0(QAD_Desktop::getResourceManager()->loadPixmap("GEOM",tr("ICON_DLG_GLUE_FACES")));
+  QPixmap image1(QAD_Desktop::getResourceManager()->loadPixmap("GEOM",tr("ICON_SELECT")));
+
+  setCaption(tr("GEOM_GLUE_TITLE"));
+
+  /***************************************************************/
+  GroupConstructors->setTitle(tr("GEOM_GLUE_TITLE"));
+  RadioButton1->setPixmap(image0);
+  RadioButton2->close(TRUE);
+  RadioButton3->close(TRUE);
+
+  GroupPoints = new DlgRef_1Sel_Ext(this, "GroupPoints");
+  GroupPoints->GroupBox1->setTitle(tr("GEOM_GLUE"));
+  GroupPoints->TextLabel1->setText(tr("GEOM_SELECTED_SHAPE"));
+  GroupPoints->PushButton1->setPixmap(image1);
+  GroupPoints->LineEdit1->setReadOnly( true );
+
+  Layout1->addWidget(GroupPoints, 2, 0);
+
+  QGridLayout* aLay = new QGridLayout( 0, 2, 2, 0, 6, "aLay" );
+  QLabel* aLbl1 = new QLabel( tr( "GEOM_TOLERANCE" ), GroupPoints->GroupBox1 );
+  myTolEdt = new QAD_SpinBoxDbl( GroupPoints->GroupBox1, 0, 100, 1e-7, 10, 1e-10 );
+  myTolEdt->setValue( DEFAULT_TOLERANCE_VALUE );
+
+  aLay->addWidget( aLbl1, 0, 0 );
+  aLay->addWidget( myTolEdt, 0, 1 );
+
+  GroupPoints->getGroupBoxLayout()->addLayout( aLay, 3, 0 );
+  /***************************************************************/
+
+  Init();
+}
+
+
+//=================================================================================
+// function : ~RepairGUI_GlueDlg()
+// purpose  : Destroys the object and frees any allocated resources
+//=================================================================================
+RepairGUI_GlueDlg::~RepairGUI_GlueDlg()
+{
+}
+
+
+//=================================================================================
+// function : Init()
+// purpose  :
+//=================================================================================
+void RepairGUI_GlueDlg::Init()
+{
+  /* init variables */
+  myEditCurrentArgument = GroupPoints->LineEdit1;
+
+  myObject = GEOM::GEOM_Object::_nil();
+
+  myGeomGUI->SetState( 0 );
+  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()));
+
+  connect(GroupPoints->PushButton1, SIGNAL(clicked()), this, SLOT(SetEditCurrentArgument()));
+  connect(GroupPoints->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
+
+  connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
+
+  initName( tr( "GLUE_NEW_OBJ_NAME" ) );
+}
+
+
+//=================================================================================
+// function : ClickOnOk()
+// purpose  : Same than click on apply but close this dialog.
+//=================================================================================
+void RepairGUI_GlueDlg::ClickOnOk()
+{
+  if ( ClickOnApply() )
+    ClickOnCancel();
+}
+
+
+
+//=================================================================================
+// function : ClickOnApply()
+// purpose  :
+//=================================================================================
+bool RepairGUI_GlueDlg::ClickOnApply()
+{
+  if ( !onAccept() )
+    return false;
+
+  initName();
+
+  GroupPoints->LineEdit1->setText("");
+  myObject = GEOM::GEOM_Object::_nil();
+
+  globalSelection( GEOM_COMPOUND );
+
+  return true;
+}
+
+
+//=================================================================================
+// function : ClickOnCancel()
+// purpose  :
+//=================================================================================
+void RepairGUI_GlueDlg::ClickOnCancel()
+{
+  GEOMBase_Skeleton::ClickOnCancel();
+}
+
+
+//=================================================================================
+// function : SelectionIntoArgument()
+// purpose  : Called when selection
+//=================================================================================
+void RepairGUI_GlueDlg::SelectionIntoArgument()
+{
+  erasePreview();
+  myEditCurrentArgument->setText("");
+  myObject = GEOM::GEOM_Object::_nil();
+
+  if ( mySelection->IObjectCount() == 1 ) {
+    Handle(SALOME_InteractiveObject) anIO = mySelection->firstIObject();
+    Standard_Boolean aRes;
+    myObject = GEOMBase::ConvertIOinGEOMObject( anIO, aRes );
+    if ( aRes )
+      myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
+  }
+}
+
+//=================================================================================
+// function : SetEditCurrentArgument()
+// purpose  :
+//=================================================================================
+void RepairGUI_GlueDlg::SetEditCurrentArgument()
+{
+  const QObject* send = sender();
+  if ( send == GroupPoints->PushButton1 )  {
+    myEditCurrentArgument->setFocus();
+    SelectionIntoArgument();
+  }
+}
+
+
+//=================================================================================
+// function : LineEditReturnPressed()
+// purpose  :
+//=================================================================================
+void RepairGUI_GlueDlg::LineEditReturnPressed()
+{
+  const QObject* send = sender();
+  if( send == GroupPoints->LineEdit1 ) {
+    myEditCurrentArgument = GroupPoints->LineEdit1;
+    GEOMBase_Skeleton::LineEditReturnPressed();
+  }
+}
+
+
+//=================================================================================
+// function : DeactivateActiveDialog()
+// purpose  :
+//=================================================================================
+void RepairGUI_GlueDlg::DeactivateActiveDialog()
+{
+  myGeomGUI->SetState( -1 );
+  GEOMBase_Skeleton::DeactivateActiveDialog();
+}
+
+
+//=================================================================================
+// function : ActivateThisDialog()
+// purpose  :
+//=================================================================================
+void RepairGUI_GlueDlg::ActivateThisDialog()
+{
+  GEOMBase_Skeleton::ActivateThisDialog();
+  connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
+
+  GroupPoints->LineEdit1->setText("");
+  myObject = GEOM::GEOM_Object::_nil();
+
+  myGeomGUI->SetState( 0 );
+  globalSelection( GEOM_COMPOUND );
+}
+
+
+//=================================================================================
+// function : enterEvent()
+// purpose  : Mouse enter onto the dialog to activate it
+//=================================================================================
+void RepairGUI_GlueDlg::enterEvent(QEvent* e)
+{
+  if ( !GroupConstructors->isEnabled() )
+    ActivateThisDialog();
+}
+
+
+//=================================================================================
+// function : closeEvent()
+// purpose  :
+//=================================================================================
+void RepairGUI_GlueDlg::closeEvent(QCloseEvent* e)
+{
+  myGeomGUI->SetState( -1 );
+  GEOMBase_Skeleton::closeEvent( e );
+}
+
+//=================================================================================
+// function : createOperation
+// purpose  :
+//=================================================================================
+GEOM::GEOM_IOperations_ptr RepairGUI_GlueDlg::createOperation()
+{
+  return getGeomEngine()->GetIShapesOperations( getStudyId() );
+}
+
+//=================================================================================
+// function : isValid
+// purpose  :
+//=================================================================================
+bool RepairGUI_GlueDlg::isValid( QString& msg )
+{
+  return !myObject->_is_nil() && ( IsPreview() || myTolEdt->value() > 0. );
+}
+
+//=================================================================================
+// function : execute
+// purpose  :
+//=================================================================================
+bool RepairGUI_GlueDlg::execute( ObjectList& objects )
+{
+  bool aResult = false;
+  GEOM::GEOM_Object_var anObj = GEOM::GEOM_IShapesOperations::_narrow( getOperation() )->MakeGlueFaces( myObject, myTolEdt->value() );
+  aResult = !anObj->_is_nil();
+  if ( aResult )
+    objects.push_back( anObj._retn() );
+
+  return aResult;
+}
diff --git a/src/RepairGUI/RepairGUI_GlueDlg.h b/src/RepairGUI/RepairGUI_GlueDlg.h
new file mode 100644 (file)
index 0000000..41aba94
--- /dev/null
@@ -0,0 +1,79 @@
+//  GEOM GEOMGUI : GUI for Geometry component
+//
+//  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+//  This library is free software; you can redistribute it and/or
+//  modify it under the terms of the GNU Lesser General Public
+//  License as published by the Free Software Foundation; either
+//  version 2.1 of the License.
+//
+//  This library is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+//  Lesser General Public License for more details.
+//
+//  You should have received a copy of the GNU Lesser General Public
+//  License along with this library; if not, write to the Free Software
+//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+//  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+//
+//
+//
+//  File   : RepairGUI_GlueDlg.h
+//  Author : Lucien PIGNOLONI
+//  Module : GEOM
+//  $Header$
+
+#ifndef DIALOGBOX_Glue_H
+#define DIALOGBOX_Glue_H
+
+#include "GEOMBase_Skeleton.h"
+
+class QAD_SpinBoxDbl;
+class DlgRef_1Sel_Ext;
+
+//=================================================================================
+// class    : RepairGUI_GlueDlg
+// purpose  :
+//=================================================================================
+class RepairGUI_GlueDlg : public GEOMBase_Skeleton
+{
+    Q_OBJECT
+
+public:
+    RepairGUI_GlueDlg(QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0);
+    ~RepairGUI_GlueDlg();
+
+protected:
+    // redefined from GEOMBase_Helper
+    virtual GEOM::GEOM_IOperations_ptr createOperation();
+    virtual bool isValid( QString& );
+    virtual bool execute( ObjectList& objects );
+
+private :
+    void Init();
+    void enterEvent(QEvent* e);
+    void closeEvent(QCloseEvent* e);
+    void initSelection();
+
+    GEOM::GEOM_Object_var myObject;
+
+    DlgRef_1Sel_Ext* GroupPoints;
+    QAD_SpinBoxDbl*  myTolEdt;
+
+private slots:
+    void ClickOnOk();
+    bool ClickOnApply();
+    void ClickOnCancel();
+
+    void ActivateThisDialog();
+    void DeactivateActiveDialog();
+
+    void LineEditReturnPressed();
+    void SelectionIntoArgument();
+    void SetEditCurrentArgument();
+};
+
+#endif // DIALOGBOX_Glue_H
index 7d18be61ff46c4f4bd011a496f0c0752be9b5b55..8572c9fbc603b9290ceede75ffeef8965c7cf2d8 100644 (file)
@@ -69,7 +69,7 @@ RepairGUI_RemoveHolesDlg::RepairGUI_RemoveHolesDlg(QWidget* parent, const char*
   GroupPoints->PushButton1->setPixmap(image1);
   GroupPoints->LineEdit1->setReadOnly( true );
 
-  Layout1->addWidget(GroupPoints, 1, 0);
+  Layout1->addWidget(GroupPoints, 2, 0);
 
   myAllChk = new QCheckBox( tr( "GEOM_REMOVE_ALL_HOLES" ), GroupPoints->GroupBox1 );
 
@@ -152,6 +152,8 @@ void RepairGUI_RemoveHolesDlg::Init()
 
   connect( myAllChk, SIGNAL( clicked() ), this, SLOT( onRemoveAllClicked() ) );
   connect( myFreeBoundBtn, SIGNAL(clicked()), this, SLOT(onDetect()) );
+
+  initName( tr( "REMOVE_HOLES_NEW_OBJ_NAME" ) );
 }
 
 
@@ -176,6 +178,8 @@ bool RepairGUI_RemoveHolesDlg::ClickOnApply()
   if ( !onAccept() )
     return false;
 
+  initName();
+
   myEditCurrentArgument = GroupPoints->LineEdit1;
   myEditCurrentArgument->setText("");
   mySelectWiresEdt->setText("");
@@ -217,8 +221,10 @@ void RepairGUI_RemoveHolesDlg::SelectionIntoArgument()
     {
       Standard_Boolean aRes;
       myObject = GEOMBase::ConvertIOinGEOMObject( anIO, aRes );
-      if ( aRes )
-       myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
+      if ( aRes && GEOMBase::IsShape( myObject ) )
+        myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
+      else
+        myObject = GEOM::GEOM_Object::_nil();
     }
     else if ( myEditCurrentArgument == mySelectWiresEdt && !myAllChk->isChecked() )
     {
index 303b83b9a67b58725747f0e1b9bf3ab58d185eb2..e865a125dd38768a9c9284e0de3518611727b873 100644 (file)
@@ -66,7 +66,7 @@ RepairGUI_RemoveIntWiresDlg::RepairGUI_RemoveIntWiresDlg(QWidget* parent, const
   GroupPoints->PushButton1->setPixmap(image1);
   GroupPoints->LineEdit1->setReadOnly( true );
 
-  Layout1->addWidget(GroupPoints, 1, 0);
+  Layout1->addWidget(GroupPoints, 2, 0);
 
   myAllChk = new QCheckBox( tr( "GEOM_REMOVE_ALL_INT_WIRES" ), GroupPoints->GroupBox1 );
 
@@ -138,6 +138,8 @@ void RepairGUI_RemoveIntWiresDlg::Init()
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 
   connect( myAllChk, SIGNAL( clicked() ), this, SLOT( onRemoveAllClicked() ) );
+
+  initName( tr( "REMOVE_INT_WIRES_NEW_OBJ_NAME" ) );
 }
 
 
@@ -162,6 +164,8 @@ bool RepairGUI_RemoveIntWiresDlg::ClickOnApply()
   if ( !onAccept() )
        return false;
 
+  initName();
+
   myEditCurrentArgument = GroupPoints->LineEdit1;
   myEditCurrentArgument->setText("");
   mySelectWiresEdt->setText("");
@@ -202,8 +206,10 @@ void RepairGUI_RemoveIntWiresDlg::SelectionIntoArgument()
                {
                        Standard_Boolean aRes;
                        myObject = GEOMBase::ConvertIOinGEOMObject( anIO, aRes );
-                       if ( aRes )
+                       if ( aRes && GEOMBase::IsShape( myObject ) )
                                myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
+      else
+        myObject = GEOM::GEOM_Object::_nil();
                }
                else if ( myEditCurrentArgument == mySelectWiresEdt && !myAllChk->isChecked() )
                {
index 45d07d50af0f9bdcb79cfbf7beb181d2e1227871..79e78405b2def5e23625bc7f19e52c7477bf207d 100644 (file)
@@ -69,7 +69,7 @@ RepairGUI_SewingDlg::RepairGUI_SewingDlg(QWidget* parent, const char* name, SALO
   GroupPoints->PushButton1->setPixmap(image1);
   GroupPoints->LineEdit1->setReadOnly( true );
 
-  Layout1->addWidget(GroupPoints, 1, 0);
+  Layout1->addWidget(GroupPoints, 2, 0);
 
   QGridLayout* aLay = new QGridLayout( 0, 2, 2, 0, 6, "aLay" );
   myTolEdt = new QAD_SpinBoxDbl( GroupPoints->GroupBox1, 0, 100, 1e-7, 10, 1e-10 );
@@ -129,6 +129,8 @@ void RepairGUI_SewingDlg::Init()
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 
   connect(myFreeBoundBtn, SIGNAL(clicked()), this, SLOT(onDetect()));
+
+  initName( tr( "SEWING_NEW_OBJ_NAME" ) );
 }
 
 
@@ -153,6 +155,8 @@ bool RepairGUI_SewingDlg::ClickOnApply()
   if ( !onAccept() )
        return false;
 
+  initName();
+
   GroupPoints->LineEdit1->setText("");
   myObject = GEOM::GEOM_Object::_nil();
 
@@ -178,18 +182,18 @@ void RepairGUI_SewingDlg::ClickOnCancel()
 //=================================================================================
 void RepairGUI_SewingDlg::SelectionIntoArgument()
 {
-       erasePreview();
+  erasePreview();
   myEditCurrentArgument->setText("");
   myObject = GEOM::GEOM_Object::_nil();
 
   if ( mySelection->IObjectCount() == 1 )
-       {
-               Handle(SALOME_InteractiveObject) anIO = mySelection->firstIObject();
-               Standard_Boolean aRes;
-               myObject = GEOMBase::ConvertIOinGEOMObject( anIO, aRes );
-               if ( aRes )
-                       myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
-       }
+  {
+    Handle(SALOME_InteractiveObject) anIO = mySelection->firstIObject();
+    Standard_Boolean aRes;
+    myObject = GEOMBase::ConvertIOinGEOMObject( anIO, aRes );
+    if ( aRes )
+      myEditCurrentArgument->setText( GEOMBase::GetName( myObject ) );
+  }
 }
 
 //=================================================================================
@@ -198,11 +202,11 @@ void RepairGUI_SewingDlg::SelectionIntoArgument()
 //=================================================================================
 void RepairGUI_SewingDlg::SetEditCurrentArgument()
 {
-       const QObject* send = sender();
+  const QObject* send = sender();
   if ( send == GroupPoints->PushButton1 )
   {
-       myEditCurrentArgument->setFocus();
-       SelectionIntoArgument();
+    myEditCurrentArgument->setFocus();
+    SelectionIntoArgument();
   }
 }
 
@@ -213,12 +217,12 @@ void RepairGUI_SewingDlg::SetEditCurrentArgument()
 //=================================================================================
 void RepairGUI_SewingDlg::LineEditReturnPressed()
 {
-       const QObject* send = sender();
+  const QObject* send = sender();
   if( send == GroupPoints->LineEdit1 )
   {
     myEditCurrentArgument = GroupPoints->LineEdit1;
-         GEOMBase_Skeleton::LineEditReturnPressed();
-       }
+    GEOMBase_Skeleton::LineEditReturnPressed();
+  }
 }
 
 
index 491556d2f3cd1ab53b61a122522e852568bca71f..cc1fb4f5499657a416bdd2a63bd21cf78d8145db 100755 (executable)
@@ -69,10 +69,10 @@ RepairGUI_ShapeProcessDlg::~RepairGUI_ShapeProcessDlg()
 //=================================================================================
 void RepairGUI_ShapeProcessDlg::init()
 {
-       myGeomGUI->SetState( 0 );
+  myGeomGUI->SetState( 0 );
 
-       initParamsValues();
-       initSelection();
+  initParamsValues();
+  initSelection();
        
   setCaption(tr("GEOM_SHAPEPROCESS_TITLE"));
 
@@ -98,10 +98,10 @@ void RepairGUI_ShapeProcessDlg::init()
   myOpList->addColumn( "Operations" );
   myOpList->header()->hide();
   aOperLay->addWidget( myOpList );
-       QStringList::ConstIterator it = myOpLst.end();
-       do // iterating from end to begin so to keep the order of items in the listview.        
-               new QCheckListItem ( myOpList, *(--it), QCheckListItem::CheckBox );
-       while ( it != myOpLst.begin() );
+  QStringList::ConstIterator it = myOpLst.end();
+  do // iterating from end to begin so to keep the order of items in the listview.     
+    new QCheckListItem ( myOpList, *(--it), QCheckListItem::CheckBox );
+  while ( it != myOpLst.begin() );
 
   QGroupBox* aParamsGr = new QGroupBox( tr("GEOM_PARAMETERS"), aMidFrame );
   aMidLay->addWidget( anOperGr, 0, 0 );
@@ -109,7 +109,7 @@ void RepairGUI_ShapeProcessDlg::init()
   aMidLay->setColStretch( 0, 1 );
   aMidLay->setColStretch( 1, 2 );
 
-  Layout1->addWidget( aMidFrame, 1, 0 );
+  Layout1->addWidget( aMidFrame, 2, 0 );
   Layout1->setRowStretch( 0, 0 );
   Layout1->setRowStretch( 1, 1 );
 
@@ -223,6 +223,10 @@ void RepairGUI_ShapeProcessDlg::init()
   myBSpline3DCont = new QComboBox( aFrame );
   myBSpline3DCont->insertStringList( aContinueties );
 
+  myBSplineSurfModeChk->setChecked( true );
+  myBSpline3DCurveChk->setChecked( true );
+  myBSpline2DCurveChk->setChecked( true );
+
   aLay->addWidget( myBSplineSurfModeChk, 0, 0 );
   aLay->addWidget( myBSpline3DCurveChk, 1, 0 );
   aLay->addWidget( myBSpline2DCurveChk, 2, 0 );
@@ -290,6 +294,8 @@ void RepairGUI_ShapeProcessDlg::init()
   loadDefaults(); // init dialog fields with values from resource file
   myOpList->setSelected( myOpList->findItem( "FixShape", 0 ), true );
   reset();
+
+  initName( tr( "PROCESS_SHAPE_NEW_OBJ_NAME" ) );
 }
 
 //=================================================================================
@@ -328,6 +334,8 @@ bool RepairGUI_ShapeProcessDlg::onApply()
   if ( !onAccept() )
     return false;
 
+  initName();
+
   reset();
   initSelection();
   
@@ -412,9 +420,9 @@ void RepairGUI_ShapeProcessDlg::activate()
   GEOMBase_Skeleton::ActivateThisDialog();
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(selectionChanged()));
        
-       reset();
-       myGeomGUI->SetState( 0 );
-       initSelection();
+  reset();
+  myGeomGUI->SetState( 0 );
+  initSelection();
 }
 
 
@@ -424,8 +432,8 @@ void RepairGUI_ShapeProcessDlg::activate()
 //=================================================================================
 void RepairGUI_ShapeProcessDlg::enterEvent(QEvent* e)
 {
-       if ( !GroupConstructors->isEnabled() )
-       activate();
+  if ( !GroupConstructors->isEnabled() )
+    activate();
 }
 
 
@@ -498,10 +506,10 @@ void RepairGUI_ShapeProcessDlg::loadDefaults()
   int i;
   for ( i = 0; i < anOperators->length(); i++ )
   {
-       //MESSAGE("-->"<<(const char*)anOperators[i]);
-               QListViewItem* anItem = myOpList->findItem( (const char*)anOperators[i], 0 );
-               if ( anItem /*&& anItem->inherits( "QCheckListItem" )*/ )
-                       ((QCheckListItem*) anItem)->setOn( true );
+    //MESSAGE("-->"<<(const char*)anOperators[i]);
+    QListViewItem* anItem = myOpList->findItem( (const char*)anOperators[i], 0 );
+    if ( anItem /*&& anItem->inherits( "QCheckListItem" )*/ )
+      ((QCheckListItem*) anItem)->setOn( true );
   }
 
   // set default values of parameters
@@ -521,17 +529,17 @@ void RepairGUI_ShapeProcessDlg::loadDefaults()
 //=================================================================================
 void RepairGUI_ShapeProcessDlg::setValue( QWidget* theControl, const char* theValue )
 {
-       if ( theControl == NULL || theValue == NULL )
-               return;
-
-       if ( theControl->isA( "QAD_SpinBoxDbl" ) )
-               ((QAD_SpinBoxDbl*)theControl)->setValue( QString( theValue ).toDouble() );
-       else if ( theControl->isA( "QSpinBox" ) )
-               ((QSpinBox*)theControl)->setValue( QString( theValue ).toInt() );
-       else if ( theControl->isA( "QComboBox" ) )
-               ((QComboBox*)theControl)->setCurrentText( QString( theValue ) );
-       else if ( theControl->isA( "QCheckBox" ) )
-               ((QCheckBox*)theControl)->setChecked( QString( theValue ).toInt() != 0 );
+  if ( theControl == NULL || theValue == NULL )
+    return;
+
+  if ( theControl->isA( "QAD_SpinBoxDbl" ) )
+    ((QAD_SpinBoxDbl*)theControl)->setValue( QString( theValue ).toDouble() );
+  else if ( theControl->isA( "QSpinBox" ) )
+    ((QSpinBox*)theControl)->setValue( QString( theValue ).toInt() );
+  else if ( theControl->isA( "QComboBox" ) )
+    ((QComboBox*)theControl)->setCurrentText( QString( theValue ) );
+  else if ( theControl->isA( "QCheckBox" ) )
+    ((QCheckBox*)theControl)->setChecked( QString( theValue ).toInt() != 0 );
 }
 
 //=================================================================================
@@ -540,19 +548,19 @@ void RepairGUI_ShapeProcessDlg::setValue( QWidget* theControl, const char* theVa
 //=================================================================================
 const char* RepairGUI_ShapeProcessDlg::getValue( QWidget* theControl ) const
 {
-       if ( theControl == NULL )
-               return "";
-
-       if ( theControl->isA( "QAD_SpinBoxDbl" ) )
-               return ((QAD_SpinBoxDbl*)theControl)->text().latin1();
-       else if ( theControl->isA( "QSpinBox" ) )
-               return ((QSpinBox*)theControl)->text().latin1();
-       else if ( theControl->isA( "QComboBox" ) )
-               return ((QComboBox*)theControl)->currentText().latin1();
-       else if ( theControl->isA( "QCheckBox" ) )
-               return ((QCheckBox*)theControl)->isChecked() ? "1" : "0";
-
-       return "";
+  if ( theControl == NULL )
+    return "";
+
+  if ( theControl->isA( "QAD_SpinBoxDbl" ) )
+    return ((QAD_SpinBoxDbl*)theControl)->text().latin1();
+  else if ( theControl->isA( "QSpinBox" ) )
+    return ((QSpinBox*)theControl)->text().latin1();
+  else if ( theControl->isA( "QComboBox" ) )
+    return ((QComboBox*)theControl)->currentText().latin1();
+  else if ( theControl->isA( "QCheckBox" ) )
+    return ((QCheckBox*)theControl)->isChecked() ? "1" : "0";
+  
+  return "";
 }
 
 //=================================================================================
@@ -615,21 +623,21 @@ bool RepairGUI_ShapeProcessDlg::execute( ObjectList& objects )
   */// -----------
 
   QStringList anErrorObjNames;
-       for ( int i = 0; i < myObjects->length(); i++ )
-       {
-               GEOM::GEOM_Object_var obj = myObjects[i];
-               GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->ProcessShape(
-                       obj, anOperators, aParams, aValues );
-               if ( anObj->_is_nil() )
-                       anErrorObjNames << GEOMBase::GetName( obj );
-               else
-                       objects.push_back( anObj._retn() );
-       }
-
-       if ( !anErrorObjNames.empty() )
-               MESSAGE("ERRORS occured while processing the following objects: " << anErrorObjNames.join( " " ));
+  for ( int i = 0; i < myObjects->length(); i++ )
+  {
+    GEOM::GEOM_Object_var obj = myObjects[i];
+    GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->ProcessShape(
+       obj, anOperators, aParams, aValues );
+    if ( anObj->_is_nil() )
+      anErrorObjNames << GEOMBase::GetName( obj );
+    else
+      objects.push_back( anObj._retn() );
+  }
 
-       return anErrorObjNames.size() < myObjects->length(); // true if at least one object was OK, false if ALL objects were nil after Healing.
+  if ( !anErrorObjNames.empty() )
+    MESSAGE("ERRORS occured while processing the following objects: " << anErrorObjNames.join( " " ));
+    
+  return anErrorObjNames.size() < myObjects->length(); // true if at least one object was OK, false if ALL objects were nil after Healing.
 }
 
 //=================================================================================
@@ -638,18 +646,18 @@ bool RepairGUI_ShapeProcessDlg::execute( ObjectList& objects )
 //=================================================================================
 GEOM::string_array* RepairGUI_ShapeProcessDlg::getActiveOperators()
 {
-       GEOM::string_array_var anOperators = new GEOM::string_array();
-       QStringList aCheckedList;
+  GEOM::string_array_var anOperators = new GEOM::string_array();
+    QStringList aCheckedList;
   QStringList::Iterator it;
   for ( it = myOpLst.begin(); it != myOpLst.end(); ++it )
-       if ( ((QCheckListItem*)myOpList->findItem( *it, 0 ))->isOn() )
-               aCheckedList << *it;
+    if ( ((QCheckListItem*)myOpList->findItem( *it, 0 ))->isOn() )
+      aCheckedList << *it;
   anOperators->length( aCheckedList.size() );
   int i = 0;
-       for ( it = aCheckedList.begin(); it != aCheckedList.end(); ++it )
-               anOperators[i++] = CORBA::string_dup( (*it).latin1() );         
+  for ( it = aCheckedList.begin(); it != aCheckedList.end(); ++it )
+    anOperators[i++] = CORBA::string_dup( (*it).latin1() );            
                 
-       return anOperators._retn();
+  return anOperators._retn();
 }
 
 //=================================================================================
@@ -706,15 +714,15 @@ void RepairGUI_ShapeProcessDlg::initParamsValues()
   myValMap["SplitAngle"] << "SplitAngle.Angle";
   myValMap["SplitAngle"] << "SplitAngle.MaxTolerance";
 
-       myOpLst << "SplitClosedFaces";
-       myValMap["SplitClosedFaces"] << "SplitClosedFaces.NbSplitPoints";
+  myOpLst << "SplitClosedFaces";
+  myValMap["SplitClosedFaces"] << "SplitClosedFaces.NbSplitPoints";
 
-       myOpLst << "SplitContinuity";
+  myOpLst << "SplitContinuity";
   myValMap["SplitContinuity"] << "SplitContinuity.Tolerance3d";
   myValMap["SplitContinuity"] << "SplitContinuity.SurfaceContinuity";
   myValMap["SplitContinuity"] << "SplitContinuity.CurveContinuity";
 
-       myOpLst << "BSplineRestriction";
+  myOpLst << "BSplineRestriction";
   myValMap["BSplineRestriction"] << "BSplineRestriction.SurfaceMode";
   myValMap["BSplineRestriction"] << "BSplineRestriction.Curve3dMode";
   myValMap["BSplineRestriction"] << "BSplineRestriction.Curve2dMode";
@@ -788,13 +796,12 @@ GEOM::string_array* RepairGUI_ShapeProcessDlg::getValues( const GEOM::string_arr
 //=================================================================================
 void RepairGUI_ShapeProcessDlg::initSelection()
 {
-       TColStd_MapOfInteger aTypes;
+  TColStd_MapOfInteger aTypes;
   aTypes.Add( GEOM_COMPOUND );
   aTypes.Add( GEOM_SOLID );
   aTypes.Add( GEOM_SHELL );
   aTypes.Add( GEOM_FACE );
   aTypes.Add( GEOM_WIRE );
   aTypes.Add( GEOM_EDGE );
-       globalSelection( aTypes );
+  globalSelection( aTypes );
 }
-
index 4bb3b5bece6abe1f6620b411c787de9229030445..55b5d0cd66a2d607595e25213277e8cdd0184b31 100644 (file)
@@ -66,7 +66,7 @@ RepairGUI_SuppressFacesDlg::RepairGUI_SuppressFacesDlg(QWidget* parent, const ch
   GroupPoints->PushButton1->setPixmap(image1);
   GroupPoints->LineEdit1->setReadOnly( true );
 
-  Layout1->addWidget(GroupPoints, 1, 0);
+  Layout1->addWidget(GroupPoints, 2, 0);
   /***************************************************************/
 
   Init();
@@ -109,6 +109,8 @@ void RepairGUI_SuppressFacesDlg::Init()
   connect(GroupPoints->LineEdit1, SIGNAL(returnPressed()), this, SLOT(LineEditReturnPressed()));
 
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
+
+  initName( tr( "SUPRESS_FACE_NEW_OBJ_NAME" ) );
 }
 
 
@@ -130,16 +132,18 @@ void RepairGUI_SuppressFacesDlg::ClickOnOk()
 //=================================================================================
 bool RepairGUI_SuppressFacesDlg::ClickOnApply()
 {
-       if ( !onAccept() )
-               return false;
+  if ( !onAccept() )
+    return false;
+
+  initName();
 
   myEditCurrentArgument->setText("");
   myObjects->length( 0 );
   myFaces.clear();
 
-       initSelection();
-       
-       return true;
+  initSelection();
+  
+  return true;
 }
 
 
@@ -176,19 +180,19 @@ void RepairGUI_SuppressFacesDlg::SelectionIntoArgument()
       TopoDS_Shape aShape;
       if ( myGeomBase->GetShape( aSelectedObject, aShape, TopAbs_SHAPE ) )
       {
-                               if ( aShape.ShapeType() <= TopAbs_FACE ) // FACE, SHELL, SOLID, COMPOUND
-                               {
-                                       GEOM::short_array anIndexes;
-                                       if ( mySelection->HasIndex( anIO ) )
-                                       {
-                                               TColStd_IndexedMapOfInteger aMap;
-                                               mySelection->GetIndex( anIO, aMap );
-                                               Convert( aMap, anIndexes );
-                                               myObjects[i++] = aSelectedObject; // append the object
-                                               myFaces.append( anIndexes );   // append faces' indexes
-                                               numFaces += anIndexes.length();// just for text field output
-                                       }
-                               }
+       if ( aShape.ShapeType() <= TopAbs_FACE ) // FACE, SHELL, SOLID, COMPOUND
+       {
+         GEOM::short_array anIndexes;
+         if ( mySelection->HasIndex( anIO ) )
+         {
+           TColStd_IndexedMapOfInteger aMap;
+           mySelection->GetIndex( anIO, aMap );
+           Convert( aMap, anIndexes );
+           myObjects[i++] = aSelectedObject; // append the object
+           myFaces.append( anIndexes );   // append faces' indexes
+           numFaces += anIndexes.length();// just for text field output
+         }
+       }
       }
     }
   }
@@ -203,10 +207,10 @@ void RepairGUI_SuppressFacesDlg::SelectionIntoArgument()
 //=================================================================================
 void RepairGUI_SuppressFacesDlg::Convert( const TColStd_IndexedMapOfInteger& theMap, GEOM::short_array& theOutSeq )
 {
-       const int n = theMap.Extent();
-       theOutSeq.length( n );
-       for ( int i = 0; i < n; i++ )
-               theOutSeq[i] = theMap( i+1 );
+  const int n = theMap.Extent();
+  theOutSeq.length( n );
+  for ( int i = 0; i < n; i++ )
+    theOutSeq[i] = theMap( i+1 );
 }
 
 //=================================================================================
@@ -233,8 +237,8 @@ void RepairGUI_SuppressFacesDlg::LineEditReturnPressed()
   if( sender() == GroupPoints->LineEdit1 )
   {
     myEditCurrentArgument = GroupPoints->LineEdit1;
-         GEOMBase_Skeleton::LineEditReturnPressed();
-       }
+    GEOMBase_Skeleton::LineEditReturnPressed();
+  }
 }
 
 
@@ -259,7 +263,7 @@ void RepairGUI_SuppressFacesDlg::ActivateThisDialog()
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
 
   myGeomGUI->SetState( 0 );
-       initSelection();
+  initSelection();
 }
 
 
@@ -299,7 +303,7 @@ GEOM::GEOM_IOperations_ptr RepairGUI_SuppressFacesDlg::createOperation()
 //=================================================================================
 bool RepairGUI_SuppressFacesDlg::isValid( QString& msg )
 {
-       const int objL = myObjects->length(), facesL = myFaces.size();
+  const int objL = myObjects->length(), facesL = myFaces.size();
   return ( objL && objL == facesL );
 }
 
@@ -310,22 +314,22 @@ bool RepairGUI_SuppressFacesDlg::isValid( QString& msg )
 bool RepairGUI_SuppressFacesDlg::execute( ObjectList& objects )
 {
   QStringList anErrorObjNames;
-       for ( int i = 0; i < myObjects->length(); i++ )
-       {
-               GEOM::GEOM_Object_var obj = myObjects[i];
-               GEOM::short_array faces = myFaces[i];
-               //MESSAGE(">>>> Dlg, passing faces.. len = " << faces.length());
-               GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->SuppressFaces( obj, faces );
-               if ( anObj->_is_nil() )
-                       anErrorObjNames << GEOMBase::GetName( obj );
-               else
-                       objects.push_back( anObj._retn() );
-       }
+  for ( int i = 0; i < myObjects->length(); i++ )
+  {
+    GEOM::GEOM_Object_var obj = myObjects[i];
+    GEOM::short_array faces = myFaces[i];
+    //MESSAGE(">>>> Dlg, passing faces.. len = " << faces.length());
+    GEOM::GEOM_Object_var anObj = GEOM::GEOM_IHealingOperations::_narrow( getOperation() )->SuppressFaces( obj, faces );
+    if ( anObj->_is_nil() )
+      anErrorObjNames << GEOMBase::GetName( obj );
+    else
+      objects.push_back( anObj._retn() );
+  }
 
-       if ( !anErrorObjNames.empty() )
-               MESSAGE("ERRORS occured while processing the following objects: " << anErrorObjNames.join( " " ));
+  if ( !anErrorObjNames.empty() )
+    MESSAGE("ERRORS occured while processing the following objects: " << anErrorObjNames.join( " " ));
 
-       return anErrorObjNames.size() < myObjects->length(); // true if at least one object was OK, false if ALL objects were nil after Healing.
+  return anErrorObjNames.size() < myObjects->length(); // true if at least one object was OK, false if ALL objects were nil after Healing.
 }
 
 //=================================================================================
index 7279d5b9ebbabd90d3ded9130b1bb086ba55a152..441abea0a72eb3c804abfbd11fc0d3c133826f97 100644 (file)
@@ -176,7 +176,7 @@ void TransformationGUI_MultiRotationDlg::ConstructorsClicked(int constructorId)
   myStep = 50.0;
   myNbTimes1 = myNbTimes2 = 2;
   
-  globalSelection();
+  globalSelection( GEOM_ALLSHAPES );
 
   switch (constructorId)
     {
@@ -275,7 +275,7 @@ void TransformationGUI_MultiRotationDlg::SelectionIntoArgument()
   Standard_Boolean testResult = Standard_False;;
   GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject(mySelection->firstIObject(), testResult );
 
-  if (!testResult || CORBA::is_nil( aSelectedObject ))
+  if ( !testResult || CORBA::is_nil( aSelectedObject ) || !GEOMBase::IsShape( aSelectedObject ) )
     return;
 
 
@@ -300,7 +300,7 @@ void TransformationGUI_MultiRotationDlg::SetEditCurrentArgument()
   
   if(send == GroupPoints->PushButton1) {
     myEditCurrentArgument = GroupPoints->LineEdit1;
-    globalSelection();
+    globalSelection( GEOM_ALLSHAPES );
   }
   else if(send == GroupPoints->PushButton2) {
     myEditCurrentArgument = GroupPoints->LineEdit2;
@@ -308,7 +308,7 @@ void TransformationGUI_MultiRotationDlg::SetEditCurrentArgument()
   }
   else if(send == GroupDimensions->PushButton1) {
     myEditCurrentArgument = GroupDimensions->LineEdit1;
-    globalSelection();
+    globalSelection( GEOM_ALLSHAPES );
   }
   else if(send == GroupDimensions->PushButton2) {
     myEditCurrentArgument = GroupDimensions->LineEdit2;
index d21cda4feeb032e59618b0fc3df1f0134b58306f..108dbb1dd285a6969cb252dc4e88fea4a6e7b84d 100644 (file)
@@ -189,7 +189,7 @@ void TransformationGUI_MultiTranslationDlg::ConstructorsClicked(int constructorI
   myStepU = myStepV = 50.0;
   myNbTimesU = myNbTimesV = 2;
 
-  globalSelection();
+  globalSelection( GEOM_ALLSHAPES );
 
   switch (constructorId)
     {
@@ -293,7 +293,7 @@ void TransformationGUI_MultiTranslationDlg::SelectionIntoArgument()
   Standard_Boolean testResult = Standard_False;;
   GEOM::GEOM_Object_var aSelectedObject = GEOMBase::ConvertIOinGEOMObject(mySelection->firstIObject(), testResult );
 
-  if (!testResult || CORBA::is_nil( aSelectedObject ))
+  if ( !testResult || CORBA::is_nil( aSelectedObject ) || !GEOMBase::IsShape( aSelectedObject ) )
     return;
 
   if(myEditCurrentArgument == GroupPoints->LineEdit1 || myEditCurrentArgument == GroupDimensions->LineEdit1)
@@ -320,7 +320,7 @@ void TransformationGUI_MultiTranslationDlg::SetEditCurrentArgument()
 
   if(send == GroupPoints->PushButton1) {
     myEditCurrentArgument = GroupPoints->LineEdit1;
-    globalSelection();
+    globalSelection( GEOM_ALLSHAPES );
   }
   else if(send == GroupPoints->PushButton2) {
     myEditCurrentArgument = GroupPoints->LineEdit2;
@@ -328,7 +328,7 @@ void TransformationGUI_MultiTranslationDlg::SetEditCurrentArgument()
   }
   else if(send == GroupDimensions->PushButton1) {
     myEditCurrentArgument = GroupDimensions->LineEdit1;
-    globalSelection();
+    globalSelection( GEOM_ALLSHAPES );
   }
   else if(send == GroupDimensions->PushButton2) {
     myEditCurrentArgument = GroupDimensions->LineEdit2;
index 9886669f5d9374533a2b7874a0425da4cca47cde..ba0cd6381082c5a199115c705975309ba4a721c3 100644 (file)
@@ -118,6 +118,9 @@ void TransformationGUI_OffsetDlg::Init()
   connect(GroupPoints->CheckButton1, SIGNAL(toggled(bool)), this, SLOT(CreateCopyModeChanged(bool)));
   
   initName( tr( "GEOM_OFFSET" ) );
+
+  globalSelection( GEOM_ALLSHAPES );
+  
 }
 
 
@@ -236,7 +239,7 @@ void TransformationGUI_OffsetDlg::ActivateThisDialog()
 {
   GEOMBase_Skeleton::ActivateThisDialog();
   connect(mySelection, SIGNAL(currentSelectionChanged()), this, SLOT(SelectionIntoArgument()));
-  globalSelection();
+  globalSelection( GEOM_ALLSHAPES );
   myEditCurrentArgument = GroupPoints->LineEdit1;
   myEditCurrentArgument->setFocus();
 }
index 406d60ed1c800e63b64074984f6867b7d4ce505a..d6fca90516bbdfd5d6a073d4bf13b1d0dd008811 100644 (file)
@@ -297,11 +297,17 @@ void TransformationGUI_PositionDlg::SetEditCurrentArgument()
   }
   else if(send == Group1->PushButton2) {
     myEditCurrentArgument = Group1->LineEdit2;
-    globalSelection( GEOM_PLANE );
+    TColStd_MapOfInteger aMap;
+    aMap.Add( GEOM_PLANE );
+    aMap.Add( GEOM_MARKER );
+    globalSelection( aMap );
   }
   else if(send == Group1->PushButton3) {
     myEditCurrentArgument = Group1->LineEdit3;
-    globalSelection( GEOM_PLANE );
+    TColStd_MapOfInteger aMap;
+    aMap.Add( GEOM_PLANE );
+    aMap.Add( GEOM_MARKER );
+    globalSelection( aMap );
   }
 
   myEditCurrentArgument->setFocus();