Salome HOME
Merge Dev_2.1.0 with PythonAPI branch
authorspo <sergey.pokhodenko@opencascade.com>
Wed, 9 Dec 2015 08:35:56 +0000 (11:35 +0300)
committerspo <sergey.pokhodenko@opencascade.com>
Wed, 9 Dec 2015 08:35:56 +0000 (11:35 +0300)
386 files changed:
CMakeCommon/XMLProcessing.cmake
CMakeLists.txt
README
config.sh
doc/CMakeLists.txt
eclipse.sh
env_linux.sh
env_salome.sh
env_squish.sh
env_standalone.sh
lcov-reset.sh
lcov-run.sh
make.sh
msvc10_env.bat
salome_run.sh
src/Config/plugins.xml
src/ConnectorPlugin/ConnectorPlugin_ExportFeature.py
src/Events/Events_Loop.cpp
src/ExchangePlugin/ExchangePlugin_ExportFeature.cpp
src/FeaturesPlugin/CMakeLists.txt
src/FeaturesPlugin/FeaturesPlugin_CompositeSketch.cpp
src/FeaturesPlugin/FeaturesPlugin_CompositeSketch.h
src/FeaturesPlugin/FeaturesPlugin_Extrusion.cpp
src/FeaturesPlugin/FeaturesPlugin_Partition.cpp
src/FeaturesPlugin/FeaturesPlugin_Revolution.cpp
src/FeaturesPlugin/Test/TestCompositeFeaturesOnCompSolids.py [new file with mode: 0644]
src/FeaturesPlugin/Test/TestGroup.py
src/FeaturesPlugin/boolean_widget.xml
src/FeaturesPlugin/extrusion_widget.xml
src/FeaturesPlugin/extrusioncut_widget.xml
src/FeaturesPlugin/extrusionfuse_widget.xml
src/FeaturesPlugin/extrusionsketch_widget.xml
src/FeaturesPlugin/revolution_widget.xml
src/FeaturesPlugin/revolutioncut_widget.xml
src/FeaturesPlugin/revolutionfuse_widget.xml
src/FeaturesPlugin/revolutionsketch_widget.xml
src/GeomAPI/GeomAPI_Circ2d.cpp
src/GeomAPI/GeomAPI_Circ2d.h
src/GeomAPI/GeomAPI_DataMapOfShapeShape.h
src/GeomAPI/GeomAPI_Interface.h
src/GeomAPI/GeomAPI_Pln.cpp
src/GeomAPI/GeomAPI_Pln.h
src/GeomAlgoAPI/CMakeLists.txt
src/GeomAlgoAPI/GeomAlgoAPI.i
src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.cpp
src/GeomAlgoAPI/GeomAlgoAPI_MakeShape.h
src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.cpp
src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeCustom.h
src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.cpp
src/GeomAlgoAPI/GeomAlgoAPI_MakeShapeList.h
src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.cpp [new file with mode: 0644]
src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.h [new file with mode: 0644]
src/GeomAlgoAPI/GeomAlgoAPI_Partition.cpp
src/GeomAlgoAPI/GeomAlgoAPI_PaveFiller.cpp
src/GeomAlgoAPI/GeomAlgoAPI_Revolution.cpp
src/GeomAlgoAPI/GeomAlgoAPI_ShapeTools.cpp
src/GeomAlgoAPI/GeomAlgoAPI_ShapeTools.h
src/GeomValidators/GeomValidators_ZeroOffset.cpp
src/Model/Model_AttributeRefAttr.h
src/Model/Model_AttributeSelection.cpp
src/Model/Model_BodyBuilder.cpp
src/Model/Model_BodyBuilder.h
src/Model/Model_Data.cpp
src/Model/Model_Document.cpp [changed mode: 0644->0755]
src/Model/Model_Document.h
src/Model/Model_Objects.cpp
src/Model/Model_ResultBody.cpp
src/Model/Model_ResultBody.h
src/Model/Model_ResultCompSolid.cpp
src/Model/Model_ResultCompSolid.h
src/Model/Model_ResultPart.cpp
src/Model/Model_Update.cpp
src/Model/Model_Update.h
src/ModelAPI/ModelAPI.i
src/ModelAPI/ModelAPI_AttributeSelection.h
src/ModelAPI/ModelAPI_AttributeSelectionList.h
src/ModelAPI/ModelAPI_BodyBuilder.h
src/ModelAPI/ModelAPI_Document.h
src/ModelAPI/ModelAPI_Feature.h
src/ModelAPI/ModelAPI_ResultBody.cpp
src/ModelAPI/ModelAPI_ResultBody.h
src/ModelAPI/ModelAPI_Tools.cpp
src/ModelAPI/ModelAPI_Tools.h
src/ModuleBase/CMakeLists.txt
src/ModuleBase/ModuleBase_DoubleSpinBox.cpp
src/ModuleBase/ModuleBase_DoubleSpinBox.h
src/ModuleBase/ModuleBase_FilterValidated.cpp
src/ModuleBase/ModuleBase_IErrorMgr.cpp
src/ModuleBase/ModuleBase_IModule.cpp
src/ModuleBase/ModuleBase_IModule.h
src/ModuleBase/ModuleBase_IPropertyPanel.cpp
src/ModuleBase/ModuleBase_IPropertyPanel.h
src/ModuleBase/ModuleBase_IWidgetCreator.cpp [new file with mode: 0755]
src/ModuleBase/ModuleBase_IWidgetCreator.h [new file with mode: 0755]
src/ModuleBase/ModuleBase_IWorkshop.h
src/ModuleBase/ModuleBase_IconFactory.cpp
src/ModuleBase/ModuleBase_IconFactory.h
src/ModuleBase/ModuleBase_IntSpinBox.cpp [new file with mode: 0755]
src/ModuleBase/ModuleBase_IntSpinBox.h [new file with mode: 0755]
src/ModuleBase/ModuleBase_ModelWidget.cpp
src/ModuleBase/ModuleBase_ModelWidget.h
src/ModuleBase/ModuleBase_Operation.cpp
src/ModuleBase/ModuleBase_Operation.h
src/ModuleBase/ModuleBase_OperationFeature.cpp
src/ModuleBase/ModuleBase_OperationFeature.h
src/ModuleBase/ModuleBase_ParamSpinBox.cpp
src/ModuleBase/ModuleBase_Preferences.h
src/ModuleBase/ModuleBase_SelectionValidator.cpp [new file with mode: 0644]
src/ModuleBase/ModuleBase_SelectionValidator.h
src/ModuleBase/ModuleBase_Tools.cpp
src/ModuleBase/ModuleBase_Tools.h
src/ModuleBase/ModuleBase_ViewerFilters.cpp
src/ModuleBase/ModuleBase_WidgetChoice.cpp
src/ModuleBase/ModuleBase_WidgetChoice.h
src/ModuleBase/ModuleBase_WidgetCreatorFactory.cpp [new file with mode: 0755]
src/ModuleBase/ModuleBase_WidgetCreatorFactory.h [new file with mode: 0755]
src/ModuleBase/ModuleBase_WidgetDoubleValue.cpp
src/ModuleBase/ModuleBase_WidgetDoubleValue.h
src/ModuleBase/ModuleBase_WidgetEditor.cpp
src/ModuleBase/ModuleBase_WidgetEditor.h
src/ModuleBase/ModuleBase_WidgetExprEditor.cpp
src/ModuleBase/ModuleBase_WidgetExprEditor.h
src/ModuleBase/ModuleBase_WidgetFactory.cpp
src/ModuleBase/ModuleBase_WidgetFactory.h
src/ModuleBase/ModuleBase_WidgetFileSelector.h
src/ModuleBase/ModuleBase_WidgetIntValue.cpp
src/ModuleBase/ModuleBase_WidgetIntValue.h
src/ModuleBase/ModuleBase_WidgetLineEdit.cpp
src/ModuleBase/ModuleBase_WidgetLineEdit.h
src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp
src/ModuleBase/ModuleBase_WidgetSelector.cpp
src/ModuleBase/ModuleBase_WidgetSelector.h
src/ModuleBase/ModuleBase_WidgetValidated.h
src/NewGeom/NewGeom_Module.cpp
src/NewGeom/NewGeom_NestedButton.cpp
src/NewGeom/NewGeom_NestedButton.h
src/NewGeom/NewGeom_SalomeViewer.cpp
src/NewGeom/resources/LightApp.xml
src/NewGeom/resources/SalomeApp.xml
src/ParametersPlugin/ParametersPlugin_Parameter.cpp
src/ParametersPlugin/ParametersPlugin_Parameter.h
src/ParametersPlugin/ParametersPlugin_PyInterp.cpp
src/ParametersPlugin/ParametersPlugin_Validators.cpp
src/PartSet/CMakeLists.txt
src/PartSet/PartSet_CustomPrs.cpp
src/PartSet/PartSet_IconFactory.cpp
src/PartSet/PartSet_MenuMgr.cpp
src/PartSet/PartSet_MenuMgr.h
src/PartSet/PartSet_Module.cpp
src/PartSet/PartSet_Module.h
src/PartSet/PartSet_SketcherMgr.cpp
src/PartSet/PartSet_SketcherMgr.h
src/PartSet/PartSet_SketcherReetntrantMgr.cpp [new file with mode: 0755]
src/PartSet/PartSet_SketcherReetntrantMgr.h [new file with mode: 0755]
src/PartSet/PartSet_Tools.cpp
src/PartSet/PartSet_Tools.h
src/PartSet/PartSet_Validators.cpp
src/PartSet/PartSet_WidgetChoice.h [new file with mode: 0644]
src/PartSet/PartSet_WidgetEditor.cpp
src/PartSet/PartSet_WidgetPoint2d.cpp
src/PartSet/PartSet_WidgetPoint2d.h
src/PartSet/PartSet_WidgetPoint2dDistance.cpp
src/PartSet/PartSet_WidgetSketchCreator.cpp
src/PartSet/PartSet_WidgetSketchLabel.cpp
src/PartSet/PartSet_WidgetSketchLabel.h
src/PartSet/PartSet_icons.qrc
src/PartSet/icons/angle_up_32x32.png [changed mode: 0644->0755]
src/PartSet/icons/angle_up_full_32x32.png [new file with mode: 0755]
src/PartSet/icons/bool_common.png [new file with mode: 0644]
src/PartSet/icons/bool_cut.png [new file with mode: 0644]
src/PartSet/icons/bool_fuse.png [new file with mode: 0644]
src/PartSet/icons/fillet.png
src/PartSet/icons/plane_view.png [new file with mode: 0644]
src/PartSet/icons/sketch_shape.png [new file with mode: 0755]
src/PartSet/icons/translate_32x32.png [new file with mode: 0755]
src/PartSet/icons/translate_full_32x32.png [new file with mode: 0755]
src/PartSetPlugin/PartSetPlugin_Part.cpp
src/SketchPlugin/SketchPlugin_Arc.cpp
src/SketchPlugin/SketchPlugin_Arc.h
src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp
src/SketchPlugin/SketchPlugin_MultiRotation.cpp
src/SketchPlugin/SketchPlugin_MultiRotation.h
src/SketchPlugin/SketchPlugin_MultiTranslation.cpp
src/SketchPlugin/SketchPlugin_MultiTranslation.h
src/SketchPlugin/SketchPlugin_Point.h
src/SketchPlugin/SketchPlugin_Sketch.cpp
src/SketchPlugin/SketchPlugin_SketchEntity.h
src/SketchPlugin/SketchPlugin_Tools.cpp
src/SketchPlugin/SketchPlugin_Tools.h
src/SketchPlugin/SketchPlugin_Validators.cpp
src/SketchPlugin/Test/TestMultiRotation.py
src/SketchPlugin/Test/TestMultiTranslation.py
src/SketchPlugin/plugin-Sketch.xml
src/SketchShapePlugin/CMakeLists.txt [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin.h [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_Feature.cpp [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_Feature.h [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_PageGroupBox.cpp [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_PageGroupBox.h [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_Plugin.cpp [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_Plugin.h [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_Tools.cpp [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_Tools.h [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_Validators.cpp [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_Validators.h [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.cpp [new file with mode: 0755]
src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.h [new file with mode: 0755]
src/SketchShapePlugin/Test/TestSketchShape.py [new file with mode: 0755]
src/SketchShapePlugin/plugin-SketchShape.xml [new file with mode: 0755]
src/SketchSolver/SketchSolver_Constraint.cpp
src/SketchSolver/SketchSolver_ConstraintMovement.cpp
src/SketchSolver/SketchSolver_ConstraintMovement.h
src/SketchSolver/SketchSolver_ConstraintMulti.cpp
src/SketchSolver/SketchSolver_ConstraintMulti.h
src/SketchSolver/SketchSolver_ConstraintMultiRotation.cpp
src/SketchSolver/SketchSolver_ConstraintMultiRotation.h
src/SketchSolver/SketchSolver_ConstraintMultiTranslation.cpp
src/SketchSolver/SketchSolver_ConstraintMultiTranslation.h
src/SketchSolver/SketchSolver_ConstraintRigid.cpp
src/SketchSolver/SketchSolver_ConstraintRigid.h
src/SketchSolver/SketchSolver_Group.cpp
src/SketchSolver/SketchSolver_Storage.cpp
src/SketchSolver/SketchSolver_Storage.h
src/SketcherPrs/SketcherPrs_LengthDimension.cpp
src/SketcherPrs/SketcherPrs_SensitivePoint.cpp
src/SketcherPrs/SketcherPrs_SymbolPrs.h
src/SketcherPrs/SketcherPrs_Tools.cpp
src/XGUI/XGUI_ActionsMgr.cpp
src/XGUI/XGUI_ActionsMgr.h
src/XGUI/XGUI_ContextMenuMgr.cpp
src/XGUI/XGUI_DataModel.cpp
src/XGUI/XGUI_Displayer.cpp
src/XGUI/XGUI_Displayer.h
src/XGUI/XGUI_ErrorDialog.cpp
src/XGUI/XGUI_ErrorMgr.cpp
src/XGUI/XGUI_ErrorMgr.h
src/XGUI/XGUI_ModuleConnector.cpp
src/XGUI/XGUI_ModuleConnector.h
src/XGUI/XGUI_ObjectsBrowser.cpp
src/XGUI/XGUI_ObjectsBrowser.h
src/XGUI/XGUI_OperationMgr.cpp
src/XGUI/XGUI_OperationMgr.h
src/XGUI/XGUI_PropertyPanel.cpp
src/XGUI/XGUI_PropertyPanel.h
src/XGUI/XGUI_Selection.cpp
src/XGUI/XGUI_Selection.h
src/XGUI/XGUI_Tools.cpp
src/XGUI/XGUI_Tools.h
src/XGUI/XGUI_ViewerProxy.cpp
src/XGUI/XGUI_Workshop.cpp
src/XGUI/XGUI_Workshop.h
src/XGUI/XGUI_pictures.qrc
src/XGUI/pictures/compound.png [new file with mode: 0644]
src/XGUI/pictures/compoundofsolids.png [new file with mode: 0644]
src/XGUI/pictures/compsolid.png [new file with mode: 0644]
src/XGUI/pictures/edge.png [new file with mode: 0644]
src/XGUI/pictures/expression.png
src/XGUI/pictures/face.png [new file with mode: 0644]
src/XGUI/pictures/solid.png [new file with mode: 0644]
src/XGUI/pictures/vertex.png [new file with mode: 0644]
test.sh
test.squish/objects_salome.map
test.squish/shared/scripts/common.py
test.squish/shared/testdata/SalomeApp.xml
test.squish/suite_ERROR_NOTIFICATION/tst_679/test.py
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/test.py
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/verificationPoints/CUT [new file with mode: 0644]
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/test.py
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/verificationPoints/FUSE [new file with mode: 0644]
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/verificationPoints/INIT [new symlink]
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/test.py
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/verificationPoints/COMMON [new file with mode: 0644]
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/verificationPoints/INIT [new symlink]
test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/test.py
test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/AXIS [new file with mode: 0644]
test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/PLANE [new file with mode: 0644]
test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/POINTS [new file with mode: 0644]
test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/VP2 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/test.py
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/EXTRUSION [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/PREVIEW [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP2 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP3 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP4 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/test.py
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/EXTRUSION [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/NO_PREVIEW [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_FROM [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_FROM_OFFSET [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_TO [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_TO_OFFSET [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP2 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP3 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP4 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP5 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP6 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/test.py
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/EXTRUSION_CUT [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/LINES [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/PLANE [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/PREVIEW_FROM_SIZE [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/PREVIEW_TO_SIZE [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/test.py
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/EXTRUSION_FUSE [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/LINES [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/PLANE [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/PREVIEW_FROM_SIZE [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/PREVIEW_TO_SIZE [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/test.py
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/EXTRUSION_CUT [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/LINES [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/PLANE [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/PREVIEW [new file with mode: 0644]
test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_PARAMETERS/tst_474/test.py
test.squish/suite_FEATURE_PARAMETERS/tst_576/test.py
test.squish/suite_FEATURE_PARAMETERS/tst_903/test.py
test.squish/suite_FEATURE_PARAMETERS/tst_903/verificationPoints/VP_APPLY_GREY [new file with mode: 0644]
test.squish/suite_FEATURE_PARTITION/tst_partition_001/test.py
test.squish/suite_FEATURE_PARTITION/tst_partition_001/verificationPoints/VP_AFTER_LOAD
test.squish/suite_FEATURE_PARTITION/tst_partition_001/verificationPoints/VP_FITALL
test.squish/suite_FEATURE_PARTITION/tst_partition_001/verificationPoints/VP_HIDE
test.squish/suite_FEATURE_PARTITION/tst_partition_001/verificationPoints/VP_PARTITION_1
test.squish/suite_FEATURE_PARTITION/tst_partition_001/verificationPoints/VP_PARTITION_2
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/test.py
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/+OY [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_ANGLE_360 [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_ANGLE_90_120 [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_SELECTION [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_SELECTION_RESET [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/VP2 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/test.py
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/CIRCLES [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/PLANE [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/REVOLUTION_CUT [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/test.py
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/CIRCLES [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/PLANE [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/PREVIEW_0_350 [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/REVOLUTION_FUSE [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/VP2 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/VP3 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/test.py
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/CIRCLES [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_FROM [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_FROM_45 [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_TO [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_TO_30 [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/RESET [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/REVOLUTION_FUSE [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP1 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP2 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP3 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP4 [deleted file]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/test.py
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/CIRCLES [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/INIT [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/PLANE [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/REVOLUTION_CUT [new file with mode: 0644]
test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/VP1 [deleted file]
test.squish/suite_ISSUES_SALOME/tst_532/test.py
test.squish/suite_OBJECT_BROWSER/tst_ACTIVE_DOC_MANAGEMENT/test.py
test_squish.sh

index 16a3f11bac9fcd54ddb5ef95a2a38c37a3220f39..36eec9b26deaa38496e03712b3f0eb8731d0a598 100644 (file)
@@ -1,12 +1,14 @@
 ## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 
 
-IF(WIN32)
-    FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/lib/libxml2.lib LIBXML2_LIBRARIES)
+IF(DEFINED ENV{LIBXML2_ROOT_DIR})
+    IF(WIN32)
+        FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/lib/libxml2.lib LIBXML2_LIBRARIES)
        FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/include LIBXML2_INCLUDE_DIR)
-ELSE()
-    FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/lib/libxml2.so LIBXML2_LIBRARIES)
+    ELSE()
+        FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/lib/libxml2.so LIBXML2_LIBRARIES)
        FILE(TO_CMAKE_PATH $ENV{LIBXML2_ROOT_DIR}/include/libxml2 LIBXML2_INCLUDE_DIR)
+    ENDIF()
 ENDIF()
 
 FIND_PACKAGE(LibXml2 REQUIRED)
index 272c1b15920e15444343434b49502887adf480b8..6f7f7a8f61c89112c814c11344037250dc317c14 100644 (file)
@@ -1,7 +1,7 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.10)
 
 PROJECT (NewGEOM)
-SET (NewGeom_Version 1.4.0)
+SET (NewGeom_Version 2.0.0)
 
 SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeCommon" ${CMAKE_MODULE_PATH})
 
@@ -55,6 +55,7 @@ ADD_SUBDIRECTORY (src/ConstructionPlugin)
 ADD_SUBDIRECTORY (src/FeaturesPlugin)
 ADD_SUBDIRECTORY (src/SketcherPrs)
 ADD_SUBDIRECTORY (src/SketchPlugin)
+ADD_SUBDIRECTORY (src/SketchShapePlugin)
 ADD_SUBDIRECTORY (src/SketchSolver)
 ADD_SUBDIRECTORY (src/ModuleBase)
 ADD_SUBDIRECTORY (src/PartSet)
diff --git a/README b/README
index 55f00aa297f97212cdb628b8bc1c4ab143ecbd8e..75b6ec213aaa3dd992e002b9f99f268d1853295c 100644 (file)
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-NewGEOM version 1.4.0
+NewGEOM version 2.0.0
 
 Compilation on LINUX:
 =====================
index cf1ae4a915702d5aff59fe180ce2e6df4844632d..88bfc772003c002ea3c31951e793426a347fa182 100755 (executable)
--- a/config.sh
+++ b/config.sh
@@ -1,5 +1,20 @@
 #!/bin/bash -ex
 
+while [[ $# > 0 ]]; do
+  key="$1"
+
+  case $key in
+    standalone|Standalone)
+    MODE=Standalone
+    shift
+    ;;
+    *)
+    shift
+    ;;
+  esac
+done
+
+
 rm env_config.sh || echo "File env_config.sh was not found."
 
 echo "#!/bin/bash -ex" >> env_config.sh
@@ -22,24 +37,65 @@ fi
 
 echo "export PLATFORM=${PLATFORM}" >> env_config.sh
 
-main() {
-  local salome_version='7.6.0'
+include_products() {
+  local salome_version=$1
+  local platform="$(lsb_release -is)"
+  local release="$(lsb_release -rs)"
+  if [[ ${salome_version} = '7.7.0' ]]; then
+    if   [[ "${platform}" = 'CentOS' ]]; then export PRODUCTS_ROOT=/dn23/NEWGEOM/common/PRODUCTS/CentOS.6.3.64/7.7.0
+    elif [[ "${platform}" = 'Debian' && ${release} =~ ^6 ]]; then export PRODUCTS_ROOT=/dn23/NEWGEOM/common/PRODUCTS/DEBIAN.6.0.64/7.7.0
+    fi
+  else
+    echo "Could not find PRODUCTS for the platform ${platform} ${release}"
+    exit 1
+  fi
+}
+include_products '7.7.0'
+
+include_suit() {
+  local salome_version=$1
+  local platform="$(lsb_release -is)"
+  local release="$(lsb_release -rs)"
+  if [[ ${salome_version} = '7.7.0' ]]; then
+    if   [[ "${platform}" = 'CentOS' ]]; then export SUIT_DIR=/dn46/SALOME/series7x/V7_7_0/CentOS63-64/GUI
+    elif [[ "${platform}" = 'Debian' && ${release} =~ ^6 ]]; then export SUIT_DIR=/dn46/SALOME/series7x/V7_7_0/Debian60-64/GUI
+    fi
+  else
+    echo "Could not find PRODUCTS for the platform ${platform} ${release}"
+    exit 1
+  fi
+}
+include_suit '7.7.0'
+
+include_salome() {
+  local salome_version=$1
   local platform="$(lsb_release -is)"
   local release="$(lsb_release -rs)"
   if [[ ${salome_version} = '7.5.1' ]]; then
-    if   [[ "${platform}" = 'CentOS' ]]; then export INST_ROOT=/dn48/newgeom/common/SALOME-7.5.1_CentOS-6.3
-    elif [[ "${platform}" = 'Debian' && ${release} =~ ^6 ]]; then export INST_ROOT=/dn23/NEWGEOM/common/SALOME-7.5.1_Debian-6.0_SOURCES
-    elif [[ "${platform}" = 'Debian' && ${release} =~ ^8 ]]; then export INST_ROOT=/dn23/NEWGEOM/common/SALOME-7.5.1_Debian-8.0_SOURCES
+    if   [[ "${platform}" = 'CentOS' ]]; then export SALOME_ROOT=/dn48/newgeom/common/SALOME-7.5.1_CentOS-6.3
+    elif [[ "${platform}" = 'Debian' && ${release} =~ ^6 ]]; then export SALOME_ROOT=/dn23/NEWGEOM/common/SALOME-7.5.1_Debian-6.0_SOURCES
+    elif [[ "${platform}" = 'Debian' && ${release} =~ ^8 ]]; then export SALOME_ROOT=/dn23/NEWGEOM/common/SALOME-7.5.1_Debian-8.0_SOURCES
     fi
   elif [[ ${salome_version} = '7.6.0' ]]; then
-    if   [[ "${platform}" = 'CentOS' ]]; then export INST_ROOT=/dn23/NEWGEOM/common/SALOME-7.6.0_CentOS-6.3_SOURCES
-    elif [[ "${platform}" = 'Debian' && ${release} =~ ^6 ]]; then export INST_ROOT=/dn23/NEWGEOM/common/SALOME-7.6.0_Debian-6.0_SOURCES
-    else 
-      echo "Could not find SALOME for the platform ${platform} ${release}"
-      exit 1
+    if   [[ "${platform}" = 'CentOS' ]]; then export SALOME_ROOT=/dn23/NEWGEOM/common/SALOME-7.6.0_CentOS-6.3_SOURCES
+    elif [[ "${platform}" = 'Debian' && ${release} =~ ^6 ]]; then export SALOME_ROOT=/dn23/NEWGEOM/common/SALOME-7.6.0_Debian-6.0_SOURCES
     fi
+  elif [[ ${salome_version} = '7.7.0' ]]; then
+    if   [[ "${platform}" = 'CentOS' ]]; then export SALOME_ROOT=/dn23/NEWGEOM/common/SALOME-7.7.0_CentOS63-64
+    elif [[ "${platform}" = 'Debian' && ${release} =~ ^6 ]]; then export SALOME_ROOT=/dn23/NEWGEOM/common/SALOME-7.7.0_Debian60-64
+    fi
+  else 
+    echo "Could not find SALOME for the platform ${platform} ${release}"
+    exit 1
   fi
 }
-main
-echo "export INST_ROOT=${INST_ROOT}" >> env_config.sh
+include_salome '7.7.0'
+
+
+if [[ ${MODE} = 'Standalone' ]]; then
+  echo "export INST_ROOT=${PRODUCTS_ROOT}" >> env_config.sh
+  echo "export SUIT_DIR=${SUIT_DIR}" >> env_config.sh
+else
+  echo "export INST_ROOT=${SALOME_ROOT}" >> env_config.sh
+fi
 
index d769b870848095ff68aa59008529a872db63076f..9cf05cb3f5cadd0108d9c999db6dab9bc7dad437 100644 (file)
@@ -9,7 +9,7 @@ ENDIF(WIN32)
 IF(HAVE_SALOME)
   SET(EXCLUDE_DOC_DIR "*/AppElements/* */OpenParts/*")
 ELSE(HAVE_SALOME)
-  SET(EXCLUDE_DOC_DIR "*/NewGeom/* */Shaper/*")
+  SET(EXCLUDE_DOC_DIR "*/Shaper/*")
 ENDIF(HAVE_SALOME)
 
 CONFIGURE_FILE(doxyfile.in
index 1bb2803d3f44bf1400639e1fe5b2fbe744583cab..8603025a697f9b2d7bf51cd6938e25bb4d50ae53 100755 (executable)
@@ -9,7 +9,7 @@ cd ${BUILD_DIR}
 CMAKE_ARGS="-D_ECLIPSE_VERSION=4.3"
 CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=Debug"
 CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT=ON"
-CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_DIR}"
+CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=${NEWGEOM_ROOT_DIR}"
 CMAKE_ARGS="${CMAKE_ARGS} -DPYTHON_EXECUTABLE=${PYTHONHOME}/bin/python"
 CMAKE_ARGS="${CMAKE_ARGS} -DUSE_TEST_COVERAGE=OFF"
 CMAKE_ARGS="${CMAKE_ARGS} ${SOURCES_DIR}"
index 8d6cdc892908ecdd31b2699d5cedd5c405102274..ef10d0d7dbd4e8aa71e7169036021bcdfd70f856 100644 (file)
@@ -15,7 +15,8 @@ for path in INST_ROOT NEWGEOM_PDIR NEWGEOM_ROOT_DIR; do
 done
 
 set +u
-source ${INST_ROOT}/env_products.sh
+echo "Source ${INST_ROOT}/$(cd ${INST_ROOT} && ls *env_products.sh)"
+source ${INST_ROOT}/$(cd ${INST_ROOT} && ls *env_products.sh)
 set -u
 
 #------ SolveSpace ------
index e4898ba709350b63935d9028ead420f799874e27..7aa4b6992e0260ed3440a323f356eaa503fa9555 100644 (file)
@@ -1,5 +1,13 @@
 #!/bin/bash
 
+for path in TOOLS_DIR; do
+  if [[ -z "${!path}" ]]; then
+    echo "${path} not found."; exit 1
+  else
+    echo "Found ${path}: ${!path}"
+  fi
+done
+
 source ${TOOLS_DIR}/env_linux.sh
 
 # Correcting path which defined with error
index 0d714838b060ccdf4326433ba0433a8e6565303c..a321cccc0f84a490504ba9c7d14f17fe2a7a47f3 100644 (file)
@@ -2,7 +2,7 @@
 
 export SQUISH_GRABWINDOW_CLASSES=AppElements_ViewPort,OCCViewer_ViewPort3d
 
-SQUISH_DIR=/dn23/NEWGEOM/NEWGEOM_JENKINS_BUILD_AREA/tools/squish-5.1.1-qt48x-linux64
+SQUISH_DIR=/dn23/NEWGEOM/NEWGEOM_JENKINS_BUILD_AREA/tools/squish-6.0.0-qt48x-linux64
 export PATH=${SQUISH_DIR}/bin:${PATH}
 
 export SQUISH_LICENSEKEY_DIR=/dn23/NEWGEOM/NEWGEOM_JENKINS_BUILD_AREA/tools
index 7e55f36cc4a5a721e0d8cfbee1421d6147daea92..d4ca856c38764951c69cbaeb4ce17a2161821e9f 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-for path in TOOLS_DIR; do
+for path in TOOLS_DIR SUIT_DIR; do
   if [[ -z "${!path}" ]]; then 
     echo "${path} not found."; exit 1
   else
@@ -10,5 +10,10 @@ done
 
 source ${TOOLS_DIR}/env_linux.sh
 
-export LD_LIBRARY_PATH=${KERNEL_ROOT_DIR}/lib/salome:${LD_LIBRARY_PATH}
-export LightAppConfig=${NEWGEOM_ROOT_DIR}/share/salome/resources/newgeom:${GUI_ROOT_DIR}/share/salome/resources/gui
+# SUIT
+export PATH=${SUIT_DIR}/bin:${PATH}
+export LD_LIBRARY_PATH=${SUIT_DIR}/lib/salome:${LD_LIBRARY_PATH}
+
+#export LD_LIBRARY_PATH=${KERNEL_ROOT_DIR}/lib/salome:${LD_LIBRARY_PATH}
+#export LightAppConfig=${NEWGEOM_ROOT_DIR}/share/salome/resources/newgeom:${GUI_ROOT_DIR}/share/salome/resources/gui
+export LightAppConfig=${NEWGEOM_ROOT_DIR}/share/salome/resources/newgeom
index 63b3964f7dce69e8107d3f001af3e29ea1148801..542419c7e6e9ab9869bf25e7a3948a2ae31bce09 100755 (executable)
@@ -1,6 +1,7 @@
 #!/bin/bash
 
-source env_lcov.sh
+source env.sh
+source ${TOOLS_DIR}/env_linux.sh
 
 echo "Reset coverage data..."
 lcov --zerocounters --directory $(cd ../; pwd)
index 01a734b44d8ddeccb9b4c2bf4c2111f4f106788e..ef450e0a5cb9f8b9e2c9bd08af003a5982b96eae 100755 (executable)
@@ -1,10 +1,11 @@
 #!/bin/bash
 
-source env_lcov.sh
+source env.sh
+source ${TOOLS_DIR}/env_linux.sh
 
 echo "Collect coverage data..."
-lcov --capture --directory $(cd ../; pwd) --output-file coverage.info --no-external
+lcov --capture --directory ${BUILD_DIR} --output-file coverage.info
 
 echo "Generate HTML for coverage data..."
-genhtml coverage.info --output-directory lcov_html
+genhtml coverage.info --output-directory ${1:-lcov_html}
 
diff --git a/make.sh b/make.sh
index 725d131dc330fca47fbaaed952a527ed960a65e3..15b951265c280548253548ee4de85d763d9d6487 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -1,19 +1,39 @@
 #!/bin/bash
 
 source env.sh
-source ${TOOLS_DIR}/env_standalone.sh
 
-CMAKE_ARGS=""
-if [ -f GCOV ]; then 
-  echo "Use GCOV..."
-  source env_lcov.sh
-  CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=Debug"
-  CMAKE_ARGS="${CMAKE_ARGS} -DUSE_TEST_COVERAGE=ON"
-elif [ -f DEBUG ]; then
-  CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=Debug"
+while [[ $# > 0 ]]; do
+  key="$1"
+
+  case $key in
+    debug|Debug)
+    BUILD_TYPE=Debug
+    shift
+    ;;
+    lcov|coverage)
+    BUILD_TYPE=Debug
+    USE_TEST_COVERAGE=ON
+    shift
+    ;;
+    standalone|Standalone)
+    MODE=Standalone
+    shift
+    ;;
+    *)
+    shift
+    ;;
+  esac
+done
+
+if [[ ${MODE} = 'Standalone' ]]; then
+  source ${TOOLS_DIR}/env_standalone.sh
 else
-  CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=Release"
+  source ${TOOLS_DIR}/env_salome.sh
 fi
+
+CMAKE_ARGS=""
+CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_BUILD_TYPE=${BUILD_TYPE:-Release}"
+CMAKE_ARGS="${CMAKE_ARGS} -DUSE_TEST_COVERAGE=${USE_TEST_COVERAGE:-OFF}"
 CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX:PATH=${NEWGEOM_ROOT_DIR}"
 CMAKE_ARGS="${CMAKE_ARGS} ${SOURCES_DIR}"
 
index 5b9dc5708692283303ef95af0ae604fb85c55668..246307098222cbb07a247986d823e0948db44284 100644 (file)
@@ -20,13 +20,13 @@ if "%PDIR%" == "" (
 
 rem --------------- cmake 2.8.7 --------------
 if "%CMAKEDIR%" == "" (
-  set CMAKEDIR=%PDIR%\cmake-2.8.10.2
+  set CMAKEDIR=%PDIR%\cmake-2.8.12.2
 )
 set PATH=%CMAKEDIR%\bin;%PATH%
 
 @REM -------------------------
 @REM CASCADE
-@SET CAS_ROOT_DIR=%PDIR%\OCCT-6.9.0
+@SET CAS_ROOT_DIR=%PDIR%\OCCT-6.9.1
 @SET CASROOT=%CAS_ROOT_DIR%
 @REM -------------------------
 
@@ -55,7 +55,7 @@ set PATH=%CMAKEDIR%\bin;%PATH%
 
 @REM -------------------------
 @REM FREEIMAGE (Used by OCCT and Graphviz)
-@SET PATH=%PDIR%\freeimage-3.15.4\bin;%PATH%
+@SET PATH=%PDIR%\freeimage-3.16.0\dll;%PATH%
 @REM -------------------------
 
 @REM -------------------------
@@ -77,7 +77,7 @@ set PATH=%CMAKEDIR%\bin;%PATH%
 
 @REM -------------------------
 @REM TBB (Used by OCCT)
-@SET PATH=%PDIR%\tbb\bin;%PATH%
+@SET PATH=%PDIR%\tbb-4.2.4\bin;%PATH%
 @REM -------------------------
 
 @REM -------------------------
@@ -92,7 +92,7 @@ set PATH=%CMAKEDIR%\bin;%PATH%
 
 @REM -------------------------
 @REM PYTHON
-@SET PYTHONHOME=%PDIR%\python-2.7.3
+@SET PYTHONHOME=%PDIR%\python-2.7.10
 @SET PYTHON_INCLUDE=%PYTHONHOME%\include
 @SET PATH=%PYTHONHOME%;%PYTHONHOME%\libs;%PATH%
 @SET PYTHONPATH=%PYTHONHOME%\Lib;%PYTHONPATH%
index ce82805fa075cd3a18179f9322f5be290bfca2b7..b7bda749c976193d30730934195965336707fea1 100755 (executable)
@@ -12,7 +12,7 @@ if [ -f .salomeport ]; then
 fi 
 
 SALOME_ARGS=""
-SALOME_ARGS="${SALOME_ARGS} -r ./test.squish/shared/testdata/SalomeApp.xml"
+SALOME_ARGS="${SALOME_ARGS} -r ${SOURCES_DIR}/test.squish/shared/testdata/SalomeApp.xml"
 SALOME_ARGS="${SALOME_ARGS} --ns-port-log=$(pwd)/.salomeport"
 
 ${KERNEL_ROOT_DIR}/bin/salome/runSalome.py ${SALOME_ARGS} >log_runSalome 2>err_runSalome
index 70c0311a6a46b89bbf444a70d78f7b4ca95d5407..a8b4b231557d5d2eb66c78a90d58e77ba0de63c9 100644 (file)
@@ -5,6 +5,7 @@
   <plugin library="InitializationPlugin"/>
   <plugin library="PartSetPlugin" configuration="plugin-PartSet.xml"/>
   <plugin library="SketchPlugin" configuration="plugin-Sketch.xml"/>
+  <plugin library="SketchShapePlugin" configuration="plugin-SketchShape.xml"/>
   <plugin library="ConstructionPlugin" configuration="plugin-Construction.xml"/>
   <plugin library="FeaturesPlugin" configuration="plugin-Features.xml"/>
   <plugin library="ExchangePlugin" configuration="plugin-Exchange.xml"/>
index 9241308435320ab15b5bc4f3b83fd8f7431371cb..30844b6744a29fb0c941fb4d783fe027fd5d6bb5 100644 (file)
@@ -114,13 +114,15 @@ class ExportFeature(ModelAPI.ModelAPI_Feature):
             else:
                 groupType = "SOLID"
 
-        # iterate on exported objects and check if the current
-        # group refers to this object
-        for obj in self.geomObjects: 
-            if aSelectionContext.shape().isEqual(obj[0]):
-                aGroup = self.geompy.CreateGroup(obj[1], self.geompy.ShapeType[groupType])
-                self.geompy.UnionIDs(aGroup,Ids)
-                self.geompy.addToStudyInFather(obj[1], aGroup, theGroupName)
+        aContextBody = ModelAPI.modelAPI_ResultBody(aSelectionContext)
+        if aContextBody is not None:
+          # iterate on exported objects and check if the current
+          # group refers to this object
+          for obj in self.geomObjects: 
+              if aContextBody.isLatestEqual(obj[0]):
+                  aGroup = self.geompy.CreateGroup(obj[1], self.geompy.ShapeType[groupType])
+                  self.geompy.UnionIDs(aGroup,Ids)
+                  self.geompy.addToStudyInFather(obj[1], aGroup, theGroupName)
           
     ## Exports all shapes and groups into the GEOM module.
     def execute(self):
index da0d8786221b08f93fbe92fd3a338160377cec68..d2d96de532ceda5a4c43bb051fadad2a3ebb7f21 100644 (file)
@@ -129,7 +129,10 @@ void Events_Loop::flush(const Events_ID& theID)
     send(aGroup, false);
 
     if (!aWasFlushed)
-      myFlushed.erase(myFlushed.find(theID.myID));
+      // TODO: Stabilization fix. Check later.
+      if(myFlushed.find(theID.myID) != myFlushed.end()) {
+        myFlushed.erase(myFlushed.find(theID.myID));
+      }
   }
 }
 
index f43c7c73387214a65e6ace8899bbd37d2c9b291d..a399b646ee9ac6108fad65f45bfc9896a973ec7e 100644 (file)
@@ -83,7 +83,12 @@ void ExchangePlugin_ExportFeature::execute()
       this->selectionList(ExchangePlugin_ExportFeature::SELECTION_LIST_ID());
   std::list<std::shared_ptr<GeomAPI_Shape> > aShapes;
   for (int i = 0, aSize = aSelectionListAttr->size(); i < aSize; ++i) {
-    aShapes.push_back(aSelectionListAttr->value(i)->value());
+    AttributeSelectionPtr anAttrSelection = aSelectionListAttr->value(i);
+    std::shared_ptr<GeomAPI_Shape> aCurShape = anAttrSelection->value();
+    if (aCurShape.get() == NULL)
+      aCurShape = anAttrSelection->context()->shape();
+    if (aCurShape.get() != NULL)
+      aShapes.push_back(aCurShape);
   }
   std::shared_ptr<GeomAPI_Shape> aShape =
       GeomAlgoAPI_CompoundBuilder::compound(aShapes);
index 7338ddfb864e2874d370dfea9dc039afa7d45418..a2150fbebed3995f26471d4bcab925da2e96be19 100644 (file)
@@ -97,6 +97,7 @@ ADD_UNIT_TESTS(TestExtrusion.py
                TestRevolutionSketch.py
                TestRevolutionCut.py
                TestRevolutionFuse.py
+               TestCompositeFeaturesOnCompSolids.py
                TestPartition.py
                TestPlacement.py
                TestTranslation.py
index f2edb24b4749fcef10426ee92bdd3264ba84cc58..d9ff9ccfce5966c2e27f3d39656674cc71450b70 100644 (file)
@@ -115,7 +115,10 @@ void FeaturesPlugin_CompositeSketch::execute()
   if(!aConstruction.get()) {
     return;
   }
-  selection(SKETCH_SELECTION_ID())->setValue(aSketchRes, std::shared_ptr<GeomAPI_Shape>());
+
+  if (!selection(SKETCH_SELECTION_ID())->isInitialized() || selection(SKETCH_SELECTION_ID())->context() != aSketchRes) {
+    selection(SKETCH_SELECTION_ID())->setValue(aSketchRes, std::shared_ptr<GeomAPI_Shape>());
+  }
   int aSketchFacesNum = aConstruction->facesNum();
   if(aSketchFacesNum == 0) {
     return;
index 1ad620eb49a6b320c08ef16935ed813d02110150..422fd9d183ad2cd72d8fe7ba66b2256472366d81 100644 (file)
@@ -27,7 +27,7 @@ class FeaturesPlugin_CompositeSketch : public ModelAPI_CompositeFeature
     return MY_SKETCH_OBJECT_ID;
   }
 
-  /// Attribute name of sketch feature.
+  /// Attribute name of sketch feature selection: needed for naming of the selected sketch.
   inline static const std::string& SKETCH_SELECTION_ID()
   {
     static const std::string MY_SKETCH_SELECTION_ID("sketch_selection");
@@ -52,7 +52,7 @@ class FeaturesPlugin_CompositeSketch : public ModelAPI_CompositeFeature
   /// \return the sub-feature unique identifier in this composite feature by zero-base index.
   FEATURESPLUGIN_EXPORT virtual int subFeatureId(const int theIndex) const;
 
-  /// \return true if feature or result belong to this composite feature as subs.
+  /// \return true if feature or reuslt belong to this composite feature as subs.
   FEATURESPLUGIN_EXPORT virtual bool isSub(ObjectPtr theObject) const;
 
   /// This method to inform that sub-feature is removed and must be removed from the internal data
index c8ac130c44e0f33c8d7fe49615b8ccc3aa3d156c..3f7ed7efdc9ed42fd3ad344ac2c9090ec4db461e 100644 (file)
@@ -61,36 +61,26 @@ void FeaturesPlugin_Extrusion::execute()
   ListOfShape aFacesList;
   AttributeSelectionListPtr aFacesSelectionList = selectionList(LIST_ID());
   for(int anIndex = 0; anIndex < aFacesSelectionList->size(); anIndex++) {
-    std::shared_ptr<ModelAPI_AttributeSelection> aFaceSel = aFacesSelectionList->value(anIndex);
-    ResultPtr aContext = aFaceSel->context();
-    std::shared_ptr<GeomAPI_Shape> aContextShape = aContext->shape();
-    if(!aContextShape.get()) {
-      static const std::string aContextError = "The selection context is bad";
-      setError(aContextError);
-      break;
-    }
-
+    AttributeSelectionPtr aFaceSel = aFacesSelectionList->value(anIndex);
     std::shared_ptr<GeomAPI_Shape> aFaceShape = aFaceSel->value();
-    int aFacesNum = -1; // this mean that "aFace" is used
-    ResultConstructionPtr aConstruction = 
-      std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(aContext);
-    if(!aFaceShape.get()) { // this may be the whole sketch result selected, check and get faces
-      if (aConstruction.get()) {
-        aFacesNum = aConstruction->facesNum();
-      } else {
+    if(aFaceShape.get() && !aFaceShape->isNull()) { // Getting face.
+      aFacesList.push_back(aFaceShape);
+    } else { // This may be the whole sketch result selected, check and get faces.
+      ResultPtr aContext = aFaceSel->context();
+      std::shared_ptr<GeomAPI_Shape> aContextShape = aContext->shape();
+      if(!aContextShape.get()) {
+        static const std::string aContextError = "The selection context is bad";
+        setError(aContextError);
+        return;
+      }
+      ResultConstructionPtr aConstruction = std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(aContext);
+      if(!aConstruction.get()) {
         static const std::string aFaceError = "Can not find basis for extrusion";
         setError(aFaceError);
-        break;
+        return;
       }
-    }
-    for(int aFaceIndex = 0; aFaceIndex < aFacesNum || aFacesNum == -1; aFaceIndex++) {
-      std::shared_ptr<GeomAPI_Shape> aBaseShape;
-      if (aFacesNum == -1) {
-        if (!aFaceShape->isNull()) {
-          aFacesList.push_back(aFaceShape);
-        }
-        break;
-      } else {
+      int aFacesNum = aConstruction->facesNum();
+      for(int aFaceIndex = 0; aFaceIndex < aFacesNum || aFacesNum == -1; aFaceIndex++) {
         aFaceShape = std::dynamic_pointer_cast<GeomAPI_Shape>(aConstruction->face(aFaceIndex));
         aFacesList.push_back(aFaceShape);
       }
index 44ab7cc84a963cefda27dc903aa8b82d05137dce..2a584910c218521ee7350e879b2a02d8122ec9ca 100755 (executable)
@@ -22,6 +22,8 @@
 #include <GeomAlgoAPI_MakeShapeList.h>
 #include <GeomAlgoAPI_ShapeTools.h>
 
+#include <sstream>
+
 //=================================================================================================
 FeaturesPlugin_Partition::FeaturesPlugin_Partition()
 {
@@ -76,6 +78,7 @@ void FeaturesPlugin_Partition::execute()
   }
 
   GeomAlgoAPI_MakeShapeList aMakeShapeList;
+  std::list<std::shared_ptr<GeomAPI_Pnt> > aBoundingPoints = GeomAlgoAPI_ShapeTools::getBoundingBox(anObjects, 1.0);
 
   // Getting tools.
   AttributeSelectionListPtr aToolsSelList = selectionList(FeaturesPlugin_Partition::TOOL_LIST_ID());
@@ -86,7 +89,7 @@ void FeaturesPlugin_Partition::execute()
       // it could be a construction plane
       ResultPtr aContext = aToolAttr->context();
       if(aContext.get()) {
-        aTool = GeomAlgoAPI_ShapeTools::faceToInfinitePlane(aContext->shape());
+        aTool = GeomAlgoAPI_ShapeTools::fitPlaneToBox(aContext->shape(), aBoundingPoints);
         std::shared_ptr<GeomAlgoAPI_MakeShapeCustom> aMkShCustom(new GeomAlgoAPI_MakeShapeCustom);
         aMkShCustom->addModified(aContext->shape(), aTool);
         aMakeShapeList.append(aMkShCustom);
@@ -190,21 +193,28 @@ void FeaturesPlugin_Partition::loadNamingDS(std::shared_ptr<ModelAPI_ResultBody>
   if(theBaseShape->isEqual(theResultShape)) {
     theResultBody->store(theResultShape);
   } else {
-    const int aModifyTag = 1;
-    const int aDeletedTag = 2;
-    const int aSubsolidsTag = 3; /// sub solids will be placed at labels 3, 4, etc. if result is compound of solids
+    const int aDeletedTag = 1;
+    const int aSubsolidsTag = 2; /// sub solids will be placed at labels 3, 4, etc. if result is compound of solids
+    const int aModifyTag = 100000;
+    int aModifyToolsTag = 200000;
+    std::ostringstream aStream;
 
     theResultBody->storeModified(theBaseShape, theResultShape, aSubsolidsTag);
 
     std::string aModName = "Modified";
     theResultBody->loadAndOrientModifiedShapes(&theMakeShape, theBaseShape, GeomAPI_Shape::FACE,
-                                               aModifyTag, aModName, theMapOfShapes);
+                                               aModifyTag, aModName, theMapOfShapes, true);
     theResultBody->loadDeletedShapes(&theMakeShape, theBaseShape, GeomAPI_Shape::FACE, aDeletedTag);
 
+    int anIndex = 1;
     for(ListOfShape::const_iterator anIter = theTools.begin(); anIter != theTools.end(); anIter++) {
+      aStream.str(std::string());
+      aStream.clear();
+      aStream << aModName << "_" << anIndex++;
       theResultBody->loadAndOrientModifiedShapes(&theMakeShape, *anIter, GeomAPI_Shape::FACE,
-                                                 aModifyTag, aModName, theMapOfShapes);
+                                                 aModifyToolsTag, aStream.str(), theMapOfShapes, true);
       theResultBody->loadDeletedShapes(&theMakeShape, *anIter, GeomAPI_Shape::FACE, aDeletedTag);
+      aModifyToolsTag += 10000;
     }
   }
 }
index fd06b5f961e9dcd16761ca806a9aece60a5c451e..f37eac6c84c708a68de1274ee27d46f4cbffd67a 100644 (file)
@@ -58,34 +58,26 @@ void FeaturesPlugin_Revolution::execute()
   ListOfShape aFacesList;
   AttributeSelectionListPtr aFacesSelectionList = selectionList(LIST_ID());
   for(int anIndex = 0; anIndex < aFacesSelectionList->size(); anIndex++) {
-    std::shared_ptr<ModelAPI_AttributeSelection> aFaceSel = aFacesSelectionList->value(anIndex);
-    ResultPtr aContext = aFaceSel->context();
-    std::shared_ptr<GeomAPI_Shape> aContextShape = aContext->shape();
-    if(!aContextShape.get()) {
-      static const std::string aContextError = "The selection context is bad";
-      setError(aContextError);
-      break;
-    }
-
+    AttributeSelectionPtr aFaceSel = aFacesSelectionList->value(anIndex);
     std::shared_ptr<GeomAPI_Shape> aFaceShape = aFaceSel->value();
-    int aFacesNum = -1; // this mean that "aFace" is used
-    ResultConstructionPtr aConstruction = 
-      std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(aContext);
-    if(!aFaceShape.get()) { // this may be the whole sketch result selected, check and get faces
-      if (aConstruction.get()) {
-        aFacesNum = aConstruction->facesNum();
-      } else {
+    if(aFaceShape.get() && !aFaceShape->isNull()) { // Getting face.
+      aFacesList.push_back(aFaceShape);
+    } else { // This may be the whole sketch result selected, check and get faces.
+      ResultPtr aContext = aFaceSel->context();
+      std::shared_ptr<GeomAPI_Shape> aContextShape = aContext->shape();
+      if(!aContextShape.get()) {
+        static const std::string aContextError = "The selection context is bad";
+        setError(aContextError);
+        return;
+      }
+      ResultConstructionPtr aConstruction = std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(aContext);
+      if(!aConstruction.get()) {
         static const std::string aFaceError = "Can not find basis for revolution";
         setError(aFaceError);
-        break;
+        return;
       }
-    }
-    for(int aFaceIndex = 0; aFaceIndex < aFacesNum || aFacesNum == -1; aFaceIndex++) {
-      std::shared_ptr<GeomAPI_Shape> aBaseShape;
-      if (aFacesNum == -1) {
-        aFacesList.push_back(aFaceShape);
-        break;
-      } else {
+      int aFacesNum = aConstruction->facesNum();
+      for(int aFaceIndex = 0; aFaceIndex < aFacesNum || aFacesNum == -1; aFaceIndex++) {
         aFaceShape = std::dynamic_pointer_cast<GeomAPI_Shape>(aConstruction->face(aFaceIndex));
         aFacesList.push_back(aFaceShape);
       }
diff --git a/src/FeaturesPlugin/Test/TestCompositeFeaturesOnCompSolids.py b/src/FeaturesPlugin/Test/TestCompositeFeaturesOnCompSolids.py
new file mode 100644 (file)
index 0000000..627423f
--- /dev/null
@@ -0,0 +1,219 @@
+#=========================================================================
+# Initialization of the test
+#=========================================================================
+from ModelAPI import *
+from GeomDataAPI import *
+from GeomAlgoAPI import *
+from GeomAPI import *
+
+__updated__ = "2014-12-16"
+
+aSession = ModelAPI_Session.get()
+# Create a part for extrusions & boolean
+aSession.startOperation()
+aPartFeature = aSession.moduleDocument().addFeature("Part")
+aSession.finishOperation()
+aPart = aSession.activeDocument()
+
+#=========================================================================
+# Create a sketch with circle to extrude
+#=========================================================================
+aSession.startOperation()
+aCircleSketchFeature = featureToCompositeFeature(aPart.addFeature("Sketch"))
+origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin"))
+origin.setValue(0, 0, 0)
+dirx = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX"))
+dirx.setValue(1, 0, 0)
+norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm"))
+norm.setValue(0, 0, 1)
+
+aSketchCircle = aCircleSketchFeature.addFeature("SketchCircle")
+aCircleCentr = geomDataAPI_Point2D(aSketchCircle.attribute("CircleCenter"))
+aCircleRadius = aSketchCircle.real("CircleRadius")
+aCircleCentr.setValue(0, 0)
+aCircleRadius.setValue(50)
+
+aSketchLine = aCircleSketchFeature.addFeature("SketchLine")
+aLineStartPoint = geomDataAPI_Point2D(aSketchLine.attribute("StartPoint"))
+aLineEndPoint = geomDataAPI_Point2D(aSketchLine.attribute("EndPoint"))
+aLineStartPoint.setValue(0, -50)
+aLineEndPoint.setValue(0, 50)
+aSession.finishOperation()
+
+#=========================================================================
+# Make extrusion on circle
+#=========================================================================
+# Build shape from sketcher results
+aCircleSketchResult = aCircleSketchFeature.firstResult()
+aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape()
+origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt()
+dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir()
+norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir()
+aCircleSketchFaces = ShapeList()
+GeomAlgoAPI_SketchBuilder.createFaces(
+    origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces)
+assert (len(aCircleSketchFaces) > 0)
+assert (aCircleSketchFaces[0] is not None)
+# Create extrusion
+aSession.startOperation()
+anExtrusionFt = aPart.addFeature("Extrusion")
+assert (anExtrusionFt.getKind() == "Extrusion")
+# selection type FACE=4
+anExtrusionFt.selectionList("base").append(
+    aCircleSketchResult, None)
+anExtrusionFt.string("CreationMethod").setValue("BySizes")
+anExtrusionFt.real("to_size").setValue(50)
+anExtrusionFt.real("from_size").setValue(0)
+anExtrusionFt.real("to_offset").setValue(0) #TODO: remove
+anExtrusionFt.real("from_offset").setValue(0) #TODO: remove
+anExtrusionFt.execute()
+aSession.finishOperation()
+assert (anExtrusionFt.real("to_size").value() == 50.0)
+
+# Check extrusion results
+assert (len(anExtrusionFt.results()) > 0)
+anExtrusionResult = modelAPI_ResultBody(anExtrusionFt.firstResult())
+assert (anExtrusionResult is not None)
+
+#=========================================================================
+# Test extrusion cut between bounding planes
+#=========================================================================
+# Create from plane
+aSession.startOperation()
+aFromPlaneFeature = aPart.addFeature("Plane")
+aFromPlaneFeature.string("CreationMethod").setValue("PlaneByGeneralEquation")
+aFromPlaneFeature.real("A").setValue(0.)
+aFromPlaneFeature.real("B").setValue(0.)
+aFromPlaneFeature.real("C").setValue(1.)
+aFromPlaneFeature.real("D").setValue(-25.)
+aSession.finishOperation()
+
+# Create to plane
+aSession.startOperation()
+aToPlaneFeature = aPart.addFeature("Plane")
+aToPlaneFeature.string("CreationMethod").setValue("PlaneByGeneralEquation")
+aToPlaneFeature.real("A").setValue(0.)
+aToPlaneFeature.real("B").setValue(0.)
+aToPlaneFeature.real("C").setValue(1.)
+aToPlaneFeature.real("D").setValue(-60.)
+aSession.finishOperation()
+
+#=========================================================================
+# Make extrusion cut
+#=========================================================================
+aSession.startOperation()
+anExtrusionCutFt = featureToCompositeFeature(aPart.addFeature("ExtrusionCut"))
+assert (anExtrusionCutFt.getKind() == "ExtrusionCut")
+# selection type FACE=4
+aSession.startOperation()
+aCircleSketchFeature = featureToCompositeFeature(anExtrusionCutFt.addFeature("Sketch"))
+origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin"))
+origin.setValue(0, 0, 50)
+dirx = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX"))
+dirx.setValue(1, 0, 0)
+norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm"))
+norm.setValue(0, 0, 1)
+aCircleSketchFeature.selection("External").selectSubShape("face", "Extrusion_1/TopFace_1")
+aSketchCircle = aCircleSketchFeature.addFeature("SketchCircle")
+anCircleCentr = geomDataAPI_Point2D(aSketchCircle.attribute("CircleCenter"))
+aCircleRadius = aSketchCircle.real("CircleRadius")
+anCircleCentr.setValue(0, 0)
+aCircleRadius.setValue(10)
+aSession.finishOperation()
+aSession.startOperation()
+anExtrusionCutFt.string("CreationMethod").setValue("ByPlanesAndOffsets")
+anExtrusionCutFt.real("to_size").setValue(0)
+anExtrusionCutFt.real("from_size").setValue(0)
+aToResult = aToPlaneFeature.firstResult()
+aToShape = modelAPI_ResultConstruction(aToResult).shape()
+anExtrusionCutFt.selection("to_object").setValue(aToResult, aToShape)
+anExtrusionCutFt.real("to_offset").setValue(0)
+aFromResult = aFromPlaneFeature.firstResult()
+aFromShape = modelAPI_ResultConstruction(aFromResult).shape()
+anExtrusionCutFt.selection("from_object").setValue(aFromResult, aFromShape)
+anExtrusionCutFt.real("from_offset").setValue(0)
+anExtrusionCutFt.selectionList("boolean_objects").append(modelAPI_ResultCompSolid(anExtrusionResult).subResult(1), None)
+anExtrusionCutFt.execute()
+aSession.finishOperation()
+aSession.finishOperation()
+
+#=========================================================================
+# Test results
+#=========================================================================
+aFactory = ModelAPI_Session.get().validators()
+assert (aFactory.validate(anExtrusionCutFt))
+assert (len(anExtrusionCutFt.results()) > 0)
+aCurrentResult = modelAPI_ResultBody(anExtrusionCutFt.firstResult())
+assert (aCurrentResult is not None)
+aSession.undo()
+
+#=========================================================================
+# Create a sketch line to revol
+#=========================================================================
+aSession.startOperation()
+aLineSketchFeature = featureToCompositeFeature(aPart.addFeature("Sketch"))
+origin = geomDataAPI_Point(aLineSketchFeature.attribute("Origin"))
+origin.setValue(0, 0, 0)
+dirx = geomDataAPI_Dir(aLineSketchFeature.attribute("DirX"))
+dirx.setValue(1, 0, 0)
+norm = geomDataAPI_Dir(aLineSketchFeature.attribute("Norm"))
+norm.setValue(0, 0, 1)
+
+aSketchLine = aLineSketchFeature.addFeature("SketchLine")
+aLineStartPoint = geomDataAPI_Point2D(aSketchLine.attribute("StartPoint"))
+aLineEndPoint = geomDataAPI_Point2D(aSketchLine.attribute("EndPoint"))
+aLineStartPoint.setValue(-50., 50.)
+aLineEndPoint.setValue(-50., -50.)
+aSession.finishOperation()
+
+# Build shape from sketcher results
+aLineSketchResult = aLineSketchFeature.firstResult()
+aLineSketchShape = modelAPI_ResultConstruction(aLineSketchResult).shape()
+aShapeExplorer = GeomAPI_ShapeExplorer(aLineSketchShape, GeomAPI_Shape.EDGE)
+aLineEdge = aShapeExplorer.current()
+
+#=========================================================================
+# Make revolution fuse
+#=========================================================================
+aSession.startOperation()
+anRevolutionFuseFt = featureToCompositeFeature(aPart.addFeature("RevolutionFuse"))
+assert (anRevolutionFuseFt.getKind() == "RevolutionFuse")
+# selection type FACE=4
+aSession.startOperation()
+aCircleSketchFeature = featureToCompositeFeature(anRevolutionFuseFt.addFeature("Sketch"))
+origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin"))
+origin.setValue(0, 0, 50)
+dirx = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX"))
+dirx.setValue(1, 0, 0)
+norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm"))
+norm.setValue(0, 0, 1)
+aCircleSketchFeature.selection("External").selectSubShape("face", "Extrusion_1/TopFace_1")
+aSketchCircle = aCircleSketchFeature.addFeature("SketchCircle")
+anCircleCentr = geomDataAPI_Point2D(aSketchCircle.attribute("CircleCenter"))
+aCircleRadius = aSketchCircle.real("CircleRadius")
+anCircleCentr.setValue(0, 0)
+aCircleRadius.setValue(10)
+aSession.finishOperation()
+aSession.startOperation()
+anRevolutionFuseFt.selection("axis_object").setValue(aLineSketchResult, aLineEdge)
+anRevolutionFuseFt.string("CreationMethod").setValue("ByPlanesAndOffsets")
+anRevolutionFuseFt.real("from_angle").setValue(0) #TODO: remove
+anRevolutionFuseFt.real("to_angle").setValue(0) #TODO: remove
+anRevolutionFuseFt.selection("to_object").setValue(aToResult, None)
+anRevolutionFuseFt.real("to_offset").setValue(0)
+anRevolutionFuseFt.selection("from_object").setValue(None, None)
+anRevolutionFuseFt.real("from_offset").setValue(0)
+anRevolutionFuseFt.selectionList("boolean_objects").append(modelAPI_ResultCompSolid(anExtrusionResult).subResult(1), None)
+anRevolutionFuseFt.execute()
+aSession.finishOperation()
+aSession.finishOperation()
+
+#=========================================================================
+# Test results
+#=========================================================================
+aFactory = ModelAPI_Session.get().validators()
+assert (aFactory.validate(anRevolutionFuseFt))
+assert (len(anRevolutionFuseFt.results()) > 0)
+aCurrentResult = modelAPI_ResultBody(anRevolutionFuseFt.firstResult())
+assert (aCurrentResult is not None)
+
index 2307a16a52c16b1d658336b1f9ab2f5a98b7342e..fc955f30dec24ca0797dc277d2327324d1d76e47 100644 (file)
@@ -44,12 +44,12 @@ aLineBStartPoint = geomDataAPI_Point2D(aSketchLineB.attribute("StartPoint"))
 aLineBEndPoint = geomDataAPI_Point2D(aSketchLineB.attribute("EndPoint"))
 aLineCStartPoint = geomDataAPI_Point2D(aSketchLineC.attribute("StartPoint"))
 aLineCEndPoint = geomDataAPI_Point2D(aSketchLineC.attribute("EndPoint"))
-aLineAStartPoint.setValue(25., 25.)
-aLineAEndPoint.setValue(100., 25.)
-aLineBStartPoint.setValue(100., 25.)
-aLineBEndPoint.setValue(60., 75.)
-aLineCStartPoint.setValue(60., 75.)
-aLineCEndPoint.setValue(25., 25.)
+aLineAStartPoint.setValue(-100., 0.)
+aLineAEndPoint.setValue(100., 0.)
+aLineBStartPoint.setValue(100., 0.)
+aLineBEndPoint.setValue(0., 173.2)
+aLineCStartPoint.setValue(0., 173.2)
+aLineCEndPoint.setValue(-100., 0.)
 aSession.finishOperation()
 # Build sketch faces
 aSession.startOperation()
@@ -59,33 +59,186 @@ origin = geomDataAPI_Point(aTriangleSketchFeature.attribute("Origin")).pnt()
 dirX = geomDataAPI_Dir(aTriangleSketchFeature.attribute("DirX")).dir()
 norm = geomDataAPI_Dir(aTriangleSketchFeature.attribute("Norm")).dir()
 aSketchFaces = ShapeList()
-GeomAlgoAPI_SketchBuilder.createFaces(
-    origin, dirX, norm, aSketchEdges, aSketchFaces)
+GeomAlgoAPI_SketchBuilder.createFaces(origin, dirX, norm, aSketchEdges, aSketchFaces)
 # Create extrusion on them
 anExtrusionFt = aPart.addFeature("Extrusion")
-anExtrusionFt.selectionList("base").append(
-    aSketchResult, aSketchFaces[0])
-anExtrusionFt.real("from_size").setValue(50)
+anExtrusionFt.selectionList("base").append(aSketchResult, aSketchFaces[0])
+anExtrusionFt.string("CreationMethod").setValue("BySizes")
 anExtrusionFt.real("to_size").setValue(50)
+anExtrusionFt.real("from_size").setValue(50)
+anExtrusionFt.real("to_offset").setValue(0) #TODO: remove
+anExtrusionFt.real("from_offset").setValue(0) #TODO: remove
 anExtrusionFt.execute()
 aSession.finishOperation()
 anExtrusionBody = modelAPI_ResultBody(anExtrusionFt.firstResult())
 #=========================================================================
+# Create group of vertex
+#=========================================================================
+aSession.startOperation()
+aGroupFeature = aSession.activeDocument().addFeature("Group")
+aSelectionListAttr = aGroupFeature.selectionList("group_list")
+aSelectionListAttr.setSelectionType("vertex")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_3|Extrusion_1_1/LateralFace_1|Extrusion_1_1/ToFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_3|Extrusion_1_1/LateralFace_2|Extrusion_1_1/ToFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_2|Extrusion_1_1/LateralFace_1|Extrusion_1_1/ToFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_3|Extrusion_1_1/LateralFace_1|Extrusion_1_1/FromFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_3|Extrusion_1_1/LateralFace_2|Extrusion_1_1/FromFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_2|Extrusion_1_1/LateralFace_1|Extrusion_1_1/FromFace_1")
+aSession.finishOperation()
+#=========================================================================
+# Check results
+#=========================================================================
+assert(aSelectionListAttr.size() == 6)
+aGroupResult = aGroupFeature.firstResult()
+assert(aGroupResult)
+#=========================================================================
 # Create group of edges
-# TODO: After implementation of selection from batch script
-# update this test to have proper reslts in the group feature
 #=========================================================================
 aSession.startOperation()
 aGroupFeature = aSession.activeDocument().addFeature("Group")
 aSelectionListAttr = aGroupFeature.selectionList("group_list")
 aSelectionListAttr.setSelectionType("edge")
-aSelectionListAttr.append("Extrusion_1/LateralFace_3|Extrusion_1/LateralFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_2|Extrusion_1_1/LateralFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_3|Extrusion_1_1/LateralFace_2")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_3|Extrusion_1_1/LateralFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_3|Extrusion_1_1/FromFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_1|Extrusion_1_1/ToFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_1|Extrusion_1_1/FromFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_2|Extrusion_1_1/ToFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_2|Extrusion_1_1/FromFace_1")
+aSelectionListAttr.append("Extrusion_1_1/LateralFace_3|Extrusion_1_1/ToFace_1")
+aSession.finishOperation()
+#=========================================================================
+# Check results
+#=========================================================================
+assert(aSelectionListAttr.size() == 9)
+aGroupResult = aGroupFeature.firstResult()
+assert(aGroupResult)
+#=========================================================================
+# Create group of faces
+#=========================================================================
+aSession.startOperation()
+aGroupFeature = aSession.activeDocument().addFeature("Group")
+aSelectionListAttr = aGroupFeature.selectionList("group_list")
+aSelectionListAttr.setSelectionType("face")
+aShapeExplorer = GeomAPI_ShapeExplorer(anExtrusionBody.shape(), GeomAPI_Shape.FACE)
+while aShapeExplorer.more():
+  aSelectionListAttr.append(anExtrusionBody, aShapeExplorer.current())
+  aShapeExplorer.next();
+aSession.finishOperation()
+#=========================================================================
+# Check results
+#=========================================================================
+assert(aSelectionListAttr.size() == 5)
+aGroupResult = aGroupFeature.firstResult()
+assert(aGroupResult)
+#=========================================================================
+# Create group of solids
+#=========================================================================
+aSession.startOperation()
+aGroupFeature = aSession.activeDocument().addFeature("Group")
+aSelectionListAttr = aGroupFeature.selectionList("group_list")
+aSelectionListAttr.setSelectionType("face")
+aSelectionListAttr.append(anExtrusionBody, None)
+aSession.finishOperation()
+#=========================================================================
+# Check results
+#=========================================================================
+assert(aSelectionListAttr.size() == 1)
+aGroupResult = aGroupFeature.firstResult()
+assert(aGroupResult)
+
+#=========================================================================
+# Create group of face
+#=========================================================================
+aSession.startOperation()
+aGroupFeature = aSession.activeDocument().addFeature("Group")
+aSelectionListAttr = aGroupFeature.selectionList("group_list")
+aSelectionListAttr.setSelectionType("face")
+aSelectionListAttr.append("Extrusion_1_1/ToFace_1")
 aSession.finishOperation()
 #=========================================================================
 # Check results
 #=========================================================================
-#aGroupResult = aGroupFeature.firstResult()
-#assert(aGroupResult)
+assert(aSelectionListAttr.size() == 1)
+aGroupResult = aGroupFeature.firstResult()
+assert(aGroupResult)
+
+#=========================================================================
+# Create a sketch circle to extrude
+#=========================================================================
+aSession.startOperation()
+aCircleSketchFeature = featureToCompositeFeature(aPart.addFeature("Sketch"))
+origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin"))
+origin.setValue(0, 0, 0)
+dirx = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX"))
+dirx.setValue(1, 0, 0)
+norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm"))
+norm.setValue(0, 0, 1)
+# Create circle
+aSketchCircle = aCircleSketchFeature.addFeature("SketchCircle")
+anCircleCentr = geomDataAPI_Point2D(aSketchCircle.attribute("CircleCenter"))
+aCircleRadius = aSketchCircle.real("CircleRadius")
+anCircleCentr.setValue(0., 57.74)
+aCircleRadius.setValue(50.)
+aSession.finishOperation()
+#=========================================================================
+# Make extrusion on circle
+#=========================================================================
+# Build shape from sketcher results
+aCircleSketchResult = aCircleSketchFeature.firstResult()
+aCircleSketchEdges = modelAPI_ResultConstruction(aCircleSketchResult).shape()
+origin = geomDataAPI_Point(aCircleSketchFeature.attribute("Origin")).pnt()
+dirX = geomDataAPI_Dir(aCircleSketchFeature.attribute("DirX")).dir()
+norm = geomDataAPI_Dir(aCircleSketchFeature.attribute("Norm")).dir()
+aCircleSketchFaces = ShapeList()
+GeomAlgoAPI_SketchBuilder.createFaces(origin, dirX, norm, aCircleSketchEdges, aCircleSketchFaces)
+assert(len(aCircleSketchFaces) > 0)
+assert(aCircleSketchFaces[0] is not None)
+# Create extrusion
+aSession.startOperation()
+anExtrusionFt = aPart.addFeature("Extrusion")
+assert (anExtrusionFt.getKind() == "Extrusion")
+# selection type FACE=4
+anExtrusionFt.selectionList("base").append(aCircleSketchResult, aCircleSketchFaces[0])
+anExtrusionFt.string("CreationMethod").setValue("BySizes")
+anExtrusionFt.real("to_size").setValue(50)
+anExtrusionFt.real("from_size").setValue(50)
+anExtrusionFt.real("to_offset").setValue(0) #TODO: remove
+anExtrusionFt.real("from_offset").setValue(0) #TODO: remove
+anExtrusionFt.execute()
+aSession.finishOperation()
+aCylinderBody = modelAPI_ResultBody(anExtrusionFt.firstResult())
+
+#=========================================================================
+# Create a cut
+#=========================================================================
+aSession.startOperation()
+aBooleanFt = aPart.addFeature("Boolean")
+aBooleanFt.selectionList("main_objects").append(anExtrusionBody, None)
+aBooleanFt.selectionList("tool_objects").append(aCylinderBody, None)
+aBooleanTypeCut = 0
+aBooleanFt.integer("bool_type").setValue(aBooleanTypeCut)
+aBooleanFt.execute()
+aSession.finishOperation()
+
+#=========================================================================
+# Move group feature
+#=========================================================================
+aSession.startOperation()
+aPart.moveFeature(aGroupFeature, aBooleanFt)
+aSession.finishOperation()
+
+#=========================================================================
+# Check results
+#=========================================================================
+aFactory = ModelAPI_Session.get().validators()
+assert(aFactory.validate(aGroupFeature))
+assert(aSelectionListAttr.size() == 1)
+assert(len(aGroupFeature.results()) > 0)
+aGroupResult = aGroupFeature.firstResult()
+assert(aGroupResult)
 #=========================================================================
 # End of test
 #=========================================================================
+
index 8fc0925caf92ddcaa47fbb9ff07a5abfaf2a4230..8e6543d09ffcf4873e03000d86115cd26e2e5856 100644 (file)
@@ -1,9 +1,18 @@
 <!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
 
 <source>
+  <module_choice id="bool_type"
+    widget_type="radiobuttons"
+    buttons_dir="horizontal"
+    label="Operation type" 
+    tooltip="Type of boolean operation"
+    string_list="Cut Fuse Common"
+    icons_list=":icons/bool_cut.png :icons/bool_fuse.png :icons/bool_common.png"
+    default="0"
+  />
   <multi_selector id="main_objects"
     label="Main objects"
-    icon=":icons/cut_shape.png"
+    icon=""
     tooltip="Select a solid objects"
     type_choice="Solids"
     concealment="true">
   </multi_selector>
   <multi_selector id="tool_objects" 
     label="Tool object" 
-    icon=":icons/cut_tool.png
+    icon="" 
     tooltip="Select a tool solid"
     type_choice="Solids"
     concealment="true" >
     <validator id="PartSet_DifferentObjects"/>
     <validator id="GeomValidators_ShapeType" parameters="empty,solid"/>
   </multi_selector>
-  <choice id="bool_type" 
-    label="Type" 
-    tooltip="Type of boolean operation"
-    string_list="Cut Fuse Common"
-    default="0"
-  />
   <validator id="GeomValidators_BooleanArguments" parameters="main_objects,tool_objects,bool_type"/>
 </source>
index a2d10a699ffbd5be8f575d58b23b507b632750c1..90a7b70785fd18477577bd0e36f68df2e20ff59d 100644 (file)
@@ -77,5 +77,5 @@
       </groupbox>
     </box>
   </toolbox>
-  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
+  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,base,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
 </source>
index a5bd0a91d68ea29ccc18634e7eaa5b932c675547..5a1c29076f2b548acc73f87ae60ec9570ebe86e3 100755 (executable)
@@ -72,5 +72,5 @@
     concealment="true">
     <validator id="GeomValidators_ShapeType" parameters="solid"/>
   </multi_selector>
-  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
+  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,sketch_selection,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
 </source>
index eb92540661e28ab7537ab900b2f1a2ef02701f29..fb06968e0f41c5605b047a695b44266342c7b107 100644 (file)
@@ -72,5 +72,5 @@
     concealment="true">
     <validator id="GeomValidators_ShapeType" parameters="solid"/>
   </multi_selector>
-  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
+  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,sketch_selection,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
 </source>
index c136499f550c598cae4be4702491e075709dad19..a5c74f6d01ca3c31260ca0a9e0f5c9d039715058 100644 (file)
@@ -65,5 +65,5 @@
       </box>
     </toolbox>
   </groupbox>
-  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
+  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,BySizes,sketch_selection,to_size,from_size,to_object,to_offset,from_object,from_offset"/>
 </source>
index 19527f98993284eb885e1d675fe46e628db0ce95..d64ceef234b493bd0e44db33662aec2d1c3610ce 100644 (file)
@@ -93,5 +93,5 @@
       </groupbox>
     </box>
   </toolbox>
-  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,ByAngles,to_angle,from_angle,to_object,to_offset,from_object,from_offset"/>
+  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,ByAngles,base,to_angle,from_angle,to_object,to_offset,from_object,from_offset"/>
 </source>
\ No newline at end of file
index dac018aaadcfbd8e876e01d56504405d57403d46..c90327b4c7160807ce4770807e027798831ddc11 100644 (file)
@@ -88,5 +88,5 @@
     concealment="true">
     <validator id="GeomValidators_ShapeType" parameters="solid"/>
   </multi_selector>
-  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,ByAngles,to_angle,from_angle,to_object,to_offset,from_object,from_offset"/>
+  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,ByAngles,sketch_selection,to_angle,from_angle,to_object,to_offset,from_object,from_offset"/>
 </source>
index b590bbfd64396fe5e59e0d529b75c3d398683b24..79455e844807536638b6936750e344b9138a72a2 100644 (file)
@@ -88,5 +88,5 @@
     concealment="true">
     <validator id="GeomValidators_ShapeType" parameters="solid"/>
   </multi_selector>
-  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,ByAngles,to_angle,from_angle,to_object,to_offset,from_object,from_offset"/>
+  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,ByAngles,sketch_selection,to_angle,from_angle,to_object,to_offset,from_object,from_offset"/>
 </source>
index 460fd7a95a42b6444227cb8077555d098f706745..c72c0f22001ecaf8a411f76e987a3c4b3438ceb3 100644 (file)
@@ -81,5 +81,5 @@
       </box>
     </toolbox>
   </groupbox>
-  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,ByAngles,to_angle,from_angle,to_object,to_offset,from_object,from_offset"/>
+  <validator id="GeomValidators_ZeroOffset" parameters="CreationMethod,ByAngles,sketch_selection,to_angle,from_angle,to_object,to_offset,from_object,from_offset"/>
 </source>
index 0e0a21a310363b97656f94d14f5b6ecd05f17ee9..c809e567e843c9b099b546887e4f33c6931df122 100644 (file)
@@ -12,6 +12,7 @@
 #include <gp_Circ2d.hxx>
 #include <gp_Pnt2d.hxx>
 #include <gp_Ax2d.hxx>
+#include <GeomLib_Tool.hxx>
 #include <Geom2d_Circle.hxx>
 #include <Geom2dAPI_ProjectPointOnCurve.hxx>
 #include <Precision.hxx>
@@ -97,3 +98,21 @@ double GeomAPI_Circ2d::radius() const
   return MY_CIRC2D->Radius();
 }
 
+//=================================================================================================
+const bool GeomAPI_Circ2d::parameter(const std::shared_ptr<GeomAPI_Pnt2d> thePoint,
+                                   const double theTolerance,
+                                   double& theParameter) const
+{
+  Handle(Geom2d_Circle) aCurve = new Geom2d_Circle(*MY_CIRC2D);
+  return GeomLib_Tool::Parameter(aCurve, thePoint->impl<gp_Pnt2d>(), theTolerance, theParameter) == Standard_True;
+}
+
+//=================================================================================================
+void GeomAPI_Circ2d::D0(const double theU, std::shared_ptr<GeomAPI_Pnt2d>& thePoint)
+{
+  Handle(Geom2d_Circle) aCurve = new Geom2d_Circle(*MY_CIRC2D);
+  gp_Pnt2d aPnt;
+  aCurve->D0(theU, aPnt);
+  thePoint.reset(new GeomAPI_Pnt2d(aPnt.X(), aPnt.Y()));
+}
+
index 1226a5f78f20cb3553b337d65f25271ac236bb78..478c9986a76e7d3648569f78c7973b71e1c3a4a7 100644 (file)
@@ -43,6 +43,27 @@ class GeomAPI_Circ2d : public GeomAPI_Interface
   GEOMAPI_EXPORT 
   const std::shared_ptr<GeomAPI_Pnt2d> project(
       const std::shared_ptr<GeomAPI_Pnt2d>& thePoint) const;
+
+  /** \brief Computes the parameter of a given point on a circle. The point must be
+   *         located either on the circle itself or relatively to the latter
+   *         at a distance less than the tolerance value. Return FALSE if the point
+   *         is beyond the tolerance limit or if computation fails.
+   *         Max Tolerance value is currently limited to 1.e-4
+   *  \param[in] thePoint point of origin.
+   *  \param[in] theTolerance tolerance of computation.
+   *  \param[out] theParameter resulting parameter.
+   */
+  GEOMAPI_EXPORT const bool parameter(const std::shared_ptr<GeomAPI_Pnt2d> thePoint,
+                                      const double theTolerance,
+                                      double& theParameter) const;
+
+  /** \brief Returns in thePoint the point of parameter theU.
+   *  P = C + R * Cos (U) * XDir + R * Sin (U) * YDir where C is the center of the circle,
+   *  XDir the XDirection and YDir the YDirection of the circle's local coordinate system.
+   *  \param[in] theU parameter.
+   *  \param[out] thePoint resulting point.
+   */
+  GEOMAPI_EXPORT void D0(const double theU, std::shared_ptr<GeomAPI_Pnt2d>& thePoint);
 };
 
 #endif
index 42c8a86d1329e631ef4c4cb3a595d34545a2dc62..2e11b8574831bc82f563262c7fde1a585429a2ba 100644 (file)
@@ -10,8 +10,7 @@
 #include <memory>
 #include <GeomAPI_Interface.h>
 
-class GeomAPI_Pnt;
-class GeomAPI_Dir;
+#include <GeomAPI_Shape.h>
 
 /**\class GeomAPI_DataMapOfShapeShape
  * \ingroup DataModel
@@ -20,42 +19,43 @@ class GeomAPI_Dir;
 class GeomAPI_DataMapOfShapeShape : public GeomAPI_Interface
 {
  public:
-  /// Creation of plane by the point and normal
-  GEOMAPI_EXPORT 
+  /// Constructor.
+  GEOMAPI_EXPORT
   GeomAPI_DataMapOfShapeShape();
 
-  /// Clear 
-  GEOMAPI_EXPORT 
+  /// Clears map.
+  GEOMAPI_EXPORT
   void clear();
 
-  /// Size of the map
-  GEOMAPI_EXPORT 
+  /// Size of the map.
+  GEOMAPI_EXPORT
   int size();
 
-  /// Adds \a theKey to me with \a theItem. Returns True if the Key  was not already in the map
-  GEOMAPI_EXPORT 
-  bool bind (std::shared_ptr<GeomAPI_Shape> theKey, std::shared_ptr<GeomAPI_Shape> theItem);
+  /// Adds \a theKey to me with \a theItem. Returns True if the Key  was not already in the map.
+  GEOMAPI_EXPORT
+  bool bind (const std::shared_ptr<GeomAPI_Shape> theKey, const std::shared_ptr<GeomAPI_Shape> theItem);
 
-  /// Merges two maps
+  /// Merges two maps.
   GEOMAPI_EXPORT void merge(const GeomAPI_DataMapOfShapeShape& theDataMap);
 
-  /// Merges two maps
+  /// Merges two maps.
   GEOMAPI_EXPORT void merge(const std::shared_ptr<GeomAPI_DataMapOfShapeShape> theDataMap);
 
-  /// Returns true if theKey is stored  in the map.
-  GEOMAPI_EXPORT 
-  bool isBound (std::shared_ptr<GeomAPI_Shape> theKey);
+  /// \return true if theKey is stored  in the map.
+  GEOMAPI_EXPORT
+  bool isBound (const std::shared_ptr<GeomAPI_Shape> theKey);
 
-  /// Returns  the Item stored  with the Key in the Map.
-  GEOMAPI_EXPORT 
-  const std::shared_ptr<GeomAPI_Shape> find(std::shared_ptr<GeomAPI_Shape> theKey);  
-  
-  /// Removes the Key from the  map. Returns true if the Key was in the Map
-  GEOMAPI_EXPORT 
-  bool unBind(std::shared_ptr<GeomAPI_Shape> theKey);
+  /// \return the Item stored  with the Key in the Map.
+  GEOMAPI_EXPORT
+  const std::shared_ptr<GeomAPI_Shape> find(const std::shared_ptr<GeomAPI_Shape> theKey);
+
+  /// \brief Removes the Key from the  map.
+  /// \return true if the Key was in the Map.
+  GEOMAPI_EXPORT
+  bool unBind(const std::shared_ptr<GeomAPI_Shape> theKey);
 
   /// Destructor
-  GEOMAPI_EXPORT 
+  GEOMAPI_EXPORT
   ~GeomAPI_DataMapOfShapeShape();
 };
 
index fd5c83fce11ef200fe7d9faafa5a4e2dc534f143..27b8220129d590ed378e3f818b0f6c8932446c18 100644 (file)
  * \brief General base class for all interfaces in this package
  */
 
+template <typename T>
+void GeomAPI_deleter( void* p ) {
+   delete reinterpret_cast<T*>(p);
+}
+
 class GeomAPI_Interface
 {
  private:
-  std::shared_ptr<void> myImpl;  ///< pointer to the internal impl object
+  std::shared_ptr<char> myImpl;  ///< pointer to the internal impl object
 
  public:
   /// None - constructor
@@ -28,7 +33,7 @@ class GeomAPI_Interface
   /// Constructor by the impl pointer (used for internal needs)
   template<class T> explicit GeomAPI_Interface(T* theImpl)
   {
-    myImpl.reset(theImpl);
+    myImpl = std::shared_ptr<char>(reinterpret_cast<char*>(theImpl), GeomAPI_deleter<T>);
   }
 
   /// Destructor
@@ -37,22 +42,22 @@ class GeomAPI_Interface
   /// Returns the pointer to the impl
   template<class T> inline T* implPtr()
   {
-    return static_cast<T*>(myImpl.get());
+    return reinterpret_cast<T*>(myImpl.get());
   }
   /// Returns the pointer to the impl
   template<class T> inline const T* implPtr() const
   {
-    return static_cast<T*>(myImpl.get());
+    return reinterpret_cast<T*>(myImpl.get());
   }
   /// Returns the reference object of the impl
   template<class T> inline const T& impl() const
   {
-    return *(static_cast<T*>(myImpl.get()));
+    return *(reinterpret_cast<T*>(myImpl.get()));
   }
   /// Updates the impl (deletes the old one)
   template<class T> inline void setImpl(T* theImpl)
   {
-    myImpl.reset(theImpl);
+    myImpl = std::shared_ptr<char>(reinterpret_cast<char*>(theImpl), GeomAPI_deleter<T>);
   }
 
   /// Returns true if the impl is empty
index 4947170e9358aaef1dbb5996fbe5439318b60ea0..dfb7e9bd773534d588c2a355cf7188eaf134c743 100644 (file)
@@ -45,3 +45,14 @@ void GeomAPI_Pln::coefficients(double& theA, double& theB, double& theC, double&
 {
   impl<gp_Pln>().Coefficients(theA, theB, theC, theD);
 }
+
+bool GeomAPI_Pln::isCoincident(const std::shared_ptr<GeomAPI_Pln> thePlane, const double theTolerance)
+{
+  if(!thePlane.get()) {
+    return false;
+  }
+
+  const gp_Pln& aMyPln = impl<gp_Pln>();
+  const gp_Pln& anOtherPln = thePlane->impl<gp_Pln>();
+  return (aMyPln.Contains(anOtherPln.Location(), theTolerance) && aMyPln.Axis().IsParallel(anOtherPln.Axis(), theTolerance));
+}
index 405cc7e98a20375671e1d7f172f839e5e59a11e4..e0564557e531a2fbf45d7c4c7599325b54f676b0 100644 (file)
@@ -46,6 +46,10 @@ class GeomAPI_Pln : public GeomAPI_Interface
   /// Returns the plane coefficients (Ax+By+Cz+D=0)
   GEOMAPI_EXPORT 
   void coefficients(double& theA, double& theB, double& theC, double& theD);
+
+  /// Returns true if planes are coincident.
+  GEOMAPI_EXPORT
+  bool isCoincident(const std::shared_ptr<GeomAPI_Pln> thePlane, const double theTolerance = 1.e-7);
 };
 
 #endif
index fb238e4788601fbfd815e569dbf31c9c6ee8061c..24c17e62d685f5b36d7defc685334f5afc6feb1f 100644 (file)
@@ -21,6 +21,7 @@ SET(PROJECT_HEADERS
     GeomAlgoAPI_MakeShape.h
     GeomAlgoAPI_MakeShapeCustom.h
     GeomAlgoAPI_MakeShapeList.h
+    GeomAlgoAPI_MakeSweep.h
     GeomAlgoAPI_DFLoader.h
     GeomAlgoAPI_Placement.h
     GeomAlgoAPI_BREPImport.h
@@ -50,6 +51,7 @@ SET(PROJECT_SOURCES
     GeomAlgoAPI_MakeShape.cpp
     GeomAlgoAPI_MakeShapeCustom.cpp
     GeomAlgoAPI_MakeShapeList.cpp
+    GeomAlgoAPI_MakeSweep.cpp
     GeomAlgoAPI_DFLoader.cpp
     GeomAlgoAPI_Placement.cpp
     GeomAlgoAPI_BREPImport.cpp
index 51817d6c1cbeddbd854097ab15a9de7ae9cc0e7a..856e34e79664affc9f305d59eea65b438d88abdd 100644 (file)
@@ -10,6 +10,7 @@
   #include "GeomAlgoAPI_MakeShape.h"
   #include "GeomAlgoAPI_MakeShapeCustom.h"
   #include "GeomAlgoAPI_MakeShapeList.h"
+  #include "GeomAlgoAPI_MakeSweep.h"
   #include "GeomAlgoAPI_Translation.h"
   #include "GeomAlgoAPI_Placement.h"
   #include "GeomAlgoAPI_PointBuilder.h"
@@ -51,6 +52,7 @@
 %include "GeomAlgoAPI_MakeShape.h"
 %include "GeomAlgoAPI_MakeShapeCustom.h"
 %include "GeomAlgoAPI_MakeShapeList.h"
+%include "GeomAlgoAPI_MakeSweep.h"
 %include "GeomAlgoAPI_Translation.h"
 %include "GeomAlgoAPI_Placement.h"
 %include "GeomAlgoAPI_PointBuilder.h"
index f5e69c52fc1ef53430e26d4145a0427539ad6c3e..3b0d3ca8b2462b5b33812439740a31d5be284cf9 100644 (file)
 #include <TopTools_ListIteratorOfListOfShape.hxx>
 
 //=================================================================================================
-GeomAlgoAPI_MakeShape::GeomAlgoAPI_MakeShape(void* theMkShape, const AlgoType theAlgoType)
-: GeomAPI_Interface(theMkShape),
-  myAlgoType(theAlgoType),
-  myShape(new GeomAPI_Shape())
+GeomAlgoAPI_MakeShape::GeomAlgoAPI_MakeShape()
+: myBuilderType(OCCT_BRepBuilderAPI_MakeShape),
+  myDone(false)
 {
-  switch (myAlgoType) {
-    case MakeShape:
-    case MakePipe: {
-      myShape->setImpl(new TopoDS_Shape(implPtr<BRepBuilderAPI_MakeShape>()->Shape()));
-      break;
-    }
-    case BOPAlgoBuilder: {
-      myShape->setImpl(new TopoDS_Shape(implPtr<BOPAlgo_Builder>()->Shape()));
-      break;
-    }
-  }
 }
 
 //=================================================================================================
-GeomAlgoAPI_MakeShape::GeomAlgoAPI_MakeShape(void* theMkShape,
-                                             const std::shared_ptr<GeomAPI_Shape> theWire,
-                                             const std::shared_ptr<GeomAPI_Shape> theBaseShape)
-: GeomAPI_Interface(theMkShape),
-  myAlgoType(MakePipe),
-  myShape(new GeomAPI_Shape()),
-  myWire(theWire),
-  myBaseShape(theBaseShape)
+bool GeomAlgoAPI_MakeShape::isDone() const
 {
-  myShape->setImpl(new TopoDS_Shape(implPtr<BRepOffsetAPI_MakePipe>()->Shape()));
+  return myDone;
 }
 
 //=================================================================================================
@@ -55,52 +36,21 @@ const std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_MakeShape::shape() const
 void GeomAlgoAPI_MakeShape::generated(const std::shared_ptr<GeomAPI_Shape> theShape,
                                       ListOfShape& theHistory)
 {
-  if(myAlgoType == MakePipe) {
-    BRepOffsetAPI_MakePipe* aMakePipe = implPtr<BRepOffsetAPI_MakePipe>();
-    TopExp_Explorer aShapeExplorer(myWire->impl<TopoDS_Wire>(), TopAbs_EDGE);
-    for (; aShapeExplorer.More(); aShapeExplorer.Next ()) {
-      const TopoDS_Shape& aSpine = aShapeExplorer.Current();
-      const TopoDS_Shape& aProfile = theShape->impl<TopoDS_Shape>();
-      if(aProfile.ShapeType() != TopAbs_EDGE && aProfile.ShapeType() != TopAbs_VERTEX) {
-          return;
-      }
-      const TopoDS_Shape& aBaseShape = myBaseShape->impl<TopoDS_Shape>();
-      TopExp_Explorer anExp(aBaseShape, aProfile.ShapeType());
-      Standard_Boolean hasShape = Standard_False;
-      for(; anExp.More(); anExp.Next()) {
-        if(anExp.Current().IsSame(aProfile)) {
-          hasShape = Standard_True;
-          break;
-        }
-      }
-      if(!hasShape) {
-        return;
-      }
-      const TopoDS_Shape& aGeneratedShape = aMakePipe->Generated(aSpine, aProfile);
-      if(aGeneratedShape.IsNull()) {
-        continue;
-      }
-      std::shared_ptr<GeomAPI_Shape> aShape(new GeomAPI_Shape());
-      aShape->setImpl(new TopoDS_Shape(aGeneratedShape));
-      theHistory.push_back(aShape);
-    }
-  } else {
-    TopTools_ListOfShape aList;
-    if(myAlgoType == MakeShape) {
-      BRepBuilderAPI_MakeShape* aMakeShape = implPtr<BRepBuilderAPI_MakeShape>();
-      aList = aMakeShape->Generated(theShape->impl<TopoDS_Shape>());
-    } else if(myAlgoType == BOPAlgoBuilder) {
-      BOPAlgo_Builder* aBOPBuilder = implPtr<BOPAlgo_Builder>();
-      aList = aBOPBuilder->Generated(theShape->impl<TopoDS_Shape>());
-    }
-    for(TopTools_ListIteratorOfListOfShape anIt(aList); anIt.More(); anIt.Next()) {
-      if(anIt.Value().IsNull()) {
-        continue;
-      }
-      std::shared_ptr<GeomAPI_Shape> aShape(new GeomAPI_Shape());
-      aShape->setImpl(new TopoDS_Shape(anIt.Value()));
-      theHistory.push_back(aShape);
+  TopTools_ListOfShape aList;
+  if(myBuilderType == OCCT_BRepBuilderAPI_MakeShape) {
+    BRepBuilderAPI_MakeShape* aMakeShape = implPtr<BRepBuilderAPI_MakeShape>();
+    aList = aMakeShape->Generated(theShape->impl<TopoDS_Shape>());
+  } else if(myBuilderType == OCCT_BOPAlgo_Builder) {
+    BOPAlgo_Builder* aBOPBuilder = implPtr<BOPAlgo_Builder>();
+    aList = aBOPBuilder->Generated(theShape->impl<TopoDS_Shape>());
+  }
+  for(TopTools_ListIteratorOfListOfShape anIt(aList); anIt.More(); anIt.Next()) {
+    if(anIt.Value().IsNull()) {
+      continue;
     }
+    std::shared_ptr<GeomAPI_Shape> aShape(new GeomAPI_Shape());
+    aShape->setImpl(new TopoDS_Shape(anIt.Value()));
+    theHistory.push_back(aShape);
   }
 }
 
@@ -109,10 +59,10 @@ void GeomAlgoAPI_MakeShape::modified(const std::shared_ptr<GeomAPI_Shape> theSha
                                      ListOfShape& theHistory)
 {
   TopTools_ListOfShape aList;
-  if(myAlgoType == MakeShape) {
+  if(myBuilderType == OCCT_BRepBuilderAPI_MakeShape) {
     BRepBuilderAPI_MakeShape* aMakeShape = implPtr<BRepBuilderAPI_MakeShape>();
     aList = aMakeShape->Modified(theShape->impl<TopoDS_Shape>());
-  } else if(myAlgoType == BOPAlgoBuilder) {
+  } else if(myBuilderType == OCCT_BOPAlgo_Builder) {
     BOPAlgo_Builder* aBOPBuilder = implPtr<BOPAlgo_Builder>();
     aList = aBOPBuilder->Modified(theShape->impl<TopoDS_Shape>());
   }
@@ -130,13 +80,49 @@ void GeomAlgoAPI_MakeShape::modified(const std::shared_ptr<GeomAPI_Shape> theSha
 bool GeomAlgoAPI_MakeShape::isDeleted(const std::shared_ptr<GeomAPI_Shape> theShape)
 {
   bool isDeleted = false;
-  if(myAlgoType == MakeShape) {
+  if(myBuilderType == OCCT_BRepBuilderAPI_MakeShape) {
     BRepBuilderAPI_MakeShape* aMakeShape = implPtr<BRepBuilderAPI_MakeShape>();
     isDeleted = aMakeShape->IsDeleted(theShape->impl<TopoDS_Shape>()) == Standard_True;
-  } else if(myAlgoType == BOPAlgoBuilder) {
+  } else if(myBuilderType == OCCT_BOPAlgo_Builder) {
     BOPAlgo_Builder* aBOPBuilder = implPtr<BOPAlgo_Builder>();
     isDeleted = aBOPBuilder->IsDeleted(theShape->impl<TopoDS_Shape>()) == Standard_True;
   }
 
   return isDeleted;
 }
+
+//=================================================================================================
+void GeomAlgoAPI_MakeShape::setBuilderType(const BuilderType theBuilderType)
+{
+  myBuilderType = theBuilderType;
+}
+
+//=================================================================================================
+void GeomAlgoAPI_MakeShape::setDone(const bool theFlag)
+{
+  myDone = theFlag;
+}
+
+//=================================================================================================
+void GeomAlgoAPI_MakeShape::setShape(const std::shared_ptr<GeomAPI_Shape> theShape)
+{
+  myShape = theShape;
+}
+
+//=================================================================================================
+void GeomAlgoAPI_MakeShape::initialize() {
+  switch (myBuilderType) {
+    case OCCT_BRepBuilderAPI_MakeShape: {
+      myDone = implPtr<BRepBuilderAPI_MakeShape>()->IsDone() == Standard_True;
+      myShape.reset(new GeomAPI_Shape());
+      myShape->setImpl(new TopoDS_Shape(implPtr<BRepBuilderAPI_MakeShape>()->Shape()));
+      break;
+    }
+    case OCCT_BOPAlgo_Builder: {
+      myDone = true;
+      myShape.reset(new GeomAPI_Shape());
+      myShape->setImpl(new TopoDS_Shape(implPtr<BOPAlgo_Builder>()->Shape()));
+      break;
+    }
+  }
+}
index b4e46e54a15d7e1c1fbc3263086ebcfcff148625..272f9f9750f468786ba35f961d0bec8060713a32 100644 (file)
 #ifndef GeomAlgoAPI_MakeShape_H_
 #define GeomAlgoAPI_MakeShape_H_
 
-#include <GeomAPI_Shape.h>
 #include <GeomAlgoAPI.h>
+#include <GeomAPI_DataMapOfShapeShape.h>
 
 #include <list>
 #include <memory>
 
-/**\class GeomAlgoAPI_MakeShape
- * \ingroup DataAlgo
- * \brief Interface to the root class of all topological shapes constructions
+/** \class GeomAlgoAPI_MakeShape
+ *  \ingroup DataAlgo
+ *  \brief Interface to the root class of all topological shapes constructions
  */
 class GeomAlgoAPI_MakeShape : public GeomAPI_Interface
 {
 public:
-  /// Algo type enum
-  enum AlgoType {
-    MakeShape,
-    MakePipe,
-    BOPAlgoBuilder
+  /// Builder type enum
+  enum BuilderType {
+    OCCT_BRepBuilderAPI_MakeShape,
+    OCCT_BOPAlgo_Builder
   };
 
 public:
-  /// Constructor by the already stored builder in the interface
-  GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(void* theBuilder, const AlgoType theAlgoType = MakeShape);
+  /// \brief Empty constructor.
+  GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape();
 
-  /// Constructor by the builder and wire. Used for pipe builder.
-  GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(void* theBuilder,
-                                           const std::shared_ptr<GeomAPI_Shape> theWire,
-                                           const std::shared_ptr<GeomAPI_Shape> theBaseShape);
+  /** \brief Constructor by builder and builder type.
+   *  \param[in] theBuilder pointer to the builder.
+   *  \param[in] theBuilderType builder type.
+   */
+  template<class T> explicit GeomAlgoAPI_MakeShape(T* theBuilder, const BuilderType theBuilderType = OCCT_BRepBuilderAPI_MakeShape)
+  : GeomAPI_Interface(theBuilder),
+    myBuilderType(theBuilderType)
+  {
+    initialize();
+  }
 
-  /// Returns a shape built by the shape construction algorithm
+  /** \brief Initializes internals.
+   *  \param[in] theBuilder pointer to the builder.
+   *  \param[in] theBuilderType builder type.
+   */
+  template<class T> void initialize(T* theBuilder, const BuilderType theBuilderType = OCCT_BRepBuilderAPI_MakeShape)
+  {
+    setImpl(theBuilder);
+    myBuilderType = theBuilder;
+    initialize();
+  }
+
+  /// \return status of builder.
+  GEOMALGOAPI_EXPORT bool isDone() const;
+
+  /// \return a shape built by the shape construction algorithm.
   GEOMALGOAPI_EXPORT virtual const std::shared_ptr<GeomAPI_Shape> shape() const;
 
-  /// Returns the list of shapes generated from the shape \a theShape
-  GEOMALGOAPI_EXPORT virtual void generated(
-    const std::shared_ptr<GeomAPI_Shape> theShape, ListOfShape& theHistory);
+  /** \return the list of shapes generated from the shape \a theShape.
+   *  \param[in] theShape base shape.
+   *  \param[out] theHistory generated shapes.
+   */
+  GEOMALGOAPI_EXPORT virtual void generated(const std::shared_ptr<GeomAPI_Shape> theShape,
+                                            ListOfShape& theHistory);
 
-  /// Returns the  list of shapes modified from the shape \a theShape
-  GEOMALGOAPI_EXPORT virtual void modified(
-    const std::shared_ptr<GeomAPI_Shape> theShape, ListOfShape& theHistory);
+  /** \return the list of shapes modified from the shape \a theShape.
+   *  \param[in] theShape base shape.
+   *  \param[out] theHistory modified shapes.
+   */
+  GEOMALGOAPI_EXPORT virtual void modified(const std::shared_ptr<GeomAPI_Shape> theShape,
+                                           ListOfShape& theHistory);
 
-  /// Returns whether the shape is deleted
+  /** \return true if theShape was deleted.
+   *  \param[in] theShape base shape.
+   */
   GEOMALGOAPI_EXPORT virtual bool isDeleted(const std::shared_ptr<GeomAPI_Shape> theShape);
 
 protected:
-  GEOMALGOAPI_EXPORT GeomAlgoAPI_MakeShape(){};
+  /** \brief Sets builder type.
+   *  \param[in] theBuilderType new builder type.
+   */
+  GEOMALGOAPI_EXPORT void setBuilderType(const BuilderType theBuilderType);
 
-protected:
-  GeomAlgoAPI_MakeShape::AlgoType myAlgoType; ///< Type of make shape algo.
+  /** \brief Sets status of builder.
+   *  \param[in] theFlag new status.
+   */
+  GEOMALGOAPI_EXPORT void setDone(const bool theFlag);
+
+  /** \brief Sets result shape.
+   *  \param[in] theShape new shape.
+   */
+  GEOMALGOAPI_EXPORT void setShape(const std::shared_ptr<GeomAPI_Shape> theShape);
+
+private:
+  /// \brief Initializes internals.
+  void initialize();
+
+private:
+  GeomAlgoAPI_MakeShape::BuilderType myBuilderType; ///< Type of make shape builder.
+  bool myDone; ///< Builder status.
   std::shared_ptr<GeomAPI_Shape> myShape; ///< Resulting shape.
-  std::shared_ptr<GeomAPI_Shape> myWire; ///< Wire for pipe algo.
-  std::shared_ptr<GeomAPI_Shape> myBaseShape; ///< Base shape of algo.
+  std::shared_ptr<GeomAPI_DataMapOfShapeShape> myMap; ///< Data map to keep correct orientation of sub-shapes.
 };
 
 typedef std::list<std::shared_ptr<GeomAlgoAPI_MakeShape> > ListOfMakeShape;
index 88576740ef4505881b621a1ce0d93189798130eb..7e3985d25d6a1a9e200d1c607392382bd1c0d693 100644 (file)
@@ -8,13 +8,12 @@
 
 //=================================================================================================
 GeomAlgoAPI_MakeShapeCustom::GeomAlgoAPI_MakeShapeCustom()
-: GeomAlgoAPI_MakeShape()
 {}
 
 //=================================================================================================
 void GeomAlgoAPI_MakeShapeCustom::setResult(const std::shared_ptr<GeomAPI_Shape> theShape)
 {
-  myShape = theShape;
+  setShape(theShape);
 }
 
 //=================================================================================================
@@ -37,12 +36,6 @@ bool GeomAlgoAPI_MakeShapeCustom::addDeleted(const std::shared_ptr<GeomAPI_Shape
   return myDeleted.bind(theShape, theShape);
 }
 
-//=================================================================================================
-const std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_MakeShapeCustom::shape() const
-{
-  return myShape;
-}
-
 //=================================================================================================
 void GeomAlgoAPI_MakeShapeCustom::generated(const std::shared_ptr<GeomAPI_Shape> theShape,
                                             ListOfShape& theHistory)
index 062e3aaafce140c10bad47614fbc23622f04d086..616b108e8e9879f6c91307b0480a0a055bbc51b4 100644 (file)
@@ -36,22 +36,18 @@ public:
   /// Adds deleted shape.
   GEOMALGOAPI_EXPORT bool addDeleted(const std::shared_ptr<GeomAPI_Shape> theShape);
 
-  /// \return a shape built by the shape construction algorithms
-  GEOMALGOAPI_EXPORT virtual const std::shared_ptr<GeomAPI_Shape> shape() const;
-
   /// \return the list of shapes generated from the shape theShape
-  GEOMALGOAPI_EXPORT virtual void generated(const std::shared_ptr<GeomAPI_Shape> theShape,
+  GEOMALGOAPI_EXPORT void generated(const std::shared_ptr<GeomAPI_Shape> theShape,
                                             ListOfShape& theHistory);
 
   /// \return the list of shapes modified from the shape theShape
-  GEOMALGOAPI_EXPORT virtual void modified(const std::shared_ptr<GeomAPI_Shape> theShape,
+  GEOMALGOAPI_EXPORT void modified(const std::shared_ptr<GeomAPI_Shape> theShape,
                                            ListOfShape& theHistory);
 
   /// \return whether the shape is deleted
-  GEOMALGOAPI_EXPORT virtual bool isDeleted(const std::shared_ptr<GeomAPI_Shape> theShape);
+  GEOMALGOAPI_EXPORT bool isDeleted(const std::shared_ptr<GeomAPI_Shape> theShape);
 
 private:
-  std::shared_ptr<GeomAPI_Shape>    myShape;
   GeomAPI_DataMapOfShapeMapOfShapes myGenerated;
   GeomAPI_DataMapOfShapeMapOfShapes myModified;
   GeomAPI_DataMapOfShapeShape       myDeleted;
index ac243f7bf9d46d85aaaaa5cb01f07206e56edfb3..cdcc4596dadc8b541ea65f98bedd3f9d896e1a81 100644 (file)
@@ -58,14 +58,14 @@ const std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_MakeShapeList::shape() const
 void GeomAlgoAPI_MakeShapeList::generated(const std::shared_ptr<GeomAPI_Shape> theShape,
                                           ListOfShape& theHistory)
 {
-  result(theShape, theHistory, GeomAlgoAPI_MakeShapeList::Generated);
+  result(theShape,  GeomAlgoAPI_MakeShapeList::Generated, theHistory);
 }
 
 //=================================================================================================
 void GeomAlgoAPI_MakeShapeList::modified(const std::shared_ptr<GeomAPI_Shape> theShape,
                                          ListOfShape& theHistory)
 {
-  result(theShape, theHistory, GeomAlgoAPI_MakeShapeList::Modified);
+  result(theShape, GeomAlgoAPI_MakeShapeList::Modified, theHistory);
 }
 
 bool GeomAlgoAPI_MakeShapeList::isDeleted(const std::shared_ptr<GeomAPI_Shape> theShape)
@@ -81,8 +81,8 @@ bool GeomAlgoAPI_MakeShapeList::isDeleted(const std::shared_ptr<GeomAPI_Shape> t
 }
 
 void GeomAlgoAPI_MakeShapeList::result(const std::shared_ptr<GeomAPI_Shape> theShape,
-                                       ListOfShape& theHistory,
-                                       OperationType theOperationType)
+                                       OperationType theOperationType,
+                                       ListOfShape& theHistory)
 {
   if(myListOfMakeShape.empty()) {
     return;
@@ -101,10 +101,8 @@ void GeomAlgoAPI_MakeShapeList::result(const std::shared_ptr<GeomAPI_Shape> theS
       std::shared_ptr<GeomAPI_Shape> aShape(new GeomAPI_Shape);
       aShape->setImpl(new TopoDS_Shape(aShapeIt.Value()));
       ListOfShape aGeneratedShapes;
-      const TopoDS_Shape& aSh = aShape->impl<TopoDS_Shape>();
       aMakeShape->generated(aShape, aGeneratedShapes);
       for(ListOfShape::const_iterator anIt = aGeneratedShapes.cbegin(); anIt != aGeneratedShapes.cend(); anIt++) {
-        TopoDS_Shape aSh = (*anIt)->impl<TopoDS_Shape>();
         aTempShapes.Add((*anIt)->impl<TopoDS_Shape>());
         aResultShapes.Add((*anIt)->impl<TopoDS_Shape>());
         hasResults = true;
@@ -112,7 +110,6 @@ void GeomAlgoAPI_MakeShapeList::result(const std::shared_ptr<GeomAPI_Shape> theS
       ListOfShape aModifiedShapes;
       aMakeShape->modified(aShape, aModifiedShapes);
       for(ListOfShape::const_iterator anIt = aModifiedShapes.cbegin(); anIt != aModifiedShapes.cend(); anIt++) {
-        TopoDS_Shape aSH = (*anIt)->impl<TopoDS_Shape>();
         aTempShapes.Add((*anIt)->impl<TopoDS_Shape>());
         aResultShapes.Add((*anIt)->impl<TopoDS_Shape>());
         hasResults = true;
index 0ba480907d05af9ca60c7527dd8e274f59d3d4bf..64dfa760b8dcf0e64d80ffb4dbb34d56f4d7f68f 100644 (file)
@@ -63,9 +63,8 @@ public:
 
 private:
   void result(const std::shared_ptr<GeomAPI_Shape> theShape,
-              ListOfShape& theHistory,
-              OperationType theOperationType);
-
+              OperationType theOperationType,
+              ListOfShape& theHistory);
 
 protected:
   ListOfMakeShape myListOfMakeShape; ///< List of make shape algos.
diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.cpp b/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.cpp
new file mode 100644 (file)
index 0000000..0cb9762
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+// File:        GeomAlgoAPI_MakeSweep.cpp
+// Created:     23 November 2015
+// Author:      Dmitry Bobylev
+
+#include <GeomAlgoAPI_MakeSweep.h>
+
+//=================================================================================================
+const ListOfShape& GeomAlgoAPI_MakeSweep::fromFaces() const
+{
+  return myFromFaces;
+}
+
+//=================================================================================================
+const ListOfShape& GeomAlgoAPI_MakeSweep::toFaces() const
+{
+  return myToFaces;
+}
diff --git a/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.h b/src/GeomAlgoAPI/GeomAlgoAPI_MakeSweep.h
new file mode 100644 (file)
index 0000000..fee7685
--- /dev/null
@@ -0,0 +1,43 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+// File:        GeomAlgoAPI_MakeSweep.h
+// Created:     23 November 2015
+// Author:      Dmitry Bobylev
+#ifndef GeomAlgoAPI_MakeSweep_H_
+#define GeomAlgoAPI_MakeSweep_H_
+
+#include <GeomAlgoAPI.h>
+
+#include <GeomAlgoAPI_MakeShapeList.h>
+
+/**\class GeomAlgoAPI_MakeSweep
+ * \ingroup DataAlgo
+ * \brief The abstract class MakeSweep is the root class of swept primitives.
+ * Sweeps are objects you obtain by sweeping a profile along a path.
+ * The profile can be any topology and the path is usually a curve or
+ * a wire. The profile generates objects according to the following rules:
+ * - Vertices generate Edges.
+ * - Edges generate Faces.
+ * - Wires generate Shells.
+ * - Faces generate Solids.
+ * - Shells generate Composite Solids.
+ * You are not allowed to sweep Solids and Composite Solids.
+ */
+class GeomAlgoAPI_MakeSweep : public GeomAlgoAPI_MakeShapeList
+{
+public:
+  /// \returns the list of from faces.
+  GEOMALGOAPI_EXPORT const ListOfShape& fromFaces() const;
+
+  /// \return the list of to faces.
+  GEOMALGOAPI_EXPORT const ListOfShape& toFaces() const;
+
+protected:
+  GeomAlgoAPI_MakeSweep(){};
+
+private:
+  ListOfShape myFromFaces;
+  ListOfShape myToFaces;
+};
+
+#endif
index c9baa888eb48bf84dc31fddf53fa9c2e4a5bed2e..425c71e13cdc3a883cd56a40a49a205660e94357 100644 (file)
@@ -59,67 +59,17 @@ void GeomAlgoAPI_Partition::build(const ListOfShape& theObjects,
 
   // Creating partition operation.
   GEOMAlgo_Splitter* anOperation = new GEOMAlgo_Splitter;
-  myMkShape.reset(new GeomAlgoAPI_MakeShape(anOperation, GeomAlgoAPI_MakeShape::BOPAlgoBuilder));
-
-  // Bounding box of all objects.
-  Bnd_Box aBndBox;
+  myMkShape.reset(new GeomAlgoAPI_MakeShape(anOperation, GeomAlgoAPI_MakeShape::OCCT_BOPAlgo_Builder));
 
   // Getting objects.
   for (ListOfShape::const_iterator anObjectsIt = theObjects.begin(); anObjectsIt != theObjects.end(); anObjectsIt++) {
     const TopoDS_Shape& aShape = (*anObjectsIt)->impl<TopoDS_Shape>();
-    BRepBndLib::Add(aShape, aBndBox);
     anOperation->AddArgument(aShape);
   }
 
-  // We enlarge bounding box just to be sure that plane will be large enough to cut all objects.
-  aBndBox.Enlarge(1.0);
-  Standard_Real aXArr[2] = {aBndBox.CornerMin().X(), aBndBox.CornerMax().X()};
-  Standard_Real aYArr[2] = {aBndBox.CornerMin().Y(), aBndBox.CornerMax().Y()};
-  Standard_Real aZArr[2] = {aBndBox.CornerMin().Z(), aBndBox.CornerMax().Z()};
-  gp_Pnt aPoints[8];
-  int aNum = 0;
-  for(int i = 0; i < 2; i++) {
-    for(int j = 0; j < 2; j++) {
-      for(int k = 0; k < 2; k++) {
-        aPoints[aNum] = gp_Pnt(aXArr[i], aYArr[j], aZArr[k]);
-        aNum++;
-      }
-    }
-  }
-
   // Getting tools.
   for (ListOfShape::const_iterator aToolsIt = theTools.begin(); aToolsIt != theTools.end(); aToolsIt++) {
-    TopoDS_Shape aShape = (*aToolsIt)->impl<TopoDS_Shape>();
-    if(aShape.ShapeType() == TopAbs_FACE) {
-      TopoDS_Face aFace = TopoDS::Face(aShape);
-      Handle(Geom_Surface) aSurf = BRep_Tool::Surface(aFace);
-      if (!aSurf.IsNull()) {
-        GeomLib_IsPlanarSurface isPlanar(aSurf);
-        if(isPlanar.IsPlanar()) {
-          Standard_Real UMin, UMax, VMin, VMax;
-          BRepTools::UVBounds(aFace, UMin, UMax, VMin, VMax);
-          if(UMin == -Precision::Infinite() && UMax == Precision::Infinite() &&
-            VMin == -Precision::Infinite() && VMax == Precision::Infinite()) {
-            const gp_Pln& aFacePln = isPlanar.Plan();
-            Handle(Geom_Plane) aFacePlane = new Geom_Plane(aFacePln);
-            IntAna_Quadric aQuadric(aFacePln);
-            UMin = UMax = VMin = VMax = 0;
-            for(int i = 0; i < 8; i++) {
-              gp_Lin aLin(aPoints[i], aFacePln.Axis().Direction());
-              IntAna_IntConicQuad anIntAna(aLin, aQuadric);
-              const gp_Pnt& aPntOnFace = anIntAna.Point(1);
-              Standard_Real aPntU(0), aPntV(0);
-              GeomLib_Tool::Parameters(aFacePlane, aPntOnFace, Precision::Confusion(), aPntU, aPntV);
-              if(aPntU < UMin) UMin = aPntU;
-              if(aPntU > UMax) UMax = aPntU;
-              if(aPntV < VMin) VMin = aPntV;
-              if(aPntV > VMax) VMax = aPntV;
-            }
-            aShape = BRepLib_MakeFace(aFacePln, UMin, UMax, VMin, VMax).Face();
-          }
-        }
-      }
-    }
+    const TopoDS_Shape& aShape = (*aToolsIt)->impl<TopoDS_Shape>();
     anOperation->AddTool(aShape);
   }
 
index 6d3d04dd96dd1ee8d9a9c8bcf1f73ff6a2810f15..beeccc72a4d9f355ef91558dca4e9676b6644df7 100644 (file)
@@ -39,7 +39,7 @@ void GeomAlgoAPI_PaveFiller::build(const ListOfShape& theListOfShape, const bool
   }
 
   BOPAlgo_Builder* aBuilder = new BOPAlgo_Builder();
-  myMkShape.reset(new GeomAlgoAPI_MakeShape(aBuilder, GeomAlgoAPI_MakeShape::BOPAlgoBuilder));
+  myMkShape.reset(new GeomAlgoAPI_MakeShape(aBuilder, GeomAlgoAPI_MakeShape::OCCT_BOPAlgo_Builder));
   aBuilder->SetArguments(aListOfShape);
   aBuilder->PerformWithFiller(aPaveFiller);
   iErr = aBuilder->ErrorStatus();
index 21eb56f29320d8bb9291b898013e361dfa8a2a0b..369ef292baedd2f60a7903af2bf98007452d5e35 100644 (file)
@@ -53,9 +53,11 @@ GeomAlgoAPI_Revolution::GeomAlgoAPI_Revolution(std::shared_ptr<GeomAPI_Shape> th
 //=================================================================================================
 TopoDS_Face GeomAlgoAPI_Revolution::makeFaceFromPlane(gp_Pln& thePlane, const gp_Pnt& thePoint)
 {
-  gp_XYZ aVec = thePoint.XYZ() - thePlane.Location().XYZ();
-  double aSign = aVec * thePlane.Axis().Direction().XYZ();
-  if(aSign < 0) thePlane.SetAxis(thePlane.Axis().Reversed());
+  if(!thePlane.Contains(thePoint, Precision::Confusion())) {
+    gp_XYZ aVec = thePoint.XYZ() - thePlane.Location().XYZ();
+    double aSign = aVec * thePlane.Axis().Direction().XYZ();
+    if(aSign < 0) thePlane.SetAxis(thePlane.Axis().Reversed());
+  }
 
   BRepBuilderAPI_MakeFace aMakeFace(thePlane);
   TopoDS_Face aResultFace = TopoDS::Face(aMakeFace.Shape());
index 3a4f577ac27be670f7974e4f6a8d88c477b5c35f..de201f61c10e071b8c92d7f475d13483bd123061 100644 (file)
 
 #include <gp_Pln.hxx>
 
+#include <Bnd_Box.hxx>
 #include <BOPTools.hxx>
+#include <BRepBndLib.hxx>
 #include <BRepBuilderAPI_MakeFace.hxx>
 #include <BRepGProp.hxx>
 #include <BRepTools.hxx>
 #include <BRep_Tool.hxx>
 #include <Geom_Plane.hxx>
+#include <GeomLib_IsPlanarSurface.hxx>
+#include <GeomLib_Tool.hxx>
 #include <GProp_GProps.hxx>
+#include <IntAna_IntConicQuad.hxx>
+#include <IntAna_Quadric.hxx>
 #include <NCollection_Vector.hxx>
 #include <TCollection_AsciiString.hxx>
 #include <TopoDS_Builder.hxx>
@@ -28,7 +34,7 @@
 
 
 //=================================================================================================
-double GeomAlgoAPI_ShapeTools::volume(std::shared_ptr<GeomAPI_Shape> theShape)
+double GeomAlgoAPI_ShapeTools::volume(const std::shared_ptr<GeomAPI_Shape> theShape)
 {
   GProp_GProps aGProps;
   if(!theShape) {
@@ -43,7 +49,7 @@ double GeomAlgoAPI_ShapeTools::volume(std::shared_ptr<GeomAPI_Shape> theShape)
 }
 
 //=================================================================================================
-std::shared_ptr<GeomAPI_Pnt> GeomAlgoAPI_ShapeTools::centreOfMass(std::shared_ptr<GeomAPI_Shape> theShape)
+std::shared_ptr<GeomAPI_Pnt> GeomAlgoAPI_ShapeTools::centreOfMass(const std::shared_ptr<GeomAPI_Shape> theShape)
 {
   GProp_GProps aGProps;
   if(!theShape) {
@@ -175,7 +181,41 @@ void GeomAlgoAPI_ShapeTools::combineShapes(const std::shared_ptr<GeomAPI_Shape>
 }
 
 //=================================================================================================
-std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_ShapeTools::faceToInfinitePlane(const std::shared_ptr<GeomAPI_Shape>& theFace)
+std::list<std::shared_ptr<GeomAPI_Pnt> > GeomAlgoAPI_ShapeTools::getBoundingBox(const ListOfShape& theShapes, const double theEnlarge)
+{
+  // Bounding box of all objects.
+  Bnd_Box aBndBox;
+
+  // Getting box.
+  for (ListOfShape::const_iterator anObjectsIt = theShapes.begin(); anObjectsIt != theShapes.end(); anObjectsIt++) {
+    const TopoDS_Shape& aShape = (*anObjectsIt)->impl<TopoDS_Shape>();
+    BRepBndLib::Add(aShape, aBndBox);
+  }
+
+  if(theEnlarge != 0.0) {
+    // We enlarge bounding box just to be sure that plane will be large enough to cut all objects.
+    aBndBox.Enlarge(theEnlarge);
+  }
+
+  Standard_Real aXArr[2] = {aBndBox.CornerMin().X(), aBndBox.CornerMax().X()};
+  Standard_Real aYArr[2] = {aBndBox.CornerMin().Y(), aBndBox.CornerMax().Y()};
+  Standard_Real aZArr[2] = {aBndBox.CornerMin().Z(), aBndBox.CornerMax().Z()};
+  std::list<std::shared_ptr<GeomAPI_Pnt> > aResultPoints;
+  int aNum = 0;
+  for(int i = 0; i < 2; i++) {
+    for(int j = 0; j < 2; j++) {
+      for(int k = 0; k < 2; k++) {
+        std::shared_ptr<GeomAPI_Pnt> aPnt(new GeomAPI_Pnt(aXArr[i], aYArr[j], aZArr[k]));
+        aResultPoints.push_back(aPnt);
+      }
+    }
+  }
+
+  return aResultPoints;
+}
+
+//=================================================================================================
+std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_ShapeTools::faceToInfinitePlane(const std::shared_ptr<GeomAPI_Shape> theFace)
 {
   if (!theFace.get())
     return std::shared_ptr<GeomAPI_Shape>();
@@ -195,3 +235,56 @@ std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_ShapeTools::faceToInfinitePlane(const
   aResult->setImpl(new TopoDS_Shape(anInfiniteFace));
   return aResult;
 }
+
+//=================================================================================================
+std::shared_ptr<GeomAPI_Shape> GeomAlgoAPI_ShapeTools::fitPlaneToBox(const std::shared_ptr<GeomAPI_Shape> thePlane,
+                                                                     const std::list<std::shared_ptr<GeomAPI_Pnt> >& thePoints)
+{
+  std::shared_ptr<GeomAPI_Shape> aResultShape;
+
+  if(!thePlane.get()) {
+    return aResultShape;
+  }
+
+  const TopoDS_Shape& aShape = thePlane->impl<TopoDS_Shape>();
+  if(aShape.ShapeType() != TopAbs_FACE) {
+    return aResultShape;
+  }
+
+  TopoDS_Face aFace = TopoDS::Face(aShape);
+  Handle(Geom_Surface) aSurf = BRep_Tool::Surface(aFace);
+  if(aSurf.IsNull()) {
+    return aResultShape;
+  }
+
+  GeomLib_IsPlanarSurface isPlanar(aSurf);
+  if(!isPlanar.IsPlanar()) {
+    return aResultShape;
+  }
+
+  if(thePoints.size() != 8) {
+    return aResultShape;
+  }
+
+  const gp_Pln& aFacePln = isPlanar.Plan();
+  Handle(Geom_Plane) aFacePlane = new Geom_Plane(aFacePln);
+  IntAna_Quadric aQuadric(aFacePln);
+  Standard_Real UMin, UMax, VMin, VMax;
+  UMin = UMax = VMin = VMax = 0;
+  for (std::list<std::shared_ptr<GeomAPI_Pnt> >::const_iterator aPointsIt = thePoints.begin(); aPointsIt != thePoints.end(); aPointsIt++) {
+    const gp_Pnt& aPnt = (*aPointsIt)->impl<gp_Pnt>();
+    gp_Lin aLin(aPnt, aFacePln.Axis().Direction());
+    IntAna_IntConicQuad anIntAna(aLin, aQuadric);
+    const gp_Pnt& aPntOnFace = anIntAna.Point(1);
+    Standard_Real aPntU(0), aPntV(0);
+    GeomLib_Tool::Parameters(aFacePlane, aPntOnFace, Precision::Confusion(), aPntU, aPntV);
+    if(aPntU < UMin) UMin = aPntU;
+    if(aPntU > UMax) UMax = aPntU;
+    if(aPntV < VMin) VMin = aPntV;
+    if(aPntV > VMax) VMax = aPntV;
+  }
+  aResultShape.reset(new GeomAPI_Shape);
+  aResultShape->setImpl(new TopoDS_Shape(BRepLib_MakeFace(aFacePln, UMin, UMax, VMin, VMax).Face()));
+
+  return aResultShape;
+}
index c367d6867846bb36da2de8b2565c61a104e66e3d..d361eb927b34cd9aaefcd4b38fb4b1ef044f9813 100644 (file)
@@ -21,11 +21,11 @@ class GEOMALGOAPI_EXPORT GeomAlgoAPI_ShapeTools
 {
 public:
   /// \return the total volume of the solids of the current shape or 0.0 if it can be computed.
-  static double volume(std::shared_ptr<GeomAPI_Shape> theShape);
+  static double volume(const std::shared_ptr<GeomAPI_Shape> theShape);
 
   /// \return the centre of mass of the current face. The coordinates returned for the center of mass
   /// are expressed in the absolute Cartesian coordinate system. (This function works only for surfaces).
-  static std::shared_ptr<GeomAPI_Pnt> centreOfMass(std::shared_ptr<GeomAPI_Shape> theShape);
+  static std::shared_ptr<GeomAPI_Pnt> centreOfMass(const std::shared_ptr<GeomAPI_Shape> theShape);
 
   /** \brief Combines faces with common edges to shells, or solids to compsolids.
    *  \param[in] theCompound compound of shapes.
@@ -38,10 +38,26 @@ public:
                             ListOfShape& theCombinedShapes,
                             ListOfShape& theFreeShapes);
 
+  /** \brief Calculates bounding box for theShapes
+   *  \return list of eight points.
+   *  \param[in] theShapes list of shapes.
+   *  \param[in] theEnlarge enlarges bounding box size.
+   */
+  static std::list<std::shared_ptr<GeomAPI_Pnt> > getBoundingBox(const ListOfShape& theShapes, const double theEnlarge = 0.0);
+
   /**
-   * Returns infinite plane received from theFace plane
+   * Returns infinite plane received from theFace plane.
    */
-  static std::shared_ptr<GeomAPI_Shape> faceToInfinitePlane(const std::shared_ptr<GeomAPI_Shape>& theFace);
+  static std::shared_ptr<GeomAPI_Shape> faceToInfinitePlane(const std::shared_ptr<GeomAPI_Shape> theFace);
+
+  /** \brief Enlarges or reduces plane to fit bounding box.
+   *  \return plane that fits to bounding box.
+   *  \param[in] thePlane base plane.
+   *  \param[in] thePoints bounding box points (shoud be eight).
+   */
+  static std::shared_ptr<GeomAPI_Shape> fitPlaneToBox(const std::shared_ptr<GeomAPI_Shape> thePlane,
+                                                      const std::list<std::shared_ptr<GeomAPI_Pnt> >& thePoints);
+
 };
 
 #endif
index 9f0d5ede126e960a298332853fdb89c657d9495a..3d08e9fd95817006dd9de5983b8865e88ab65539 100644 (file)
@@ -6,18 +6,25 @@
 
 #include <GeomValidators_ZeroOffset.h>
 
-#include <GeomAPI_Shape.h>
 #include <ModelAPI_AttributeDouble.h>
 #include <ModelAPI_AttributeSelection.h>
+#include <ModelAPI_AttributeSelectionList.h>
 #include <ModelAPI_AttributeString.h>
+#include <ModelAPI_ResultConstruction.h>
+
+#include <GeomAPI_Dir.h>
+#include <GeomAPI_Face.h>
+#include <GeomAPI_Shape.h>
+#include <GeomAPI_Pln.h>
+#include <GeomAPI_Pnt.h>
 
 //=================================================================================================
 bool GeomValidators_ZeroOffset::isValid(const std::shared_ptr<ModelAPI_Feature>& theFeature,
                                         const std::list<std::string>& theArguments,
                                         std::string& theError) const
 {
-  if(theArguments.size() != 8) {
-    theError = "Wrong number of arguments (expected 8).";
+  if(theArguments.size() != 9) {
+    theError = "Wrong number of validator arguments in xml(expected 9).";
     return false;
   }
 
@@ -30,7 +37,45 @@ bool GeomValidators_ZeroOffset::isValid(const std::shared_ptr<ModelAPI_Feature>&
   anIt++;
   std::string aCreationMethod = *anIt;
   anIt++;
-  
+
+  ListOfShape aFacesList;
+  if(theFeature->selection(*anIt)) {
+    AttributeSelectionPtr aFaceSelection = theFeature->selection(*anIt);
+    ResultConstructionPtr aConstruction = std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(aFaceSelection->context());
+    if(aConstruction.get()) {
+      int aSketchFacesNum = aConstruction->facesNum();
+      for(int aFaceIndex = 0; aFaceIndex < aSketchFacesNum; aFaceIndex++) {
+        std::shared_ptr<GeomAPI_Shape> aFace = std::dynamic_pointer_cast<GeomAPI_Shape>(aConstruction->face(aFaceIndex));
+        aFacesList.push_back(aFace);
+      }
+    }
+  } else if(theFeature->selectionList(*anIt)) {
+    AttributeSelectionListPtr aFacesSelectionList = theFeature->selectionList(*anIt);
+    for(int anIndex = 0; anIndex < aFacesSelectionList->size(); anIndex++) {
+      AttributeSelectionPtr aFaceSel = aFacesSelectionList->value(anIndex);
+      std::shared_ptr<GeomAPI_Shape> aFaceShape = aFaceSel->value();
+      if(aFaceShape.get() && !aFaceShape->isNull()) { // Getting face.
+        aFacesList.push_back(aFaceShape);
+      } else { // This may be the whole sketch result selected, check and get faces.
+        ResultPtr aContext = aFaceSel->context();
+        std::shared_ptr<GeomAPI_Shape> aContextShape = aContext->shape();
+        if(!aContextShape.get()) {
+          break;
+        }
+        ResultConstructionPtr aConstruction = std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(aContext);
+        if(!aConstruction.get()) {
+          break;
+        }
+        int aFacesNum = aConstruction->facesNum();
+        for(int aFaceIndex = 0; aFaceIndex < aFacesNum || aFacesNum == -1; aFaceIndex++) {
+          aFaceShape = std::dynamic_pointer_cast<GeomAPI_Shape>(aConstruction->face(aFaceIndex));
+          aFacesList.push_back(aFaceShape);
+        }
+      }
+    }
+  }
+  anIt++;
+
   double aToSize = 0.0;
   double aFromSize = 0.0;
 
@@ -84,9 +129,42 @@ bool GeomValidators_ZeroOffset::isValid(const std::shared_ptr<ModelAPI_Feature>&
     aFromSize = anAttrDouble->value();
   }
 
-  if(((!aFromShape && !aToShape) || ((aFromShape && aToShape) && aFromShape->isEqual(aToShape)))
-    && (aFromSize == -aToSize)) {
-    theError = "FromSize = -ToSize and bounding planes are equal.";
+  bool isPlanesCoincident = false;
+  if(!aFromShape.get() && !aToShape.get()) {
+    isPlanesCoincident = true;
+  } else if(aFromShape.get() && aToShape.get()) {
+    std::shared_ptr<GeomAPI_Face> aFromFace(new GeomAPI_Face(aFromShape));
+    std::shared_ptr<GeomAPI_Pln>  aFromPln = aFromFace->getPlane();
+
+    std::shared_ptr<GeomAPI_Face> aToFace(new GeomAPI_Face(aToShape));
+    std::shared_ptr<GeomAPI_Pln>  aToPln = aToFace->getPlane();
+
+    if(aFromPln.get()) {
+      isPlanesCoincident = aFromPln->isCoincident(aToPln);
+    }
+  } else {
+    std::shared_ptr<GeomAPI_Face> aFace;
+    if(aFromShape.get()) {
+      aFace.reset(new GeomAPI_Face(aFromShape));
+    } else {
+      aFace.reset(new GeomAPI_Face(aToShape));
+    }
+    std::shared_ptr<GeomAPI_Pln> aPln = aFace->getPlane();
+    if(aPln.get()) {
+      for(ListOfShape::const_iterator anIter = aFacesList.cbegin(); anIter != aFacesList.cend(); anIter++) {
+        std::shared_ptr<GeomAPI_Shape> aSketchShape = *anIter;
+        std::shared_ptr<GeomAPI_Face> aSketchFace(new GeomAPI_Face(aSketchShape));
+        std::shared_ptr<GeomAPI_Pln>  aSketchPln = aSketchFace->getPlane();
+        if(aPln->isCoincident(aSketchPln)) {
+          isPlanesCoincident = true;
+          break;
+        }
+      }
+    }
+  }
+
+  if(isPlanesCoincident && aFromSize == -aToSize) {
+    theError = "FromSize = -ToSize and bounding planes are coincident.";
     return false;
   }
 
index 40e3e0ecbec066380b0252fb7a6c89088558037a..49337e695a9e7ebae3b79a944271b6a3d2b72f52 100644 (file)
@@ -22,7 +22,7 @@
 class Model_AttributeRefAttr : public ModelAPI_AttributeRefAttr
 {
   Handle_TDF_Reference myRef;  ///< reference to the feature label
-  ///< ID of the referenced attribute (empty if this is a reference to a feature)
+  ///< ID of the referenced attirbute (empty if this is a reference to a feature)
   Handle_TDataStd_Comment myID;
  public:
   /// Returns true if this attribute references to a object (not to the attribute)
index d8fbc9878a5b3bb5c5164558499c75ee41a50296..2353e002fd103eeb080cbc94032807d2d1c5bdea 100644 (file)
@@ -61,7 +61,7 @@ using namespace std;
 #ifdef DEB_NAMING
 #include <BRepTools.hxx>
 #endif
-/// added to the index in the packed map to signalize that the vertex of edge is selected
+/// adeed to the index in the packed map to signalize that the vertex of edge is seleted
 /// (multiplied by the index of the edge)
 static const int kSTART_VERTEX_DELTA = 1000000;
 // identifier that there is simple reference: selection equals to context
@@ -98,8 +98,9 @@ void Model_AttributeSelection::setValue(const ResultPtr& theContext,
     (theSubShape == anOldShape || (theSubShape && anOldShape && theSubShape->isEqual(anOldShape)));
   if (isOldShape) return; // shape is the same, so context is also unchanged
   // update the referenced object if needed
-  if (!isOldContext)
-    myRef.setValue(theContext);
+  if (!isOldContext) {
+      myRef.setValue(theContext);
+  }
 
   // do noth use naming if selected shape is result shape itself, but not sub-shape
   TDF_Label aSelLab = selectionLabel();
@@ -205,15 +206,22 @@ std::shared_ptr<GeomAPI_Shape> Model_AttributeSelection::value()
         return std::shared_ptr<GeomAPI_Shape>(); // postponed naming needed
       Handle(TDataStd_Integer) anIndex;
       if (selectionLabel().FindAttribute(TDataStd_Integer::GetID(), anIndex)) {
-        return aPart->selectionValue(anIndex->Get());
-      }
-      /*
-      Handle(TDataStd_Name) aName;
-      if (!selectionLabel().FindAttribute(TDataStd_Name::GetID(), aName)) {
-        return std::shared_ptr<GeomAPI_Shape>(); // something is wrong
+        if (anIndex->Get()) { // special selection attribute was created, use it
+          return aPart->selectionValue(anIndex->Get());
+        } else { // face with name is already in the data model, so try to take it by name
+          Handle(TDataStd_Name) aName;
+          if (selectionLabel().FindAttribute(TDataStd_Name::GetID(), aName)) {
+            std::string aSubShapeName(TCollection_AsciiString(aName->Get()).ToCString());
+            std::size_t aPartEnd = aSubShapeName.find('/');
+            if (aPartEnd != string::npos && aPartEnd != aSubShapeName.rfind('/')) {
+              string aNameInPart = aSubShapeName.substr(aPartEnd + 1);
+              int anIndex;
+              std::string aType; // to reuse already existing selection the type is not needed
+              return aPart->shapeInPart(aNameInPart, aType, anIndex);
+            }
+          }
+        }
       }
-      return aPart->shapeInPart(TCollection_AsciiString(aName->Get()).ToCString());
-      */
     }
 
     Handle(TNaming_NamedShape) aSelection;
@@ -239,7 +247,7 @@ bool Model_AttributeSelection::isInvalid()
 
 bool Model_AttributeSelection::isInitialized()
 {
-  if (ModelAPI_AttributeSelection::isInitialized()) { // additional checks if it is initialized
+  if (ModelAPI_AttributeSelection::isInitialized()) { // additional checkings if it is initialized
     std::shared_ptr<GeomAPI_Shape> aResult;
     if (myRef.isInitialized()) {
       TDF_Label aSelLab = selectionLabel();
@@ -312,7 +320,7 @@ void Model_AttributeSelection::setObject(const std::shared_ptr<ModelAPI_Object>&
 TDF_LabelMap& Model_AttributeSelection::scope()
 {
   if (myScope.IsEmpty()) { // create a new scope if not yet done
-    // gets all features with named shapes that are before this feature label (before in history)
+    // gets all featueres with named shapes that are bofore this feature label (before in history)
     DocumentPtr aMyDoc = owner()->document();
     std::list<std::shared_ptr<ModelAPI_Feature> > allFeatures = aMyDoc->allFeatures();
     std::list<std::shared_ptr<ModelAPI_Feature> >::iterator aFIter = allFeatures.begin();
@@ -327,11 +335,14 @@ TDF_LabelMap& Model_AttributeSelection::scope()
          aCompositeOwnerOwner = ModelAPI_Tools::compositeOwner(aCompositeOwner);
       }
     }
+    // for group Scope is not limitet: this is always up to date objects
+    bool isGroup = aFeature.get() && aFeature->getKind() == "Group";
     for(; aFIter != allFeatures.end(); aFIter++) {
       if (*aFIter == owner()) {  // the left features are created later (except subs of composite)
         aMePassed = true;
         continue;
       }
+      if (isGroup) aMePassed = false;
       bool isInScope = !aMePassed;
       if (!isInScope && aComposite.get()) { // try to add sub-elements of composite if this is composite
         if (aComposite->isSub(*aFIter))
@@ -458,7 +469,7 @@ bool Model_AttributeSelection::update()
         if (aNoIndexes) {
           aNewSelected = aConstructionContext->face(0);
         } else { // searching for most looks-like initial face by the indexes
-          // prepare edges of the current result for the fast searching
+          // prepare edges of the current resut for the fast searching
           NCollection_DataMap<Handle(Geom_Curve), int> allCurves; // curves and orientations of edges
           const int aSubNum = aComposite->numberOfSubs();
           for(int a = 0; a < aSubNum; a++) {
@@ -670,7 +681,7 @@ static void registerSubShape(TDF_Label theMainLabel, TopoDS_Shape theShape,
       aName<<"f";
     else if (theOrientation == -1)
       aName<<"r";
-  } else { // make a composite name from all sub-elements indexes: "1_2_3_4"
+  } else { // make a compisite name from all sub-elements indexes: "1_2_3_4"
     TColStd_MapIteratorOfPackedMapOfInteger aRef(theRefs->GetMap());
     for(; aRef.More(); aRef.Next()) {
       aName<<"-"<<aRef.Key();
@@ -706,7 +717,7 @@ void Model_AttributeSelection::selectConstruction(
   }
   std::shared_ptr<Model_Data> aData = std::dynamic_pointer_cast<Model_Data>(owner()->data());
   TDF_Label aLab = myRef.myRef->Label();
-  // identify the results of sub-object of the composite by edges
+  // identify the reuslts of sub-object of the composite by edges
   // save type of the selected shape in integer attribute
   TopAbs_ShapeEnum aShapeType = aSubShape.ShapeType();
   TDataStd_Integer::Set(aLab, (int)aShapeType);
@@ -826,7 +837,7 @@ bool Model_AttributeSelection::selectPart(
     }
     return true; // nothing to do, referencing just by name
   }
-  // store the shape (in case part is not loaded it should be useful
+  // store the shape (in case part is not loaded it should be usefull
   TopoDS_Shape aShape;
   std::string aName = theContext->data()->name();
   if (!theSubShape.get() || theSubShape->isNull()) {// the whole part shape is selected
@@ -903,14 +914,29 @@ void Model_AttributeSelection::selectSubShape(
 
 int Model_AttributeSelection::Id()
 {
+  int anID = 0;
   std::shared_ptr<GeomAPI_Shape> aSelection = value();
   std::shared_ptr<GeomAPI_Shape> aContext = context()->shape();
-  const TopoDS_Shape& aMainShape = aContext->impl<TopoDS_Shape>();
+  // support for compsolids:
+  if (context().get() && ModelAPI_Tools::compSolidOwner(context()).get())
+    aContext = ModelAPI_Tools::compSolidOwner(context())->shape();
+
+
+  TopoDS_Shape aMainShape = aContext->impl<TopoDS_Shape>();
   const TopoDS_Shape& aSubShape = aSelection->impl<TopoDS_Shape>();
-  int anID = 0;
+  // searching for the latest main shape
   if (aSelection && !aSelection->isNull() &&
     aContext   && !aContext->isNull())
   {
+    std::shared_ptr<Model_Document> aDoc =
+      std::dynamic_pointer_cast<Model_Document>(context()->document());
+    if (aDoc.get()) {
+      Handle(TNaming_NamedShape) aNS = TNaming_Tool::NamedShape(aMainShape, aDoc->generalLabel());
+      if (!aNS.IsNull()) {
+        aMainShape = TNaming_Tool::CurrentShape(aNS);
+      }
+    }
+
     TopTools_IndexedMapOfShape aSubShapesMap;
     TopExp::MapShapes(aMainShape, aSubShapesMap);
     anID = aSubShapesMap.FindIndex(aSubShape);
index bacee75ebf41ae62d1dca4d11fa31add5e425b7c..b8ee2d52f97d2c61c851da5f166dab470c36d8b6 100755 (executable)
@@ -12,6 +12,7 @@
 #include <TNaming_Builder.hxx>
 #include <TNaming_NamedShape.hxx>
 #include <TNaming_Iterator.hxx>
+#include <TNaming_Tool.hxx>
 #include <TDataStd_Name.hxx>
 #include <TDataStd_Integer.hxx>
 #include <TopoDS.hxx>
@@ -328,8 +329,13 @@ void Model_BodyBuilder::loadAndOrientModifiedShapes (
   const int  theKindOfShape,
   const int  theTag,
   const std::string& theName,
-  GeomAPI_DataMapOfShapeShape& theSubShapes)
+  GeomAPI_DataMapOfShapeShape& theSubShapes,
+  const bool theIsStoreSeparate)
 {
+  int aTag = theTag;
+  std::string aName = theName;
+  std::ostringstream aStream;
+  int anIndex = 1;
   TopoDS_Shape aShapeIn = theShapeIn->impl<TopoDS_Shape>();
   TopTools_MapOfShape aView;
   bool isBuilt = theName.empty();
@@ -349,9 +355,19 @@ void Model_BodyBuilder::loadAndOrientModifiedShapes (
         aNewShape.Orientation(aMapShape->impl<TopoDS_Shape>().Orientation());
       }
       if (!aRoot.IsSame (aNewShape)) {
-        builder(theTag)->Modify(aRoot,aNewShape);
-        if(!isBuilt) 
-          buildName(theTag, theName);          
+        builder(aTag)->Modify(aRoot,aNewShape);
+        if(!isBuilt) {
+          if(theIsStoreSeparate) {
+            aStream.str(std::string());
+            aStream.clear();
+            aStream << theName << "_" << anIndex++;
+            aName = aStream.str();
+          }
+          buildName(aTag, aName);
+        }
+        if(theIsStoreSeparate) {
+          aTag++;
+        }
       }
     }
   }
@@ -750,6 +766,11 @@ std::shared_ptr<GeomAPI_Shape> Model_BodyBuilder::shape()
     Handle(TNaming_NamedShape) aName;
     if (aShapeLab.FindAttribute(TNaming_NamedShape::GetID(), aName)) {
       TopoDS_Shape aShape = aName->Get();
+      if (aShape.IsNull())
+        std::cout<<"Model_BodyBuilder::shape returns empty shape "<<std::endl;
+      else 
+        std::cout<<"Model_BodyBuilder::shape returns shape "<<&(*(aShape.TShape()))<<" with type "
+          <<aShape.ShapeType()<<std::endl;
       if (!aShape.IsNull()) {
         std::shared_ptr<GeomAPI_Shape> aRes(new GeomAPI_Shape);
         aRes->setImpl(new TopoDS_Shape(aShape));
@@ -759,3 +780,28 @@ std::shared_ptr<GeomAPI_Shape> Model_BodyBuilder::shape()
   }
   return std::shared_ptr<GeomAPI_Shape>();
 }
+
+bool Model_BodyBuilder::isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape)
+{
+  if (theShape.get()) {
+    TopoDS_Shape aShape = theShape->impl<TopoDS_Shape>();  
+    std::shared_ptr<Model_Data> aData = std::dynamic_pointer_cast<Model_Data>(data());
+    if (aData) {
+      TDF_Label& aShapeLab = aData->shapeLab();
+      Handle(TNaming_NamedShape) aName;
+      if (aShapeLab.FindAttribute(TNaming_NamedShape::GetID(), aName)) {
+        TopoDS_Shape aLatest = TNaming_Tool::CurrentShape(aName);
+        if (aLatest.IsNull())
+          return false;
+        if (aLatest.IsEqual(aShape))
+          return true;
+        // check sub-shapes for comp-solids:
+        for (TopExp_Explorer anExp(aShape, aLatest.ShapeType()); anExp.More(); anExp.Next()) {
+          if (aLatest.IsEqual(anExp.Current()))
+            return true;
+        }
+      }
+    }
+  }
+  return false;
+}
index 85032d4f81d5282f3a93f60f6324e6f81d563625..90092e59eba3be0425989f2573d5e273697e5639 100755 (executable)
@@ -83,7 +83,8 @@ public:
                                                const int  theKindOfShape,
                                                const int  theTag,
                                                                                           const std::string& theName,
-                                               GeomAPI_DataMapOfShapeShape& theSubShapes);
+                                               GeomAPI_DataMapOfShapeShape& theSubShapes,
+                                               const bool theIsStoreSeparate = false);
    /// load and orient generated shapes
   MODEL_EXPORT virtual void loadAndOrientGeneratedShapes (
                                                   GeomAlgoAPI_MakeShape* theMS,
@@ -109,6 +110,10 @@ public:
   /// (theFlag = true) and back (theFlag = false)
   MODEL_EXPORT virtual void evolutionToSelection(const bool theFlag);
 
+  /// Returns true if the latest modification of this body in the naming history
+  // is equal to the given shape
+  MODEL_EXPORT virtual bool isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape);
+
 protected:
   /// Default constructor accessible only by Model_Objects
   Model_BodyBuilder(ModelAPI_Object* theOwner);
index 75b38aeb01e0f85057c88e9bc7dfeef34acb9202..ed612e5184306a7e84ff161ebdee3033815de629 100644 (file)
@@ -24,6 +24,7 @@
 #include <ModelAPI_Validator.h>
 #include <ModelAPI_Session.h>
 #include <ModelAPI_ResultPart.h>
+#include <ModelAPI_ResultCompSolid.h>
 #include <ModelAPI_Tools.h>
 #include <Model_Validator.h>
 
@@ -430,7 +431,10 @@ void Model_Data::updateConcealmentFlag()
   std::shared_ptr<ModelAPI_Result> aRes = 
     std::dynamic_pointer_cast<ModelAPI_Result>(myObject);
   if (aRes.get()) {
-    aRes->setIsConcealed(false);
+    // if compsolid result has subs, do nothing directly: it depends on the sub's status (#1100)
+    ResultCompSolidPtr aComp = std::dynamic_pointer_cast<ModelAPI_ResultCompSolid>(myObject);
+    if (!aComp || aComp->numberOfSubs() == 0 || aComp->ModelAPI_ResultCompSolid::isConcealed())
+      aRes->setIsConcealed(false);
   }
 }
 
old mode 100644 (file)
new mode 100755 (executable)
index ecd12cf..d96069a
 #include <TDataStd_Comment.hxx>
 #include <TDF_ChildIDIterator.hxx>
 #include <TDataStd_ReferenceArray.hxx>
+#include <TDataStd_ReferenceList.hxx>
 #include <TDataStd_IntegerArray.hxx>
 #include <TDataStd_HLabelArray1.hxx>
 #include <TDataStd_Name.hxx>
+#include <TDataStd_AsciiString.hxx>
 #include <TDF_Reference.hxx>
 #include <TDF_ChildIDIterator.hxx>
 #include <TDF_LabelMapHasher.hxx>
@@ -360,7 +362,7 @@ static bool isEqualContent(Handle(TDF_Attribute) theAttr1, Handle(TDF_Attribute)
       return false;
     if (anArr1->Lower() == anArr2->Lower() && anArr1->Upper() == anArr2->Upper()) {
       for(int a = anArr1->Lower(); a <= anArr1->Upper(); a++)
-        if (anArr1->Value(a) != anArr2->Value(a))
+        if (a != 1 && anArr1->Value(a) != anArr2->Value(a)) // second is for display
           return false;
       return true;
     }
@@ -382,6 +384,42 @@ static bool isEqualContent(Handle(TDF_Attribute) theAttr1, Handle(TDF_Attribute)
         }
       return true;
     }
+  } else if (Standard_GUID::IsEqual(theAttr1->ID(), TDataStd_ReferenceArray::GetID())) {
+    Handle(TDataStd_ReferenceArray) anArr1 = Handle(TDataStd_ReferenceArray)::DownCast(theAttr1);
+    Handle(TDataStd_ReferenceArray) anArr2 = Handle(TDataStd_ReferenceArray)::DownCast(theAttr2);
+    if (anArr1.IsNull() && anArr2.IsNull())
+      return true;
+    if (anArr1.IsNull() || anArr2.IsNull())
+      return false;
+    if (anArr1->Lower() == anArr2->Lower() && anArr1->Upper() == anArr2->Upper()) {
+      for(int a = anArr1->Lower(); a <= anArr1->Upper(); a++)
+        if (anArr1->Value(a) != anArr2->Value(a)) {
+          // avoid the transaction ID checking
+          if (a == 2 && anArr1->Upper() == 2 && anArr2->Label().Tag() == 1 &&
+            (anArr2->Label().Depth() == 4 || anArr2->Label().Depth() == 6))
+            continue;
+          return false;
+        }
+      return true;
+    }
+  } else if (Standard_GUID::IsEqual(theAttr1->ID(), TDataStd_ReferenceList::GetID())) {
+    Handle(TDataStd_ReferenceList) aList1 = Handle(TDataStd_ReferenceList)::DownCast(theAttr1);
+    Handle(TDataStd_ReferenceList) aList2= Handle(TDataStd_ReferenceList)::DownCast(theAttr2);
+    if (aList1.IsNull() && aList2.IsNull())
+      return true;
+    if (aList1.IsNull() || aList2.IsNull())
+      return false;
+    const TDF_LabelList& aLList1 = aList1->List();
+    const TDF_LabelList& aLList2 = aList2->List();
+    TDF_ListIteratorOfLabelList aLIter1(aLList1);
+    TDF_ListIteratorOfLabelList aLIter2(aLList2);
+    for(; aLIter1.More() && aLIter2.More(); aLIter1.Next(), aLIter2.Next()) {
+      if (aLIter1.Value() != aLIter2.Value())
+        return false;
+    }
+    return !aLIter1.More() && !aLIter2.More(); // both lists are with the same size
+  } else if (Standard_GUID::IsEqual(theAttr1->ID(), TDF_TagSource::GetID())) {
+    return true; // it just for created and removed feature: nothing is changed
   }
   return false;
 }
@@ -400,11 +438,16 @@ static bool isEmptyTransaction(const Handle(TDocStd_Document)& theDoc) {
   const TDF_AttributeDeltaList& anAttrs = aDelta->AttributeDeltas();
   for (TDF_ListIteratorOfAttributeDeltaList anAttr(anAttrs); anAttr.More(); anAttr.Next()) {
     Handle(TDF_AttributeDelta)& anADelta = anAttr.Value();
-    if (!anADelta->Label().IsNull() && !anADelta->Attribute().IsNull()) {
-      Handle(TDF_Attribute) aCurrentAttr;
-      if (anADelta->Label().FindAttribute(anADelta->Attribute()->ID(), aCurrentAttr)) {
-        if (isEqualContent(anADelta->Attribute(), aCurrentAttr)) {
-          continue; // attribute is not changed actually
+    Handle(TDF_DeltaOnAddition) anAddition = Handle(TDF_DeltaOnAddition)::DownCast(anADelta);
+    if (anAddition.IsNull()) { // if the attribute was added, transaction is not empty
+      if (!anADelta->Label().IsNull() && !anADelta->Attribute().IsNull()) {
+        Handle(TDF_Attribute) aCurrentAttr;
+        if (anADelta->Label().FindAttribute(anADelta->Attribute()->ID(), aCurrentAttr)) {
+          if (isEqualContent(anADelta->Attribute(), aCurrentAttr)) {
+            continue; // attribute is not changed actually
+          }
+        } else if (Standard_GUID::IsEqual(anADelta->Attribute()->ID(), TDataStd_AsciiString::GetID())) {
+          continue; // error message is disappeared
         }
       }
     }
@@ -534,9 +577,9 @@ void Model_Document::abortOperation()
     if (!myNestedNum.empty())
       (*myNestedNum.rbegin())--;
     // roll back the needed number of transactions
-    // make commit/undo to get the modification delta
     //myDoc->AbortCommand();
-    if (myDoc->CommitCommand()) {
+    // instead of abort, do commit and undo: to get the delta of modifications
+    if (myDoc->CommitCommand())  {
       modifiedLabels(myDoc, aDeltaLabels);
       myDoc->Undo();
     }
@@ -591,6 +634,8 @@ bool Model_Document::canUndo()
 
 void Model_Document::undoInternal(const bool theWithSubs, const bool theSynchronize)
 {
+  if (myTransactions.empty())
+    return;
   int aNumTransactions = myTransactions.rbegin()->myOCAFNum;
   myRedos.push_back(*myTransactions.rbegin());
   myTransactions.pop_back();
index 1c7645b0c4f149782f9312a0acd103747a0ce4ec..b3bdb63b71bbe40f9a71902f1ee8acb3b2322222 100644 (file)
@@ -265,6 +265,7 @@ class Model_Document : public ModelAPI_Document
   friend class Model_AttributeReference;
   friend class Model_AttributeRefAttr;
   friend class Model_AttributeRefList;
+  friend class Model_AttributeSelection;
   friend class Model_ResultPart;
   friend class Model_ResultCompSolid;
   friend class DFBrowser;
index 0d1021820f9583d3c53bba163ee6ea46e52ea953..03e7bdee9ab4768a2cdeed9bd77e400ad7fe4ad5 100644 (file)
@@ -137,13 +137,15 @@ void Model_Objects::addFeature(FeaturePtr theFeature, const FeaturePtr theAfterT
     // keep the feature ID to restore document later correctly
     TDataStd_Comment::Set(aFeatureLab, theFeature->getKind().c_str());
     myFeatures.Bind(aFeatureLab, theFeature);
+    // must be before the event sending: for OB the feature is already added
+    updateHistory(ModelAPI_Feature::group());
+    // event: feature is added, mist be before "initData" to update OB correctly on Duplicate:
+    // first new part, then the content
+    static Events_ID anEvent = Events_Loop::eventByName(EVENT_OBJECT_CREATED);
+    ModelAPI_EventCreator::get()->sendUpdated(theFeature, anEvent);
     // must be after binding to the map because of "Box" macro feature that 
     // creates other features in "initData"
     initData(theFeature, aFeatureLab, TAG_FEATURE_ARGUMENTS);
-    // event: feature is added
-    static Events_ID anEvent = Events_Loop::eventByName(EVENT_OBJECT_CREATED);
-    ModelAPI_EventCreator::get()->sendUpdated(theFeature, anEvent);
-    updateHistory(ModelAPI_Feature::group());
   } else { // make feature has not-null data anyway
     theFeature->setData(Model_Data::invalidData());
     theFeature->setDoc(myDoc);
@@ -338,8 +340,7 @@ void Model_Objects::createHistory(const std::string& theGroupID)
 {
   std::map<std::string, std::vector<ObjectPtr> >::iterator aHIter = myHistory.find(theGroupID);
   if (aHIter == myHistory.end()) {
-    myHistory[theGroupID] = std::vector<ObjectPtr>();
-    std::vector<ObjectPtr>& aResult = myHistory[theGroupID];
+    std::vector<ObjectPtr> aResult = std::vector<ObjectPtr>();
     // iterate the array of references and get feature by feature from the array
     bool isFeature = theGroupID == ModelAPI_Feature::group();
     Handle(TDataStd_ReferenceArray) aRefs;
@@ -354,7 +355,8 @@ void Model_Objects::createHistory(const std::string& theGroupID)
                 aResult.push_back(aFeature);
               }
             } else if (!aFeature->isDisabled()) { // iterate all results of not-disabled feature
-              const std::list<std::shared_ptr<ModelAPI_Result> >& aResults = aFeature->results();
+              // do not use reference to the list here since results can be changed by "isConcealed"
+              const std::list<std::shared_ptr<ModelAPI_Result> > aResults = aFeature->results();
               std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aRIter = aResults.begin();
               for (; aRIter != aResults.cend(); aRIter++) {
                 ResultPtr aRes = *aRIter;
@@ -368,6 +370,9 @@ void Model_Objects::createHistory(const std::string& theGroupID)
         }
       }
     }
+    // to be sure that isConcealed did not update the history (issue 1089) during the iteration
+    if (myHistory.find(theGroupID) == myHistory.end())
+      myHistory[theGroupID] = aResult;
   }
 }
 
@@ -790,14 +795,15 @@ void Model_Objects::synchronizeBackRefs()
       synchronizeBackRefsForObject(aFound->second, aFeature);
     }
     // also for results
-    const std::list<std::shared_ptr<ModelAPI_Result> >& aResults = aFeature->results();
-    std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aRes = aResults.cbegin();
-    for(; aRes != aResults.cend(); aRes++) {
-      aFound = allRefs.find(*aRes);
+    std::list<ResultPtr> aResults;
+    ModelAPI_Tools::allResults(aFeature, aResults);
+    std::list<ResultPtr>::iterator aRIter = aResults.begin();
+    for(; aRIter != aResults.cend(); aRIter++) {
+      aFound = allRefs.find(*aRIter);
       if (aFound == allRefs.end()) { // not found => erase all back references
-        synchronizeBackRefsForObject(anEmpty, *aRes);
+        synchronizeBackRefsForObject(anEmpty, *aRIter);
       } else {
-        synchronizeBackRefsForObject(aFound->second, *aRes);
+        synchronizeBackRefsForObject(aFound->second, *aRIter);
       }
     }
   }
index d7e3f46c9fe0bf6336671aa5a4f3e1e83c62fbc4..8418ba22fa5c63adfe506f5f044f939c64ddc977 100644 (file)
@@ -41,3 +41,8 @@ bool Model_ResultBody::setDisabled(std::shared_ptr<ModelAPI_Result> theThis, con
   }
   return aChanged;
 }
+
+bool Model_ResultBody::isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape)
+{
+  return myBuilder->isLatestEqual(theShape);
+}
index 1300be1c53d8f4dab2f607350c2908c8cdc18482..3c4b0f9caad6e4a898ae28c6d78d607a1928866d 100644 (file)
@@ -40,6 +40,11 @@ public:
   /// naming data structure if theFlag if false. Or restores everything on theFlag is true.
   MODEL_EXPORT virtual bool setDisabled(std::shared_ptr<ModelAPI_Result> theThis,
     const bool theFlag);
+
+  /// Returns true if the latest modification of this body in the naming history
+  // is equal to the given shape
+  MODEL_EXPORT virtual bool isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape);
+
   /// Removes the stored builders
   MODEL_EXPORT virtual ~Model_ResultBody() {};
 
index b731fdcef7714d526b569535fc5190ac77221f52..96cdf32fce3e54337422005673f9a2907b137270 100755 (executable)
@@ -188,3 +188,17 @@ void Model_ResultCompSolid::updateSubs(const std::shared_ptr<GeomAPI_Shape>& the
     aECreator->sendUpdated(data()->owner(), EVENT_DISP);
   }
 }
+
+bool Model_ResultCompSolid::isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape)
+{
+  if (myBuilder->isLatestEqual(theShape))
+    return true;
+  // also check that it is asked for sub-elements
+  std::vector<std::shared_ptr<ModelAPI_ResultBody> >::const_iterator aSubIter = mySubs.cbegin();
+  for(; aSubIter != mySubs.cend(); aSubIter++) {
+    if (aSubIter->get() && (*aSubIter)->isLatestEqual(theShape)) {
+      return true;
+    }
+  }
+  return false;
+}
index 21fb163b9769a7ef3ca15542319b63b7b2999764..ba92674e8c80a03228a3349655dc711447eef05a 100755 (executable)
@@ -70,6 +70,10 @@ public:
   /// Sets all subs as concealed in the data tree (referenced by other objects)
   MODEL_EXPORT virtual void setIsConcealed(const bool theValue);
 
+  /// Returns true if the latest modification of this body in the naming history
+  // is equal to the given shape
+  MODEL_EXPORT virtual bool isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape);
+
 protected:
   /// Makes a body on the given feature
   Model_ResultCompSolid();
index 124fecd49c1eda73330f5bee4c67e9b1ef4e7045..b38c0bb092d812bb38f8dbdea66a886dc8c8621e 100644 (file)
@@ -119,6 +119,11 @@ bool Model_ResultPart::setDisabled(std::shared_ptr<ModelAPI_Result> theThis,
           updateShape();
           shape();
           aDoc->setCurrentFeature(FeaturePtr(), false);
+          // in order to update OB sub-elements of document before the document closing
+          Events_Loop* aLoop = Events_Loop::loop();
+          aLoop->flush(Events_Loop::eventByName(EVENT_OBJECT_CREATED));
+          aLoop->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+          aLoop->flush(Events_Loop::eventByName(EVENT_OBJECT_DELETED));
         }
       }
     }
@@ -221,53 +226,30 @@ std::string Model_ResultPart::nameInPart(const std::shared_ptr<GeomAPI_Shape>& t
   if (!aDoc.get()) // the part document is not presented for the moment
     return "";
   TDF_Label anAccessLabel = aDoc->generalLabel();
-
+  // make the selection attribute anyway: otherwise just by name it is not stable to search the result
   std::string aName;
-  // check if the subShape is already in DF
-  Handle(TNaming_NamedShape) aNS = TNaming_Tool::NamedShape(aShape, anAccessLabel);
-  Handle(TDataStd_Name) anAttr;
-  if(!aNS.IsNull() && !aNS->IsEmpty()) { // in the document    
-    if(aNS->Label().FindAttribute(TDataStd_Name::GetID(), anAttr)) {
-      aName = TCollection_AsciiString(anAttr->Get()).ToCString();
-      if(!aName.empty()) {         
-        const TDF_Label& aLabel = aDoc->findNamingName(aName);
-
-        static const std::string aPostFix("_");
-        TNaming_Iterator anItL(aNS);
-        for(int i = 1; anItL.More(); anItL.Next(), i++) {
-          if(anItL.NewShape() == aShape) {
-            aName += aPostFix;
-            aName += TCollection_AsciiString (i).ToCString();
-            break;
-          }
-        }
-      }        
-    }
-  }
-  if (aName.empty()) { // not found, so use the selection mechanism
-    // for this the context result is needed
-    ResultPtr aContext;
-    const std::string& aBodyGroup = ModelAPI_ResultBody::group();
-    for(int a = aDoc->size(aBodyGroup) - 1; a >= 0; a--) {
-      ResultPtr aBody = std::dynamic_pointer_cast<ModelAPI_Result>(aDoc->object(aBodyGroup, a));
-      if (aBody.get() && aBody->shape().get() && !aBody->isDisabled()) {
-        TopoDS_Shape aBodyShape = *(aBody->shape()->implPtr<TopoDS_Shape>());
-        // check is body contain the selected sub-shape
-        for(TopExp_Explorer anExp(aBodyShape, aShape.ShapeType()); anExp.More(); anExp.Next()) {
-          if (aShape.IsEqual(anExp.Current())) {
-            aContext = aBody;
-            break;
-          }
+  // for this the context result is needed
+  ResultPtr aContext;
+  const std::string& aBodyGroup = ModelAPI_ResultBody::group();
+  for(int a = aDoc->size(aBodyGroup) - 1; a >= 0; a--) {
+    ResultPtr aBody = std::dynamic_pointer_cast<ModelAPI_Result>(aDoc->object(aBodyGroup, a));
+    if (aBody.get() && aBody->shape().get() && !aBody->isDisabled()) {
+      TopoDS_Shape aBodyShape = *(aBody->shape()->implPtr<TopoDS_Shape>());
+      // check is body contain the selected sub-shape
+      for(TopExp_Explorer anExp(aBodyShape, aShape.ShapeType()); anExp.More(); anExp.Next()) {
+        if (aShape.IsEqual(anExp.Current())) {
+          aContext = aBody;
+          break;
         }
       }
     }
-    if (aContext.get()) {
-      AttributeSelectionListPtr aSelAttr = aDoc->selectionInPartFeature();
-      aSelAttr->append(aContext, theShape);
-      theIndex = aSelAttr->size();
-      AttributeSelectionPtr aNewAttr = aSelAttr->value(theIndex - 1);
-      return aNewAttr->namingName();
-    }
+  }
+  if (aContext.get()) {
+    AttributeSelectionListPtr aSelAttr = aDoc->selectionInPartFeature();
+    aSelAttr->append(aContext, theShape);
+    theIndex = aSelAttr->size();
+    AttributeSelectionPtr aNewAttr = aSelAttr->value(theIndex - 1);
+    return aNewAttr->namingName();
   }
   return aName;
 }
@@ -295,6 +277,15 @@ std::shared_ptr<GeomAPI_Shape> Model_ResultPart::shapeInPart(
     return aResult;
 
   AttributeSelectionListPtr aSelAttr = aDoc->selectionInPartFeature();
+  // check this selection is already there: reuse it
+  int aSize = aSelAttr->size();
+  for(int a = 0; a < aSize; a++) {
+    if (aSelAttr->value(a)->namingName() == theName) {
+      theIndex = a;
+      return aSelAttr->value(a)->value();
+    }
+  }
+
   aSelAttr->append(theName, theType);
   theIndex = aSelAttr->size();
   aResult = aSelAttr->value(theIndex - 1)->value();
index 49657767605ea735537cec2d23ce1cb13f6b1316..5d198d19ac1b78450de74238b73baf2270d27489 100644 (file)
@@ -65,6 +65,7 @@ Model_Update::Model_Update()
   myIsParamUpdated = false;
   myIsFinish = false;
   myModification = 0;
+  myModificationInStartProcessing = 0;
 }
 
 void Model_Update::processEvent(const std::shared_ptr<Events_Message>& theMessage)
@@ -109,6 +110,8 @@ void Model_Update::processEvent(const std::shared_ptr<Events_Message>& theMessag
       if ((*anObjIter)->groupName() == ModelAPI_ResultParameter::group()) {
         myIsParamUpdated = true;
       }
+      if (myIsExecuted) // modifications from outside are with never IDs to take them into account in the current updates
+        myModification++;
       // on undo/redo, abort do not update persisten features
       FeaturePtr anUpdated = std::dynamic_pointer_cast<ModelAPI_Feature>(*anObjIter);
       if (std::dynamic_pointer_cast<Model_Document>((*anObjIter)->document())->executeFeatures() ||
@@ -169,7 +172,8 @@ void Model_Update::processEvent(const std::shared_ptr<Events_Message>& theMessag
     // place where results are cleared)
     myIsParamUpdated = false;
     myUpdated.clear();
-    myModification = 0;
+    // do not erase it since there may be modification increment on start of operation
+    //myModification = 0;
     myWaitForFinish.clear();
   }
 }
@@ -223,33 +227,13 @@ void Model_Update::iterateUpdateBreak(std::shared_ptr<ModelAPI_Feature> theFeatu
 
 void Model_Update::processOperation(const bool theTotalUpdate, const bool theFinish)
 {
-  /* cancel hardcode due to issue 948
-  if (theFinish) {
-    // the hardcode (DBC asked): hide the sketch referenced by extrusion on apply
-    std::set<std::shared_ptr<ModelAPI_Object> >::iterator aFIter;
-    for(aFIter = myWaitForFinish.begin(); aFIter != myWaitForFinish.end(); aFIter++)
-    {
-      FeaturePtr aF = std::dynamic_pointer_cast<ModelAPI_Feature>(*aFIter);
-      if (aF && aF->data()->isValid() && 
-           (aF->getKind() == "Extrusion" || aF->getKind() == "Revolution")) {
-        AttributeSelectionListPtr aBase = aF->selectionList("base");
-        if (aBase.get()) {
-          for(int a = aBase->size() - 1; a >= 0; a--) {
-            ResultPtr aSketchRes = aBase->value(a)->context();
-            if (aSketchRes) {
-              aSketchRes->setDisplayed(false);
-            }
-          }
-        }
-      }
-    }
-  } */
   // perform update of everything if needed
   if (!myIsExecuted) {
     #ifdef DEB_UPDATE
       std::cout<<"****** Start processing"<<std::endl;
     #endif
     myIsExecuted = true;
+    myModificationInStartProcessing = myModification;
 
     bool isAutomaticChanged = false;
 
@@ -257,15 +241,22 @@ void Model_Update::processOperation(const bool theTotalUpdate, const bool theFin
       isAutomaticChanged = true;
       myIsAutomatic = true;
     }
+    // modifications inside of the iteration will be different from modification that comes outside
+    myModification++;
     // init iteration from the root document
     iterateUpdate(CompositeFeaturePtr());
 
     if (isAutomaticChanged) myIsAutomatic = false;
     myIsExecuted = false;
+    // flush updates just before "myModification" increment: to distinguish
+    // updates by "execute" produced by this updater and other updates, coming outside,
+    // which are really important for "processEvent" of this updater
+    static Events_Loop* aLoop = Events_Loop::loop();
+    static const Events_ID kUpdatedEvent = aLoop->eventByName(EVENT_OBJECT_UPDATED);
+    aLoop->flush(kUpdatedEvent);
     myModification++;
 
     // flush to update display
-    static Events_Loop* aLoop = Events_Loop::loop();
     static Events_ID EVENT_DISP = aLoop->eventByName(EVENT_OBJECT_TO_REDISPLAY);
     aLoop->flush(EVENT_DISP);
     #ifdef DEB_UPDATE
@@ -274,6 +265,12 @@ void Model_Update::processOperation(const bool theTotalUpdate, const bool theFin
   }
 }
 
+bool Model_Update::isProcessed(const int theModificationID)
+{
+  return theModificationID >= myModificationInStartProcessing && 
+         theModificationID <= myModification;
+}
+
 void Model_Update::updateFeature(FeaturePtr theFeature)
 {
   // check all features this feature depended on (recursive call of updateFeature)
@@ -303,7 +300,7 @@ void Model_Update::updateFeature(FeaturePtr theFeature)
   // If automatice update is not needed and feature attributes were not updated right now,
   // do not execute it and do not update arguments.
   if (!myIsAutomatic && 
-       (myUpdated.find(theFeature) == myUpdated.end() || myUpdated[theFeature] != myModification)
+       (myUpdated.find(theFeature) == myUpdated.end() || !isProcessed(myUpdated[theFeature]))
        && !aCompos.get()) {
     // execute will be performed later, but some features may have not-result 
     // presentations, so call update for them (like coincidence in the sketcher)
@@ -338,7 +335,7 @@ void Model_Update::updateFeature(FeaturePtr theFeature)
   if (aJustUpdated) {
     // if preview is not needed, the created feature was not updated before, so, myModification is not actual for this
     if (theFeature->isPreviewNeeded()) {
-      aJustUpdated = myUpdated[theFeature] == myModification;
+      aJustUpdated = isProcessed(myUpdated[theFeature]);
     }
   }
 
@@ -404,9 +401,11 @@ void Model_Update::redisplayWithResults(FeaturePtr theFeature, const ModelAPI_Ex
 {
   // make updated and redisplay all results
   static Events_ID EVENT_DISP = Events_Loop::loop()->eventByName(EVENT_OBJECT_TO_REDISPLAY);
-  const std::list<std::shared_ptr<ModelAPI_Result> >& aResults = theFeature->results();
-  std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aRIter = aResults.begin();
-  for (; aRIter != aResults.cend(); aRIter++) {
+
+  std::list<ResultPtr> allResults;
+  ModelAPI_Tools::allResults(theFeature, allResults);
+  std::list<ResultPtr>::iterator aRIter = allResults.begin();
+  for (; aRIter != allResults.cend(); aRIter++) {
     std::shared_ptr<ModelAPI_Result> aRes = *aRIter;
     if (!aRes->isDisabled()) {// update state only for enabled results (Placement Result Part may make the original Part Result as invalid)
       aRes->data()->execState(theState);
@@ -417,27 +416,11 @@ void Model_Update::redisplayWithResults(FeaturePtr theFeature, const ModelAPI_Ex
       aRes->data()->setUpdateID(theFeature->data()->updateID());
     }
     ModelAPI_EventCreator::get()->sendUpdated(aRes, EVENT_DISP);
-    // iterate sub-bodies of compsolid
-    ResultCompSolidPtr aComp = std::dynamic_pointer_cast<ModelAPI_ResultCompSolid>(aRes);
-    if (aComp.get()) {
-      int aNumSub = aComp->numberOfSubs();
-      for(int a = 0; a < aNumSub; a++) {
-        ResultPtr aSub = aComp->subResult(a);
-        if (!aSub->isDisabled()) {// update state only for enabled results (Placement Result Part may make the original Part Result as invalid)
-          aSub->data()->execState(theState);
-          if (theState == ModelAPI_StateDone) // feature become "done", so execution changed results
-            myUpdated[aSub] = myModification;
-        }
-        if (theFeature->data()->updateID() > aSub->data()->updateID()) {
-          aSub->data()->setUpdateID(theFeature->data()->updateID());
-        }
-        ModelAPI_EventCreator::get()->sendUpdated(aSub, EVENT_DISP);
-      }
-    }
   }
   // to redisplay "presentable" feature (for ex. distance constraint)
   ModelAPI_EventCreator::get()->sendUpdated(theFeature, EVENT_DISP);
   theFeature->data()->execState(theState);
+  myUpdated[theFeature] = myModification; // feature is also updated to avoid re-updation of it
 }
 
 /// Updates the state by the referenced object: if something bad with it, set state for this one
@@ -465,6 +448,27 @@ bool Model_Update::isOlder(std::shared_ptr<ModelAPI_Feature> theFeature,
   std::map<std::shared_ptr<ModelAPI_Object>, int >::iterator anAIter = myUpdated.find(theArgument);
   if (anAIter == myUpdated.end())
     return false;
+  // for the modification IDs compare results: modification ID of feature means only that attributes
+  // of this feature were updated, but if results are obsolete relatively to the referenced results,
+  // the feature must be updated
+  std::list<ResultPtr> aResults;
+  ModelAPI_Tools::allResults(theFeature, aResults);
+  std::list<ResultPtr>::iterator aRIter = aResults.begin();
+  for (; aRIter != aResults.cend(); aRIter++) {
+    std::shared_ptr<ModelAPI_Result> aRes = *aRIter;
+    if (!aRes->isDisabled()) {
+      std::map<std::shared_ptr<ModelAPI_Object>, int >::iterator anRIter = myUpdated.find(aRes);
+      int aResultID = aRes->data()->updateID();
+      if (aResultID < anArgID)
+        return true;
+      if (anRIter == myUpdated.end()) // not updated at all
+        return true;
+      if (anRIter->second < anAIter->second)
+        return true;
+    }
+  }
+  // also check a feature: some have no parameters,
+  // but must be updated anyway (like Coincidence of sketch) to be redisplayed
   std::map<std::shared_ptr<ModelAPI_Object>, int >::iterator aFIter = myUpdated.find(theFeature);
   if (aFIter == myUpdated.end())
     return true; // argument is updated, but feature is not updated at all
index 3b543c1f540996c4fe157d991b193a3141a90dee..2e44ea32122c6dc542084da15b9ea81126696179 100644 (file)
@@ -30,6 +30,8 @@ class Model_Update : public Events_Listener
   std::map<std::shared_ptr<ModelAPI_Object>, int > myUpdated;
   /// current id of modification inside of the current transaction
   int myModification;
+  /// id of modification inside of the current transaction on start of processing
+  int myModificationInStartProcessing;
   /// features that must be additionally processed after execution of finish operation
   std::set<std::shared_ptr<ModelAPI_Object> > myWaitForFinish;
   /// to know that all next updates are caused by this execution
@@ -127,6 +129,8 @@ protected:
                std::shared_ptr<ModelAPI_Object> theArgument);
   /// Updates the properties of object because of stability state changes
   void updateStability(void* theSender);
+  /// Returns true if the feature is the given modification ID is processed in the current processOperation
+  bool isProcessed(const int theModificationID);
 };
 
 #endif
index 8da7ce250a1cf8dc59f3137f4df441fd48551590..7da97d0c182ff97c2324541f1e984eb16cd2ca3e 100644 (file)
@@ -22,7 +22,6 @@
   #include "ModelAPI_AttributeDocRef.h"
   #include "ModelAPI_AttributeDouble.h"
   #include "ModelAPI_AttributeInteger.h"
-  #include "ModelAPI_AttributeIntArray.h"
   #include "ModelAPI_AttributeString.h"
   #include "ModelAPI_AttributeReference.h"
   #include "ModelAPI_AttributeRefAttr.h"
@@ -84,7 +83,6 @@
 %shared_ptr(ModelAPI_AttributeDocRef)
 %shared_ptr(ModelAPI_AttributeDouble)
 %shared_ptr(ModelAPI_AttributeInteger)
-%shared_ptr(ModelAPI_AttributeIntArray)
 %shared_ptr(ModelAPI_AttributeString)
 %shared_ptr(ModelAPI_AttributeReference)
 %shared_ptr(ModelAPI_AttributeRefAttr)
 %include "ModelAPI_AttributeDocRef.h"
 %include "ModelAPI_AttributeDouble.h"
 %include "ModelAPI_AttributeInteger.h"
-%include "ModelAPI_AttributeIntArray.h"
 %include "ModelAPI_AttributeString.h"
 %include "ModelAPI_AttributeReference.h"
 %include "ModelAPI_AttributeRefAttr.h"
@@ -159,7 +156,6 @@ template<class T1, class T2> std::shared_ptr<T1> shared_ptr_cast(std::shared_ptr
 %template(modelAPI_AttributeDocRef)        shared_ptr_cast<ModelAPI_AttributeDocRef, ModelAPI_Attribute>;
 %template(modelAPI_AttributeDouble)        shared_ptr_cast<ModelAPI_AttributeDouble, ModelAPI_Attribute>;
 %template(modelAPI_AttributeInteger)       shared_ptr_cast<ModelAPI_AttributeInteger, ModelAPI_Attribute>;
-%template(modelAPI_AttributeIntArray)      shared_ptr_cast<ModelAPI_AttributeIntArray, ModelAPI_Attribute>;
 %template(modelAPI_AttributeString)        shared_ptr_cast<ModelAPI_AttributeString, ModelAPI_Attribute>;
 %template(modelAPI_AttributeReference)     shared_ptr_cast<ModelAPI_AttributeReference, ModelAPI_Attribute>;
 %template(modelAPI_AttributeRefAttr)       shared_ptr_cast<ModelAPI_AttributeRefAttr, ModelAPI_Attribute>;
index 61b1979a0b2c1643f126059a716fe8b556948649..fccb6b018f8196d1b89644390f35d3861a8a6449 100644 (file)
@@ -57,7 +57,7 @@ class ModelAPI_AttributeSelection : public ModelAPI_Attribute
   /// Selects sub-shape by the textual Name
   virtual void selectSubShape(const std::string& theType, const std::string& theSubShapeName) = 0;
 
-  /// Returns true if recompute of selection become impossible
+  /// Returns true if recomute of selection become impossible
   virtual bool isInvalid() = 0;
 
   /// To virtually destroy the fields of successors
index 52eec8ca15ab35acd71cbb4cffacd4a53d133b53..e2cad1e1f7404176c8209cf3ecc6b91f0aaa1740 100644 (file)
@@ -23,7 +23,7 @@ class ModelAPI_AttributeSelectionList : public ModelAPI_Attribute
   /// \param theContext object where the sub-shape was selected
   /// \param theSubShape selected sub-shape (if null, the whole context is selected)
   /// \param theTemporarily if it is true, do not store and name the added in the data framework
-  ///           (used to remove immediately, without the following updates)
+  ///           (used to remove immideately, without the following updates)
   virtual void append(const ResultPtr& theContext,
                       const GeomShapePtr& theSubShape,
                       const bool theTemporarily = false) = 0;
index 3d945b47c4622c9bef6547bba2e98240c421354c..424f9857b5f43558c8b430e160c6cdbe92d4acf5 100755 (executable)
@@ -78,7 +78,8 @@ public:
                                                const int  theKindOfShape,
                                                const int  theTag,
                                                                                           const std::string& theName,
-                                               GeomAPI_DataMapOfShapeShape& theSubShapes) = 0;
+                                               GeomAPI_DataMapOfShapeShape& theSubShapes,
+                                               const bool theIsStoreSeparate = false) = 0;
   /// load and orient generated shapes
   virtual void loadAndOrientGeneratedShapes (
                                                   GeomAlgoAPI_MakeShape* theMS,
@@ -101,6 +102,10 @@ public:
   /// (theFlag = true) and back (theFlag = false)
   virtual void evolutionToSelection(const bool theFlag) = 0;
 
+  /// Returns true if the latest modification of this body in the naming history
+  // is equal to the given shape
+  virtual bool isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape) = 0;
+
 protected:
   /// Returns the data manager of this object: attributes
   MODELAPI_EXPORT virtual std::shared_ptr<ModelAPI_Data> data() const;
index abf679546fa7ffdf410cfced299d96af3fdbbb58..4edc005c95ef320cd3cbb13d242d89116ac723a9 100644 (file)
@@ -122,7 +122,7 @@ public:
   //! To virtually destroy the fields of successors
   MODELAPI_EXPORT virtual ~ModelAPI_Document();
 
-  //! Creates a construction result
+  //! Creates a construction cresult
   virtual std::shared_ptr<ModelAPI_ResultConstruction> createConstruction(
       const std::shared_ptr<ModelAPI_Data>& theFeatureData, const int theIndex = 0) = 0;
   //! Creates a body result
index 8a648e7c53c21616a7260ed5ad29ec0d11f2628c..af55636cb58e7b573d2f5cf1235e16d5bff53f22 100644 (file)
@@ -85,7 +85,7 @@ class ModelAPI_Feature : public ModelAPI_Object
                                  const int theIndex);
   /// removes the result from the feature
   MODELAPI_EXPORT void removeResult(const std::shared_ptr<ModelAPI_Result>& theResult);
-  /// removes all results starting from the given index (zero-based)
+  /// removes all results starting from the gived index (zero-based)
   /// \param theSinceIndex - index of the deleted result and all after also will be deleted
   /// \param theFlush - if it is false, REDISPLAY message is not flushed
   MODELAPI_EXPORT void removeResults(const int theSinceIndex, const bool theFlush = true);
index 6f3543548318e30cd019e0c8457b9678ee54c1ed..bcdc0bcb59442dbc1114e7b02d77184e8b160c52 100644 (file)
@@ -110,10 +110,10 @@ void ModelAPI_ResultBody::loadDeletedShapes (GeomAlgoAPI_MakeShape* theMS,
 
 void ModelAPI_ResultBody::loadAndOrientModifiedShapes (GeomAlgoAPI_MakeShape* theMS,
     std::shared_ptr<GeomAPI_Shape>  theShapeIn, const int  theKindOfShape, const int  theTag,
-    const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes)
+    const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes, const bool theIsStoreSeparate)
 {
   myBuilder->loadAndOrientModifiedShapes(
-    theMS, theShapeIn, theKindOfShape, theTag, theName, theSubShapes);
+    theMS, theShapeIn, theKindOfShape, theTag, theName, theSubShapes, theIsStoreSeparate);
 }
 
 void ModelAPI_ResultBody::loadAndOrientGeneratedShapes (GeomAlgoAPI_MakeShape* theMS,
index 54df9a2c65c6cfa974ce5a958a9a3f35f9dc5626..a09c80638c103c6b72a69e294f407dae8f69bddf 100644 (file)
@@ -93,7 +93,7 @@ public:
   /// load and orient modified shapes
   MODELAPI_EXPORT virtual void loadAndOrientModifiedShapes (GeomAlgoAPI_MakeShape* theMS,
     std::shared_ptr<GeomAPI_Shape>  theShapeIn, const int  theKindOfShape, const int  theTag,
-    const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes);
+    const std::string& theName, GeomAPI_DataMapOfShapeShape& theSubShapes, const bool theIsStoreSeparate = false);
   /// load and orient generated shapes
   MODELAPI_EXPORT virtual void loadAndOrientGeneratedShapes (GeomAlgoAPI_MakeShape* theMS,
     std::shared_ptr<GeomAPI_Shape>  theShapeIn, const int  theKindOfShape,
@@ -111,6 +111,10 @@ public:
   MODELAPI_EXPORT virtual void loadDisconnectedVertexes(std::shared_ptr<GeomAPI_Shape> theShape,
     const std::string& theName,int&  theTag);
 
+  /// Returns true if the latest modification of this body in the naming history
+  // is equal to the given shape
+  MODELAPI_EXPORT virtual bool isLatestEqual(const std::shared_ptr<GeomAPI_Shape>& theShape) = 0;
+
 protected:
   /// Default constructor accessible only from Model_Objects
   MODELAPI_EXPORT ModelAPI_ResultBody();
index 56c2a0fe63e6aafcd1788b030e76ed4139765699..4fa9775d62a73cacacadc47df946fb5692e9ee33 100755 (executable)
@@ -211,5 +211,23 @@ bool hasSubResults(const ResultPtr& theResult)
   return aCompSolid.get() && aCompSolid->numberOfSubs() > 0;
 }
 
+void allResults(const FeaturePtr& theFeature, std::list<ResultPtr>& theResults)
+{
+  const std::list<std::shared_ptr<ModelAPI_Result> >& aResults = theFeature->results();
+  std::list<std::shared_ptr<ModelAPI_Result> >::const_iterator aRIter = aResults.begin();
+  for (; aRIter != aResults.cend(); aRIter++) {
+    theResults.push_back(*aRIter);
+    // iterate sub-bodies of compsolid
+    ResultCompSolidPtr aComp = std::dynamic_pointer_cast<ModelAPI_ResultCompSolid>(*aRIter);
+    if (aComp.get()) {
+      int aNumSub = aComp->numberOfSubs();
+      for(int a = 0; a < aNumSub; a++) {
+        theResults.push_back(aComp->subResult(a));
+      }
+    }
+  }
+}
+
 } // namespace ModelAPI_Tools
 
+
index e404948351996280801243db79916e95448ee942..9d544cbf8e4afac7941e6ba851f1abf37e308c61 100755 (executable)
@@ -74,6 +74,11 @@ MODELAPI_EXPORT ResultCompSolidPtr compSolidOwner(const ResultPtr& theSub);
 */
 MODELAPI_EXPORT bool hasSubResults(const ResultPtr& theResult);
 
+/*!
+* Adds the results of the given feature to theResults list: including disabled and sub-results
+*/
+MODELAPI_EXPORT void allResults(const FeaturePtr& theFeature, std::list<ResultPtr>& theResults);
+
 }
 
 #endif
index 5d6e49ef8445a9f79443e531018ef05df852427c..304feb69c80f146661e1e9d65a651eb9f4c20403 100644 (file)
@@ -4,7 +4,7 @@ INCLUDE(Common)
 SET(CMAKE_AUTOMOC ON)
 
 SET(PROJECT_HEADERS
-       ModuleBase.h
+  ModuleBase.h
   ModuleBase_ActionInfo.h
   ModuleBase_Definitions.h
   ModuleBase_DoubleSpinBox.h
@@ -13,11 +13,13 @@ SET(PROJECT_HEADERS
   ModuleBase_FilterValidated.h
   ModuleBase_IErrorMgr.h
   ModuleBase_IModule.h
+  ModuleBase_IntSpinBox.h
   ModuleBase_IPrefMgr.h
   ModuleBase_IPropertyPanel.h
   ModuleBase_ISelection.h
   ModuleBase_IViewWindow.h
   ModuleBase_IViewer.h
+  ModuleBase_IWidgetCreator.h
   ModuleBase_IWorkshop.h
   ModuleBase_ModelWidget.h
   ModuleBase_Operation.h
@@ -38,6 +40,7 @@ SET(PROJECT_HEADERS
   ModuleBase_ViewerPrs.h
   ModuleBase_WidgetBoolValue.h
   ModuleBase_WidgetChoice.h
+  ModuleBase_WidgetCreatorFactory.h
   ModuleBase_WidgetDoubleValue.h
   ModuleBase_WidgetEditor.h
   ModuleBase_WidgetExprEditor.h
@@ -64,11 +67,13 @@ SET(PROJECT_SOURCES
   ModuleBase_FilterValidated.cpp
   ModuleBase_IErrorMgr.cpp
   ModuleBase_IModule.cpp
+  ModuleBase_IntSpinBox.cpp
   ModuleBase_IPrefMgr.cpp
   ModuleBase_IPropertyPanel.cpp
   ModuleBase_ISelection.cpp
   ModuleBase_IViewWindow.cpp
   ModuleBase_IViewer.cpp
+  ModuleBase_IWidgetCreator.cpp
   ModuleBase_IWorkshop.cpp
   ModuleBase_ModelWidget.cpp
   ModuleBase_Operation.cpp
@@ -88,6 +93,7 @@ SET(PROJECT_SOURCES
   ModuleBase_ViewerPrs.cpp
   ModuleBase_WidgetBoolValue.cpp
   ModuleBase_WidgetChoice.cpp
+  ModuleBase_WidgetCreatorFactory.cpp
   ModuleBase_WidgetDoubleValue.cpp
   ModuleBase_WidgetEditor.cpp
   ModuleBase_WidgetExprEditor.cpp
@@ -104,6 +110,7 @@ SET(PROJECT_SOURCES
   ModuleBase_WidgetValidated.cpp
   ModuleBase_IconFactory.cpp
   ModuleBase_WidgetErrorLabel.cpp
+  ModuleBase_SelectionValidator.cpp
 )
 
 SET(PROJECT_LIBRARIES
index 081ca65b3fb12dad6800a131d18cda5e0c95a9c1..06c1afcd6a045dfd40970fc7fe35cfc11cf2ff64 100644 (file)
@@ -59,7 +59,7 @@ const double PSEUDO_ZERO = 1.e-20;
 ModuleBase_DoubleSpinBox::ModuleBase_DoubleSpinBox(QWidget* theParent, int thePrecision)
     : QDoubleSpinBox(theParent),
       myCleared(false),
-      myIsModified(false),
+      //myIsModified(false),
       myIsEmitKeyPressEvent(false)
 {
   // VSR 01/07/2010: Disable thousands separator for spin box
@@ -79,7 +79,7 @@ ModuleBase_DoubleSpinBox::ModuleBase_DoubleSpinBox(QWidget* theParent, int thePr
   connect(lineEdit(), SIGNAL(textChanged( const QString& )), this,
           SLOT(onTextChanged( const QString& )));
 
-  connect(this, SIGNAL(valueChanged(const QString&)), this, SLOT(onValueChanged(const QString&)));
+  //connect(this, SIGNAL(valueChanged(const QString&)), this, SLOT(onValueChanged(const QString&)));
 }
 
 /*!
@@ -203,18 +203,24 @@ QString ModuleBase_DoubleSpinBox::removeTrailingZeroes(const QString& src) const
 
 void ModuleBase_DoubleSpinBox::keyPressEvent(QKeyEvent *theEvent)
 {
+  bool isEmitKeyRelease = false;
   switch (theEvent->key()) {
     case Qt::Key_Enter:
     case Qt::Key_Return: {
       // do not react to the Enter key, the property panel processes it
       if (!myIsEmitKeyPressEvent)
         return;
+      else
+        isEmitKeyRelease = true;
     }
     break;
     default:
       break;
   }
   QDoubleSpinBox::keyPressEvent(theEvent);
+
+  if (isEmitKeyRelease)
+    emit keyReleased(theEvent);
 }
 
 /*!
@@ -327,10 +333,10 @@ QValidator::State ModuleBase_DoubleSpinBox::validate(QString& str, int& pos) con
 void ModuleBase_DoubleSpinBox::onTextChanged(const QString& )
 {
   myCleared = false;
-  myIsModified = true;
+  //myIsModified = true;
 }
 
-void ModuleBase_DoubleSpinBox::onValueChanged(const QString& theValue)
+/*void ModuleBase_DoubleSpinBox::onValueChanged(const QString& theValue)
 {
   myIsModified = true;
 }
@@ -343,7 +349,7 @@ bool ModuleBase_DoubleSpinBox::isModified() const
 void ModuleBase_DoubleSpinBox::clearModified()
 {
   myIsModified = false;
-}
+}*/
 
 bool ModuleBase_DoubleSpinBox::enableKeyPressEvent(const bool& theEnable)
 {
index e1fd8bd61f7341e2cb8419fbdd0b850e576ed73d..ef22f8ad12bdfffb66dffd176af8d722e429deca 100644 (file)
@@ -50,24 +50,31 @@ Q_OBJECT
   virtual QValidator::State validate(QString&, int&) const;
 
   /// Returns true if the current value is modified by has not been applyed yet
-  virtual bool isModified() const;
+  //virtual bool isModified() const;
 
   /// Clears modified state
-  void clearModified();
+  //void clearModified();
 
   /// Change enable/disable internal state to emit key press event
   /// \param theEnable if true, the signal is emitted
   /// \return the previous value
   bool enableKeyPressEvent(const bool& theEnable);
 
+signals:
+  /// The signal about key release on the control, that corresponds to the attribute
+  /// \param theEvent key release event
+  void keyReleased(QKeyEvent* theEvent);
+
  protected slots:
    /// Called on text changed
   virtual void onTextChanged(const QString&);
-  void onValueChanged(const QString& theValue);
+  /// Called on value changed
+  //void onValueChanged(const QString& theValue);
 
  protected:
    /// Removes extra trailing zero symbols
   QString removeTrailingZeroes(const QString&) const;
+  /// Called on key press event
   virtual void keyPressEvent(QKeyEvent* theEvent);
 
  private:
@@ -80,7 +87,7 @@ Q_OBJECT
   /// Precision value
   int myPrecision;
   /// Boolean value whether the spin box content is modified
-  bool myIsModified;
+  //bool myIsModified;
 };
 
 #endif
index 88f16c6d8deb50eb9a9cf36c5b00d66ae77b1490..08314d734cc3cf2793e3e601ac6a9a53d891551d 100644 (file)
@@ -25,7 +25,7 @@ Standard_Boolean ModuleBase_FilterValidated::IsOk(const Handle(SelectMgr_EntityO
     ModuleBase_IPropertyPanel* aPanel = anOperation->propertyPanel();
     ModuleBase_ModelWidget* aCurrentWidget = aPanel->preselectionWidget();
     if (!aCurrentWidget)
-      aCurrentWidget = aPanel->activeWidget();
+      aCurrentWidget = myWorkshop->module()->activeWidget();
     ModuleBase_WidgetValidated* aWidgetValidated = dynamic_cast<ModuleBase_WidgetValidated*>
                                                                            (aCurrentWidget);
     ModuleBase_ViewerPrs aPrs;
index 1d1c8a8d25aa34d434f598a06582a6a1ad43ab4f..293c2b80f9b98a78ada27b13871953b8ff1d61e5 100644 (file)
@@ -29,6 +29,7 @@ void ModuleBase_IErrorMgr::setPropertyPanel(ModuleBase_IPropertyPanel* theProp)
     foreach(const ModuleBase_ModelWidget* aWgt, myPropertyPanel->modelWidgets()) {
       connect(aWgt, SIGNAL(afterValuesChanged()), this, SLOT(onWidgetChanged()));
       connect(aWgt, SIGNAL(afterValuesRestored()), this, SLOT(onWidgetChanged()));
+      connect(aWgt, SIGNAL(valueStateChanged(int)), this, SLOT(onWidgetChanged()));
     }
   }
 }
index 3cbe89b5b4569b9970d29541b6cf10d410f037c0..c73bf3c1c5081a803b07d15181918d283418eaae 100644 (file)
@@ -8,9 +8,11 @@
 #include "ModuleBase_ISelection.h"
 #include "ModuleBase_OperationDescription.h"
 #include "ModuleBase_OperationFeature.h"
+#include <ModuleBase_ModelWidget.h>
 
 #include <Events_Loop.h>
 
+#include <ModelAPI_Validator.h>
 #include <ModelAPI_Events.h>
 #include <ModelAPI_CompositeFeature.h>
 #include <ModelAPI_Session.h>
@@ -101,6 +103,35 @@ QString ModuleBase_IModule::getFeatureError(const FeaturePtr& theFeature)
   return anError;
 }
 
+QString ModuleBase_IModule::getWidgetError(ModuleBase_ModelWidget* theWidget)
+{
+  QString anError;
+
+  if (!theWidget || !theWidget->feature().get())
+    return anError;
+
+  std::string anAttributeID = theWidget->attributeID();
+  AttributePtr anAttribute = theWidget->feature()->attribute(anAttributeID);
+  if (!anAttribute.get())
+    return anError;
+
+  std::string aValidatorID;
+  std::string anErrorMsg;
+
+  static ModelAPI_ValidatorsFactory* aValidators = ModelAPI_Session::get()->validators();
+  if (!aValidators->validate(anAttribute, aValidatorID, anErrorMsg)) {
+    if (anErrorMsg.empty())
+      anErrorMsg = "unknown error.";
+    anErrorMsg = anAttributeID + " - " + aValidatorID + ": " + anErrorMsg;
+  }
+
+  anError = QString::fromStdString(anErrorMsg);
+  if (anError.isEmpty())
+    anError = theWidget->getValueStateError();
+
+  return anError;
+}
+
 void ModuleBase_IModule::grantedOperationIds(ModuleBase_Operation* theOperation,
                                              QStringList& theIds) const
 {
index f4d547d43c92c91d7afbc527be8fa16ee6874849..acd6b49acef50c0332d35978bfdaf2c63b38693b 100755 (executable)
@@ -101,6 +101,9 @@ class MODULEBASE_EXPORT ModuleBase_IModule : public QObject
     return 0;\r
   }\r
 \r
+  /// Returns the active widget, by default it is the property panel active widget\r
+  virtual ModuleBase_ModelWidget* activeWidget() const = 0;\r
+\r
   /// Returns current workshop\r
   ModuleBase_IWorkshop* workshop() const { return myWorkshop; }\r
 \r
@@ -188,6 +191,11 @@ class MODULEBASE_EXPORT ModuleBase_IModule : public QObject
   //! \return string value\r
   virtual QString getFeatureError(const FeaturePtr& theFeature);\r
 \r
+  //! Returns the widget error, get it from the attribute validator and state of the widget\r
+  //! If the feature is correct, it returns an empty value\r
+  //! \return string value\r
+  virtual QString getWidgetError(ModuleBase_ModelWidget* theWidget);\r
+\r
   /// Returns list of granted operation indices\r
   virtual void grantedOperationIds(ModuleBase_Operation* theOperation, QStringList& theIds) const;\r
 \r
@@ -200,6 +208,18 @@ class MODULEBASE_EXPORT ModuleBase_IModule : public QObject
   /// \param thePreviousState the previous state of the widget\r
   virtual void widgetStateChanged(int thePreviousState) {};\r
 \r
+  /// Returns true if the event is processed.\r
+  /// \param thePreviousAttributeID an index of the previous active attribute\r
+  virtual bool processEnter(const std::string& thePreviousAttributeID) { return false; };\r
+\r
+  /// Performs some GUI actions after an operation transaction is opened\r
+  /// Default realization is empty\r
+  virtual void beforeOperationStarted(ModuleBase_Operation* theOperation) {};\r
+\r
+  /// Performs some GUI actions before an operation transaction is stopped\r
+  /// Default realization is empty\r
+  virtual void beforeOperationStopped(ModuleBase_Operation* theOperation) {};\r
+\r
 signals:\r
   /// Signal which is emitted when operation is launched\r
   void operationLaunched();\r
index ee4490aca9aa2450dc8a40a498962c1db91a69b0..0a87a74c838943d7ac01623d9f3a38c3e125d149 100644 (file)
@@ -8,8 +8,29 @@
  */
 
 #include "ModuleBase_IPropertyPanel.h"
+#include "ModuleBase_ModelWidget.h"
 
 ModuleBase_IPropertyPanel::ModuleBase_IPropertyPanel(QWidget* theParent) : QDockWidget(theParent), myIsEditing(false)
 {
 
 }
+
+ModuleBase_ModelWidget* ModuleBase_IPropertyPanel::findFirstAcceptingValueWidget()
+{
+  return ModuleBase_IPropertyPanel::findFirstAcceptingValueWidget(modelWidgets());
+}
+
+ModuleBase_ModelWidget* ModuleBase_IPropertyPanel::findFirstAcceptingValueWidget(
+                                                              const QList<ModuleBase_ModelWidget*>& theWidgets)
+{
+  ModuleBase_ModelWidget* aFirstWidget = 0;
+
+  ModuleBase_ModelWidget* aWgt;
+  QList<ModuleBase_ModelWidget*>::const_iterator aWIt;
+  for (aWIt = theWidgets.begin(); aWIt != theWidgets.end() && !aFirstWidget; ++aWIt) {
+    aWgt = (*aWIt);
+    if (aWgt->canSetValue())
+      aFirstWidget = aWgt;
+  }
+  return aFirstWidget;
+}
index c8c0f17215af55092aa3e6c2247a1677ac39490d..afafce7a756ce91ae5cf7506d52d0b16f3b3691b 100644 (file)
@@ -64,6 +64,15 @@ public:
   /// Sets widget processed by preselection
   virtual void setPreselectionWidget(ModuleBase_ModelWidget* theWidget) = 0;
 
+  /// Returns the first widget, where canSetValue returns true 
+  /// \return a widget or null
+  ModuleBase_ModelWidget* findFirstAcceptingValueWidget();
+
+  /// Returns the first widget, where canSetValue returns true 
+  /// \return a widget or null
+  static ModuleBase_ModelWidget* findFirstAcceptingValueWidget(
+                          const QList<ModuleBase_ModelWidget*>& theWidgets);
+
 signals:
   /// The signal about key release on the control, that corresponds to the attribute
   /// \param theEvent key release event
@@ -78,7 +87,8 @@ signals:
   void widgetActivated(ModuleBase_ModelWidget* theWidget);
 
   /// Emited when there is no next widget
-  void noMoreWidgets();
+  /// \param thePreviousAttributeID an attribute key of the previous active widget
+  void noMoreWidgets(const std::string& thePreviousAttributeID);
 
 public slots:
   /// Activate the next widget in the property panel
diff --git a/src/ModuleBase/ModuleBase_IWidgetCreator.cpp b/src/ModuleBase/ModuleBase_IWidgetCreator.cpp
new file mode 100755 (executable)
index 0000000..e0f86d6
--- /dev/null
@@ -0,0 +1,13 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+#include "ModuleBase_IWidgetCreator.h"
+
+ModuleBase_IWidgetCreator::ModuleBase_IWidgetCreator()
+{
+
+}
+
+ModuleBase_IWidgetCreator::~ModuleBase_IWidgetCreator()
+{
+
+}
diff --git a/src/ModuleBase/ModuleBase_IWidgetCreator.h b/src/ModuleBase/ModuleBase_IWidgetCreator.h
new file mode 100755 (executable)
index 0000000..ecdee3a
--- /dev/null
@@ -0,0 +1,54 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+#ifndef ModuleBase_IWidgetCreator_H
+#define ModuleBase_IWidgetCreator_H
+
+#include "ModuleBase.h"
+
+#include <set>
+#include <string>
+#include <memory>
+
+class ModuleBase_ModelWidget;
+class ModuleBase_PageBase;
+
+class QWidget;
+
+/** 
+* \ingroup GUI
+* Interface to WidgetCreator which can create specific widgets by type
+*/
+class MODULEBASE_EXPORT ModuleBase_IWidgetCreator
+{
+public:
+  /// Default constructor
+  ModuleBase_IWidgetCreator();
+
+  /// Virtual destructor
+  ~ModuleBase_IWidgetCreator();
+
+  /// Returns a container of possible page types, which this creator can process
+  /// \returns types
+  virtual const std::set<std::string>& pageTypes() = 0;
+
+  /// Returns a container of possible widget types, which this creator can process
+  /// \returns types
+  virtual const std::set<std::string>& widgetTypes() = 0;
+
+  /// Create page by its type
+  /// \param theType a type
+  /// \param theParent a parent widget
+  virtual ModuleBase_PageBase* createPageByType(const std::string& theType,
+                                                QWidget* theParent) = 0;
+
+  /// Create widget by its type
+   /// \param theType a type
+   /// \param theParent a parent widget
+  virtual ModuleBase_ModelWidget* createWidgetByType(const std::string& theType,
+                                                     QWidget* theParent = NULL) = 0;
+};
+
+typedef std::shared_ptr<ModuleBase_IWidgetCreator> WidgetCreatorPtr;
+
+
+#endif
\ No newline at end of file
index 77f4cfe3f4da25b38949809c33747f643af71399..caeb3dbbd293d16d158c1b59a1298afeff68a876 100644 (file)
@@ -101,6 +101,9 @@ Q_OBJECT
   //! \param theValues a list of presentations
   virtual void setSelected(const QList<ModuleBase_ViewerPrs>& theValues) = 0;
 
+   /// Update of commands status
+  virtual void updateCommandStatus() = 0;
+
 signals:
   /// Signal selection changed.
   void selectionChanged();
index f87fa91f3c0b65b0b147056e0bbd633b06564901..ed2719816e245dba947607a30edce4ed24e98c57 100644 (file)
 ModuleBase_IconFactory* MYIconFactory = 0;
 
 
+ModuleBase_IconFactory::ModuleBase_IconFactory()
+{
+  setFactory(this);
+}
+
 void ModuleBase_IconFactory::setFactory(ModuleBase_IconFactory* theFactory)
 {
   if (MYIconFactory)
index 3a7c99d4eaa7d9ac070edcb37aa559574b11dd00..1fda9b43b44ef773455b874404ce4be3d6f24cc5 100644 (file)
@@ -26,6 +26,8 @@ public:
   virtual QIcon getIcon(ObjectPtr theObj);
 
 protected:
+  ModuleBase_IconFactory();
+
   /// Set the current icons factory instance
   /// \param theFactory a new factory
   static void setFactory(ModuleBase_IconFactory* theFactory);
diff --git a/src/ModuleBase/ModuleBase_IntSpinBox.cpp b/src/ModuleBase/ModuleBase_IntSpinBox.cpp
new file mode 100755 (executable)
index 0000000..197bfc2
--- /dev/null
@@ -0,0 +1,46 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+// File:      ModuleBase_IntSpinBox.cxx
+// Author:    Natalia ERMOLAEVA
+//
+#include "ModuleBase_IntSpinBox.h"
+
+#include <QKeyEvent>
+
+ModuleBase_IntSpinBox::ModuleBase_IntSpinBox(QWidget* theParent)
+: QSpinBox(theParent)//,
+  //myIsModified(false)
+{
+  //connect(this, SIGNAL(valueChanged(const QString&)), this, SLOT(onValueChanged(const QString&)));
+}
+
+/*void ModuleBase_IntSpinBox::onValueChanged(const QString& theValue)
+{
+  myIsModified = true;
+}
+
+bool ModuleBase_IntSpinBox::isModified() const
+{
+  return myIsModified;
+}
+
+void ModuleBase_IntSpinBox::clearModified()
+{
+  myIsModified = false;
+}*/
+
+void ModuleBase_IntSpinBox::keyPressEvent(QKeyEvent *theEvent)
+{
+  switch (theEvent->key()) {
+    case Qt::Key_Enter:
+    case Qt::Key_Return: {
+      // do not react to the Enter key, the property panel processes it
+        return;
+    }
+    break;
+    default:
+      break;
+  }
+  QSpinBox::keyPressEvent(theEvent);
+}
+
diff --git a/src/ModuleBase/ModuleBase_IntSpinBox.h b/src/ModuleBase/ModuleBase_IntSpinBox.h
new file mode 100755 (executable)
index 0000000..565e437
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+// File:      ModuleBase_IntSpinBox.h
+// Author:    Natalia ERMOLAEVA
+//
+#ifndef MODULEBASE_INT_SPINBOX_H_
+#define MODULEBASE_INT_SPINBOX_H_
+
+#include "ModuleBase.h"
+
+#include <QSpinBox>
+
+class QWidget;
+class QKeyEvent;
+
+/**
+  * \ingroup GUI
+  * Enhanced version of the Qt's int spin box.
+  * It allows to store modified state
+*/
+class MODULEBASE_EXPORT ModuleBase_IntSpinBox : public QSpinBox
+{
+Q_OBJECT
+
+public:
+  explicit ModuleBase_IntSpinBox(QWidget* theParent = 0);
+  virtual ~ModuleBase_IntSpinBox() {};
+
+  /// Returns true if the current value is modified by has not been applyed yet
+  //virtual bool isModified() const;
+
+  /// Clears modified state
+  //void clearModified();
+
+protected slots:
+  /// Called on value changed
+  //void onValueChanged(const QString& theValue);
+
+protected:
+  /// Called on key press event
+  virtual void keyPressEvent(QKeyEvent* theEvent);
+
+private:
+  /// Boolean value whether the spin box content is modified
+  //bool myIsModified;
+};
+
+#endif
index f0d33055320a9a9d21ef2fd36029e063aa75a5e1..ff7554f1dff06e840c764d1b6da435c2985129c7 100644 (file)
@@ -5,6 +5,7 @@
 // Author:      Natalia ERMOLAEVA
 
 #include "ModuleBase_ModelWidget.h"
+#include "ModuleBase_Tools.h"
 
 #include <ModelAPI_Data.h>
 #include <ModelAPI_Attribute.h>
@@ -55,6 +56,33 @@ bool ModuleBase_ModelWidget::isInitialized(ObjectPtr theObject) const
   return theObject->data()->attribute(attributeID())->isInitialized();
 }
 
+QString ModuleBase_ModelWidget::getValueStateError() const
+{
+  QString anError = "";
+
+  ModuleBase_ModelWidget::ValueState aState = getValueState();
+  if (aState != ModuleBase_ModelWidget::Stored) {
+    AttributePtr anAttr = feature()->attribute(attributeID());
+    if (anAttr.get()) {
+      QString anAttributeName = anAttr->id().c_str();
+      switch (aState) {
+        case ModuleBase_ModelWidget::ModifiedInPP:
+          anError = "Attribute \"" + anAttributeName +
+                    "\" modification is not applyed. Please click \"Enter\" or \"Tab\".";
+          break;
+        case ModuleBase_ModelWidget::ModifiedInViewer:
+          anError = "Attribute \"" + anAttributeName +
+                    "\" is locked by modification value in the viewer.";
+          break;
+        case ModuleBase_ModelWidget::Reset:
+          anError = "Attribute \"" + anAttributeName + "\" is not initialized.";
+          break;
+      }
+    }
+  }
+  return anError;
+}
+
 void ModuleBase_ModelWidget::enableFocusProcessing()
 {
   QList<QWidget*> aMyControls = getControls();
@@ -109,7 +137,7 @@ bool ModuleBase_ModelWidget::focusTo()
   for (; anIt != aLast && !isFocusAccepted; anIt++) {
     QWidget* aWidget = *anIt;
     if (aWidget && aWidget->focusPolicy() != Qt::NoFocus) {
-      aWidget->setFocus();
+      ModuleBase_Tools::setFocus(aWidget, "ModuleBase_ModelWidget::focusTo()");
       isFocusAccepted = true;
     }
   }
index dd2c9edd3a1817899a8cddbdeafce020525f1005..25ccc5aa1abcf8d967e09a4791cef9d9fcc22969 100644 (file)
@@ -81,6 +81,10 @@ Q_OBJECT
   /// \return the enumeration result
   ValueState getValueState() const { return myState; }
 
+  /// Returns an attribute error according to the value state
+  /// It exists in all cases excepring the "Store" case
+  QString getValueStateError() const;
+
   /// Defines if it is supposed that the widget should interact with the viewer.
   virtual bool isViewerSelector() { return false; }
 
@@ -107,6 +111,9 @@ Q_OBJECT
   /// \return the state whether the widget can accept the focus
   virtual bool focusTo();
 
+  /// Select the internal content if it can be selected. It is empty in the default realization
+  virtual void selectContent() {}
+
   /// The method called when widget is activated
   void activate();
 
@@ -193,6 +200,9 @@ signals:
   /// \param theEvent key release event
   void keyReleased(QKeyEvent* theEvent);
 
+  /// The signal is emitted if the enter is clicked in the control of the widget
+  void enterClicked();
+
   /// The signal about the widget is get focus
   /// \param theWidget the model base widget
   void focusInWidget(ModuleBase_ModelWidget* theWidget);
index 66b0a51aaea3e7bba7235649affbb0df5912f54d..8b19dcd8270b9c0a57a0f5f1826ba605c911b774 100644 (file)
@@ -75,7 +75,7 @@ bool ModuleBase_Operation::canBeCommitted() const
   return isValid();
 }
 
-void ModuleBase_Operation::start()
+bool ModuleBase_Operation::start()
 {
   myIsModified = false;
 
@@ -83,6 +83,8 @@ void ModuleBase_Operation::start()
 
   startOperation();
   emit started();
+
+  return true;
 }
 
 void ModuleBase_Operation::postpone()
index 12e5ddb86a91ef2d4f581da500541337fb292c53..0fffbc0fdae9bea6f8bfd4fbf3e9678e2b79f2f1 100644 (file)
@@ -92,14 +92,17 @@ Q_OBJECT
 signals:
   /// The operation is started
   void beforeStarted();
+  /// The operation is started
   void started();
 
   /// The operation is aborted
   void beforeAborted();
+  /// The operation is aborted
   void aborted();
 
   /// The operation is committed
   void beforeCommitted();
+  /// The operation is committed
   void committed();
 
   /// The operation is aborted or committed
@@ -118,7 +121,8 @@ signals:
   /// to change behavior of operation. There is no point in using this method. It would
   /// be better to inherit own operator from base one and redefine startOperation method
   /// instead.
-  virtual void start();
+  /// \return true if the start is successful
+  virtual bool start();
 
   /// Deactivates current operation which can be resumed later.
   virtual void postpone();
index 8048ff9f510a982efac9c4e82f3e636281ef5074..c8f1224b69d97c89ed9dcd2e6c79b790861d7147 100755 (executable)
@@ -49,6 +49,32 @@ ModuleBase_OperationFeature::~ModuleBase_OperationFeature()
   clearPreselection();
 }
 
+void ModuleBase_OperationFeature::setEditOperation(const bool theRestartTransaction)
+{
+  if (isEditOperation())
+    return;
+
+  if (theRestartTransaction) {
+    // finsh previous create operation
+    emit beforeCommitted();
+    SessionPtr aMgr = ModelAPI_Session::get();
+    ModelAPI_Session::get()->finishOperation();
+
+    // start new edit operation
+    myIsEditing = true;
+    QString anId = getDescription()->operationId();
+    if (myIsEditing) {
+      anId = anId.append(EditSuffix());
+    }
+    ModelAPI_Session::get()->startOperation(anId.toStdString());
+    emit beforeStarted();
+  }
+  else
+    myIsEditing = true;
+
+  propertyPanel()->setEditingMode(isEditOperation());
+}
+
 FeaturePtr ModuleBase_OperationFeature::feature() const
 {
   return myFeature;
@@ -174,7 +200,7 @@ bool ModuleBase_OperationFeature::isDisplayedOnStart(ObjectPtr theObject)
   return myVisualizedObjects.find(theObject) != myVisualizedObjects.end();
 }
 
-void ModuleBase_OperationFeature::start()
+bool ModuleBase_OperationFeature::start()
 {
   setIsModified(false);
   QString anId = getDescription()->operationId();
@@ -194,12 +220,12 @@ void ModuleBase_OperationFeature::start()
       // in order to update commands status in the workshop, to be exact the feature action
       // to be unchecked
       abort();
-      return;
+      return false;
     }
   }
   //Already called startOperation();
   emit started();
-
+  return true;
 }
 
 void ModuleBase_OperationFeature::abort()
@@ -221,7 +247,8 @@ void ModuleBase_OperationFeature::abort()
   if (aPropertyPanel)
     aPropertyPanel->cleanContent();
 
-  myFeature->setStable(true);
+  if (myFeature.get())
+    myFeature->setStable(true);
 
   abortOperation();
   stopOperation();
@@ -242,6 +269,7 @@ void ModuleBase_OperationFeature::abort()
 bool ModuleBase_OperationFeature::commit()
 {
   if (canBeCommitted()) {
+    emit beforeCommitted();
     // the widgets of property panel should not process any events come from data mode
     // after commit clicked. Some signal such as redisplay/create influence on content
     // of the object browser and viewer context. Therefore it influence to the current
@@ -256,7 +284,6 @@ bool ModuleBase_OperationFeature::commit()
     SessionPtr aMgr = ModelAPI_Session::get();
     /// Set current feature and remeber old current feature
 
-    emit beforeCommitted();
     commitOperation();
     aMgr->finishOperation();
 
index 48c8506e12e6647a41d08c9ac966778f2fdcb79e..ab0ce8c900ab13485f5ecf6333ff950674daf10b 100755 (executable)
@@ -64,6 +64,13 @@ Q_OBJECT
   /// Returns True id the current operation is launched in editing mode
   bool isEditOperation() const { return myIsEditing; }
 
+  /// Change the operation mode from create to edit.
+  /// The transaction and the operation name in the model history of transaction are the same.
+  /// It updates the edit state in the widgets of property panel
+  /// \param theRestartTransaction if true, the current model transaction is committed and
+  /// the new one is started
+  void setEditOperation(const bool theRestartTransaction);
+
   /// Returns the operation feature
   /// \return the feature
   FeaturePtr feature() const;
@@ -108,7 +115,7 @@ Q_OBJECT
   CompositeFeaturePtr parentFeature() const;
 
   /// Stores the previous to the operation current feature
-  /// \set theFeature a feature
+  /// \param theFeature a feature
   void setPreviousCurrentFeature(const FeaturePtr& theFeature);
 
   /// Returns the previous to the operation current feature
@@ -126,7 +133,8 @@ signals:
   /// to change behavior of operation. There is no point in using this method. It would
   /// be better to inherit own operator from base one and redefine startOperation method
   /// instead.
-  void start();
+  /// \return true if the start is successful
+  virtual bool start();
 
   /// Aborts operation
   /// Public slot. Aborts operation. This slot is not virtual and cannot be redefined.
index bfd0823866a868242e6e83567dd7933792166e2d..43ffd34008e9576021e0a6dd5991187280759b73 100644 (file)
@@ -101,9 +101,14 @@ QValidator::State ModuleBase_ParamSpinBox::validate(QString& str, int& pos) cons
 /*!
  \brief This function is used to set a current value for this spinbox.
  \param value current value
+
+ The new value is ignored if the spinbox has a variable.
  */
 void ModuleBase_ParamSpinBox::setValue(const double value)
 {
+  if (hasVariable())
+    return;
+
   myTextValue = ModuleBase_DoubleSpinBox::textFromValue(value);
   ModuleBase_DoubleSpinBox::setValue(value);
 }
index 47d47206c76978573951536fd2350187bd8475ad..c3f31b76e732213e964ec3c049fcf64ef101b60a 100644 (file)
@@ -60,6 +60,7 @@ class MODULEBASE_EXPORT ModuleBase_Preferences
   /// Retrieve preferences of resource manage to default state
   static void resetResourcePreferences(SUIT_PreferenceMgr* thePref);
 
+  /// Retrieve preferences of config prop to default state
   static void resetConfigPropPreferences(SUIT_PreferenceMgr* thePref);
 
 private:
diff --git a/src/ModuleBase/ModuleBase_SelectionValidator.cpp b/src/ModuleBase/ModuleBase_SelectionValidator.cpp
new file mode 100644 (file)
index 0000000..c663b01
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+// File:        ModuleBase_SelectionValidator.cpp
+// Created:     18 November 2015
+// Author:      Vitaly SMETANNIKOV
+
+
+#include <ModuleBase_SelectionValidator.h>
+
+
+bool ModuleBase_SelectionValidator::isValid(const ModuleBase_ISelection* theSelection, ModuleBase_Operation* theOperation) const
+{
+  return true;
+}
index 64eafc11200ec6ac3ababb56c73908755625360d..50f04fc5b97237e6a6d8499f62e22ab2702f8418 100644 (file)
 * \ingroup Validators
 * A validator of selection
 */
-class ModuleBase_SelectionValidator : public ModelAPI_Validator
+class MODULEBASE_EXPORT ModuleBase_SelectionValidator : public ModelAPI_Validator
 {
 public:
    /// Returns True if selection is valid
    /// \param theSelection selection instance
    /// \param theOperation - current operation (can be 0)
-  virtual bool isValid(const ModuleBase_ISelection* theSelection, ModuleBase_Operation* theOperation) const = 0;
+  virtual bool isValid(const ModuleBase_ISelection* theSelection, ModuleBase_Operation* theOperation) const;
 };
 
 #endif
index 5d3643ab79a3b882a54a400c0a2f00b11c53dade..d33467c7e883cacdbf53e1a68fb6b07c31a90518 100755 (executable)
@@ -34,6 +34,8 @@
 
 const double tolerance = 1e-7;
 
+//#define DEBUG_ACTIVATE_WINDOW
+//#define DEBUG_SET_FOCUS
 
 namespace ModuleBase_Tools {
 
@@ -71,6 +73,24 @@ void zeroMargins(QLayout* theLayout)
   theLayout->setSpacing(5);
 }
 
+void activateWindow(QWidget* theWidget, const QString& theInfo)
+{
+  theWidget->activateWindow();
+
+#ifdef DEBUG_ACTIVATE_WINDOW
+  qDebug(QString("activateWindow: %1").arg(theInfo).toStdString().c_str());
+#endif
+}
+
+void setFocus(QWidget* theWidget, const QString& theInfo)
+{
+  theWidget->setFocus();
+
+#ifdef DEBUG_SET_FOCUS
+  qDebug(QString("setFocus: %1").arg(theInfo).toStdString().c_str());
+#endif
+}
+
 QPixmap composite(const QString& theAdditionalIcon, const QString& theIcon)
 {
   QImage anIcon(theIcon);
@@ -245,11 +265,11 @@ void checkObjects(const QObjectPtrList& theObjects, bool& hasResult, bool& hasFe
     ResultPtr aResult = std::dynamic_pointer_cast<ModelAPI_Result>(aObj);
     ResultParameterPtr aConstruction = std::dynamic_pointer_cast<ModelAPI_ResultParameter>(aResult);
 
-    hasResult = (aResult.get() != NULL);
-    hasFeature = (aFeature.get() != NULL);
-    hasParameter = (aConstruction.get() != NULL);
+    hasResult |= (aResult.get() != NULL);
+    hasFeature |= (aFeature.get() != NULL);
+    hasParameter |= (aConstruction.get() != NULL);
     if (hasFeature) 
-      hasSubFeature = (ModelAPI_Tools::compositeOwner(aFeature) != NULL);
+      hasSubFeature |= (ModelAPI_Tools::compositeOwner(aFeature) != NULL);
     if (hasFeature && hasResult  && hasParameter && hasSubFeature)
       break;
   }
@@ -258,7 +278,10 @@ void checkObjects(const QObjectPtrList& theObjects, bool& hasResult, bool& hasFe
 void setDefaultDeviationCoefficient(const TopoDS_Shape& theShape,
                                     const Handle(Prs3d_Drawer)& theDrawer)
 {
-  if (!theShape.IsNull() && theShape.ShapeType() == TopAbs_EDGE)
+  if (theShape.IsNull())
+    return;
+  TopAbs_ShapeEnum aType = theShape.ShapeType();
+  if ((aType == TopAbs_EDGE) || (aType == TopAbs_WIRE)) 
     theDrawer->SetDeviationCoefficient(1.e-4);
 }
 
index f78e9b7550a627306754dd9469fbf0aee16f67c5..7aa9f9d647ed3fb71fc71110976eb40b9eae6a1d 100755 (executable)
@@ -37,6 +37,23 @@ MODULEBASE_EXPORT void adjustMargins(QLayout* theLayout);
 MODULEBASE_EXPORT void zeroMargins(QWidget* theWidget);
 MODULEBASE_EXPORT void zeroMargins(QLayout* theLayout);
 
+/*
+ * Calls the same-named Qt method for the given widget.
+ * It sets the top-level widget containing this widget to be the active window.
+ * An active window is a visible top-level window that has the keyboard input focus.
+ * \param theWidget a widget to be activated
+ * \param theIndo a debug information
+ */
+MODULEBASE_EXPORT void activateWindow(QWidget* theWidget, const QString& theInfo = QString());
+
+/*
+ * Calls the same-named Qt method for the given widget.
+ * Gives the keyboard input focus to this widget (or its focus proxy) if this widget or
+ * one of its parents is the active window.
+ * \param theWidget a widget to be activated
+ * \param theIndo a debug information
+ */
+MODULEBASE_EXPORT void setFocus(QWidget* theWidget, const QString& theInfo = QString());
 
 /**
  * \ingroup GUI
@@ -108,7 +125,7 @@ MODULEBASE_EXPORT void checkObjects(const QObjectPtrList& theObjects, bool& hasR
 /*! Sets the default coeffient into the driver calculated accordingly the shape type.
 It provides 1.e-4 for a shape withe Edge shape type
 \param theShape a shape to define the deviation coeffient, 
-\return double value
+\param theDrawer a drawer
 */
 MODULEBASE_EXPORT void setDefaultDeviationCoefficient(const TopoDS_Shape& theShape,
                                                       const Handle(Prs3d_Drawer)& theDrawer);
index a3d20fce7aeb15047c49690a8c2880b4c2420616..8ee95af0c03c8527e8b0081bc25bb9111ec29659 100644 (file)
 
 #include <AIS_InteractiveObject.hxx>
 #include <AIS_Shape.hxx>
+#include <AIS_Axis.hxx>
+#include <AIS_Point.hxx>
+#include <AIS_Plane.hxx>
+#include <Geom_Point.hxx>
+#include <Geom_Line.hxx>
+#include <Geom_Plane.hxx>
 
 #include <StdSelect_BRepOwner.hxx>
 
@@ -74,11 +80,11 @@ Standard_Boolean ModuleBase_ShapeInPlaneFilter::IsOk(const Handle(SelectMgr_Enti
   if (myPlane.get()) {
     aValid = Standard_False;
     if (theOwner->HasSelectable()) {
+      gp_Pln aPlane = myPlane->impl<gp_Pln>();
       Handle(StdSelect_BRepOwner) aShapeOwner = Handle(StdSelect_BRepOwner)::DownCast(theOwner);
       if (!aShapeOwner.IsNull() && aShapeOwner->HasShape()) {
         TopoDS_Shape aShape = aShapeOwner->Shape();
         TopAbs_ShapeEnum aType = aShape.ShapeType();
-        gp_Pln aPlane = myPlane->impl<gp_Pln>();
         switch (aType) {
         case TopAbs_VERTEX:
           {
@@ -105,6 +111,23 @@ Standard_Boolean ModuleBase_ShapeInPlaneFilter::IsOk(const Handle(SelectMgr_Enti
         break;
         }
       } else {
+        // Check Trihedron sub-objects
+        Handle(SelectMgr_SelectableObject) aSelObj = theOwner->Selectable();
+        Handle(Standard_Type) aType = aSelObj->DynamicType();
+        if (aType == STANDARD_TYPE(AIS_Axis)) {
+          Handle(AIS_Axis) aAxis = Handle(AIS_Axis)::DownCast(aSelObj);
+          gp_Lin aLine = aAxis->Component()->Lin();
+          return aPlane.Contains(aLine, Precision::Confusion(), Precision::Angular());
+
+        } else if (aType == STANDARD_TYPE(AIS_Point)) {
+          Handle(AIS_Point) aPoint = Handle(AIS_Point)::DownCast(aSelObj);
+          return aPlane.Distance(aPoint->Component()->Pnt()) < Precision::Confusion();
+
+        } else if (aType == STANDARD_TYPE(AIS_Plane)) {
+          Handle(AIS_Plane) aAisPlane = Handle(AIS_Plane)::DownCast(aSelObj);
+          gp_Pln aPln = aAisPlane->Component()->Pln();
+          return aPlane.Distance(aPln) < Precision::Confusion();
+        }
         // This is not object controlled by the filter
         aValid = Standard_True;
       }
index c89508324c86fb47807bb34de494e79ef99ac2f5..024b736788cdc5962c2c5ad6559c6b569635a706 100644 (file)
 #include <QLayout>
 #include <QLabel>
 #include <QComboBox>
+#include <QButtonGroup>
+#include <QGroupBox>
+#include <QRadioButton>
+#include <QToolButton>
+
 
 ModuleBase_WidgetChoice::ModuleBase_WidgetChoice(QWidget* theParent, 
                                                  const Config_WidgetAPI* theData, 
                                                  const std::string& theParentId)
-    : ModuleBase_ModelWidget(theParent, theData, theParentId)
+    : ModuleBase_ModelWidget(theParent, theData, theParentId), myCombo(0), myButtons(0)
 {
   QHBoxLayout* aLayout = new QHBoxLayout(this);
   ModuleBase_Tools::adjustMargins(aLayout);
 
   QString aLabelText = QString::fromStdString(theData->widgetLabel());
   QString aLabelIcon = QString::fromStdString(theData->widgetIcon());
-  myLabel = new QLabel(aLabelText, this);
-  if (!aLabelIcon.isEmpty())
-    myLabel->setPixmap(QPixmap(aLabelIcon));
-  aLayout->addWidget(myLabel);
-
-  std::string aToolstr = theData->widgetTooltip();
-  if (!aToolstr.empty()) {
-    myLabel->setToolTip(QString::fromStdString(aToolstr));
-  }
-
-  myCombo = new QComboBox(this);
-  aLayout->addWidget(myCombo, 1);
   std::string aTypes = theData->getProperty("string_list");
   QStringList aList = QString(aTypes.c_str()).split(' ');
-  myCombo->addItems(aList);
 
-  connect(myCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(onCurrentIndexChanged(int)));
+  // Widget type can be combobox or radiobuttons
+  std::string aWgtType = theData->getProperty("widget_type");
+  if ((aWgtType.length() > 0) && (aWgtType == "radiobuttons")) {
+    myButtons = new QButtonGroup(this);
+    QGroupBox* aGroupBox = new QGroupBox(aLabelText, this);
+    aLayout->addWidget(aGroupBox);
+
+
+    QLayout* aBtnLayout = 0;
+    std::string aWgtDir = theData->getProperty("buttons_dir");
+    if (aWgtDir == "horizontal")
+      aBtnLayout = new QHBoxLayout(aGroupBox);
+    else 
+      aBtnLayout = new QVBoxLayout(aGroupBox);
+    ModuleBase_Tools::adjustMargins(aBtnLayout);
+
+    std::string aIcons = theData->getProperty("icons_list");
+    QStringList aIconList = QString(aIcons.c_str()).split(' ');
+    if (aIconList.length() == aList.length()) {
+      int aId = 0;
+      foreach(QString aBtnTxt, aList) {
+        QToolButton* aBtn = new QToolButton(aGroupBox);
+        aBtn->setCheckable(true);
+        aBtn->setToolTip(aBtnTxt);
+
+        QPixmap aIcon(aIconList.at(aId));
+        aBtn->setIcon(aIcon);
+        aBtn->setIconSize(aIcon.size());
+        
+        aBtnLayout->addWidget(aBtn);
+        myButtons->addButton(aBtn, aId++);
+      }
+
+    } else {
+      int aId = 0;
+      foreach(QString aBtnTxt, aList) {
+        QRadioButton* aBtn = new QRadioButton(aBtnTxt, aGroupBox);
+        aBtnLayout->addWidget(aBtn);
+        myButtons->addButton(aBtn, aId++);
+      }
+    }
+    myButtons->button(0)->setChecked(true);
+    connect(myButtons, SIGNAL(buttonClicked(int)), this, SLOT(onCurrentIndexChanged(int)));
+    connect(myButtons, SIGNAL(buttonClicked(int)), this, SIGNAL(itemSelected(int)));
+  } else {
+    myLabel = new QLabel(aLabelText, this);
+    if (!aLabelIcon.isEmpty())
+      myLabel->setPixmap(QPixmap(aLabelIcon));
+    aLayout->addWidget(myLabel);
+
+    std::string aToolstr = theData->widgetTooltip();
+    if (!aToolstr.empty()) {
+      myLabel->setToolTip(QString::fromStdString(aToolstr));
+    }
+
+    myCombo = new QComboBox(this);
+    aLayout->addWidget(myCombo, 1);
+    myCombo->addItems(aList);
+
+    connect(myCombo, SIGNAL(currentIndexChanged(int)), this, SLOT(onCurrentIndexChanged(int)));
+    connect(myCombo, SIGNAL(currentIndexChanged(int)), this, SIGNAL(itemSelected(int)));
+  }
 }
 
 ModuleBase_WidgetChoice::~ModuleBase_WidgetChoice()
@@ -55,7 +108,10 @@ bool ModuleBase_WidgetChoice::storeValueCustom() const
   DataPtr aData = myFeature->data();
   std::shared_ptr<ModelAPI_AttributeInteger> aIntAttr = aData->integer(attributeID());
 
-  aIntAttr->setValue(myCombo->currentIndex());
+  if (myCombo)
+    aIntAttr->setValue(myCombo->currentIndex());
+  else
+    aIntAttr->setValue(myButtons->checkedId());
   updateObject(myFeature);
   return true;
 }
@@ -65,22 +121,40 @@ bool ModuleBase_WidgetChoice::restoreValueCustom()
   DataPtr aData = myFeature->data();
   std::shared_ptr<ModelAPI_AttributeInteger> aIntAttr = aData->integer(attributeID());
 
-  bool isBlocked = myCombo->blockSignals(true);
-  myCombo->setCurrentIndex(aIntAttr->value());
-  myCombo->blockSignals(isBlocked);
+  if (aIntAttr->value() != -1) {
+    if (myCombo) {
+      bool isBlocked = myCombo->blockSignals(true);
+      myCombo->setCurrentIndex(aIntAttr->value());
+      myCombo->blockSignals(isBlocked);
+    } else {
+      bool isBlocked = myButtons->blockSignals(true);
+      myButtons->button(aIntAttr->value())->setChecked(true);
+      myButtons->blockSignals(isBlocked);
+      emit itemSelected(aIntAttr->value());
+    }
+  }
   return true;
 }
 
 bool ModuleBase_WidgetChoice::focusTo()
 {
-  myCombo->setFocus();
+  if (myCombo)
+    ModuleBase_Tools::setFocus(myCombo, "ModuleBase_WidgetChoice::focusTo()");
+  else
+    return false;
   return true;
 }
 
 QList<QWidget*> ModuleBase_WidgetChoice::getControls() const
 {
   QList<QWidget*> aControls;
-  aControls.append(myCombo);
+  if (myCombo)
+    aControls.append(myCombo);
+  //else {
+  //  //foreach(QAbstractButton* aBtn, myButtons->buttons())
+  //  //if (myButtons->checkedId() != -1)
+  //  //  aControls.append(myButtons->button(myButtons->checkedId()));
+  //}
   return aControls;
 }
 
index 72f6df4cd2e15eebbe100559cd7b8e4d6f7ba0d8..e8db6c289487d6942d47c8688fadc26c282b7e34 100644 (file)
@@ -13,6 +13,7 @@
 class QWidget;
 class QLabel;
 class QComboBox;
+class QButtonGroup;
 
 /**
 * \ingroup GUI
@@ -25,6 +26,12 @@ class QComboBox;
 *     string_list="Cut Fuse Common"
 *   />
 * \endcode
+* Aditionally can be used: 
+* A key "widget_type". It can have values "combobox" or "radiobuttons".
+* By default it uses "combobox".
+* A key "buttons_dir" which is applicable only for "radiobuttons" mode.
+* It defines direction of radiobuttons layout. it can be "vertical" or "horizontal"
+* Default value is "vertical"
 */
 class MODULEBASE_EXPORT ModuleBase_WidgetChoice : public ModuleBase_ModelWidget
 {
@@ -38,13 +45,20 @@ Q_OBJECT
                           const std::string& theParentId);
 
   virtual ~ModuleBase_WidgetChoice();
-  
+
+  /// Defines if it is supported to set the value in this widget
+  /// It returns false because this is an info widget
+  virtual bool canSetValue() const { return false; };
+
   virtual bool focusTo();
 
   /// Returns list of widget controls
   /// \return a controls list
   virtual QList<QWidget*> getControls() const;
 
+signals:
+  void itemSelected(int);
+
 protected:
   /// Saves the internal parameters to the given feature
   /// \return True in success
@@ -62,6 +76,7 @@ private:
 
   /// The control
   QComboBox* myCombo;
+  QButtonGroup* myButtons;
 };
 
 #endif
diff --git a/src/ModuleBase/ModuleBase_WidgetCreatorFactory.cpp b/src/ModuleBase/ModuleBase_WidgetCreatorFactory.cpp
new file mode 100755 (executable)
index 0000000..1427e22
--- /dev/null
@@ -0,0 +1,89 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+// File:        ModuleBase_WidgetCreatorFactory.cpp
+// Created:     03 Dec 2015
+// Author:      Natalia ERMOLAEVA
+
+#include <ModuleBase_WidgetCreatorFactory.h>
+#include <ModuleBase_IWidgetCreator.h>
+
+#include <Events_Error.h>
+
+#include <QStringList>
+
+/// Factory instance that will be initialized by first getting, one per application
+std::shared_ptr<ModuleBase_WidgetCreatorFactory> MY_WIDGET_CREATOR_FACTORY;
+
+std::shared_ptr<ModuleBase_WidgetCreatorFactory> ModuleBase_WidgetCreatorFactory::get()
+{
+  if (!MY_WIDGET_CREATOR_FACTORY) {
+    MY_WIDGET_CREATOR_FACTORY =  std::shared_ptr<ModuleBase_WidgetCreatorFactory>(new ModuleBase_WidgetCreatorFactory());
+  }
+  return MY_WIDGET_CREATOR_FACTORY;
+}
+
+ModuleBase_WidgetCreatorFactory::ModuleBase_WidgetCreatorFactory()
+{
+}
+
+ModuleBase_WidgetCreatorFactory::~ModuleBase_WidgetCreatorFactory()
+{
+}
+
+void ModuleBase_WidgetCreatorFactory::registerCreator(const WidgetCreatorPtr& theCreator)
+{
+  const std::set<std::string>& aTypes = theCreator->widgetTypes();
+  std::set<std::string>::const_iterator anIt = aTypes.begin(), aLast = aTypes.end();
+  for (; anIt != aLast; anIt++) {
+    std::string aKey = *anIt;
+    if (!myCreators.contains(aKey))
+      myCreators[aKey] = theCreator;
+    else {
+      Events_Error::send("The" + aKey + " widget XML definition has been already \
+used by another widget creator");
+    }
+  }
+
+  const std::set<std::string>& aPTypes = theCreator->pageTypes();
+  for (anIt = aPTypes.begin(), aLast = aPTypes.end(); anIt != aLast; anIt++) {
+    std::string aKey = *anIt;
+    if (!myPageToCreator.contains(aKey))
+      myPageToCreator[aKey] = theCreator;
+    else {
+      Events_Error::send("The" + aKey + " page XML definition has been already \
+used by another widget creator");
+    }
+  }
+}
+
+bool ModuleBase_WidgetCreatorFactory::hasPageWidget(const std::string& theType)
+{
+  return myPageToCreator.contains(theType);
+}
+
+ModuleBase_PageBase* ModuleBase_WidgetCreatorFactory::createPageByType(
+                              const std::string& theType, QWidget* theParent)
+{
+  ModuleBase_PageBase* aPage = 0;
+
+  if (myPageToCreator.contains(theType)) {
+    WidgetCreatorPtr aCreator = myPageToCreator[theType];
+    aPage = aCreator->createPageByType(theType, theParent);
+  }
+
+  return aPage;
+}
+
+
+ModuleBase_ModelWidget* ModuleBase_WidgetCreatorFactory::createWidgetByType(
+                              const std::string& theType, QWidget* theParent)
+{
+  ModuleBase_ModelWidget* aWidget = 0;
+
+  if (myCreators.contains(theType)) {
+    WidgetCreatorPtr aCreator = myCreators[theType];
+    aWidget = aCreator->createWidgetByType(theType, theParent);
+  }
+
+  return aWidget;
+}
diff --git a/src/ModuleBase/ModuleBase_WidgetCreatorFactory.h b/src/ModuleBase/ModuleBase_WidgetCreatorFactory.h
new file mode 100755 (executable)
index 0000000..63c4d62
--- /dev/null
@@ -0,0 +1,71 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+// File:        ModuleBase_WidgetCreatorFactory.cpp
+// Created:     03 Dec 2015
+// Author:      Natalia ERMOLAEVA
+
+#ifndef MODULEBASE_WIDGETCREATORFACTORY_H_
+#define MODULEBASE_WIDGETCREATORFACTORY_H_
+
+#include <ModuleBase.h>
+
+#include <memory>
+#include <string>
+
+#include <QMap>
+
+#include <ModuleBase_IWidgetCreator.h>
+
+class ModuleBase_ModelWidget;
+class ModuleBase_PageBase;
+
+class QWidget;
+
+/**
+* \ingroup GUI
+* A class for creation of widgets instances in for property panel using XML deskription of 
+* a feature
+*/
+class MODULEBASE_EXPORT ModuleBase_WidgetCreatorFactory
+{
+ public:
+  // Returns an singular instance of the class if it exists or create it
+  static std::shared_ptr<ModuleBase_WidgetCreatorFactory> get();
+
+  /// Destructor
+  virtual ~ModuleBase_WidgetCreatorFactory();
+
+  /// The creator is added to the internal container to be used when the createWidgetByType is called
+  /// \param theCreator a new widget creator
+  void registerCreator(const WidgetCreatorPtr& theCreator);
+
+  /// Returns true if there is a creator, which can make a page by the type
+  /// \param theType a type
+  bool hasPageWidget(const std::string& theType);
+
+  /// Create page by its type
+  /// \param theType a type
+  /// \param theParent a parent widget
+  ModuleBase_PageBase* createPageByType(const std::string& theType,
+                                        QWidget* theParent = NULL);
+
+  /// Create widget by its type
+  /// \param theType a type
+  /// \param theParent a parent widget
+  ModuleBase_ModelWidget* createWidgetByType(const std::string& theType,
+                                             QWidget* theParent = NULL);
+
+private:
+  /// Constructor is hidden
+  ModuleBase_WidgetCreatorFactory();
+
+  /// Map of widget type in XML to creator
+  QMap<std::string, WidgetCreatorPtr> myCreators;
+
+  /// Map of widget page in XML to creator
+  QMap<std::string, WidgetCreatorPtr> myPageToCreator;
+};
+
+typedef std::shared_ptr<ModuleBase_WidgetCreatorFactory> WidgetCreatorFactoryPtr;
+
+#endif /* MODULEBASE_WIDGETCREATORFACTORY_H_ */
index 4e6ce242c0c41df11844d919760410023e4e83b4..06cfe0c0496cde8457a649cc5548cca53905badd 100644 (file)
@@ -144,6 +144,11 @@ bool ModuleBase_WidgetDoubleValue::restoreValueCustom()
   return true;
 }
 
+void ModuleBase_WidgetDoubleValue::selectContent()
+{
+  mySpinBox->selectAll();
+}
+
 QList<QWidget*> ModuleBase_WidgetDoubleValue::getControls() const
 {
   QList<QWidget*> aList;
@@ -153,10 +158,11 @@ QList<QWidget*> ModuleBase_WidgetDoubleValue::getControls() const
 
 bool ModuleBase_WidgetDoubleValue::processEnter()
 {
-  bool isModified = mySpinBox->isModified();
+  bool isModified = getValueState() == ModifiedInPP;
+  //bool isModified = mySpinBox->isModified();
   if (isModified) {
     emit valuesChanged();
-    mySpinBox->clearModified();
+    //mySpinBox->clearModified();
     mySpinBox->selectAll();
   }
   return isModified;
index 8c1e0a1d8d955f0488b389ca23201d36caf0c836..cfd49221c3d525eef39aca22ca7a4154bfada40a 100644 (file)
@@ -37,6 +37,9 @@ Q_OBJECT
 
   virtual ~ModuleBase_WidgetDoubleValue();
 
+  /// Select the internal content if it can be selected. It is empty in the default realization
+  virtual void selectContent();
+
   /// Returns list of widget controls
   /// \return a control list
   virtual QList<QWidget*> getControls() const;
index 4f26e23d97c6c9180a615ff16c94b56cc97512a9..6ef0847abd9c093426fb7d12bebb5a00ce01640e 100644 (file)
@@ -35,7 +35,8 @@
 ModuleBase_WidgetEditor::ModuleBase_WidgetEditor(QWidget* theParent,
                                                  const Config_WidgetAPI* theData,
                                                  const std::string& theParentId)
-    : ModuleBase_WidgetDoubleValue(theParent, theData, theParentId)
+: ModuleBase_WidgetDoubleValue(theParent, theData, theParentId),
+  myIsKeyReleasedEmitted(false)
 {
 }
 
@@ -51,6 +52,9 @@ void ModuleBase_WidgetEditor::editedValue(double& outValue, QString& outText)
 
   ModuleBase_ParamSpinBox* anEditor = new ModuleBase_ParamSpinBox(&aDlg);
   anEditor->enableKeyPressEvent(true);
+  if (!myIsEditing) {
+    connect(anEditor, SIGNAL(keyReleased(QKeyEvent*)), this, SLOT(onKeyReleased(QKeyEvent*)));
+  }
 
   anEditor->setMinimum(0);
   anEditor->setMaximum(DBL_MAX);
@@ -61,12 +65,17 @@ void ModuleBase_WidgetEditor::editedValue(double& outValue, QString& outText)
 
   aLay->addWidget(anEditor);
 
-  anEditor->setFocus();
+  ModuleBase_Tools::setFocus(anEditor, "ModuleBase_WidgetEditor::editedValue");
   anEditor->selectAll();
   QObject::connect(anEditor, SIGNAL(editingFinished()), &aDlg, SLOT(accept()));
 
   aDlg.move(QCursor::pos());
   aDlg.exec();
+
+  if (!myIsEditing) {
+    disconnect(anEditor, SIGNAL(keyReleased(QKeyEvent*)), this, SLOT(onKeyReleased(QKeyEvent*)));
+  }
+
   outText = anEditor->text();
   bool isDouble;
   double aValue = outText.toDouble(&isDouble);
@@ -91,6 +100,8 @@ bool ModuleBase_WidgetEditor::focusTo()
 
 void ModuleBase_WidgetEditor::showPopupEditor()
 {
+  myIsKeyReleasedEmitted = false;
+
   // we need to emit the focus in event manually in order to save the widget as an active
   // in the property panel before the mouse leave event happens in the viewer. The module
   // ask an active widget and change the feature visualization if the widget is not the current one.
@@ -111,5 +122,15 @@ void ModuleBase_WidgetEditor::showPopupEditor()
     ModuleBase_Tools::setSpinText(mySpinBox, aText);
   }
   emit valuesChanged();
-  emit focusOutWidget(this);
+  // the focus leaves the control automatically by the Enter/Esc event
+  // it is processed in operation manager
+  //emit focusOutWidget(this);
+
+  if (myIsKeyReleasedEmitted)
+    emit enterClicked();
+}
+
+void ModuleBase_WidgetEditor::onKeyReleased(QKeyEvent* theEvent)
+{
+  myIsKeyReleasedEmitted = true;
 }
index f63ec0bcaf59762fdcd607280933c9c6a8db87dd..8f494b366decf324104319c0fbc82f85658b219c 100644 (file)
@@ -43,10 +43,12 @@ Q_OBJECT
   /// \return the state whether the widget can accept the focus
   virtual bool focusTo();
 
- private slots:
    /// Shous popup window under cursor for data editing
    void showPopupEditor();
 
+protected slots:
+  void onKeyReleased(QKeyEvent* theEvent);
+
 private:
    void editedValue(double& outValue, QString& outText);
 
@@ -56,6 +58,8 @@ private:
 
    ///< the kinds of possible features
    QStringList myFeatureKinds;  
+
+   bool myIsKeyReleasedEmitted;
 };
 
 #endif
index 4c37116b2a9fb15487402461c43ca7bdb0d283cf..431a387f8d69c83bae09a9b73db7db1ad61b6e77 100644 (file)
@@ -314,10 +314,11 @@ QList<QWidget*> ModuleBase_WidgetExprEditor::getControls() const
 
 bool ModuleBase_WidgetExprEditor::processEnter()
 {
-  bool isModified = myEditor->isModified();
+  //bool isModified = myEditor->isModified();
+  bool isModified = getValueState() == ModifiedInPP;
   if (isModified) {
     emit valuesChanged();
-    myEditor->clearModified();
+    //myEditor->clearModified();
     myEditor->selectAll();
   }
   return isModified;
index d51f45805992be503d90a6acff9363eefbbb9b2a..e05a1ecf4c9451e54a868055ef081c6464662a64 100644 (file)
@@ -45,10 +45,10 @@ class ExpressionEditor: public QPlainTextEdit
   /// Returns placeholder list
   QString placeHolderText() const;
 
-  // Returns true if the current value is modified by has not been applyed yet
+  /// Returns true if the current value is modified by has not been applyed yet
   bool isModified() const;
 
-  // Clears modified state
+  /// Clears modified state
   void clearModified();
 
  public slots:
index bedab8cb3d1856681c88eb3140678b9c0f70e926..dec5f78ab6efc24d0e717b0b784ca7128f3e0052 100644 (file)
@@ -31,6 +31,7 @@
 #include <ModuleBase_PageGroupBox.h>
 #include <ModuleBase_PageWidget.h>
 #include <ModuleBase_WidgetExprEditor.h>
+#include <ModuleBase_WidgetCreatorFactory.h>
 
 #include <ModelAPI_Validator.h>
 #include <ModelAPI_Session.h>
@@ -76,11 +77,12 @@ void ModuleBase_WidgetFactory::createWidget(ModuleBase_PageBase* thePage)
   do {  //Iterate over each node
     std::string aWdgType = myWidgetApi->widgetType();
     // Create PageGroup TODO: extract
-    if (myWidgetApi->isGroupBoxWidget()) {
+    if (myWidgetApi->isGroupBoxWidget() ||
+        ModuleBase_WidgetCreatorFactory::get()->hasPageWidget(aWdgType)) {
+
       //if current widget is groupbox (container) process it's children recursively
-      QString aGroupName = qs(myWidgetApi->getProperty(CONTAINER_PAGE_NAME));
-      ModuleBase_PageGroupBox* aPage = new ModuleBase_PageGroupBox(thePage->pageWidget());
-      aPage->setTitle(aGroupName);
+      ModuleBase_PageBase* aPage = createPageByType(aWdgType, thePage->pageWidget());
+
       createWidget(aPage);
       thePage->addPageWidget(aPage);
     } else {
@@ -118,6 +120,24 @@ void ModuleBase_WidgetFactory::createWidget(ModuleBase_PageBase* thePage)
   thePage->alignToTop();
 }
 
+ModuleBase_PageBase* ModuleBase_WidgetFactory::createPageByType(const std::string& theType,
+                                                                QWidget* theParent)
+{
+  ModuleBase_PageBase* aResult = NULL;
+
+  if (theType == WDG_GROUP) {
+    QString aGroupName = qs(myWidgetApi->getProperty(CONTAINER_PAGE_NAME));
+    ModuleBase_PageGroupBox* aPage = new ModuleBase_PageGroupBox(theParent);
+    aPage->setTitle(aGroupName);
+    aResult = aPage;
+  }
+
+  if (!aResult)
+    aResult = ModuleBase_WidgetCreatorFactory::get()->createPageByType(theType, theParent);
+
+  return aResult;
+}
+
 ModuleBase_ModelWidget* ModuleBase_WidgetFactory::createWidgetByType(const std::string& theType,
                                                                      QWidget* theParent)
 {
@@ -159,15 +179,16 @@ ModuleBase_ModelWidget* ModuleBase_WidgetFactory::createWidgetByType(const std::
     result = NULL;
   } else {
     result = myWorkshop->module()->createWidgetByType(theType, theParent, myWidgetApi, myParentId);
+    if (!result)
+      result = ModuleBase_WidgetCreatorFactory::get()->createWidgetByType(theType, theParent);
     #ifdef _DEBUG
     if (!result) {
       qDebug("ModuleBase_WidgetFactory::fillWidget: find bad widget type %s", theType.c_str());
     }
     #endif
   }
-  if (result) {
+  if (result)
     myModelWidgets.append(result);
-  }
   return result;
 }
 
index 1e1f29fa76e8dfc54e6de9b682f1efc2881cc0f5..05f3b7b8a2bba7c6fc1c8750ac3e109523047785 100644 (file)
@@ -51,9 +51,16 @@ class MODULEBASE_EXPORT ModuleBase_WidgetFactory
  protected:
   /// check if ModuleBase_Widget has expandable widgets in getControls
   bool hasExpandingControls(QWidget* theParent);
-   /// Create widget by its type
-   /// \param theType a type
-   /// \param theParent a parent widget
+
+  /// Create page by its type
+  /// \param theType a type
+  /// \param theParent a parent widget
+  ModuleBase_PageBase* createPageByType(const std::string& theType,
+                                        QWidget* theParent);
+
+  /// Create widget by its type
+  /// \param theType a type
+  /// \param theParent a parent widget
   ModuleBase_ModelWidget* createWidgetByType(const std::string& theType,
                                              QWidget* theParent = NULL);
 
index ba6a4e019f8506ab16a7ad734e30ffb142ae478f..b6f029fb088b9eda8c124d32a8c4617e4283b874 100644 (file)
@@ -103,7 +103,10 @@ protected:
   QString mySelectedFilter;
 
   /// A title of open file dialog box
-  enum { WFS_OPEN, WFS_SAVE } myType;
+  enum {
+    WFS_OPEN, ///< open file
+    WFS_SAVE ///< save file
+  } myType; ///< type of dialog
 
   /// Default path
   QString myDefaultPath;
index 02c1d6613fb44999865d3ad03d008cb5da622780..4cae38f12f8341ae6946221d00cc96c94c92d5a8 100644 (file)
@@ -7,6 +7,7 @@
 #include <ModuleBase_WidgetIntValue.h>
 #include <ModuleBase_ParamSpinBox.h>
 #include <ModuleBase_Tools.h>
+#include <ModuleBase_IntSpinBox.h>
 
 #include <ModelAPI_AttributeInteger.h>
 #include <ModelAPI_Data.h>
@@ -22,7 +23,6 @@
 #include <QLabel>
 #include <QEvent>
 #include <QTimer>
-#include <QSpinBox>
 
 #include <math.h>
 
@@ -48,7 +48,7 @@ ModuleBase_WidgetIntValue::ModuleBase_WidgetIntValue(QWidget* theParent,
   if (!aLabelIcon.isEmpty())
     myLabel->setPixmap(QPixmap(aLabelIcon));
 
-  mySpinBox = new QSpinBox(this);
+  mySpinBox = new ModuleBase_IntSpinBox(this);
   QString anObjName = QString::fromStdString(attributeID());
   mySpinBox->setObjectName(anObjName);
 
@@ -139,3 +139,15 @@ QList<QWidget*> ModuleBase_WidgetIntValue::getControls() const
   aList.append(mySpinBox);
   return aList;
 }
+
+bool ModuleBase_WidgetIntValue::processEnter()
+{
+  bool isModified = getValueState() == ModifiedInPP;
+  //bool isModified = mySpinBox->isModified();
+  if (isModified) {
+    emit valuesChanged();
+    //mySpinBox->clearModified();
+    mySpinBox->selectAll();
+  }
+  return isModified;
+}
index 8fd1ef5d8ff01d2e35b8778a49e908a9292ec24a..ffc52d9f97271631e8f054b6860a69cc1f292c12 100644 (file)
 #include "ModuleBase.h"
 #include "ModuleBase_ModelWidget.h"
 
+class ModuleBase_IntSpinBox;
 class Config_WidgetAPI;
 class QWidget;
 class QLabel;
 class QTimer;
-class QSpinBox;
 
 /**
 * \ingroup GUI
@@ -41,6 +41,9 @@ Q_OBJECT
   /// \return a control list
   virtual QList<QWidget*> getControls() const;
 
+  /// Returns true if the event is processed.
+  virtual bool processEnter();
+
 protected:
   /// Saves the internal parameters to the given feature
   /// \return True in success
@@ -59,7 +62,7 @@ protected:
   QLabel* myLabel;
 
   /// Input value control
-  QSpinBox* mySpinBox;
+  ModuleBase_IntSpinBox* mySpinBox;
 };
 
 #endif
index defdbee482ed7223535ec29324eb8e3d00b781e8..7f7e187b8319149030c1d77e65de0b407dfec026 100644 (file)
@@ -99,7 +99,7 @@ ModuleBase_WidgetLineEdit::ModuleBase_WidgetLineEdit(QWidget* theParent,
   aMainLay->addRow(aLabel, myLineEdit);
   this->setLayout(aMainLay);
 
-  connect(myLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(onTextChanged()));
+  connect(myLineEdit, SIGNAL(textChanged(const QString&)), this, SIGNAL(valuesModified()));
 }
 
 ModuleBase_WidgetLineEdit::~ModuleBase_WidgetLineEdit()
@@ -141,7 +141,12 @@ QList<QWidget*> ModuleBase_WidgetLineEdit::getControls() const
   return result;
 }
 
-void ModuleBase_WidgetLineEdit::onTextChanged()
+bool ModuleBase_WidgetLineEdit::processEnter()
 {
-  storeValue();
+  bool isModified = getValueState() == ModifiedInPP;
+  if (isModified) {
+    emit valuesChanged();
+    myLineEdit->selectAll();
+  }
+  return isModified;
 }
index 1f5f3fd71160ec93d574907c27e0ad09d32284ae..5b6b22e57e16848e130575753a6539beec46fb60 100644 (file)
@@ -43,9 +43,8 @@ class MODULEBASE_EXPORT ModuleBase_WidgetLineEdit : public ModuleBase_ModelWidge
   /// Redefinition of virtual method
   virtual QList<QWidget*> getControls() const;
 
- public slots:
-   /// A slot for processing text changed event
-  void onTextChanged();
+  /// Returns true if the event is processed.
+  virtual bool processEnter();
 
 protected:
   /// Saves the internal parameters to the given feature
index af676208cc5d3c9c53c12096e93c092d6ab06812..95dfd185fde18a941bfab9e8e5a3c1cc04ddb9e4 100755 (executable)
@@ -32,6 +32,7 @@
 #include <QAction>
 #include <QApplication>
 #include <QClipboard>
+#include <QTimer>
 
 #include <memory>
 #include <string>
@@ -60,10 +61,21 @@ public:
   /// Redefinition of virtual method
   virtual QSize        minimumSizeHint() const
   {
-    int aHeight = 2*QFontMetrics( font() ).height();
+    int aHeight = 4/*2*/*QFontMetrics( font() ).height();
     QSize aSize = QListWidget::minimumSizeHint();
     return QSize( aSize.width(), aHeight );
   }
+
+#ifndef WIN32
+// The code is necessary only for Linux because
+//it can not update viewport on widget resize
+protected:
+  void resizeEvent(QResizeEvent* theEvent)
+  {
+    QListWidget::resizeEvent(theEvent);
+    QTimer::singleShot(5, viewport(), SLOT(repaint()));
+  }
+#endif
 };
 
 ModuleBase_WidgetMultiSelector::ModuleBase_WidgetMultiSelector(QWidget* theParent,
@@ -304,8 +316,7 @@ QList<QWidget*> ModuleBase_WidgetMultiSelector::getControls() const
 //********************************************************************
 void ModuleBase_WidgetMultiSelector::onSelectionTypeChanged()
 {
-  activateSelection(true);
-  activateFilters(true);
+  activateSelectionAndFilters(true);
   QList<ModuleBase_ViewerPrs> anEmptyList;
   // This method will call Selection changed event which will call onSelectionChanged
   // To clear mySelection, myListControl and storeValue()
@@ -318,7 +329,8 @@ void ModuleBase_WidgetMultiSelector::updateFocus()
   // Set focus to List control in order to make possible 
   // to use Tab key for transfer the focus to next widgets
   myListControl->setCurrentRow(myListControl->model()->rowCount() - 1);
-  myListControl->setFocus();
+  ModuleBase_Tools::setFocus(myListControl,
+                             "ModuleBase_WidgetMultiSelector::onSelectionTypeChanged()");
 }
 
 //********************************************************************
@@ -354,14 +366,12 @@ void ModuleBase_WidgetMultiSelector::setCurrentShapeType(const TopAbs_ShapeEnum
     aShapeTypeName = myTypeCombo->itemText(idx);
     TopAbs_ShapeEnum aRefType = ModuleBase_Tools::shapeType(aShapeTypeName);
     if(aRefType == theShapeType && idx != myTypeCombo->currentIndex()) {
-      activateSelection(false);
-      activateFilters(false);
+      activateSelectionAndFilters(false);
       bool isBlocked = myTypeCombo->blockSignals(true);
       myTypeCombo->setCurrentIndex(idx);
       myTypeCombo->blockSignals(isBlocked);
 
-      activateSelection(true);
-      activateFilters(true);
+      activateSelectionAndFilters(true);
       break;
     }
   }
index 06163532001fea989b218fcffb4432e3ac8ba405..99edfb890e390b33024d5a85b05baefa0aa2ed43 100755 (executable)
@@ -110,7 +110,7 @@ bool ModuleBase_WidgetSelector::acceptSubShape(const GeomShapePtr& theShape,
 }
 
 //********************************************************************
-void ModuleBase_WidgetSelector::activateSelection(bool toActivate)
+void ModuleBase_WidgetSelector::activateSelectionAndFilters(bool toActivate)
 {
   updateSelectionName();
 
@@ -119,6 +119,7 @@ void ModuleBase_WidgetSelector::activateSelection(bool toActivate)
   } else {
     myWorkshop->deactivateSubShapesSelection();
   }
+  activateFilters(toActivate);
 }
 
 //********************************************************************
@@ -127,12 +128,10 @@ void ModuleBase_WidgetSelector::activateCustom()
   connect(myWorkshop, SIGNAL(selectionChanged()), this,
           SLOT(onSelectionChanged()), Qt::UniqueConnection);
   
-  activateSelection(true);
+  activateSelectionAndFilters(true);
 
   // Restore selection in the viewer by the attribute selection list
   myWorkshop->setSelected(getAttributeSelection());
-
-  activateFilters(true);
 }
 
 //********************************************************************
@@ -167,7 +166,7 @@ void ModuleBase_WidgetSelector::deactivate()
 {
   ModuleBase_ModelWidget::deactivate();
   disconnect(myWorkshop, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged()));
-  activateSelection(false);
-  activateFilters(false);
+  activateSelectionAndFilters(false);
+  ModuleBase_ModelWidget::deactivate();
 }
 
index 0deb253bdb1358353d186f7164d5aeb479164ba5..cb7d76e42ab1ada09ee8def3cacde5cd607ecadc 100755 (executable)
@@ -42,6 +42,9 @@ Q_OBJECT
   /// Defines if it is supposed that the widget should interact with the viewer.
   virtual bool isViewerSelector() { return true; }
 
+  /// Activate or deactivate selection and selection filters
+  void activateSelectionAndFilters(bool toActivate);
+
   /// Checks the widget validity. By default, it returns true.
   /// \param thePrs a selected presentation in the view
   /// \return a boolean value
@@ -54,10 +57,6 @@ Q_OBJECT
   /// The methiod called when widget is deactivated
   virtual void deactivate();
 
-protected:
-  /// Activate or deactivate selection
-  void activateSelection(bool toActivate);
-
  private slots:
    /// Slot which is called on selection event
   void onSelectionChanged();
index f1a5ef17ee27842fb50ca4362c0fbef5de396996..385f11a00f04e334e29fd048ebad38dc6765ae0e 100644 (file)
@@ -67,10 +67,6 @@ class MODULEBASE_EXPORT ModuleBase_WidgetValidated : public ModuleBase_ModelWidg
   //! Returns data object by AIS
   ObjectPtr findPresentedObject(const AISObjectPtr& theAIS) const;
 
-  /// It obtains selection filters from the workshop and activates them in the active viewer
-  /// \param toActivate a flag about activation or deactivation the filters
-  void activateFilters(const bool toActivate);
-
 protected:
   /// Creates a backup of the current values of the attribute
   /// It should be realized in the specific widget because of different
@@ -123,6 +119,10 @@ protected:
   /// \param theValues a list of presentations.
   void filterPresentations(QList<ModuleBase_ViewerPrs>& theValues);
 
+  /// It obtains selection filters from the workshop and activates them in the active viewer
+  /// \param toActivate a flag about activation or deactivation the filters
+  void activateFilters(const bool toActivate);
+
 protected:
   /// Reference to workshop
   ModuleBase_IWorkshop* myWorkshop; 
index dae941444f6cfcc2cdb6605bf5ada871b75fe17a..04d3a1b6db6539655d316f2e8c64f366fef8d5a3 100644 (file)
@@ -54,9 +54,9 @@ NewGeom_EXPORT CAM_Module* createModule()
 
 NewGeom_EXPORT char* getModuleVersion()
 {
-  return "0.0";
-}
+  return (char*)"0.0";
 }
+} // extern "C"
 
 /** 
 * Class for preferences management
index 787390bff336a7c2c298de9c8f4b36d17138a64a..1440d92e9705c64505f5e19367fbdf45d590bf13 100644 (file)
@@ -11,6 +11,7 @@
 #include <QFrame>
 #include <QHBoxLayout>
 #include <QToolButton>
+#include <QEvent>
 
 NewGeom_NestedButton::NewGeom_NestedButton(QObject* theParent,
                                            const QList<QAction*>& theNestedActions)
@@ -76,6 +77,18 @@ QWidget * NewGeom_NestedButton::createWidget(QWidget * theParent)
   return myButtonFrame;
 }
 
+bool NewGeom_NestedButton::event(QEvent* theEvent)
+{
+  if (theEvent->type() == QEvent::ActionChanged) {
+    if (myThisButton) {
+      myThisButton->setEnabled(isEnabled());
+      return true;
+    }
+  }
+  return QWidgetAction::event(theEvent);
+}
+
+
 void NewGeom_NestedButton::actionStateChanged()
 {
   if (isEnabled()) {
index 69d8bc2979572d682f2961095a574012608cb397..eb4eb2ea1245aa561d2443233a178dff8159e384 100644 (file)
@@ -40,6 +40,8 @@ class NewGeom_NestedButton : public QWidgetAction
   /// Creates the button representation
   /// \param theParent a parent widget
   virtual QWidget * createWidget(QWidget * theParent);
+  
+  virtual bool event(QEvent* theEvent);
 
  private:
   QList<QAction*> myNestedActions; ///< list of nested actions
index ebdff924986ed86f28a14f6e8c75b0c6cd3f92a0..e91e0921921bc5a6adf06b47d4e638fe9cb3b861 100644 (file)
@@ -309,7 +309,7 @@ void NewGeom_SalomeViewer::setViewProjection(double theX, double theY, double th
     if (!aView3d.IsNull()) {
       aView3d->SetProj(theX, theY, theZ);
       aView3d->SetTwist( theTwist );
-      aView3d->FitAll(0.01, true);
+      aView3d->FitAll(0.01, false);
       aView3d->SetZSize(0.);
       if (aView3d->Depth() < 0.1)
         aView3d->DepthFitAll();
index 9241ed5f61ce09ec5678e18932b741f688e6f8aa..2becf052093ebf1b03596b909586c31515768c5e 100644 (file)
@@ -23,7 +23,7 @@
     <!-- Major module parameters -->
     <parameter name="name" value="NewGeom"/>
     <parameter name="icon" value="newgeom.png"/>
-    <parameter name="version" value="1.4.0"/>
+    <parameter name="version" value="2.0.0"/>
     <parameter name="documentation" value="newgeom_help"/>
   </section>
   <section name="newgeom_help" >
index 494448910193543f9d1b61501b1427612b9bc2f9..769e92c5a3241f442591d2a999a977aa741f4c52 100644 (file)
@@ -27,7 +27,7 @@
     <!-- Major module parameters -->
     <parameter name="name" value="NewGeom"/>
     <parameter name="icon" value="newgeom.png"/>
-    <parameter name="version" value="1.4.0"/>
+    <parameter name="version" value="2.0.0"/>
     <parameter name="documentation" value="newgeom_help"/>
   </section>
   <section name="newgeom_help" >
index 2b5ee41a5b1b3eda3afacb0c9ada50d1e898c6ef..961182a7138aa7218aa957f43921d236932fea24 100644 (file)
@@ -53,6 +53,8 @@ void ParametersPlugin_Parameter::attributeChanged(const std::string& theID)
 {
   if (theID == EXPRESSION_ID())
     updateExpression();
+
+  data()->execState(ModelAPI_StateMustBeUpdated);
 }
 
 void ParametersPlugin_Parameter::updateName()
@@ -65,7 +67,7 @@ void ParametersPlugin_Parameter::updateName()
   setResult(aParam);
 }
 
-void ParametersPlugin_Parameter::updateExpression()
+bool ParametersPlugin_Parameter::updateExpression()
 {
   std::string anExpression = string(EXPRESSION_ID())->value();
 
@@ -73,25 +75,21 @@ void ParametersPlugin_Parameter::updateExpression()
   double aValue = evaluate(anExpression, outErrorMessage);
 
   data()->string(EXPRESSION_ERROR_ID())->setValue(outErrorMessage);
-  if (!outErrorMessage.empty()) {
-    setError("Expression error.", false);
-    data()->execState(ModelAPI_StateExecFailed);
-    return;
-  }
-
-  setError("", false);
-  data()->execState(ModelAPI_StateDone);
+  if (!outErrorMessage.empty())
+    return false;
 
   ResultParameterPtr aParam = document()->createParameter(data());
   AttributeDoublePtr aValueAttribute = aParam->data()->real(ModelAPI_ResultParameter::VALUE());
   aValueAttribute->setValue(aValue);
   setResult(aParam);
+  return true;
 }
 
 void ParametersPlugin_Parameter::execute()
 {
   updateName();
-  updateExpression();
+  if (!updateExpression())
+    setError("Expression error.", false);
 }
 
 double ParametersPlugin_Parameter::evaluate(const std::string& theExpression, std::string& theError)
@@ -104,9 +102,19 @@ double ParametersPlugin_Parameter::evaluate(const std::string& theExpression, st
   for ( ; it != anExprParams.end(); it++) {
     std::string& aVariableName = *it;
 
+    // Parameter with the same name should be searched in the parent document.
+    // For the PartSet assume that the parameter is absent.
+    // Currently there is no way to get parent document, so we get PartSet for all.
+    DocumentPtr aDocument = document();
+    if (data()->name() == aVariableName) {
+      if (aDocument = ModelAPI_Session::get()->moduleDocument())
+        continue;
+      aDocument = ModelAPI_Session::get()->moduleDocument();
+    }
+
     double aValue;
     ResultParameterPtr aParamRes;
-    if (!ModelAPI_Tools::findVariable(aVariableName, aValue, aParamRes, document())) continue;
+    if (!ModelAPI_Tools::findVariable(aVariableName, aValue, aParamRes, aDocument)) continue;
     aParamsList.push_back(aParamRes);
 
     std::ostringstream sstream;
index 229f8f217192cb95b68fcc2ee18a9f377b490708..47a0d30721b693f78600e3be5bfc059212f4a92f 100644 (file)
@@ -86,7 +86,7 @@ class ParametersPlugin_Parameter : public ModelAPI_Feature
   /// Updates name of the parameter
   void updateName();
   /// Updates expression of the parameter
-  void updateExpression();
+  bool updateExpression();
 
  private:
   std::shared_ptr<ParametersPlugin_PyInterp> myInterp;
index cc5ff327e587db3775f4abda9b996fc579dfad02..054c8c3e2bdbe1b209c381d7f10551f928dd5c6d 100644 (file)
@@ -81,7 +81,7 @@ std::list<std::string> ParametersPlugin_PyInterp::compile(const std::string& the
   }
 
   PyObject *aCodePyObj =
-      PyObject_CallMethod(aCodeopModule, "compile_command", "(s)", theExpression.c_str());
+      PyObject_CallMethod(aCodeopModule, (char*)"compile_command", (char*)"(s)", theExpression.c_str());
 
   if(!aCodePyObj || aCodePyObj == Py_None || !PyCode_Check(aCodePyObj)) {
     Py_XDECREF(aCodePyObj);
index f2a9573846e25afb7472b5b0ca918708a00e1cfb..d751c36bae268a1369436ca1c95d3eacb03e4cfe 100644 (file)
@@ -27,6 +27,15 @@ bool ParametersPlugin_VariableValidator::isValid(const AttributePtr& theAttribut
                                                  std::string& theError) const
 {
   AttributeStringPtr aStrAttr = std::dynamic_pointer_cast<ModelAPI_AttributeString>(theAttribute);
+  if (!aStrAttr->isInitialized()) {
+    theError = "Attribute \"" + aStrAttr->id() + "\" is not initialized.";
+    return false;
+  }
+  bool isEmptyExpr = aStrAttr->value().empty();
+  if (isEmptyExpr) {
+    theError = "Attribute \"" + aStrAttr->id() + "\" value is empty.";
+    return false;
+  }
   if (!isVariable(aStrAttr->value())) {
     theError = "Incorrect variable name.";
     return false;
@@ -94,6 +103,10 @@ bool ParametersPlugin_ExpressionValidator::isValid(const AttributePtr& theAttrib
 
   AttributeStringPtr aStrAttr =
       std::dynamic_pointer_cast<ModelAPI_AttributeString>(theAttribute);
+  if (!aStrAttr->isInitialized()) {
+    theError = "Attribute \"" + aStrAttr->id() + "\" is not initialized.";
+    return false;
+  }
   bool isEmptyExpr = aStrAttr->value().empty();
   if (isEmptyExpr) {
     theError = "Expression is empty.";
index 31ba5f79e3fb2b6c2f45b90e13dbd68b0fced9d6..05e04db0d625f32a8408a639cb3c6e10a14c22e0 100644 (file)
@@ -25,9 +25,11 @@ SET(PROJECT_HEADERS
        PartSet_Filters.h
        PartSet_FilterInfinite.h
        PartSet_SketcherMgr.h
+       PartSet_SketcherReetntrantMgr.h
        PartSet_MenuMgr.h
        PartSet_WidgetSketchCreator.h
        PartSet_IconFactory.h
+       PartSet_WidgetChoice.h
 )
 
 SET(PROJECT_SOURCES
@@ -49,6 +51,7 @@ SET(PROJECT_SOURCES
        PartSet_Filters.cpp
        PartSet_FilterInfinite.cpp
        PartSet_SketcherMgr.cpp
+       PartSet_SketcherReetntrantMgr.cpp
        PartSet_MenuMgr.cpp
        PartSet_WidgetSketchCreator.cpp
        PartSet_IconFactory.cpp
index ab96e5538938eebb6f9024a3ff652baf211002cd..b2315bffb8d578dffb406e9742b6241f3be9e72d 100755 (executable)
@@ -21,6 +21,8 @@
 #include <AIS_InteractiveObject.hxx>
 #include <Prs3d_PointAspect.hxx>
 
+//#define DO_NOT_VISUALIZE_CUSTOM_PRESENTATION
+
 #define OPERATION_PARAMETER_COLOR "255, 255, 0"
 
 PartSet_CustomPrs::PartSet_CustomPrs(ModuleBase_IWorkshop* theWorkshop)
@@ -40,6 +42,10 @@ bool PartSet_CustomPrs::isActive()
 
 bool PartSet_CustomPrs::activate(const FeaturePtr& theFeature, const bool theUpdateViewer)
 {
+#ifdef DO_NOT_VISUALIZE_CUSTOM_PRESENTATION
+  return false;
+#endif
+
   bool isModified = false;
   Handle(PartSet_OperationPrs) anOperationPrs = getPresentation();
 
@@ -112,6 +118,10 @@ Handle(PartSet_OperationPrs) PartSet_CustomPrs::getPresentation()
 
 bool PartSet_CustomPrs::redisplay(const ObjectPtr& theObject, const bool theUpdateViewer)
 {
+#ifdef DO_NOT_VISUALIZE_CUSTOM_PRESENTATION
+  return false;
+#endif
+
   bool isModified = false;
   // the presentation should be recomputed if the previous AIS depend on the result
   // [it should be hiddend] or the new AIS depend on it [it should be visualized]
index 30fe5aa4b718a655791f955bfa6e2d6cd2db9f76..3926597d227bf9c548e0affbfc3cd8920024f290 100644 (file)
@@ -19,7 +19,6 @@ QMap<QString, QString> PartSet_IconFactory::myIcons;
 
 PartSet_IconFactory::PartSet_IconFactory():ModuleBase_IconFactory()
 {
-  setFactory(this);
   Events_Loop::loop()->registerListener(this, 
     Events_Loop::eventByName(Config_FeatureMessage::GUI_EVENT()));
 }
@@ -29,6 +28,9 @@ QIcon PartSet_IconFactory::getIcon(ObjectPtr theObj)
 {
   QIcon anIcon;
 
+  if (!theObj.get())
+    return anIcon;
+
   FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(theObj);
   if (aFeature.get()) {
     std::string aKind = aFeature->getKind();
@@ -60,14 +62,36 @@ QIcon PartSet_IconFactory::getIcon(ObjectPtr theObj)
       break;
       default: break;  
     }
-  } else {
-    std::string aGroup = theObj->groupName();
-    if (aGroup == ModelAPI_ResultPart::group()) {
-      return QIcon(":pictures/part_ico.png");
-    } else {
-      if (theObj && theObj->data() && theObj->data()->execState() == ModelAPI_StateMustBeUpdated)
-        return QIcon(":pictures/constr_object_modified.png");
-      return QIcon(":pictures/constr_object.png");
+  } 
+
+  if (theObj->data() && theObj->data()->execState() == ModelAPI_StateMustBeUpdated)
+    return QIcon(":pictures/constr_object_modified.png");
+
+  std::string aGroup = theObj->groupName();
+  if (aGroup == ModelAPI_ResultPart::group())
+    return QIcon(":pictures/part_ico.png");
+
+  if (aGroup == ModelAPI_ResultConstruction::group())
+    return QIcon(":pictures/constr_object.png");
+
+  ResultPtr aResult = std::dynamic_pointer_cast<ModelAPI_Result>(theObj);
+  if (aResult.get()) {
+    GeomShapePtr aShape = aResult->shape();
+    if (aShape.get()) {
+      if (aShape->isSolid()) 
+        return QIcon(":pictures/solid.png");
+      else if (aShape->isCompound()) 
+        return QIcon(":pictures/compound.png");
+      else if (aShape->isCompoundOfSolids()) 
+        return QIcon(":pictures/compoundofsolids.png");
+      else if (aShape->isCompSolid()) 
+        return QIcon(":pictures/compsolid.png");
+      else if (aShape->isEdge()) 
+        return QIcon(":pictures/edge.png");
+      else if (aShape->isFace()) 
+        return QIcon(":pictures/face.png");
+      else if (aShape->isVertex()) 
+        return QIcon(":pictures/vertex.png");
     }
   }
   return anIcon;  
index 28013c9df0d51abdfbe71b16c82de80c221718d2..d2a2f4efec3e7a80509ad230b6df387ae52fbaca 100644 (file)
@@ -39,6 +39,7 @@
 
 #include <QAction>
 #include <QMenu>
+#include <QEvent>
 
 #include <TopoDS.hxx>
 #include <BRep_Tool.hxx>
@@ -149,28 +150,7 @@ bool PartSet_MenuMgr::addViewerMenu(QMenu* theMenu, const QMap<QString, QAction*
         // Find coincident in these coordinates
         ObjectPtr aObj = aPrsList.first().object();
         FeaturePtr aFeature = ModelAPI_Feature::feature(aObj);
-        const std::set<AttributePtr>& aRefsList = aFeature->data()->refsToMe();
-        std::set<AttributePtr>::const_iterator aIt;
-        FeaturePtr aCoincident;
-        for (aIt = aRefsList.cbegin(); aIt != aRefsList.cend(); ++aIt) {
-          std::shared_ptr<ModelAPI_Attribute> aAttr = (*aIt);
-          FeaturePtr aConstrFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(aAttr->owner());
-          if (aConstrFeature->getKind() == SketchPlugin_ConstraintCoincidence::ID()) { 
-            std::shared_ptr<GeomAPI_Pnt2d> a2dPnt = 
-              PartSet_Tools::getPoint(aConstrFeature, SketchPlugin_ConstraintCoincidence::ENTITY_A());
-            if (a2dPnt.get() && aSelPnt->isEqual(a2dPnt)) { 
-              aCoincident = aConstrFeature;
-              break;
-            } else {
-              a2dPnt = PartSet_Tools::getPoint(aConstrFeature,
-                                               SketchPlugin_ConstraintCoincidence::ENTITY_B());
-              if (a2dPnt.get() && aSelPnt->isEqual(a2dPnt)) { 
-                aCoincident = aConstrFeature;
-                break;
-              }
-            }
-          }
-        }
+        FeaturePtr aCoincident = PartSet_Tools::findFirstCoincidence(aFeature, aSelPnt);
         // If we have coincidence then add Detach menu
         if (aCoincident.get() != NULL) {
           mySelectedFeature = aCoincident;
@@ -527,3 +507,13 @@ void PartSet_MenuMgr::onSelectParentFeature()
   aSelection.append( aParentFeature );
   myModule->workshop()->selection()->setSelectedObjects( aSelection );
 }
+
+bool PartSet_MenuMgr::eventFilter(QObject* theObj, QEvent* theEvent)
+{
+  if (theEvent->type() == QEvent::MouseButtonDblClick) {
+    SessionPtr aMgr = ModelAPI_Session::get();
+    if (aMgr->activeDocument() != aMgr->moduleDocument())
+      activatePartSet();
+  }
+  return QObject::eventFilter(theObj, theEvent);
+}
\ No newline at end of file
index 738c6f3652e8e5f0605c711920d1fd34e2a180e1..0e8333caa4a968dcfc71cb0e26bc8dfd9875c361 100644 (file)
@@ -82,6 +82,9 @@ private slots:
 
   void onSelectParentFeature();
 
+protected:
+  bool eventFilter(QObject* theObj, QEvent* theEvent);
+
 private:
   /// Returns true if the current operation is sketch entity create operation
   /// \param theValue the current auxiliary value
index 8c0fa0e5aedda21f10b4021d76453ba0ac01e578..1f0598bb4a50a5d0f101c174f1ebb67509e874a0 100755 (executable)
 #include "PartSet_WidgetFileSelector.h"
 #include "PartSet_WidgetSketchCreator.h"
 #include "PartSet_SketcherMgr.h"
+#include "PartSet_SketcherReetntrantMgr.h"
 #include "PartSet_MenuMgr.h"
 #include "PartSet_CustomPrs.h"
 #include "PartSet_IconFactory.h"
+#include "PartSet_WidgetChoice.h"
 
 #include "PartSet_Filters.h"
 #include "PartSet_FilterInfinite.h"
 
 #include <SketchPlugin_Feature.h>
 #include <SketchPlugin_Sketch.h>
-#include <SketchPlugin_Line.h>
-#include <SketchPlugin_Arc.h>
-#include <SketchPlugin_Circle.h>
-#include <SketchPlugin_Point.h>
 #include <SketchPlugin_ConstraintAngle.h>
 #include <SketchPlugin_ConstraintLength.h>
 #include <SketchPlugin_ConstraintDistance.h>
@@ -112,18 +110,18 @@ extern "C" PARTSET_EXPORT ModuleBase_IModule* createModule(ModuleBase_IWorkshop*
 }
 
 PartSet_Module::PartSet_Module(ModuleBase_IWorkshop* theWshop)
-  : ModuleBase_IModule(theWshop),
-  myRestartingMode(RM_None), myVisualLayerId(0), myHasConstraintShown(true)
+: ModuleBase_IModule(theWshop),
+  myVisualLayerId(0), myHasConstraintShown(true)
 {
   new PartSet_IconFactory();
 
   mySketchMgr = new PartSet_SketcherMgr(this);
+  mySketchReentrantMgr = new PartSet_SketcherReetntrantMgr(theWshop);
 
   XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(theWshop);
   XGUI_Workshop* aWorkshop = aConnector->workshop();
 
   XGUI_OperationMgr* anOpMgr = aWorkshop->operationMgr();
-  connect(anOpMgr, SIGNAL(keyEnterReleased()), this, SLOT(onEnterReleased()));
   connect(anOpMgr, SIGNAL(operationActivatedByPreselection()),
           this, SLOT(onOperationActivatedByPreselection()));
 
@@ -211,6 +209,8 @@ void PartSet_Module::registerProperties()
                                    PLANE_SIZE);
   Config_PropManager::registerProp("Sketch planes", "planes_thickness", "Thickness",
                                    Config_Prop::Integer, SKETCH_WIDTH);
+  Config_PropManager::registerProp("Sketch planes", "rotate_to_plane", "Rotate to plane when selected",
+    Config_Prop::Boolean, "false");
 }
 
 void PartSet_Module::connectToPropertyPanel(ModuleBase_ModelWidget* theWidget, const bool isToConnect)
@@ -224,44 +224,32 @@ void PartSet_Module::operationCommitted(ModuleBase_Operation* theOperation)
     mySketchMgr->commitNestedSketch(theOperation);
   }
 
-  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
-  if (!aFOperation || aFOperation->isEditOperation())
-    return;
-  // the selection is cleared after commit the create operation
-  // in order to do not use the same selected objects in the restarted operation
-  // for common behaviour, the selection is cleared even if the operation is not restarted
-  XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(workshop());
-  XGUI_Workshop* aWorkshop = aConnector->workshop();
-  aWorkshop->selector()->clearSelection();
-
   /// Restart sketcher operations automatically
-  FeaturePtr aFeature = aFOperation->feature();
-  std::shared_ptr<SketchPlugin_Feature> aSPFeature = 
-            std::dynamic_pointer_cast<SketchPlugin_Feature>(aFeature);
-  if (aSPFeature && (myRestartingMode == RM_LastFeatureUsed ||
-                     myRestartingMode == RM_EmptyFeatureUsed)) {
-    myLastOperationId = aFOperation->id();
-    myLastFeature = myRestartingMode == RM_LastFeatureUsed ? aFOperation->feature() : FeaturePtr();
-    if (!sketchMgr()->sketchSolverError())
-      launchOperation(myLastOperationId);
-  }
-  breakOperationSequence();
-}
+  if (!mySketchReentrantMgr->operationCommitted(theOperation)) {
 
-void PartSet_Module::breakOperationSequence()
-{
-  myLastOperationId = "";
-  myLastFeature = FeaturePtr();
-  myRestartingMode = RM_None;
+    ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
+    if (aFOperation && !aFOperation->isEditOperation()) {
+      // the selection is cleared after commit the create operation
+      // in order to do not use the same selected objects in the restarted operation
+      // for common behaviour, the selection is cleared even if the operation is not restarted
+      XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(workshop());
+      XGUI_Workshop* aWorkshop = aConnector->workshop();
+      aWorkshop->selector()->clearSelection();
+    }
+  }
 }
 
 void PartSet_Module::operationAborted(ModuleBase_Operation* theOperation)
 {
-  breakOperationSequence();
+  /// Restart sketcher operations automatically
+  mySketchReentrantMgr->operationAborted(theOperation);
 }
 
 void PartSet_Module::operationStarted(ModuleBase_Operation* theOperation)
 {
+  /// Restart sketcher operations automatically
+  mySketchReentrantMgr->operationStarted(theOperation);
+
   if (PartSet_SketcherMgr::isSketchOperation(theOperation)) {
     mySketchMgr->startSketch(theOperation);
   }
@@ -287,19 +275,16 @@ void PartSet_Module::operationStopped(ModuleBase_Operation* theOperation)
 {
   bool isModified = myCustomPrs->deactivate(false);
 
-  if (PartSet_SketcherMgr::isSketchOperation(theOperation)) {
-    mySketchMgr->stopSketch(theOperation);
-  }
-  else if (PartSet_SketcherMgr::isNestedSketchOperation(theOperation)) {
+  if (PartSet_SketcherMgr::isNestedSketchOperation(theOperation)) {
     mySketchMgr->stopNestedSketch(theOperation);
   }
 
   //VSV: Viewer is updated on feature update and redisplay
-  //if (isModified) {
-  //  XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
-  //  XGUI_Displayer* aDisplayer = aConnector->workshop()->displayer();
-  //  aDisplayer->updateViewer();
-  //}
+  if (isModified) {
+    XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
+    XGUI_Displayer* aDisplayer = aConnector->workshop()->displayer();
+    aDisplayer->updateViewer();
+  }
   mySketchMgr->onShowConstraintsToggle(myHasConstraintShown);
 }
 
@@ -442,31 +427,9 @@ void PartSet_Module::propertyPanelDefined(ModuleBase_Operation* theOperation)
     return;
 
   ModuleBase_IPropertyPanel* aPanel = aFOperation->propertyPanel();
-  if (PartSet_SketcherMgr::isSketchOperation(aFOperation) &&  (aFOperation->isEditOperation())) {
-    // we have to manually activate the sketch label in edit mode
-      aPanel->activateWidget(aPanel->modelWidgets().first());
-      return;
-  }
-
-  // Restart last operation type 
-  if ((aFOperation->id() == myLastOperationId) && myLastFeature) {
-    ModuleBase_ModelWidget* aWgt = aPanel->activeWidget();
-    if (aFOperation->id().toStdString() == SketchPlugin_Line::ID()) {
-      // Initialise new line with first point equal to end of previous
-      PartSet_WidgetPoint2D* aPnt2dWgt = dynamic_cast<PartSet_WidgetPoint2D*>(aWgt);
-      if (aPnt2dWgt) {
-        std::shared_ptr<ModelAPI_Data> aData = myLastFeature->data();
-        std::shared_ptr<GeomDataAPI_Point2D> aPoint = 
-          std::dynamic_pointer_cast<GeomDataAPI_Point2D>(aData->attribute(SketchPlugin_Line::END_ID()));
-        if (aPoint) {
-          aPnt2dWgt->setPoint(aPoint->x(), aPoint->y());
-          PartSet_Tools::setConstraints(mySketchMgr->activeSketch(), aFOperation->feature(), 
-            aWgt->attributeID(), aPoint->x(), aPoint->y());
-          aPanel->activateNextWidget(aPnt2dWgt);
-        }
-      }
-    }
-  }
+  // we have to manually activate the sketch label in edit mode
+  if (PartSet_SketcherMgr::isSketchOperation(aFOperation) &&  (aFOperation->isEditOperation()))
+    aPanel->activateWidget(aPanel->modelWidgets().first());
 }
 
 
@@ -510,62 +473,20 @@ void PartSet_Module::onKeyRelease(ModuleBase_IViewWindow* theWnd, QKeyEvent* the
   anOpMgr->onKeyReleased(theEvent);
 }
 
-void PartSet_Module::onEnterReleased()
-{
-  myRestartingMode = RM_EmptyFeatureUsed;
-}
-
 void PartSet_Module::onOperationActivatedByPreselection()
 {
+  if (!mySketchReentrantMgr->canBeCommittedByPreselection())
+    return;
+
   ModuleBase_Operation* anOperation = myWorkshop->currentOperation();
   if(anOperation && PartSet_SketcherMgr::isNestedSketchOperation(anOperation)) {
     // Set final definitions if they are necessary
     //propertyPanelDefined(aOperation);
-
     /// Commit sketcher operations automatically
     anOperation->commit();
   }
 }
 
-void PartSet_Module::onNoMoreWidgets()
-{
-  ModuleBase_Operation* anOperation = myWorkshop->currentOperation();
-  if (anOperation) {
-    if (PartSet_SketcherMgr::isNestedSketchOperation(anOperation)) {
-      if (myRestartingMode != RM_Forbided)
-        myRestartingMode = RM_LastFeatureUsed;
-      XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(workshop());
-      XGUI_Workshop* aWorkshop = aConnector->workshop();
-      XGUI_OperationMgr* anOpMgr = aWorkshop->operationMgr();
-      // do nothing if the feature can not be applyed
-      if (anOpMgr->isApplyEnabled())
-        anOperation->commit();
-    }
-  }
-}
-
-void PartSet_Module::onVertexSelected()
-{
-  ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
-  if (aOperation->id().toStdString() == SketchPlugin_Line::ID()) {
-    /// If last line finished on vertex the lines creation sequence has to be break
-    ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
-    ModuleBase_ModelWidget* anActiveWidget = aPanel->activeWidget();
-    const QList<ModuleBase_ModelWidget*>& aWidgets = aPanel->modelWidgets();
-    QList<ModuleBase_ModelWidget*>::const_iterator anIt = aWidgets.begin(), aLast = aWidgets.end();
-    bool aFoundWidget = false;
-    bool aFoundObligatory = false;
-    for (; anIt != aLast && !aFoundObligatory; anIt++) {
-      if (!aFoundWidget)
-        aFoundWidget = *anIt == anActiveWidget;
-      else
-        aFoundObligatory = (*anIt)->isObligatory();
-    }
-    if (!aFoundObligatory)
-      myRestartingMode = RM_Forbided;
-  }
-}
-
 ModuleBase_ModelWidget* PartSet_Module::createWidgetByType(const std::string& theType, QWidget* theParent,
                                             Config_WidgetAPI* theWidgetApi, std::string theParentId)
 {
@@ -585,13 +506,13 @@ ModuleBase_ModelWidget* PartSet_Module::createWidgetByType(const std::string& th
     PartSet_WidgetPoint2D* aPointWgt = new PartSet_WidgetPoint2D(theParent, aWorkshop,
                                                                  theWidgetApi, theParentId);
     aPointWgt->setSketch(mySketchMgr->activeSketch());
-    connect(aPointWgt, SIGNAL(vertexSelected()), this, SLOT(onVertexSelected()));
+    connect(aPointWgt, SIGNAL(vertexSelected()), sketchReentranceMgr(), SLOT(onVertexSelected()));
     aWgt = aPointWgt;
-  } else if (theType == "sketch-2dpoint_flyout_selector") {
+  }else if (theType == "sketch-2dpoint_flyout_selector") {
     PartSet_WidgetPoint2DFlyout* aPointWgt = new PartSet_WidgetPoint2DFlyout(theParent, aWorkshop,
                                                                  theWidgetApi, theParentId);
     aPointWgt->setSketch(mySketchMgr->activeSketch());
-    connect(aPointWgt, SIGNAL(vertexSelected()), this, SLOT(onVertexSelected()));
+    connect(aPointWgt, SIGNAL(vertexSelected()), sketchReentranceMgr(), SLOT(onVertexSelected()));
     aWgt = aPointWgt;
   } else if (theType == "point2ddistance") {
     PartSet_WidgetPoint2dDistance* aDistanceWgt = new PartSet_WidgetPoint2dDistance(theParent,
@@ -619,10 +540,27 @@ ModuleBase_ModelWidget* PartSet_Module::createWidgetByType(const std::string& th
     aWgt = new PartSet_WidgetFileSelector(theParent, aWorkshop, theWidgetApi, theParentId);
   } else if (theType == "sketch_launcher") {
     aWgt = new PartSet_WidgetSketchCreator(theParent, this, theWidgetApi, theParentId);
+  } else if (theType == "module_choice") {
+    aWgt = new PartSet_WidgetChoice(theParent, theWidgetApi, theParentId);
+    connect(aWgt, SIGNAL(itemSelected(int)), SLOT(onBooleanOperationChange(int)));
   }
   return aWgt;
 }
 
+ModuleBase_ModelWidget* PartSet_Module::activeWidget() const
+{
+  ModuleBase_ModelWidget* anActiveWidget = 0;
+
+  anActiveWidget = mySketchReentrantMgr->internalActiveWidget();
+  if (!anActiveWidget) {
+    ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
+    if (aOperation) {
+      ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
+      anActiveWidget = aPanel->activeWidget();
+    }
+  }
+  return anActiveWidget;
+}
 
 bool PartSet_Module::deleteObjects()
 {
@@ -846,7 +784,8 @@ void PartSet_Module::customizeObjectBrowser(QWidget* theObjectBrowser)
 {
   XGUI_ObjectsBrowser* aOB = dynamic_cast<XGUI_ObjectsBrowser*>(theObjectBrowser);
   if (aOB) {
-    QLineEdit* aLabel = aOB->activeDocLabel();
+    QLabel* aLabel = aOB->activeDocLabel();
+    aLabel->installEventFilter(myMenuMgr);
     connect(aLabel, SIGNAL(customContextMenuRequested(const QPoint&)), 
           SLOT(onActiveDocPopup(const QPoint&)));
     //QPalette aPalet = aLabel->palette();
@@ -865,7 +804,7 @@ void PartSet_Module::onActiveDocPopup(const QPoint& thePnt)
 
   XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
   XGUI_Workshop* aWorkshop = aConnector->workshop();
-  QLineEdit* aHeader = aWorkshop->objectBrowser()->activeDocLabel();
+  QLabel* aHeader = aWorkshop->objectBrowser()->activeDocLabel();
 
   aActivatePartAction->setEnabled((aMgr->activeDocument() != aMgr->moduleDocument()));
 
@@ -965,7 +904,7 @@ void PartSet_Module::processEvent(const std::shared_ptr<Events_Message>& theMess
     XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
     XGUI_Workshop* aWorkshop = aConnector->workshop();
     XGUI_DataTree* aTreeView = aWorkshop->objectBrowser()->treeView();
-    QLineEdit* aLabel = aWorkshop->objectBrowser()->activeDocLabel();
+    QLabel* aLabel = aWorkshop->objectBrowser()->activeDocLabel();
     QPalette aPalet = aLabel->palette();
 
     SessionPtr aMgr = ModelAPI_Session::get();
@@ -1061,13 +1000,11 @@ void PartSet_Module::onViewCreated(ModuleBase_IViewWindow*)
   // the filters of this widget should be activated in the created view
   ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
   if (aOperation) {
-    ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
-    ModuleBase_ModelWidget* anActiveWidget = aPanel->activeWidget();
+    ModuleBase_ModelWidget* anActiveWidget = activeWidget();
     if (anActiveWidget) {
-      ModuleBase_WidgetValidated* aWidgetValidated = dynamic_cast<ModuleBase_WidgetValidated*>
-                                                                             (anActiveWidget);
-      if (aWidgetValidated)
-        aWidgetValidated->activateFilters(true);
+      ModuleBase_WidgetSelector* aWSelector = dynamic_cast<ModuleBase_WidgetSelector*>(anActiveWidget);
+      if (aWSelector)
+        aWSelector->activateSelectionAndFilters(true);
     }
   }
 }
@@ -1077,3 +1014,41 @@ void PartSet_Module::widgetStateChanged(int thePreviousState)
 {
   mySketchMgr->widgetStateChanged(thePreviousState);
 }
+
+bool PartSet_Module::processEnter(const std::string& thePreviousAttributeID)
+{
+  return mySketchReentrantMgr->processEnter(thePreviousAttributeID);
+}
+
+//******************************************************
+void PartSet_Module::beforeOperationStarted(ModuleBase_Operation* theOperation)
+{
+}
+
+//******************************************************
+void PartSet_Module::beforeOperationStopped(ModuleBase_Operation* theOperation)
+{
+  if (PartSet_SketcherMgr::isSketchOperation(theOperation)) {
+    mySketchMgr->stopSketch(theOperation);
+  }
+}
+
+//******************************************************
+void PartSet_Module::onBooleanOperationChange(int theOperation)
+{
+  ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
+  if (!aOperation)
+    return;
+  ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
+  switch (theOperation) {
+  case 0:
+    aPanel->setWindowTitle(tr("Cut"));
+    break;
+  case 1:
+    aPanel->setWindowTitle(tr("Fuse"));
+    break;
+  case 2:
+    aPanel->setWindowTitle(tr("Common"));
+    break;
+  }
+}
index f879712a55d653a2141a60db0a8e6f4e53baf24f..f074786d33f30c8d1a9be9eaf39cf43253e53767 100755 (executable)
@@ -31,6 +31,7 @@ class ModuleBase_IViewWindow;
 class PartSet_MenuMgr;
 class PartSet_CustomPrs;
 class PartSet_SketcherMgr;
+class PartSet_SketcherReetntrantMgr;
 
 class QAction;
 
@@ -66,6 +67,10 @@ public:
   virtual ModuleBase_ModelWidget* createWidgetByType(const std::string& theType, QWidget* theParent,
                                                      Config_WidgetAPI* theWidgetApi, std::string theParentId);
 
+  /// Returns the active widget, by default it is the property panel active widget
+  /// If the internal edit operation is started, this is the first widget of the operation
+  virtual ModuleBase_ModelWidget* activeWidget() const;
+
   /// Call back forlast tuning of property panel before operation performance
   virtual void propertyPanelDefined(ModuleBase_Operation* theOperation);
 
@@ -158,6 +163,9 @@ public:
   /// Returns sketch manager object
   PartSet_SketcherMgr* sketchMgr() const { return mySketchMgr; }
 
+  /// Returns sketch reentrant manager
+  PartSet_SketcherReetntrantMgr* sketchReentranceMgr() { return mySketchReentrantMgr; }
+
   /// Performs functionality on closing document
   virtual void closeDocument();
 
@@ -204,14 +212,22 @@ public:
   virtual void grantedOperationIds(ModuleBase_Operation* theOperation, QStringList& theIds) const;
 
   /// Validates the current operation and send the state change to sketch manager
-  /// \thePrevState the previous widget value state
+  /// \param thePreviousState the previous widget value state
   virtual void widgetStateChanged(int thePreviousState);
 
-public slots:
-  /// SLOT, that is called by no more widget signal emitted by property panel
-  /// Set a specific flag to restart the sketcher operation
-  void onNoMoreWidgets();
+  /// Returns true if the event is processed. It gives the reentrance manager to process the enter.
+  /// \param thePreviousAttributeID an index of the previous active attribute
+  virtual bool processEnter(const std::string& thePreviousAttributeID);
 
+  /// Performs some GUI actions after an operation transaction is opened
+  /// Default realization is empty
+  virtual void beforeOperationStarted(ModuleBase_Operation* theOperation);
+
+  /// Performs some GUI actions before an operation transaction is stopped
+  /// Default realization is empty
+  virtual void beforeOperationStopped(ModuleBase_Operation* theOperation);
+
+public slots:
   /// Redefines the parent method in order to customize the next case:
   /// If the sketch nested operation is active and the presentation is not visualized in the viewer,
   /// the operation should be always aborted.
@@ -240,10 +256,6 @@ protected slots:
   /// \param theEvent the key event
   void onKeyRelease(ModuleBase_IViewWindow* theWnd, QKeyEvent* theEvent);
 
-  /// SLOT, that is called by enter key released
-  /// Set a specific type of restarting the current operation
-  void onEnterReleased();
-
   /// SLOT, that is called by the current operation filling with the preselection.
   /// It commits the operation of it is can be committed
   void onOperationActivatedByPreselection();
@@ -251,6 +263,10 @@ protected slots:
   /// A slot called on view window creation
   void onViewCreated(ModuleBase_IViewWindow*);
 
+  /// A slot to change property panel title on change of boolean operation type
+  /// \param theOperation the operation type
+  void onBooleanOperationChange(int theOperation);
+
 protected:
   /// Register validators for this module
   virtual void registerValidators();
@@ -267,30 +283,20 @@ protected:
   virtual void connectToPropertyPanel(ModuleBase_ModelWidget* theWidget, const bool isToConnect);
 
  private slots:
-   /// Processing of vertex selected
-   void onVertexSelected();
-
    void onTreeViewDoubleClick(const QModelIndex&);
 
    void onActiveDocPopup(const QPoint&);
 
  private:
-  /// Breaks sequense of automatically resterted operations
-  void breakOperationSequence();
 
   //! Delete features
   virtual bool deleteObjects();
 
  private:
-   QString myLastOperationId;
-   FeaturePtr myLastFeature;
-
-   // Automatical restarting mode flag
-   RestartingMode myRestartingMode;
-
   SelectMgr_ListOfFilter mySelectionFilters;
 
   PartSet_SketcherMgr* mySketchMgr;
+  PartSet_SketcherReetntrantMgr* mySketchReentrantMgr;
   PartSet_MenuMgr* myMenuMgr;
   /// A default custom presentation, which is used for references objects of started operation
   PartSet_CustomPrs* myCustomPrs;
index 97a5ce43c6021061ca2056f1d946d84429254494..a90f4a0f8aca8d201aae48aefc8ded020b247d63 100755 (executable)
@@ -5,11 +5,13 @@
 // Author:      Vitaly SMETANNIKOV
 
 #include "PartSet_SketcherMgr.h"
+#include "PartSet_SketcherReetntrantMgr.h"
 #include "PartSet_Module.h"
 #include "PartSet_WidgetPoint2d.h"
 #include "PartSet_WidgetPoint2dDistance.h"
 #include "PartSet_Tools.h"
 #include "PartSet_WidgetSketchLabel.h"
+#include "PartSet_WidgetEditor.h"
 
 #include <XGUI_ModuleConnector.h>
 #include <XGUI_Displayer.h>
 
 #include <QMouseEvent>
 #include <QApplication>
+#include <QCursor>
 
 //#define DEBUG_DO_NOT_BY_ENTER
 
+//#define DEBUG_CURSOR
+
 /// Returns list of unique objects by sum of objects from List1 and List2
 /*QList<ModuleBase_ViewerPrs> getSumList(const QList<ModuleBase_ViewerPrs>& theList1,
                                        const QList<ModuleBase_ViewerPrs>& theList2)
@@ -195,11 +200,19 @@ void PartSet_SketcherMgr::onEnterViewPort()
   return;
   #endif
 
+  if (canChangeCursor(getCurrentOperation())) {
+    QCursor* aCurrentCursor = QApplication::overrideCursor();
+    if (!aCurrentCursor || aCurrentCursor->shape() != Qt::CrossCursor) {
+      QApplication::setOverrideCursor(QCursor(Qt::CrossCursor));
+#ifdef DEBUG_CURSOR
+      qDebug("onEnterViewPort() : Qt::CrossCursor");
+#endif
+    }
+  }
+
   if (!isNestedCreateOperation(getCurrentOperation()))
     return;
 
-  QApplication::setOverrideCursor(QCursor(Qt::CrossCursor));//QIcon(":pictures/button_plus.png").pixmap(20,20)));
-
   operationMgr()->onValidateOperation();
 
   // we need change displayed state of the current operation feature
@@ -230,11 +243,16 @@ void PartSet_SketcherMgr::onLeaveViewPort()
   return;
   #endif
 
+  if (canChangeCursor(getCurrentOperation())) {
+    QApplication::restoreOverrideCursor();
+#ifdef DEBUG_CURSOR
+    qDebug("onLeaveViewPort() : None");
+#endif
+  }
+
   if (!isNestedCreateOperation(getCurrentOperation()))
     return;
 
-  QApplication::restoreOverrideCursor();
-
   // the method should be performed if the popup menu is called,
   // the reset of the current widget should not happen
   if (myIsPopupMenuActive)
@@ -252,7 +270,6 @@ void PartSet_SketcherMgr::onLeaveViewPort()
   ModuleBase_ModelWidget* anActiveWidget = getActiveWidget();
   if (anActiveWidget)
     anActiveWidget->reset();
-  aDisplayer->enableUpdateViewer(isEnableUpdateViewer);
 
   // hides the presentation of the current operation feature
   // the feature is to be erased here, but it is correct to call canDisplayObject because
@@ -263,11 +280,15 @@ void PartSet_SketcherMgr::onLeaveViewPort()
     FeaturePtr aFeature = aFOperation->feature();
     visualizeFeature(aFeature, aFOperation->isEditOperation(), canDisplayObject(aFeature));
   }
+  // we should update viewer after the presentation are hidden in the viewer
+  // otherwise the reset presentation(line) appears in the viewer(by quick move from viewer to PP)
+  aDisplayer->enableUpdateViewer(isEnableUpdateViewer);
 }
 
 void PartSet_SketcherMgr::onBeforeValuesChangedInPropertyPanel()
 {
-  if (isNestedCreateOperation(getCurrentOperation()))
+  if (!isNestedEditOperation(getCurrentOperation()) ||
+      myModule->sketchReentranceMgr()->isInternalEditActive())
     return;
   // it is necessary to save current selection in order to restore it after the values are modifed
   storeSelection();
@@ -280,7 +301,8 @@ void PartSet_SketcherMgr::onBeforeValuesChangedInPropertyPanel()
 
 void PartSet_SketcherMgr::onAfterValuesChangedInPropertyPanel()
 {
-  if (isNestedCreateOperation(getCurrentOperation()))
+  if (!isNestedEditOperation(getCurrentOperation()) ||
+      myModule->sketchReentranceMgr()->isInternalEditActive())
     return;
   // it is necessary to restore current selection in order to restore it after the values are modified
   restoreSelection();
@@ -298,7 +320,10 @@ void PartSet_SketcherMgr::onAfterValuesChangedInPropertyPanel()
 
 void PartSet_SketcherMgr::onMousePressed(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent)
 {
-  get2dPoint(theWnd, theEvent, myClickedPoint);
+  if (myModule->sketchReentranceMgr()->processMousePressed(theWnd, theEvent))
+    return;
+
+  //get2dPoint(theWnd, theEvent, myClickedPoint);
 
   if (!(theEvent->buttons() & Qt::LeftButton))
     return;
@@ -400,6 +425,9 @@ void PartSet_SketcherMgr::onMousePressed(ModuleBase_IViewWindow* theWnd, QMouseE
 
 void PartSet_SketcherMgr::onMouseReleased(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent)
 {
+  if (myModule->sketchReentranceMgr()->processMouseReleased(theWnd, theEvent))
+    return;
+
   ModuleBase_IWorkshop* aWorkshop = myModule->workshop();
   ModuleBase_IViewer* aViewer = aWorkshop->viewer();
   if (!aViewer->canDragByMouse())
@@ -407,7 +435,7 @@ void PartSet_SketcherMgr::onMouseReleased(ModuleBase_IViewWindow* theWnd, QMouse
   ModuleBase_Operation* aOp = getCurrentOperation();
   if (aOp) {
     if (isNestedSketchOperation(aOp)) {
-      get2dPoint(theWnd, theEvent, myClickedPoint);
+      //get2dPoint(theWnd, theEvent, myClickedPoint);
 
       // Only for sketcher operations
       if (myIsDragging) {
@@ -435,6 +463,9 @@ void PartSet_SketcherMgr::onMouseReleased(ModuleBase_IViewWindow* theWnd, QMouse
 
 void PartSet_SketcherMgr::onMouseMoved(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent)
 {
+  if (myModule->sketchReentranceMgr()->processMouseMoved(theWnd, theEvent))
+    return;
+
   if (isNestedCreateOperation(getCurrentOperation()) && !myIsMouseOverViewProcessed) {
     myIsMouseOverViewProcessed = true;
     // 1. perform the widget mouse move functionality and display the presentation
@@ -460,7 +491,7 @@ void PartSet_SketcherMgr::onMouseMoved(ModuleBase_IViewWindow* theWnd, QMouseEve
     }
   }
 
-  myClickedPoint.clear();
+  //myClickedPoint.clear();
 
   if (myIsDragging) {
     // 1. the current selection is saved in the mouse press method in order to restore it after moving
@@ -569,7 +600,9 @@ void PartSet_SketcherMgr::onMouseDoubleClick(ModuleBase_IViewWindow* theWnd, QMo
       // Find corresponded widget to activate value editing
       foreach (ModuleBase_ModelWidget* aWgt, aWidgets) {
         if (aWgt->attributeID() == "ConstraintValue") {
-          aWgt->focusTo();
+          PartSet_WidgetEditor* anEditor = dynamic_cast<PartSet_WidgetEditor*>(aWgt);
+          if (anEditor)
+            anEditor->showPopupEditor();
           return;
         }
       }
@@ -582,10 +615,17 @@ void PartSet_SketcherMgr::onApplicationStarted()
   ModuleBase_IWorkshop* anIWorkshop = myModule->workshop();
   XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(anIWorkshop);
   XGUI_Workshop* aWorkshop = aConnector->workshop();
+  PartSet_SketcherReetntrantMgr* aReentranceMgr = myModule->sketchReentranceMgr();
+
   XGUI_PropertyPanel* aPropertyPanel = aWorkshop->propertyPanel();
   if (aPropertyPanel) {
-    connect(aPropertyPanel, SIGNAL(beforeWidgetActivated(ModuleBase_ModelWidget*)),
-            this, SLOT(onBeforeWidgetActivated(ModuleBase_ModelWidget*)));
+    //connect(aPropertyPanel, SIGNAL(beforeWidgetActivated(ModuleBase_ModelWidget*)),
+    //        this, SLOT(onBeforeWidgetActivated(ModuleBase_ModelWidget*)));
+
+    connect(aPropertyPanel, SIGNAL(noMoreWidgets(const std::string&)),
+            aReentranceMgr, SLOT(onNoMoreWidgets(const std::string&)));
+    connect(aPropertyPanel, SIGNAL(widgetActivated(ModuleBase_ModelWidget*)),
+            aReentranceMgr, SLOT(onWidgetActivated()));
   }
 
   XGUI_ViewerProxy* aViewerProxy = aWorkshop->viewer();
@@ -597,23 +637,23 @@ void PartSet_SketcherMgr::onApplicationStarted()
   connect(aContextMenuMgr, SIGNAL(afterContextMenu()), this, SLOT(onAfterContextMenu()));
 }
 
-void PartSet_SketcherMgr::onBeforeWidgetActivated(ModuleBase_ModelWidget* theWidget)
-{
-  if (!myClickedPoint.myIsInitialized)
-    return;
+//void PartSet_SketcherMgr::onBeforeWidgetActivated(ModuleBase_ModelWidget* theWidget)
+//{
+  //if (!myClickedPoint.myIsInitialized)
+  //  return;
 
-  ModuleBase_Operation* aOperation = getCurrentOperation();
+  //ModuleBase_Operation* aOperation = getCurrentOperation();
   // the distance constraint feature should not use the clickedd point
   // this is workaround in order to don't throw down the flyout point value,
   // set by execute() method of these type of features
-  if (isDistanceOperation(aOperation))
-    return;
+  //if (isDistanceOperation(aOperation))
+  //  return;
 
-  PartSet_WidgetPoint2D* aPnt2dWgt = dynamic_cast<PartSet_WidgetPoint2D*>(theWidget);
-  if (aPnt2dWgt) {
-    aPnt2dWgt->setPoint(myClickedPoint.myCurX, myClickedPoint.myCurY);
-  }
-}
+  //PartSet_WidgetPoint2D* aPnt2dWgt = dynamic_cast<PartSet_WidgetPoint2D*>(theWidget);
+  //if (aPnt2dWgt) {
+  //  aPnt2dWgt->setPoint(myClickedPoint.myCurX, myClickedPoint.myCurY);
+  //}
+//}
 
 void PartSet_SketcherMgr::onBeforeContextMenu()
 {
@@ -669,34 +709,15 @@ QString PartSet_SketcherMgr::getFeatureError(const FeaturePtr& theFeature)
     AttributeStringPtr aAttributeString = aSketch->string(SketchPlugin_Sketch::SOLVER_ERROR());
     anError = aAttributeString->value().c_str();
   }
-  else {
-    ModuleBase_ModelWidget* anActiveWidget = getActiveWidget();
-    if (anActiveWidget) {
-      ModuleBase_ModelWidget::ValueState aState = anActiveWidget->getValueState();
-      if (aState != ModuleBase_ModelWidget::Stored) {
-        AttributePtr anAttr = anActiveWidget->feature()->attribute(anActiveWidget->attributeID());
-        if (anAttr.get()) {
-          QString anAttributeName = anAttr->id().c_str();
-          switch (aState) {
-            case ModuleBase_ModelWidget::ModifiedInPP:
-              anError = "Attribute \"" + anAttributeName +
-                        "\" modification is not applyed. Please click \"Enter\" or \"Tab\".";
-              break;
-            case ModuleBase_ModelWidget::ModifiedInViewer:
-              anError = "Attribute \"" + anAttributeName +
-                        "\" is locked by modification value in the viewer.";
-              break;
-            case ModuleBase_ModelWidget::Reset:
-              anError = "Attribute \"" + anAttributeName + "\" is not initialized.";
-              break;
-          }
-        }
-      }
-    }
-  }
   return anError;
 }
 
+void PartSet_SketcherMgr::clearClickedFlags()
+{
+  //myClickedPoint.clear();
+  myCurrentPoint.clear();
+}
+
 const QStringList& PartSet_SketcherMgr::sketchOperationIdList()
 {
   static QStringList aIds;
@@ -763,6 +784,13 @@ bool PartSet_SketcherMgr::isNestedCreateOperation(ModuleBase_Operation* theOpera
   return aFOperation && !aFOperation->isEditOperation() && isNestedSketchOperation(aFOperation);
 }
 
+bool PartSet_SketcherMgr::isNestedEditOperation(ModuleBase_Operation* theOperation)
+{
+  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                                               (theOperation);
+  return aFOperation && aFOperation->isEditOperation() && isNestedSketchOperation(aFOperation);
+}
+
 bool PartSet_SketcherMgr::isEntity(const std::string& theId)
 {
   return (theId == SketchPlugin_Line::ID()) ||
@@ -793,6 +821,7 @@ void PartSet_SketcherMgr::startSketch(ModuleBase_Operation* theOperation)
   // Display all sketcher sub-Objects
   myCurrentSketch = std::dynamic_pointer_cast<ModelAPI_CompositeFeature>(aFOperation->feature());
   XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myModule->workshop());
+  aConnector->workshop()->displayer()->activateTrihedron(true);
 
   // Hide sketcher result
   std::list<ResultPtr> aResults = myCurrentSketch->results();
@@ -895,20 +924,32 @@ void PartSet_SketcherMgr::stopSketch(ModuleBase_Operation* theOperation)
   }
   // restore the module selection modes, which were changed on startSketch
   aConnector->activateModuleSelectionModes();
+  aConnector->workshop()->displayer()->activateTrihedron(false);
 }
 
 void PartSet_SketcherMgr::startNestedSketch(ModuleBase_Operation* theOperation)
 {
-  if (isNestedCreateOperation(theOperation) && myIsMouseOverWindow)
-    QApplication::setOverrideCursor(QCursor(Qt::CrossCursor));//QIcon(":pictures/button_plus.png").pixmap(20,20)));
+  if (canChangeCursor(theOperation) && myIsMouseOverWindow) {
+    QCursor* aCurrentCursor = QApplication::overrideCursor();
+    if (!aCurrentCursor || aCurrentCursor->shape() != Qt::CrossCursor) {
+      QApplication::setOverrideCursor(QCursor(Qt::CrossCursor));
+#ifdef DEBUG_CURSOR
+      qDebug("startNestedSketch() : Qt::CrossCursor");
+#endif
+    }
+  }
 }
 
-void PartSet_SketcherMgr::stopNestedSketch(ModuleBase_Operation* theOp)
+void PartSet_SketcherMgr::stopNestedSketch(ModuleBase_Operation* theOperation)
 {
   myIsMouseOverViewProcessed = true;
   operationMgr()->onValidateOperation();
-  if (isNestedCreateOperation(theOp))
+  if (canChangeCursor(theOperation)) {
     QApplication::restoreOverrideCursor();
+#ifdef DEBUG_CURSOR
+    qDebug("stopNestedSketch() : None");
+#endif
+  }
 }
 
 void PartSet_SketcherMgr::commitNestedSketch(ModuleBase_Operation* theOperation)
@@ -1040,6 +1081,12 @@ bool PartSet_SketcherMgr::canDisplayCurrentCreatedFeature() const
   return aCanDisplay;
 }
 
+bool PartSet_SketcherMgr::canChangeCursor(ModuleBase_Operation* theOperation) const
+{
+  return isNestedCreateOperation(theOperation) ||
+         myModule->sketchReentranceMgr()->isInternalEditActive();
+}
+
 bool PartSet_SketcherMgr::isObjectOfSketch(const ObjectPtr& theObject) const
 {
   bool isFoundObject = false;
@@ -1340,3 +1387,4 @@ XGUI_OperationMgr* PartSet_SketcherMgr::operationMgr() const
 
   return aWorkshop->operationMgr();
 }
+
index 577f9601d8a6006557fc23d42003e67a9f324566..5d31e7d4a1c3adebeac65e9e2ff16bf66bfde58f 100644 (file)
@@ -94,6 +94,11 @@ public:
   //// \return boolean value
   static bool isNestedCreateOperation(ModuleBase_Operation* theOperation);
 
+  /// Returns true if the operation is an edit nested feature one
+  /// \param theOperation a checked operation
+  //// \return boolean value
+  static bool isNestedEditOperation(ModuleBase_Operation* theOperation);
+
   /// Returns whether the current operation is a sketch entity - line, point, arc or circle
   /// \param theId is an id of object
   /// \return a boolean value
@@ -155,6 +160,10 @@ public:
   /// \return boolean result
   bool canDisplayCurrentCreatedFeature() const;
 
+  /// Returns true if the current operation is nested creation or internal reentrant edit
+  /// \param theOperation an operation
+  bool canChangeCursor(ModuleBase_Operation* theOperation) const;
+
   /// Returns state of constraints showing flag 
   bool isConstraintsShown() const { return myIsConstraintsShown; }
 
@@ -182,6 +191,9 @@ public:
   //! \return string value
   QString getFeatureError(const FeaturePtr& theFeature);
 
+  /// It nullify internal flags concerned to clicked mouse event
+  void clearClickedFlags();
+
   /// Returns list of strings which contains id's of sketch operations
   static const QStringList& sketchOperationIdList();
 
@@ -198,7 +210,7 @@ public:
   void connectToPropertyPanel(ModuleBase_ModelWidget* theWidget, const bool isToConnect);
 
   /// Visualize the operation feature if the previous state is modified value in property panel
-  /// \thePrevState the previous widget value state
+  /// \param thePreviousState the previous widget value state
   void widgetStateChanged(int thePreviousState);
 
 public slots:
@@ -225,7 +237,7 @@ private slots:
   void onMouseMoved(ModuleBase_IViewWindow*, QMouseEvent*);
   void onMouseDoubleClick(ModuleBase_IViewWindow*, QMouseEvent*);
   void onApplicationStarted();
-  void onBeforeWidgetActivated(ModuleBase_ModelWidget* theWidget);
+  //void onBeforeWidgetActivated(ModuleBase_ModelWidget* theWidget);
 
   void onBeforeContextMenu();
   void onAfterContextMenu();
@@ -305,7 +317,7 @@ private:
   bool myIsMouseOverViewProcessed; /// the state whether the over view state is processed by mouseMove method
   bool myIsPopupMenuActive; /// the state of the popup menu is shown
   Point myCurrentPoint;
-  Point myClickedPoint;
+  //Point myClickedPoint;
 
   CompositeFeaturePtr myCurrentSketch;
 
diff --git a/src/PartSet/PartSet_SketcherReetntrantMgr.cpp b/src/PartSet/PartSet_SketcherReetntrantMgr.cpp
new file mode 100755 (executable)
index 0000000..c749c93
--- /dev/null
@@ -0,0 +1,438 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+#include "PartSet_SketcherReetntrantMgr.h"
+#include "PartSet_Module.h"
+#include "PartSet_SketcherMgr.h"
+#include "PartSet_WidgetPoint2d.h"
+
+#include "ModelAPI_Session.h"
+
+#include <ModuleBase_IPropertyPanel.h>
+#include <ModuleBase_OperationFeature.h>
+#include <ModuleBase_ModelWidget.h>
+#include <ModuleBase_ViewerPrs.h>
+#include <ModuleBase_WidgetSelector.h>
+#include <ModuleBase_PageWidget.h>
+#include <ModuleBase_PageBase.h>
+#include <ModuleBase_WidgetFactory.h>
+#include <ModuleBase_OperationDescription.h>
+
+#include <SketchPlugin_Feature.h>
+#include <SketchPlugin_Line.h>
+
+#include <XGUI_Workshop.h>
+#include <XGUI_ModuleConnector.h>
+#include <XGUI_OperationMgr.h>
+#include <XGUI_PropertyPanel.h>
+
+PartSet_SketcherReetntrantMgr::PartSet_SketcherReetntrantMgr(ModuleBase_IWorkshop* theWorkshop)
+: QObject(theWorkshop),
+  myWorkshop(theWorkshop),
+  myRestartingMode(RM_None),
+  myIsFlagsBlocked(false),
+  myIsInternalEditOperation(false),
+  myNoMoreWidgetsAttribute("")
+{
+}
+
+PartSet_SketcherReetntrantMgr::~PartSet_SketcherReetntrantMgr()
+{
+}
+
+ModuleBase_ModelWidget* PartSet_SketcherReetntrantMgr::internalActiveWidget() const
+{
+  ModuleBase_ModelWidget* aWidget = 0;
+  if (!isActiveMgr())
+    return aWidget;
+
+  ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
+  if (aOperation) {
+    ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
+    ModuleBase_ModelWidget* anActiveWidget = aPanel->activeWidget();
+    if (myIsInternalEditOperation && (!anActiveWidget || !anActiveWidget->isViewerSelector()))
+      aWidget = myInternalActiveWidget;
+  }
+  return aWidget;
+}
+
+bool PartSet_SketcherReetntrantMgr::isInternalEditActive() const
+{
+  return myIsInternalEditOperation;
+}
+
+bool PartSet_SketcherReetntrantMgr::operationCommitted(ModuleBase_Operation* theOperation)
+{
+  bool aProcessed = false;
+  if (!isActiveMgr())
+    return aProcessed;
+
+  aProcessed = myIsInternalEditOperation;
+  resetFlags();
+
+  return aProcessed;
+}
+
+void PartSet_SketcherReetntrantMgr::operationStarted(ModuleBase_Operation* theOperation)
+{
+  if (!isActiveMgr())
+    return;
+
+  resetFlags();
+}
+
+void PartSet_SketcherReetntrantMgr::operationAborted(ModuleBase_Operation* theOperation)
+{
+  if (!isActiveMgr())
+    return;
+
+  resetFlags();
+}
+
+bool PartSet_SketcherReetntrantMgr::processMouseMoved(ModuleBase_IViewWindow* /* theWnd*/,
+                                                      QMouseEvent* /* theEvent*/)
+{
+  bool aProcessed = false;
+  if (!isActiveMgr())
+    return aProcessed;
+
+  if  (myIsInternalEditOperation) {
+    PartSet_WidgetPoint2D* aPoint2DWdg = dynamic_cast<PartSet_WidgetPoint2D*>(module()->activeWidget());
+    if (aPoint2DWdg && aPoint2DWdg->canBeActivatedByMove()) {
+      ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                                         (myWorkshop->currentOperation());
+      FeaturePtr aLastFeature = myRestartingMode == RM_LastFeatureUsed ? aFOperation->feature() : FeaturePtr();
+      restartOperation();
+      aProcessed = true;
+
+      if (aLastFeature) {
+        ModuleBase_IPropertyPanel* aPanel = myWorkshop->currentOperation()->propertyPanel();
+        PartSet_WidgetPoint2D* aPoint2DWdg = dynamic_cast<PartSet_WidgetPoint2D*>(aPanel->activeWidget());
+        if (aPoint2DWdg && aPoint2DWdg->canBeActivatedByMove()) {
+          QList<ModuleBase_ViewerPrs> aSelection;
+          aSelection.append(ModuleBase_ViewerPrs(aLastFeature, TopoDS_Shape(), NULL));
+          if (aPoint2DWdg->setSelection(aSelection, true))
+            aPanel->activateNextWidget(aPoint2DWdg);
+        }
+      }
+    }
+  }
+  return aProcessed;
+}
+
+bool PartSet_SketcherReetntrantMgr::processMousePressed(ModuleBase_IViewWindow* /* theWnd*/,
+                                                        QMouseEvent* /* theEvent*/)
+{
+  return isActiveMgr() && myIsInternalEditOperation;
+}
+
+bool PartSet_SketcherReetntrantMgr::processMouseReleased(ModuleBase_IViewWindow* theWnd,
+                                                         QMouseEvent* theEvent)
+{
+  bool aProcessed = false;
+  if (!isActiveMgr())
+    return aProcessed;
+
+  if (myIsInternalEditOperation) {
+    ModuleBase_Operation* anOperation = myWorkshop->currentOperation();
+    ModuleBase_IPropertyPanel* aPanel = anOperation->propertyPanel();
+
+    ModuleBase_ModelWidget* anActiveWidget = aPanel->activeWidget();
+    if (!anActiveWidget || !anActiveWidget->isViewerSelector()) {
+      restartOperation();
+      aProcessed = true;
+
+      // fill the first widget by the mouse event point
+      // if the active widget is not the first, it means that the restarted operation is filled by
+      // the current preselection.
+      PartSet_WidgetPoint2D* aPoint2DWdg = dynamic_cast<PartSet_WidgetPoint2D*>(module()->activeWidget());
+      ModuleBase_ModelWidget* aFirstWidget = aPanel->findFirstAcceptingValueWidget();
+      if (aPoint2DWdg && aPoint2DWdg == aFirstWidget) {
+        aPoint2DWdg->onMouseRelease(theWnd, theEvent);
+      }
+    }
+  }
+
+  return aProcessed;
+}
+
+void PartSet_SketcherReetntrantMgr::onWidgetActivated()
+{
+  if (!isActiveMgr())
+    return;
+  if (!myIsInternalEditOperation)
+    return;
+
+  PartSet_Module* aModule = module();
+  ModuleBase_ModelWidget* aFirstWidget = aModule->activeWidget();
+  ModuleBase_IPropertyPanel* aPanel = aModule->currentOperation()->propertyPanel();
+  if (aFirstWidget != aPanel->activeWidget()) {
+    ModuleBase_WidgetSelector* aWSelector = dynamic_cast<ModuleBase_WidgetSelector*>(aFirstWidget);
+    if (aWSelector)
+      aWSelector->activateSelectionAndFilters(true);
+  }
+}
+
+void PartSet_SketcherReetntrantMgr::onNoMoreWidgets(const std::string& thePreviousAttributeID)
+{
+  if (!isActiveMgr())
+    return;
+
+  // we should avoid processing of the signal about no more widgets attributes and 
+  // do this after the restart operaion is finished if it was called
+  // onNoMoreWidgets depends on myIsFlagsBlocked and fill myNoMoreWidgetsAttribute
+  // if it should be called after restart
+  if (myIsFlagsBlocked) {
+    myNoMoreWidgetsAttribute = thePreviousAttributeID;
+    return;
+  }
+
+  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                                       (myWorkshop->currentOperation());
+  if (!myWorkshop->module()->getFeatureError(aFOperation->feature()).isEmpty())
+    return;
+
+  if (aFOperation && PartSet_SketcherMgr::isNestedSketchOperation(aFOperation)) {
+    bool isStarted = false;
+    if (!module()->sketchMgr()->sketchSolverError()) {
+      if (myRestartingMode != RM_Forbided) {
+        myRestartingMode = RM_LastFeatureUsed;
+        isStarted = startInternalEdit(thePreviousAttributeID);
+      }
+    }
+    if (!isStarted)
+      aFOperation->commit();
+  }
+}
+
+bool PartSet_SketcherReetntrantMgr::processEnter(const std::string& thePreviousAttributeID)
+{
+  bool isDone = false;
+
+  if (!isActiveMgr())
+    return isDone;
+
+  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                                       (myWorkshop->currentOperation());
+  if (!myWorkshop->module()->getFeatureError(aFOperation->feature()).isEmpty())
+    return isDone;
+
+  bool isSketchSolverError = module()->sketchMgr()->sketchSolverError();
+  if (!isSketchSolverError) {
+    myRestartingMode = RM_EmptyFeatureUsed;
+    isDone = startInternalEdit(thePreviousAttributeID);
+  }
+
+  return isDone;
+}
+
+void PartSet_SketcherReetntrantMgr::onVertexSelected()
+{
+  if (!isActiveMgr())
+    return;
+
+  ModuleBase_Operation* aOperation = myWorkshop->currentOperation();
+  if (aOperation->id().toStdString() == SketchPlugin_Line::ID()) {
+    /// If last line finished on vertex the lines creation sequence has to be break
+    ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
+    ModuleBase_ModelWidget* anActiveWidget = aPanel->activeWidget();
+    const QList<ModuleBase_ModelWidget*>& aWidgets = aPanel->modelWidgets();
+    QList<ModuleBase_ModelWidget*>::const_iterator anIt = aWidgets.begin(), aLast = aWidgets.end();
+    bool aFoundWidget = false;
+    bool aFoundObligatory = false;
+    for (; anIt != aLast && !aFoundObligatory; anIt++) {
+      if (!aFoundWidget)
+        aFoundWidget = *anIt == anActiveWidget;
+      else
+        aFoundObligatory = (*anIt)->isObligatory();
+    }
+    if (!aFoundObligatory)
+      myRestartingMode = RM_Forbided;
+  }
+}
+
+void PartSet_SketcherReetntrantMgr::onBeforeStopped()
+{
+  if (!isActiveMgr() || !myIsInternalEditOperation)
+    return;
+
+  beforeStopInternalEdit();
+}
+
+bool PartSet_SketcherReetntrantMgr::canBeCommittedByPreselection()
+{
+  return !isActiveMgr() || myRestartingMode == RM_None;
+}
+
+bool PartSet_SketcherReetntrantMgr::isActiveMgr() const
+{
+  ModuleBase_Operation* aCurrentOperation = myWorkshop->currentOperation();
+
+  bool anActive = PartSet_SketcherMgr::isSketchOperation(aCurrentOperation);
+  if (!anActive) {
+    anActive = PartSet_SketcherMgr::isNestedSketchOperation(aCurrentOperation);
+    if (anActive) { // the manager is not active when the current operation is a usual Edit
+      ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                                       (myWorkshop->currentOperation());
+      if (aFOperation->isEditOperation())
+        anActive = myIsInternalEditOperation;
+    }
+  }
+  return anActive;
+}
+
+bool PartSet_SketcherReetntrantMgr::startInternalEdit(const std::string& thePreviousAttributeID)
+{
+  bool isDone = false;
+  /// this is workaround for ModuleBase_WidgetEditor, used in SALOME mode. Sometimes key enter
+  /// event comes two times, so we should not start another internal edit operation
+  /// the Apply button becomes disabled becase the second additional internal feature is created
+  if (myIsInternalEditOperation)
+    return true;
+
+  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                                     (myWorkshop->currentOperation());
+
+  if (aFOperation && PartSet_SketcherMgr::isNestedSketchOperation(aFOperation)) {
+    aFOperation->setEditOperation(false);
+    workshop()->operationMgr()->updateApplyOfOperations();
+
+    createInternalFeature();
+
+    myIsInternalEditOperation = true;
+    isDone = true;
+    connect(aFOperation, SIGNAL(beforeCommitted()), this, SLOT(onBeforeStopped()));
+    connect(aFOperation, SIGNAL(beforeAborted()), this, SLOT(onBeforeStopped()));
+
+    // activate selection filters of the first widget in the viewer
+    onWidgetActivated();
+
+    // activate the last active widget in the Property Panel
+    if (!thePreviousAttributeID.empty()) {
+      ModuleBase_Operation* anEditOperation = module()->currentOperation();
+      if (anEditOperation) {
+        ModuleBase_IPropertyPanel* aPanel = aFOperation->propertyPanel();
+        ModuleBase_ModelWidget* aPreviousAttributeWidget = 0;
+        QList<ModuleBase_ModelWidget*> aWidgets = aPanel->modelWidgets();
+        for (int i = 0, aNb = aWidgets.size(); i < aNb && !aPreviousAttributeWidget; i++) {
+          if (aWidgets[i]->attributeID() == thePreviousAttributeID)
+            aPreviousAttributeWidget = aWidgets[i];
+        }
+        // If the current widget is a selector, do nothing, it processes the mouse press
+        if (aPreviousAttributeWidget && !aPreviousAttributeWidget->isViewerSelector()) {
+          aPreviousAttributeWidget->focusTo();
+          aPreviousAttributeWidget->selectContent();
+        }
+      }
+    }
+  }
+  if (isDone)
+    module()->sketchMgr()->clearClickedFlags();
+
+  return isDone;
+}
+
+void PartSet_SketcherReetntrantMgr::beforeStopInternalEdit()
+{
+  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                                      (myWorkshop->currentOperation());
+  if (aFOperation) {
+    disconnect(aFOperation, SIGNAL(beforeCommitted()), this, SLOT(onBeforeStopped()));
+    disconnect(aFOperation, SIGNAL(beforeAborted()), this, SLOT(onBeforeStopped()));
+  }
+
+  deleteInternalFeature();
+}
+
+void PartSet_SketcherReetntrantMgr::restartOperation()
+{
+  if (myIsInternalEditOperation) {
+    ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>(
+                                                                  myWorkshop->currentOperation());
+    if (aFOperation) {
+      myNoMoreWidgetsAttribute = "";
+      myIsFlagsBlocked = true;
+      aFOperation->commit();
+      module()->launchOperation(aFOperation->id());
+      myIsFlagsBlocked = false;
+      resetFlags();
+      // we should avoid processing of the signal about no more widgets attributes and 
+      // do this after the restart operaion is finished if it was called
+      // onNoMoreWidgets depends on myIsFlagsBlocked and fill myNoMoreWidgetsAttribute
+      // if it should be called after restart
+      if (!myNoMoreWidgetsAttribute.empty()) {
+        onNoMoreWidgets(myNoMoreWidgetsAttribute);
+        myNoMoreWidgetsAttribute = "";
+      }
+    }
+  }
+}
+
+void PartSet_SketcherReetntrantMgr::createInternalFeature()
+{
+  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                                     (myWorkshop->currentOperation());
+
+  if (aFOperation && PartSet_SketcherMgr::isNestedSketchOperation(aFOperation)) {
+    FeaturePtr anOperationFeature = aFOperation->feature();
+
+    CompositeFeaturePtr aSketch = module()->sketchMgr()->activeSketch();
+    myInternalFeature = aSketch->addFeature(anOperationFeature->getKind());
+    XGUI_PropertyPanel* aPropertyPanel = dynamic_cast<XGUI_PropertyPanel*>
+                                                  (aFOperation->propertyPanel());
+
+    myInternalWidget = new QWidget(aPropertyPanel->contentWidget()->pageWidget());
+    myInternalWidget->setVisible(false);
+
+    ModuleBase_PageWidget* anInternalPage = new ModuleBase_PageWidget(myInternalWidget);
+
+    QString aXmlRepr = aFOperation->getDescription()->xmlRepresentation();
+    ModuleBase_WidgetFactory aFactory(aXmlRepr.toStdString(), myWorkshop);
+
+    aFactory.createWidget(anInternalPage);
+    QList<ModuleBase_ModelWidget*> aWidgets = aFactory.getModelWidgets();
+
+    foreach (ModuleBase_ModelWidget* aWidget, aWidgets) {
+      aWidget->setFeature(myInternalFeature, true);
+    }
+    ModuleBase_ModelWidget* aFirstWidget = ModuleBase_IPropertyPanel::findFirstAcceptingValueWidget
+                                                                                        (aWidgets);
+    if (aFirstWidget)
+      myInternalActiveWidget = aFirstWidget;
+  }
+}
+
+void PartSet_SketcherReetntrantMgr::deleteInternalFeature()
+{
+  if (myInternalActiveWidget) {
+    ModuleBase_WidgetSelector* aWSelector = dynamic_cast<ModuleBase_WidgetSelector*>(myInternalActiveWidget);
+    if (aWSelector)
+      aWSelector->activateSelectionAndFilters(false);
+    myInternalActiveWidget = 0;
+  }
+  delete myInternalWidget;
+  myInternalWidget = 0;
+
+  QObjectPtrList anObjects;
+  anObjects.append(myInternalFeature);
+  workshop()->deleteFeatures(anObjects);
+}
+
+void PartSet_SketcherReetntrantMgr::resetFlags()
+{
+  if (!myIsFlagsBlocked) {
+    myIsInternalEditOperation = false;
+    myRestartingMode = RM_None;
+  }
+}
+
+XGUI_Workshop* PartSet_SketcherReetntrantMgr::workshop() const
+{
+  XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
+  return aConnector->workshop();
+}
+
+PartSet_Module* PartSet_SketcherReetntrantMgr::module() const
+{
+  return dynamic_cast<PartSet_Module*>(myWorkshop->module());
+}
+
diff --git a/src/PartSet/PartSet_SketcherReetntrantMgr.h b/src/PartSet/PartSet_SketcherReetntrantMgr.h
new file mode 100755 (executable)
index 0000000..ebdb0eb
--- /dev/null
@@ -0,0 +1,161 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+#ifndef PartSet_SketcherReetntrantMgr_H
+#define PartSet_SketcherReetntrantMgr_H
+
+#include "PartSet.h"
+
+#include <ModelAPI_Feature.h>
+
+#include <string>
+
+#include <QObject>
+
+class ModuleBase_IWorkshop;
+class ModuleBase_Operation;
+class ModuleBase_ModelWidget;
+class ModuleBase_IViewWindow;
+
+class QMouseEvent;
+
+class XGUI_Workshop;
+class PartSet_Module;
+
+/// \ingroup PartSet_SketcherReetntrantMgr
+/// It provides reentrant create operations in sketch, that is when all inputs are valid,
+/// automatic validation of the creation and switch the created entity to edit mode
+/// ('internal' edit operation), with the ability to simultaneously create the next entity
+/// of same type (re-entrance of the operation).
+/// OK valids the current edition and exits from the operation (no re-entrance).
+/// Cancel removes (undo) the entity currently edited and exits from the operation (no re-entrance).
+class PARTSET_EXPORT PartSet_SketcherReetntrantMgr : public QObject
+{
+Q_OBJECT
+
+/// Enumeration to specify the restart operation properties.
+enum RestartingMode {
+  RM_None, /// the operation should not be restarted
+  RM_Forbided, /// the operation should not be restarted after there is no active widget
+  RM_LastFeatureUsed, /// the operation is restarted and use the previous feature for own initialization
+  RM_EmptyFeatureUsed /// the operation is restarted and does not use the previous feature
+};
+
+public:
+  /// Constructor
+  /// \param theParent a parent object
+  PartSet_SketcherReetntrantMgr(ModuleBase_IWorkshop* theWorkshop);
+  virtual ~PartSet_SketcherReetntrantMgr();
+
+public:
+  /// Returns a first widget of the current opeation if the internal edit operation is active
+  /// or return null. If the current widget of the operation is a viewer selector, it returns null.
+  ModuleBase_ModelWidget* internalActiveWidget() const;
+
+  /// Return true if the current edit operation is an internal
+  bool isInternalEditActive() const;
+
+  /// if the internal flags allow it and the manager is active, it starts an internal edit operation
+  /// for the created operation.
+  /// \param thePreviousAttributeID an index of the previous active attribute
+  //bool restartOperation(const std::string& thePreviousAttributeID);
+  bool processEnter(const std::string& thePreviousAttributeID);
+
+  /// Resets the internal flags
+  /// \param theOperation a started operation
+  void operationStarted(ModuleBase_Operation* theOperation);
+
+  /// Resets the internal flags
+  /// \param theOperation a started operation
+  /// \return state whether the internal edit operation was active
+  bool operationCommitted(ModuleBase_Operation* theOperation);
+
+  /// Resets the internal flags
+  /// \param theOperation a started operation
+  void operationAborted(ModuleBase_Operation* theOperation);
+
+  /// Return true if the manager processes the mouse move event
+  /// It happens if the current operation is an internal edit operation and the first
+  /// control can be filled by the mouse move event. The operation is restarted.
+  /// \return true if operation is committed.
+  bool processMouseMoved(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
+  /// Return true if the manager processes the mouse press event
+  /// \return true if the current operation is an internal edit operation.
+  bool processMousePressed(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
+  /// Return true if the manager processes the mouse enter event
+  /// It happens if the current operation is an internal edit operation.
+  /// The operation is restarted. If the first widget of the started operation is
+  /// the point 2d, it processes this mouse event
+  /// \return true if operation is committed.
+  bool processMouseReleased(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
+
+  /// It is called by the current operation filling with the preselection.
+  /// Returns false if the reentrant mode of the operation is not empty.
+  bool canBeCommittedByPreselection();
+
+private slots:
+  /// SLOT, that is called by a widget activating in the property panel
+  /// If the 'internal' edit operation is started, it activates the first widget selection
+  void onWidgetActivated();
+
+  /// SLOT, that is called by no more widget signal emitted by property panel
+  /// Start an internal edit operation or, if the internal flag is forbided, commits
+  /// the current operation
+  /// \param thePreviousAttributeID an index of the previous active attribute
+  void onNoMoreWidgets(const std::string& thePreviousAttributeID);
+
+  /// Processing of vertex selected. Set an internal reentrant flag to forbiddent state if
+  /// the current feature is a line and there are not obligate widgets anymore
+  void onVertexSelected();
+
+  /// Deactivates selection and filters of the first operation widget if it is an internal
+  /// 'edit' operation
+  void onBeforeStopped();
+
+private:
+  /// Returns true if the current operation is a sketch or a nested sketch operation
+  bool isActiveMgr() const;
+
+  /// Sets the focus to the last control of the property panel and activates selection
+  /// of the first widget to can select first value of the next create operation
+  /// \param thePreviousAttributeID an index of the previous attribute to set focus to this widget
+  /// \return true if it is started
+  bool startInternalEdit(const std::string& thePreviousAttributeID);
+
+  /// Disconnects this manager from operation signals, deactivate selection of the first control
+  /// in the viewer.
+  void beforeStopInternalEdit();
+
+  /// Commits the current operation and launches a new with the commited operation feature index
+  void restartOperation();
+
+  /// Creates an internal feature and controls to process it
+  void createInternalFeature();
+
+  /// A pair method for an internal creation to remove it and clear all created controls
+  void deleteInternalFeature();
+
+  /// Breaks sequense of automatically resterted operations
+  void resetFlags();
+
+  /// Returns the workshop
+  XGUI_Workshop* workshop() const;
+
+  /// Returns the workshop module
+  PartSet_Module* module() const;
+
+private:
+  ModuleBase_IWorkshop* myWorkshop; /// the workshop
+
+  RestartingMode myRestartingMode;  /// automatical restarting mode flag
+  bool myIsFlagsBlocked; /// true when reset of flags should not be perfromed
+  bool myIsInternalEditOperation; /// true when the 'internal' edit is started
+
+  FeaturePtr myInternalFeature;
+  QWidget* myInternalWidget;
+  ModuleBase_ModelWidget* myInternalActiveWidget;
+  std::string myNoMoreWidgetsAttribute;
+};
+
+#endif
index 57df4e0032216effdd48ec53d3f34061b4a73ba9..f9dfb6c0b4bb4b847906bd3207bafa9586045eb6 100755 (executable)
@@ -431,12 +431,44 @@ ResultPtr PartSet_Tools::createFixedObjectByExternal(const TopoDS_Shape& theShap
 
     Handle(Geom_Curve) aCurve = BRep_Tool::Curve(TopoDS::Edge(theShape), aStart, aEnd);
     GeomAdaptor_Curve aAdaptor(aCurve);
+    std::shared_ptr<GeomAPI_Edge> anEdge = std::shared_ptr<GeomAPI_Edge>(new GeomAPI_Edge);
+    anEdge->setImpl(new TopoDS_Shape(theShape));
     if (aAdaptor.GetType() == GeomAbs_Line) {
       // Create line
       aMyFeature = theSketch->addFeature(SketchPlugin_Line::ID());
+      if (!theObject.get()) {
+        // There is no selected result
+        std::shared_ptr<GeomAPI_Pnt> aPnt1 = anEdge->firstPoint();
+        std::shared_ptr<GeomAPI_Pnt> aPnt2 = anEdge->lastPoint();
+        std::shared_ptr<GeomAPI_Pnt2d> aPnt2d1 = convertTo2D(theSketch, aPnt1);
+        std::shared_ptr<GeomAPI_Pnt2d> aPnt2d2 = convertTo2D(theSketch, aPnt2);
+
+        std::shared_ptr<ModelAPI_Data> aData = aMyFeature->data();
+        std::shared_ptr<GeomDataAPI_Point2D> aPoint1 = 
+          std::dynamic_pointer_cast<GeomDataAPI_Point2D>(aData->attribute(SketchPlugin_Line::START_ID()));
+        std::shared_ptr<GeomDataAPI_Point2D> aPoint2 = 
+          std::dynamic_pointer_cast<GeomDataAPI_Point2D>(aData->attribute(SketchPlugin_Line::END_ID()));
+
+        aPoint1->setValue(aPnt2d1);
+        aPoint2->setValue(aPnt2d2);
+
+        // If this is an axis then its name has to be changed correspondently
+        std::string aSuffix = "";
+        bool aXdir = fabs(aPnt1->x() - aPnt2->x()) > Precision::Confusion();
+        bool aYdir = fabs(aPnt1->y() - aPnt2->y()) > Precision::Confusion();
+        bool aZdir = fabs(aPnt1->z() - aPnt2->z()) > Precision::Confusion();
+        if (aXdir && (!aYdir) && (!aZdir))
+          aSuffix = "X";
+        else if ((!aXdir) && aYdir && (!aZdir))
+          aSuffix = "Y";
+        else if ((!aXdir) && (!aYdir) && aZdir)
+          aSuffix = "Z";
+        if (aSuffix.length() > 0)
+          aData->setName("Axis_" + aSuffix);
+        aMyFeature->execute();
+
+      }
     } else if (aAdaptor.GetType() == GeomAbs_Circle) {
-      std::shared_ptr<GeomAPI_Edge> anEdge = std::shared_ptr<GeomAPI_Edge>(new GeomAPI_Edge);
-      anEdge->setImpl(new TopoDS_Shape(theShape));
       if (anEdge->isArc()) {
         // Create arc
         aMyFeature = theSketch->addFeature(SketchPlugin_Arc::ID());
@@ -453,7 +485,10 @@ ResultPtr PartSet_Tools::createFixedObjectByExternal(const TopoDS_Shape& theShap
         (aData->attribute(SketchPlugin_SketchEntity::EXTERNAL_ID()));
 
       ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(theObject);
-      if (anAttr && aRes) {
+      if (!aRes.get()) {
+        aRes = aMyFeature->firstResult();
+      }
+      if (anAttr.get() && aRes.get()) {
         std::shared_ptr<GeomAPI_Shape> anEdge(new GeomAPI_Shape);
         anEdge->setImpl(new TopoDS_Shape(theShape));
 
@@ -480,7 +515,29 @@ ResultPtr PartSet_Tools::createFixedObjectByExternal(const TopoDS_Shape& theShap
         (aData->attribute(SketchPlugin_SketchEntity::EXTERNAL_ID()));
 
       ResultPtr aRes = std::dynamic_pointer_cast<ModelAPI_Result>(theObject);
-      if (anAttr && aRes) {
+      if (!aRes.get()) {
+        // If the point is selected not from Result object
+        std::shared_ptr<GeomAPI_Shape> aShape = 
+          std::shared_ptr<GeomAPI_Shape>(new GeomAPI_Shape());
+        aShape->setImpl(new TopoDS_Shape(theShape));
+
+        std::shared_ptr<GeomAPI_Vertex> aVertex = 
+          std::shared_ptr<GeomAPI_Vertex>(new GeomAPI_Vertex(aShape));
+        std::shared_ptr<GeomAPI_Pnt> aPnt = aVertex->point();
+
+        std::shared_ptr<GeomAPI_Pnt2d> aPnt2d = convertTo2D(theSketch, aPnt);
+        std::shared_ptr<GeomDataAPI_Point2D> aPoint = 
+          std::dynamic_pointer_cast<GeomDataAPI_Point2D>(aData->attribute(SketchPlugin_Point::COORD_ID()));
+        aPoint->setValue(aPnt2d);
+        if ((aPnt->x() < Precision::Confusion()) && 
+            (aPnt->y() < Precision::Confusion()) &&
+            (aPnt->z() < Precision::Confusion()))
+          aData->setName("Origin");
+
+        aMyFeature->execute();
+        aRes = aMyFeature->firstResult();
+      }
+      if (anAttr.get() && aRes.get()) {
         std::shared_ptr<GeomAPI_Shape> aVert(new GeomAPI_Shape);
         aVert->setImpl(new TopoDS_Shape(theShape));
 
@@ -671,6 +728,35 @@ std::shared_ptr<GeomAPI_Pnt2d> PartSet_Tools::getPoint(std::shared_ptr<ModelAPI_
   return std::shared_ptr<GeomAPI_Pnt2d>();
 }
 
+FeaturePtr PartSet_Tools::findFirstCoincidence(const FeaturePtr& theFeature,
+                                               std::shared_ptr<GeomAPI_Pnt2d> thePoint)
+{
+  FeaturePtr aCoincident;
+
+  const std::set<AttributePtr>& aRefsList = theFeature->data()->refsToMe();
+  std::set<AttributePtr>::const_iterator aIt;
+  for (aIt = aRefsList.cbegin(); aIt != aRefsList.cend(); ++aIt) {
+    std::shared_ptr<ModelAPI_Attribute> aAttr = (*aIt);
+    FeaturePtr aConstrFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(aAttr->owner());
+    if (aConstrFeature->getKind() == SketchPlugin_ConstraintCoincidence::ID()) { 
+      std::shared_ptr<GeomAPI_Pnt2d> a2dPnt = 
+        PartSet_Tools::getPoint(aConstrFeature, SketchPlugin_ConstraintCoincidence::ENTITY_A());
+      if (a2dPnt.get() && thePoint->isEqual(a2dPnt)) { 
+        aCoincident = aConstrFeature;
+        break;
+      } else {
+        a2dPnt = PartSet_Tools::getPoint(aConstrFeature,
+                                          SketchPlugin_ConstraintCoincidence::ENTITY_B());
+        if (a2dPnt.get() && thePoint->isEqual(a2dPnt)) { 
+          aCoincident = aConstrFeature;
+          break;
+        }
+      }
+    }
+  }
+  return aCoincident;
+}
+
 void PartSet_Tools::findCoincidences(FeaturePtr theStartCoin, QList<FeaturePtr>& theList,
                                      std::string theAttr)
 {
index 438135840c698b4fcb7aac3faefe039fa99d38fd..195de10b5f74e976c244a721d36a37559771d38c 100755 (executable)
@@ -199,6 +199,15 @@ class PARTSET_EXPORT PartSet_Tools
   static std::shared_ptr<GeomAPI_Pnt2d> getPoint(std::shared_ptr<ModelAPI_Feature>& theFeature,
                                                  const std::string& theAttribute);
 
+  /**
+  * Gets all references to the feature, take coincidence constraint features, get point 2d attributes
+  * and compare the point value to be equal with the given. Returns the first feature, which has
+  * equal points.
+  * \return the coincidence feature or null
+  */
+  static FeaturePtr findFirstCoincidence(const FeaturePtr& theFeature,
+                                         std::shared_ptr<GeomAPI_Pnt2d> thePoint);
+
   /**
   * Returns list of features connected in a councedence feature point
   * \param theStartCoin the coincidence feature
index a53eb3596cd4e314138db36954cac113726a9ca7..acb34da8f2403f30cc883df4703c005011d764dc 100755 (executable)
@@ -7,6 +7,7 @@
 #include "PartSet_Validators.h"
 
 #include "PartSet_Tools.h"
+#include "PartSet_SketcherMgr.h"
 
 #include <TopoDS.hxx>
 #include <TopoDS_Edge.hxx>
@@ -92,14 +93,21 @@ std::shared_ptr<GeomAPI_Pln> sketcherPlane(ModuleBase_Operation* theOperation)
 bool isEmptySelectionValid(ModuleBase_Operation* theOperation)
 {
   ModuleBase_OperationFeature* aFeatureOp = dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
+  // during the create operation empty selection is always valid
   if (!aFeatureOp->isEditOperation()) {
     return true;
   }
-  std::shared_ptr<GeomAPI_Pln> aPlane = sketcherPlane(theOperation);
-  if (aPlane.get())
-    return true;
-  else 
-    return false;
+  else {
+    if (PartSet_SketcherMgr::isSketchOperation(aFeatureOp)) {
+      std::shared_ptr<GeomAPI_Pln> aPlane = sketcherPlane(theOperation);
+      if (aPlane.get())
+        return true;
+      else 
+        return false;
+    }
+    else// in edit operation an empty selection is always valid, performed for re-entrant operrations
+      return true;
+  }
 }
 
 bool PartSet_DistanceSelection::isValid(const ModuleBase_ISelection* theSelection, ModuleBase_Operation* theOperation) const
@@ -542,6 +550,21 @@ bool PartSet_SketchEntityValidator::isValid(const AttributePtr& theAttribute,
       }
     }
   }
+  if (anAttributeType == ModelAPI_AttributeSelection::typeId()) {
+    AttributeSelectionPtr aSelectAttr = 
+                      std::dynamic_pointer_cast<ModelAPI_AttributeSelection>(theAttribute);
+    ObjectPtr anObject = aSelectAttr->context();
+    // a context of the selection attribute is a feature result. It can be a case when the result
+    // of the feature is null, e.g. the feature is modified and has not been executed yet.
+    // The validator returns an invalid result here. The case is an extrusion built on a sketch
+    // feature. A new sketch element creation leads to an empty result.
+    if (!anObject.get())
+      isSketchEntities = false;
+    else {
+      FeaturePtr aFeature = ModelAPI_Feature::feature(anObject);
+      isSketchEntities = anEntityKinds.find(aFeature->getKind()) != anEntityKinds.end();
+    }
+  }
   if (anAttributeType == ModelAPI_AttributeRefList::typeId()) {
     AttributeRefListPtr aRefListAttr =
       std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(theAttribute);
diff --git a/src/PartSet/PartSet_WidgetChoice.h b/src/PartSet/PartSet_WidgetChoice.h
new file mode 100644 (file)
index 0000000..6b5e965
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+// File:        PartSet_WidgetChoice.h
+// Created:     17 Nov 2015
+// Author:      Vitaly Smetannikov
+
+#ifndef PartSet_WidgetChoice_H
+#define PartSet_WidgetChoice_H
+
+#include "PartSet.h"
+#include <ModuleBase_WidgetChoice.h>
+
+/**
+* \ingroup GUI
+* Implementation of a proxy of choice widget in order to geat access to it on moment 
+* of creation in module
+*/
+class PARTSET_EXPORT PartSet_WidgetChoice : public ModuleBase_WidgetChoice
+{
+Q_OBJECT
+ public:
+  /// Constructor
+  /// \param theParent the parent object
+  /// \param theData the widget configuation. The attribute of the model widget is obtained from
+  /// \param theParentId is Id of a parent of the current attribute
+  PartSet_WidgetChoice(QWidget* theParent, const Config_WidgetAPI* theData, 
+    const std::string& theParentId) 
+    : ModuleBase_WidgetChoice(theParent, theData, theParentId) {}
+};
+
+#endif
\ No newline at end of file
index 4857863b5ea31d1f905187ffcb0a67fad13d6ac7..d0a129aba01b49031ea569c398776a79f3683fb8 100644 (file)
@@ -23,7 +23,7 @@ PartSet_WidgetEditor::PartSet_WidgetEditor(QWidget* theParent, ModuleBase_IWorks
 bool PartSet_WidgetEditor::focusTo()
 {
   PartSet_Module* aModule = dynamic_cast<PartSet_Module*>(myWorkshop->module());
-  if (aModule->isMouseOverWindow())
+  if (aModule->isMouseOverWindow() && !isEditingMode())
     return ModuleBase_WidgetEditor::focusTo();
   else {
     return ModuleBase_WidgetDoubleValue::focusTo();
index 66a67efc418a917d2d4085aa1e9ad7452db47f02..cd2de7748ade60db1913cc78a28f4686b8588d0a 100644 (file)
@@ -133,21 +133,45 @@ PartSet_WidgetPoint2D::~PartSet_WidgetPoint2D()
 bool PartSet_WidgetPoint2D::setSelection(QList<ModuleBase_ViewerPrs>& theValues,
                                          const bool theToValidate)
 {
+  bool isDone = false;
   if (theValues.empty())
-    return false;
+    return isDone;
 
   ModuleBase_ViewerPrs aValue = theValues.takeFirst();
-
-  Handle(V3d_View) aView = myWorkshop->viewer()->activeView();
-  bool isDone = false;
   TopoDS_Shape aShape = aValue.shape();
-  double aX, aY;
-  if (getPoint2d(aView, aShape, aX, aY)) {
-    isDone = setPoint(aX, aY);
+  if (!aShape.IsNull()) {
+    Handle(V3d_View) aView = myWorkshop->viewer()->activeView();
+    double aX, aY;
+    if (getPoint2d(aView, aShape, aX, aY)) {
+      isDone = setPoint(aX, aY);
+    }
+  }
+  else if (canBeActivatedByMove()) {
+    if (feature()->getKind() == SketchPlugin_Line::ID()) {
+      FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(aValue.object());
+      // Initialise new line with first point equal to end of previous
+      if (aFeature.get()) {
+        std::shared_ptr<ModelAPI_Data> aData = aFeature->data();
+        std::shared_ptr<GeomDataAPI_Point2D> aPoint = 
+          std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+                                       aData->attribute(SketchPlugin_Line::END_ID()));
+        if (aPoint) {
+          setPoint(aPoint->x(), aPoint->y());
+          PartSet_Tools::setConstraints(mySketch, feature(), attributeID(), aPoint->x(),
+                                        aPoint->y());
+          isDone = true;
+        }
+      }
+    }
   }
   return isDone;
 }
 
+void PartSet_WidgetPoint2D::selectContent()
+{
+  myXSpin->selectAll();
+}
+
 bool PartSet_WidgetPoint2D::setPoint(double theX, double theY)
 {
   if (fabs(theX) >= MaxCoordinate)
@@ -250,8 +274,26 @@ void PartSet_WidgetPoint2D::activateCustom()
   myWorkshop->activateSubShapesSelection(aModes);
 }
 
+bool PartSet_WidgetPoint2D::canBeActivatedByMove()
+{
+  bool aCanBeActivated = false;
+  if (feature()->getKind() == SketchPlugin_Line::ID() &&
+      attributeID() == SketchPlugin_Line::START_ID())
+    aCanBeActivated = true;
+
+  return aCanBeActivated;
+}
+
 void PartSet_WidgetPoint2D::deactivate()
 {
+  // the value of the control should be stored to model if it was not
+  // initialized yet. It is important when we leave this control by Tab key.
+  // It should not be performed by the widget activation as the preview
+  // is visualized with default value. Line point is moved to origin.
+  AttributePtr anAttribute = myFeature->data()->attribute(attributeID());
+  if (anAttribute && !anAttribute->isInitialized())
+    storeValue();
+
   ModuleBase_ModelWidget::deactivate();
   ModuleBase_IViewer* aViewer = myWorkshop->viewer();
   disconnect(aViewer, SIGNAL(mouseMove(ModuleBase_IViewWindow*, QMouseEvent*)),
@@ -318,9 +360,9 @@ void PartSet_WidgetPoint2D::onMouseRelease(ModuleBase_IViewWindow* theWnd, QMous
     ObjectPtr aObject = aObjects.front();
     FeaturePtr aSelectedFeature = ModelAPI_Feature::feature(aObject);
     bool anExternal = false;
-    if (aSelectedFeature.get() != NULL) {
-      std::shared_ptr<SketchPlugin_Feature> aSPFeature = 
-              std::dynamic_pointer_cast<SketchPlugin_Feature>(aSelectedFeature);
+      std::shared_ptr<SketchPlugin_Feature> aSPFeature;
+      if (aSelectedFeature.get() != NULL)
+        aSPFeature = std::dynamic_pointer_cast<SketchPlugin_Feature>(aSelectedFeature);
       if ((!aSPFeature) && (!aShape.IsNull())) {
         anExternal = true;
         ResultPtr aFixedObject = PartSet_Tools::findFixedObjectByExternal(aShape, aObject, mySketch);
@@ -336,12 +378,13 @@ void PartSet_WidgetPoint2D::onMouseRelease(ModuleBase_IViewWindow* theWnd, QMous
         else {
           if (getPoint2d(aView, aShape, aX, aY))
             setPoint(aX, aY);
+          bool anOrphanPoint = isOrphanPoint(aSelectedFeature, mySketch, aX, aY);
           setConstraintWith(aObject);
-          emit vertexSelected();
+          if (!anOrphanPoint)
+            emit vertexSelected();
           emit focusOutWidget(this);
         }
       }
-    }
     if (!anExternal) {
       double aX, aY;
       bool isProcessed = false;
@@ -351,6 +394,7 @@ void PartSet_WidgetPoint2D::onMouseRelease(ModuleBase_IViewWindow* theWnd, QMous
         setPoint(aX, aY);
       }
       else {
+        bool anOrphanPoint = isOrphanPoint(aSelectedFeature, mySketch, aX, aY);
         // do not set a coincidence constraint in the attribute if the feature contains a point
         // with the same coordinates. It is important for line creation in order to do not set
         // the same constraints for the same points, oterwise the result line has zero length.
@@ -369,7 +413,8 @@ void PartSet_WidgetPoint2D::onMouseRelease(ModuleBase_IViewWindow* theWnd, QMous
         // points of the line becomes less than the tolerance. Validator of the line returns
         // false, the line will be aborted, but sketch stays valid.
         updateObject(feature());
-        emit vertexSelected();
+        if (!anOrphanPoint)
+          emit vertexSelected();
         emit focusOutWidget(this);
       }
     }
@@ -436,6 +481,10 @@ bool PartSet_WidgetPoint2D::isFeatureContainsPoint(const FeaturePtr& theFeature,
                                                    double theX, double theY)
 {
   bool aPointIsFound = false;
+
+  if (feature()->getKind() != SketchPlugin_Line::ID())
+    return aPointIsFound;
+
   AttributePtr aWidgetAttribute = myFeature->attribute(attributeID());
 
   std::shared_ptr<GeomAPI_Pnt2d> aPnt2d = 
@@ -455,6 +504,10 @@ bool PartSet_WidgetPoint2D::isFeatureContainsPoint(const FeaturePtr& theFeature,
   return aPointIsFound;
 }
 
+void PartSet_WidgetPoint2D::initializeValueByActivate()
+{
+}
+
 /*void PartSet_WidgetPoint2D::onValuesChanged()
 {
   emit valuesChanged();
@@ -462,13 +515,14 @@ bool PartSet_WidgetPoint2D::isFeatureContainsPoint(const FeaturePtr& theFeature,
 
 bool PartSet_WidgetPoint2D::processEnter()
 {
-  bool isModified = myXSpin->isModified() || myYSpin->isModified();
+  //bool isModified = myXSpin->isModified() || myYSpin->isModified();
+  bool isModified = getValueState() == ModifiedInPP;
   if (isModified) {
-    bool isXModified = myXSpin->isModified();
+    bool isXModified = myXSpin->hasFocus();//myXSpin->isModified();
     emit valuesChanged();
     //onValuesChanged();
-    myXSpin->clearModified();
-    myYSpin->clearModified();
+    //myXSpin->clearModified();
+    //myYSpin->clearModified();
     if (isXModified)
       myXSpin->selectAll();
     else
@@ -476,3 +530,54 @@ bool PartSet_WidgetPoint2D::processEnter()
   }
   return isModified;
 }
+
+bool PartSet_WidgetPoint2D::isOrphanPoint(const FeaturePtr& theFeature,
+                                          const CompositeFeaturePtr& theSketch,
+                                          double theX, double theY)
+{
+  bool anOrphanPoint = false;
+  if (theFeature.get()) {
+    std::shared_ptr<GeomDataAPI_Point2D> aPointAttr;
+    std::string aFeatureKind = theFeature->getKind();
+    if (aFeatureKind == SketchPlugin_Point::ID())
+      aPointAttr = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+                                       theFeature->attribute(SketchPlugin_Point::COORD_ID()));
+    else if (aFeatureKind == SketchPlugin_Circle::ID())
+      aPointAttr = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+                                       theFeature->attribute(SketchPlugin_Circle::CENTER_ID()));
+
+    else if (aFeatureKind == SketchPlugin_Arc::ID())
+      aPointAttr = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+                                       theFeature->attribute(SketchPlugin_Arc::CENTER_ID()));
+
+    /// check that the geometry point with the given coordinates is the checked point
+    /// e.g. in arc the (x,y) point can not coicide to the center point and it automatically
+    /// means that this point is not an orphant one.
+    if (aPointAttr.get()) {
+      std::shared_ptr<GeomAPI_Pnt2d> aCheckedPoint = std::shared_ptr<GeomAPI_Pnt2d>(
+                                                    new GeomAPI_Pnt2d(theX, theY));
+      if (!aCheckedPoint->isEqual(aPointAttr->pnt()))
+        return anOrphanPoint;
+    }
+
+    if (aPointAttr.get()) {
+      std::shared_ptr<GeomAPI_Pnt2d> aPoint = aPointAttr->pnt();
+      FeaturePtr aCoincidence = PartSet_Tools::findFirstCoincidence(theFeature, aPoint);
+      anOrphanPoint = true;
+      // if there is at least one concident line to the point, the point is not an orphant
+      if (aCoincidence.get()) {
+        QList<FeaturePtr> aCoinsideLines;
+        PartSet_Tools::findCoincidences(aCoincidence, aCoinsideLines,
+                                        SketchPlugin_ConstraintCoincidence::ENTITY_A());
+        PartSet_Tools::findCoincidences(aCoincidence, aCoinsideLines,
+                                        SketchPlugin_ConstraintCoincidence::ENTITY_B());
+        QList<FeaturePtr>::const_iterator anIt = aCoinsideLines.begin(),
+                                          aLast = aCoinsideLines.end();
+        for (; anIt != aLast && anOrphanPoint; anIt++) {
+          anOrphanPoint = (*anIt)->getKind() != SketchPlugin_Line::ID();
+        }
+      }
+    }
+  }
+  return anOrphanPoint;
+}
index d5f87eca0b97c05b41ddf95c0d0c3b201c314316..e32cf72c190530d98a6ba3b55c395338e3f596f3 100755 (executable)
@@ -56,12 +56,19 @@ Q_OBJECT
   virtual bool setSelection(QList<ModuleBase_ViewerPrs>& theValues,
                             const bool theToValidate);
 
+  /// Select the internal content if it can be selected. It is empty in the default realization
+  virtual void selectContent();
+
   /// Returns list of widget controls
   /// \return a control list
   virtual QList<QWidget*> getControls() const;
 
   //bool initFromPrevious(ObjectPtr theObject);
 
+  /// Defines if the widget can be activated by mouse move.
+  /// By default it returns false
+  virtual bool canBeActivatedByMove();
+
   /// The methiod called when widget is deactivated
   virtual void deactivate();
 
@@ -96,7 +103,6 @@ public slots:
   /// \param theEvent a mouse event
   void onMouseMove(ModuleBase_IViewWindow* theWnd, QMouseEvent* theEvent);
 
-protected slots:
   /// Process mouse release event
   /// \param theWnd a view window
   /// \param theEvent a mouse event
@@ -128,6 +134,13 @@ protected:
   /// Process value changed event
   //void onValuesChanged();
 
+  /// Compute the feature default value and fill the controls with it
+  /// or store the control value to the feature
+  /// The widget is not initialize the attribute value in order to avoid the 
+  /// incorrect visualization in Sketch. E.g. by a line creation, the line should not
+  /// be visualized immediatelly when the end point widget is activated.
+  virtual void initializeValueByActivate();
+
  private:
    /// Returns point 2d from selected vertex
    /// \param theView a view window
@@ -141,8 +154,20 @@ protected:
    /// \theObject a result object
    void setConstraintWith(const ObjectPtr& theObject);
 
+   /// Returns if the feature is an orphan point, circle or an arc. Returns true if it
+   /// has no a coincident to other lines. It processes point, circle and arc features
+   /// In circle an arc features, only centers are processed, for other points, it returns
+   /// that the point is not an orphan.
+   /// \param theFeature a checked feature
+   /// \param theSketch a sketch
+   /// \param theX an X coordinate of the point
+   /// \param theY an Y coordinate of the point
+   /// \return boolean result
+   static bool isOrphanPoint(const FeaturePtr& theFeature, const CompositeFeaturePtr& theSketch,
+                             double theX, double theY);
+
 protected:
-  ModuleBase_IWorkshop* myWorkshop;
+  ModuleBase_IWorkshop* myWorkshop; ///< workshop
 
 private:
 
index ef7bf36c0d2430458290408ec283738b2f1f4ba3..829380cef043548846458c274782a0df8eecb46f 100644 (file)
@@ -120,10 +120,11 @@ void PartSet_WidgetPoint2dDistance::onMouseMove(ModuleBase_IViewWindow* theWnd,
 
 bool PartSet_WidgetPoint2dDistance::processEnter()
 {
-  bool isModified = mySpinBox->isModified();
+  //bool isModified = mySpinBox->isModified();
+  bool isModified = getValueState() == ModifiedInPP;
   if (isModified) {
     emit valuesChanged();
-    mySpinBox->clearModified();
+    //mySpinBox->clearModified();
     mySpinBox->selectAll();
   }
   return isModified;
index 6bc043eb449df089d233010bd42d0ab6e673dabc..308dd965f0f544f8e1d579071a0bb958266e6715 100644 (file)
@@ -22,6 +22,7 @@
 #include <ModelAPI_AttributeSelection.h>
 #include <ModelAPI_AttributeSelectionList.h>
 #include <ModelAPI_Validator.h>
+#include <ModelAPI_Events.h>
 
 #include <SketchPlugin_SketchEntity.h>
 #include <FeaturesPlugin_CompositeBoolean.h>
@@ -32,6 +33,8 @@
 #include <ModuleBase_OperationFeature.h>
 #include <Config_WidgetAPI.h>
 
+#include <Events_Loop.h>
+
 #include <QLabel>
 #include <QLineEdit>
 #include <QFormLayout>
@@ -228,5 +231,12 @@ void PartSet_WidgetSketchCreator::onResumed(ModuleBase_Operation* theOp)
         }
       }
     }
+    else {
+      // this is a workarount to display the feature results in the operation selection mode
+      // if this is absent, sketch point/line local selection is available on extrusion cut result
+      static Events_ID anUpdateEvent = Events_Loop::eventByName(EVENT_OBJECT_UPDATED);
+      ModelAPI_EventCreator::get()->sendUpdated(feature(), anUpdateEvent);
+      updateObject(feature());
+    }
   }
 }
index 18324da4ddb37eb4173ec5ed36732eddd8888f81..846ea999912627927bcb51f7f773e210c490991d 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "PartSet_WidgetSketchLabel.h"
 #include "PartSet_Tools.h"
+#include "PartSet_Module.h"
 
 #include "SketchPlugin_SketchEntity.h"
 
@@ -48,6 +49,9 @@
 #include <QApplication>
 #include <QVBoxLayout>
 #include <QCheckBox>
+#include <QGroupBox>
+#include <QPushButton>
+#include <QStackedWidget>
 
 
 PartSet_WidgetSketchLabel::PartSet_WidgetSketchLabel(QWidget* theParent,
@@ -58,23 +62,53 @@ PartSet_WidgetSketchLabel::PartSet_WidgetSketchLabel(QWidget* theParent,
 : ModuleBase_WidgetValidated(theParent, theWorkshop, theData, theParentId),
   myPreviewDisplayed(false)
 {
-  myText = QString::fromStdString(theData->getProperty("title"));
-  myLabel = new QLabel("", theParent);
-  myLabel->setWordWrap(true);
-  myTooltip = QString::fromStdString(theData->getProperty("tooltip"));
-  myLabel->setToolTip("");
-  myLabel->setIndent(5);
-
   QVBoxLayout* aLayout = new QVBoxLayout(this);
   ModuleBase_Tools::zeroMargins(aLayout);
-  aLayout->addWidget(myLabel);
 
-  myShowConstraints = new QCheckBox(tr("Show constraints"), this);
-  aLayout->addWidget(myShowConstraints);
+  myStackWidget = new QStackedWidget(this);
+  myStackWidget->setContentsMargins(0,0,0,0);
+  aLayout->addWidget(myStackWidget);
+
+  // Define label for plane selection
+  QWidget* aFirstWgt = new QWidget(this);
+
+  QString aText = QString::fromStdString(theData->getProperty("title"));
+  QLabel* aLabel = new QLabel(aText, aFirstWgt);
+  aLabel->setWordWrap(true);
+  QString aTooltip = QString::fromStdString(theData->getProperty("tooltip"));
+  aLabel->setToolTip(aTooltip);
+  aLabel->setIndent(5);
+
+  aLayout = new QVBoxLayout(aFirstWgt);
+  ModuleBase_Tools::zeroMargins(aLayout);
+  aLayout->addWidget(aLabel);
+
+  myStackWidget->addWidget(aFirstWgt);
+
+  // Define widget for sketch manmagement
+  QWidget* aSecondWgt = new QWidget(this);
+  aLayout = new QVBoxLayout(aSecondWgt);
+  ModuleBase_Tools::zeroMargins(aLayout);
+
+  QGroupBox* aViewBox = new QGroupBox(tr("Sketcher plane"), this);
+  QVBoxLayout* aViewLayout = new QVBoxLayout(aViewBox);
+
+  myViewInverted = new QCheckBox(tr("Reversed"), aViewBox);
+  aViewLayout->addWidget(myViewInverted);
+
+  QPushButton* aSetViewBtn = new QPushButton(QIcon(":icons/plane_view.png"), tr("Set plane view"), aViewBox);
+  connect(aSetViewBtn, SIGNAL(clicked(bool)), this, SLOT(onSetPlaneView()));
+  aViewLayout->addWidget(aSetViewBtn);
 
-  setLayout(aLayout);
+  aLayout->addWidget(aViewBox);
+
+  myShowConstraints = new QCheckBox(tr("Show constraints"), this);
   connect(myShowConstraints, SIGNAL(toggled(bool)), this, SIGNAL(showConstraintToggled(bool)));
   myShowConstraints->setChecked(toShowConstraints);
+  aLayout->addWidget(myShowConstraints);
+
+  myStackWidget->addWidget(aSecondWgt);
+  //setLayout(aLayout);
 }
 
 PartSet_WidgetSketchLabel::~PartSet_WidgetSketchLabel()
@@ -101,7 +135,7 @@ bool PartSet_WidgetSketchLabel::setSelection(QList<ModuleBase_ViewerPrs>& theVal
 QList<QWidget*> PartSet_WidgetSketchLabel::getControls() const
 {
   QList<QWidget*> aResult;
-  aResult << myLabel;
+  aResult << myStackWidget;
   return aResult;
 }
 
@@ -161,13 +195,18 @@ void PartSet_WidgetSketchLabel::updateByPlaneSelected(const ModuleBase_ViewerPrs
 
     // Rotate view if the sketcher plane is selected only from preview planes
     // Preview planes are created only if there is no any shape
-    if (myYZPlane.get()) {
+    bool aRotate = Config_PropManager::boolean("Sketch planes", "rotate_to_plane", "false");
+    if (aRotate) {
       myWorkshop->viewer()->setViewProjection(aXYZ.X(), aXYZ.Y(), aXYZ.Z(), aTwist);
+      PartSet_Module* aModule = dynamic_cast<PartSet_Module*>(myWorkshop->module());
+      if (aModule)
+        aModule->onViewTransformed();
     }
   }
   // 3. Clear text in the label
-  myLabel->setText("");
-  myLabel->setToolTip("");
+  myStackWidget->setCurrentIndex(1);
+  //myLabel->setText("");
+  //myLabel->setToolTip("");
   disconnect(workshop()->selector(), SIGNAL(selectionChanged()), 
               this, SLOT(onSelectionChanged()));
   // 4. deactivate face selection filter
@@ -184,8 +223,8 @@ void PartSet_WidgetSketchLabel::updateByPlaneSelected(const ModuleBase_ViewerPrs
 
   // 6. Update sketcher actions
   XGUI_ActionsMgr* anActMgr = workshop()->actionsMgr();
-  anActMgr->update();
-  //VSV myWorkshop->viewer()->update();
+  myWorkshop->updateCommandStatus();
+  myWorkshop->viewer()->update();
 }
 
 std::shared_ptr<GeomAPI_Pln> PartSet_WidgetSketchLabel::plane() const
@@ -196,13 +235,13 @@ std::shared_ptr<GeomAPI_Pln> PartSet_WidgetSketchLabel::plane() const
 
 bool PartSet_WidgetSketchLabel::focusTo()
 {
-  myLabel->setFocus();
+  ModuleBase_Tools::setFocus(myStackWidget, "PartSet_WidgetSketchLabel::focusTo()");
   return true;
 }
 
 void PartSet_WidgetSketchLabel::enableFocusProcessing()
 {
-  myLabel->installEventFilter(this);
+  myStackWidget->installEventFilter(this);
 }
 
 void PartSet_WidgetSketchLabel::storeAttributeValue()
@@ -265,10 +304,12 @@ void PartSet_WidgetSketchLabel::activateCustom()
 {
   std::shared_ptr<GeomAPI_Pln> aPlane = plane();
   if (aPlane.get()) {
+    myStackWidget->setCurrentIndex(1);
     activateSelection(true);
     return;
   }
 
+  myStackWidget->setCurrentIndex(0);
   bool aBodyIsVisualized = false;
   XGUI_Displayer* aDisp = workshop()->displayer();
   QObjectPtrList aDisplayed = aDisp->displayedObjects();
@@ -287,8 +328,8 @@ void PartSet_WidgetSketchLabel::activateCustom()
   }
   activateSelection(true);
 
-  myLabel->setText(myText);
-  myLabel->setToolTip(myTooltip);
+  //myLabel->setText(myText);
+  //myLabel->setToolTip(myTooltip);
 
   connect(workshop()->selector(), SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged()));
   activateFilters(true);
@@ -394,6 +435,8 @@ std::shared_ptr<GeomAPI_Dir> PartSet_WidgetSketchLabel::setSketchPlane(const Top
 
   // get plane parameters
   std::shared_ptr<GeomAPI_Pln> aPlane = GeomAlgoAPI_FaceBuilder::plane(aGShape);
+  if (!aPlane.get())
+    return std::shared_ptr<GeomAPI_Dir>();
 
   // set plane parameters to feature
   std::shared_ptr<ModelAPI_Data> aData = feature()->data();
@@ -438,3 +481,19 @@ XGUI_Workshop* PartSet_WidgetSketchLabel::workshop() const
   XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
   return aConnector->workshop();
 }
+
+
+void PartSet_WidgetSketchLabel::onSetPlaneView()
+{
+  std::shared_ptr<GeomAPI_Pln> aPlane = plane();
+  if (aPlane.get()) {
+    std::shared_ptr<GeomAPI_Dir> aDirection = aPlane->direction();
+    gp_Dir aDir = aDirection->impl<gp_Dir>();
+    if (myViewInverted->isChecked())
+      aDir.Reverse();
+    myWorkshop->viewer()->setViewProjection(aDir.X(), aDir.Y(), aDir.Z(), 0.);
+    PartSet_Module* aModule = dynamic_cast<PartSet_Module*>(myWorkshop->module());
+    if (aModule)
+      aModule->onViewTransformed();
+  }
+}
index 25807c81b0dc1010ece814373eaaf325a66ec03a..709c57efa0f7ce68d0c78c5215b7bd855d3ec6d6 100644 (file)
@@ -22,6 +22,7 @@ class QLabel;
 class XGUI_OperationMgr;
 class XGUI_Workshop;
 class QCheckBox;
+class QStackedWidget;
 
 /// the plane edge width
 #define SKETCH_WIDTH        "4"
@@ -128,6 +129,9 @@ protected:
    /// Slot on change selection
   void onSelectionChanged();
 
+  /// A slot called on set sketch plane view
+  void onSetPlaneView();
+
  private:
    /// Create preview of planes for sketch plane selection
    /// \param theOrigin an origin of the plane
@@ -151,16 +155,15 @@ protected:
   void showPreviewPlanes();
 
 
-  QLabel* myLabel;
-  QString myText;
-  QString myTooltip;
-
   AISObjectPtr myYZPlane;
   AISObjectPtr myXZPlane;
   AISObjectPtr myXYPlane;
   bool myPreviewDisplayed;
 
   QCheckBox* myShowConstraints;
+  QCheckBox* myViewInverted;
+
+  QStackedWidget* myStackWidget;
 };
 
 #endif
index 8361c656e4ada29214b55946577fd15b02731319..7fac03ac44250b64bd566247e6d1a7e88bf386ce 100644 (file)
@@ -29,6 +29,7 @@
      <file>icons/export.png</file>
      <file>icons/line.png</file>
      <file>icons/sketch.png</file>
+     <file>icons/sketch_shape.png</file>
      <file>icons/hand_point.png</file>
      <file>icons/dimension_up.png</file>
      <file>icons/dimension_up_32x32.png</file>
@@ -55,6 +56,8 @@
      <file>icons/coincedence.png</file>
      <file>icons/mirror.png</file>
      <file>icons/translate.png</file>
+     <file>icons/translate_32x32.png</file>
+     <file>icons/translate_full_32x32.png</file>
      <file>icons/rotate.png</file>
      <file>icons/exec_state_failed.png</file>
      <file>icons/exec_state_invalid_parameters.png</file>
      <file>icons/angle_up_32x32.png</file>
      <file>icons/angle_up_down.png</file>
      <file>icons/angle_up_down_32x32.png</file>
+     <file>icons/angle_up_full_32x32.png</file>
      <file>icons/dimension_up_down.png</file>
      <file>icons/dimension_up_down_32x32.png</file>
      <file>icons/by_two_points_32x32.png</file>
      <file>icons/cylindrical_face_32x32.png</file>
      <file>icons/dimension_vert_32x32.png</file>
+     <file>icons/bool_cut.png</file>
+     <file>icons/bool_fuse.png</file>
+     <file>icons/bool_common.png</file>
+     <file>icons/plane_view.png</file>
  </qresource>
  </RCC>
old mode 100644 (file)
new mode 100755 (executable)
index 046ec76..b8194b8
Binary files a/src/PartSet/icons/angle_up_32x32.png and b/src/PartSet/icons/angle_up_32x32.png differ
diff --git a/src/PartSet/icons/angle_up_full_32x32.png b/src/PartSet/icons/angle_up_full_32x32.png
new file mode 100755 (executable)
index 0000000..3fc714c
Binary files /dev/null and b/src/PartSet/icons/angle_up_full_32x32.png differ
diff --git a/src/PartSet/icons/bool_common.png b/src/PartSet/icons/bool_common.png
new file mode 100644 (file)
index 0000000..99812c5
Binary files /dev/null and b/src/PartSet/icons/bool_common.png differ
diff --git a/src/PartSet/icons/bool_cut.png b/src/PartSet/icons/bool_cut.png
new file mode 100644 (file)
index 0000000..dd494d7
Binary files /dev/null and b/src/PartSet/icons/bool_cut.png differ
diff --git a/src/PartSet/icons/bool_fuse.png b/src/PartSet/icons/bool_fuse.png
new file mode 100644 (file)
index 0000000..5369a50
Binary files /dev/null and b/src/PartSet/icons/bool_fuse.png differ
index c3e77fe2bf7f07f57162b6629a7d319f43372120..05e9b2abd1765659360ecdea1d5a61071bcc7200 100644 (file)
Binary files a/src/PartSet/icons/fillet.png and b/src/PartSet/icons/fillet.png differ
diff --git a/src/PartSet/icons/plane_view.png b/src/PartSet/icons/plane_view.png
new file mode 100644 (file)
index 0000000..431f71a
Binary files /dev/null and b/src/PartSet/icons/plane_view.png differ
diff --git a/src/PartSet/icons/sketch_shape.png b/src/PartSet/icons/sketch_shape.png
new file mode 100755 (executable)
index 0000000..d55e89c
Binary files /dev/null and b/src/PartSet/icons/sketch_shape.png differ
diff --git a/src/PartSet/icons/translate_32x32.png b/src/PartSet/icons/translate_32x32.png
new file mode 100755 (executable)
index 0000000..20391da
Binary files /dev/null and b/src/PartSet/icons/translate_32x32.png differ
diff --git a/src/PartSet/icons/translate_full_32x32.png b/src/PartSet/icons/translate_full_32x32.png
new file mode 100755 (executable)
index 0000000..1fd53d9
Binary files /dev/null and b/src/PartSet/icons/translate_full_32x32.png differ
index 31759862f1fe20f53d1bc72133dc191f94c8772e..794fcd4fa2a58a459ac81a0cb302d1d87055721f 100644 (file)
@@ -31,8 +31,8 @@ void PartSetPlugin_Part::execute()
     // do not activate part by simple execution if it is not loaded yet: it must be explicitly
     // activated for this
     if (!ModelAPI_Session::get()->isLoadByDemand(aResult->data()->name())) {
-      // On undo/redo creation of the part result the Object Browser must get creation event
-      // earlier that activation of this part event (otherwise the crash is produced)
+      // On undo/redo creation of the part result the Object Borwser must get creation event
+      // earlier that activation of this part event (otherwise the crash is producted)
       // So, send a creation event earlier, without any grouping
       static Events_ID aCreateID = Events_Loop::eventByName(EVENT_OBJECT_CREATED);
       ModelAPI_EventCreator::get()->sendUpdated(aResult, aCreateID, false);
index 22898f95ee77310535f117643b59137e85b2299d..7d285d079dd1cfa00f5c3494330be7ef428054cf 100644 (file)
@@ -29,12 +29,6 @@ const double paramTolerance = 1.e-4;
 const double PI =3.141592653589793238463;
 
 
-static const std::string& INVERSED_ID()
-{
-  static const std::string MY_INVERSED_ID("InversedArc");
-  return MY_INVERSED_ID;
-}
-
 SketchPlugin_Arc::SketchPlugin_Arc()
     : SketchPlugin_SketchEntity()
 {
@@ -272,33 +266,33 @@ void SketchPlugin_Arc::attributeChanged(const std::string& theID)
         new GeomAPI_Circ2d(aCenterAttr->pnt(), aStartAttr->pnt()));
     std::shared_ptr<GeomAPI_Pnt2d> aProjection = aCircleForArc->project(anEndAttr->pnt());
     if (aProjection && anEndAttr->pnt()->distance(aProjection) > tolerance) {
-      // issue #855: trying to update only not-updated coordinate if it is possible
-      /*
-      if (abs(myXEndBefore - anEndAttr->x()) < 1.e-10) { // keep Y unchanged
-        double aVy = aCenterAttr->y() - anEndAttr->y();
-        double aVy2 = aVy * aVy;
-        double aR2 = aCircleForArc->radius() * aCircleForArc->radius();
-        if (aVy2 <= aR2) {
-          double aDX = sqrt(aR2 - aVy * aVy);
-          if (anEndAttr->x() > aCenterAttr->x())
-            aProjection->setX(aCenterAttr->x() + aDX);
-          else 
-            aProjection->setX(aCenterAttr->x() - aDX);
-          aProjection->setY(anEndAttr->y());
-        }
-      } else if (abs(myYEndBefore - anEndAttr->y()) < 1.e-10) { // keep X unchanged
-        double aVx = aCenterAttr->x() - anEndAttr->x();
-        double aVx2 = aVx * aVx;
-        double aR2 = aCircleForArc->radius() * aCircleForArc->radius();
-        if (aVx2 <= aR2) {
-          double aDY = sqrt(aR2 - aVx * aVx);
-          if (anEndAttr->y() > aCenterAttr->y())
-            aProjection->setY(aCenterAttr->y() + aDY);
-          else 
-            aProjection->setY(aCenterAttr->y() - aDY);
-          aProjection->setX(anEndAttr->x());
+      if (!isStable()) { // issue #855: trying to update only not-updated coordinate if it is possible
+        if (fabs(myXEndBefore - anEndAttr->x()) < 1.e-10) { // keep Y unchanged
+          double aVy = aCenterAttr->y() - anEndAttr->y();
+          double aVy2 = aVy * aVy;
+          double aR2 = aCircleForArc->radius() * aCircleForArc->radius();
+          if (aVy2 <= aR2) {
+            double aDX = sqrt(aR2 - aVy * aVy);
+            if (anEndAttr->x() > aCenterAttr->x())
+              aProjection->setX(aCenterAttr->x() + aDX);
+            else 
+              aProjection->setX(aCenterAttr->x() - aDX);
+            aProjection->setY(anEndAttr->y());
+          }
+        } else if (fabs(myYEndBefore - anEndAttr->y()) < 1.e-10) { // keep X unchanged
+          double aVx = aCenterAttr->x() - anEndAttr->x();
+          double aVx2 = aVx * aVx;
+          double aR2 = aCircleForArc->radius() * aCircleForArc->radius();
+          if (aVx2 <= aR2) {
+            double aDY = sqrt(aR2 - aVx * aVx);
+            if (anEndAttr->y() > aCenterAttr->y())
+              aProjection->setY(aCenterAttr->y() + aDY);
+            else 
+              aProjection->setY(aCenterAttr->y() - aDY);
+            aProjection->setX(anEndAttr->x());
+          }
         }
-      }*/
+      }
 
       anEndAttr->setValue(aProjection);
     }
@@ -325,3 +319,14 @@ void SketchPlugin_Arc::attributeChanged(const std::string& theID)
     myEndUpdate = false;
   }
 }
+
+void SketchPlugin_Arc::setReversed(bool isReversed)
+{
+  std::dynamic_pointer_cast<ModelAPI_AttributeBoolean>(attribute(INVERSED_ID()))->setValue(isReversed);
+  myParamBefore = 0.0;
+}
+
+bool SketchPlugin_Arc::isReversed()
+{
+  return std::dynamic_pointer_cast<ModelAPI_AttributeBoolean>(attribute(INVERSED_ID()))->value();
+}
index efc90f529ca5ea7373e8d65e1dd1e345dab41ce1..0464ebeadb30d60da9aa89f6937af6657f29508c 100644 (file)
@@ -57,6 +57,13 @@ class SketchPlugin_Arc : public SketchPlugin_SketchEntity, public GeomAPI_IPrese
     return MY_END_ID;
   }
 
+  /// Inversed flag
+  inline static const std::string& INVERSED_ID()
+  {
+    static const std::string MY_INVERSED_ID("InversedArc");
+    return MY_INVERSED_ID;
+  }
+
   /// Returns the kind of a feature
   SKETCHPLUGIN_EXPORT virtual const std::string& getKind()
   {
@@ -85,6 +92,12 @@ class SketchPlugin_Arc : public SketchPlugin_SketchEntity, public GeomAPI_IPrese
   /// \param theDeltaY the delta for Y coordinate is moved
   SKETCHPLUGIN_EXPORT virtual void move(const double theDeltaX, const double theDeltaY);
 
+  /// Updates the "reversed" flag
+  /// \param isReversed  whether the arc will be reversed
+  void setReversed(bool isReversed);
+  /// Returns \c true is the arc is reversed
+  bool isReversed();
+
   /// Use plugin manager for features creation
   SketchPlugin_Arc();
 
index e094b12a76f7028e5fc073bffab02ba9bb149cd6..0b45147523c952279bd3a689b3338a31d23a7d7b 100644 (file)
@@ -6,7 +6,9 @@
 
 #include "SketchPlugin_ConstraintFillet.h"
 
+#include <GeomAPI_Circ2d.h>
 #include <GeomAPI_Dir2d.h>
+#include <GeomAPI_Lin2d.h>
 #include <GeomAPI_Pnt2d.h>
 #include <GeomAPI_XY.h>
 #include <GeomDataAPI_Point2D.h>
@@ -25,6 +27,7 @@
 #include <SketchPlugin_ConstraintCoincidence.h>
 #include <SketchPlugin_ConstraintTangent.h>
 #include <SketchPlugin_ConstraintRadius.h>
+#include <SketchPlugin_Point.h>
 #include <SketchPlugin_Tools.h>
 
 #include <SketcherPrs_Factory.h>
 #include <Config_PropManager.h>
 #include <Events_Loop.h>
 
+#define _USE_MATH_DEFINES
 #include <math.h>
 
 static const std::string PREVIOUS_VALUE("FilletPreviousRadius");
 
+const double tolerance = 1.e-7;
+const double paramTolerance = 1.e-4;
+
 /// \brief Attract specified point on theNewArc to the attribute of theFeature
 static void recalculateAttributes(FeaturePtr theNewArc, const std::string& theNewArcAttribute,
   FeaturePtr theFeature, const std::string& theFeatureAttribute);
@@ -48,6 +55,15 @@ static void calculateFilletCenter(FeaturePtr theFeatureA, FeaturePtr theFeatureB
                                   std::shared_ptr<GeomAPI_XY>& theTangentA,
                                   std::shared_ptr<GeomAPI_XY>& theTangentB);
 
+/// Get point on 1/3 length of edge from fillet point
+static void getPointOnEdge(const FeaturePtr theFeature,
+                           const std::shared_ptr<GeomAPI_Pnt2d> theFilletPoint,
+                           std::shared_ptr<GeomAPI_Pnt2d>& thePoint);
+
+/// Get distance from point to feature
+static double getProjectionDistance(const FeaturePtr theFeature,
+                             const std::shared_ptr<GeomAPI_Pnt2d> thePoint);
+
 SketchPlugin_ConstraintFillet::SketchPlugin_ConstraintFillet()
 {
 }
@@ -69,6 +85,8 @@ void SketchPlugin_ConstraintFillet::initAttributes()
 
 void SketchPlugin_ConstraintFillet::execute()
 {
+  static const double aTol = 1.e-7;
+
   // the viewer update should be blocked in order to avoid the temporaty fillet sub-features visualization
   // before they are processed by the solver
   //std::shared_ptr<Events_Message> aMsg = std::shared_ptr<Events_Message>(
@@ -87,6 +105,14 @@ void SketchPlugin_ConstraintFillet::execute()
     return;
   }
 
+  // Obtain fillet point
+  std::shared_ptr<GeomDataAPI_Point2D> aBasePoint = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(aBaseA->attr());
+  if (!aBasePoint) {
+    setError("Bad vertex selected");
+    return;
+  }
+  std::shared_ptr<GeomAPI_Pnt2d> aFilletPoint = aBasePoint->pnt();
+
   // Check the fillet shapes is not initialized yet
   AttributeRefListPtr aRefListOfFillet = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
       aData->attribute(SketchPlugin_Constraint::ENTITY_B()));
@@ -97,75 +123,10 @@ void SketchPlugin_ConstraintFillet::execute()
 
   // Obtain base features
   FeaturePtr anOldFeatureA, anOldFeatureB;
-  if(needNewObjects) {
-    AttributePtr anAttrBase = aBaseA->attr();
-    const std::set<AttributePtr>& aRefsList = anAttrBase->owner()->data()->refsToMe();
-    std::set<AttributePtr>::const_iterator aIt;
-    FeaturePtr aCoincident;
-    for (aIt = aRefsList.cbegin(); aIt != aRefsList.cend(); ++aIt) {
-      std::shared_ptr<ModelAPI_Attribute> aAttr = (*aIt);
-      FeaturePtr aConstrFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(aAttr->owner());
-      if (aConstrFeature->getKind() == SketchPlugin_ConstraintCoincidence::ID()) {
-        AttributeRefAttrPtr anAttrRefA = std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(
-          aConstrFeature->attribute(SketchPlugin_ConstraintCoincidence::ENTITY_A()));
-        AttributeRefAttrPtr anAttrRefB = std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(
-          aConstrFeature->attribute(SketchPlugin_ConstraintCoincidence::ENTITY_B()));
-        if(anAttrRefA.get() && !anAttrRefA->isObject()) {
-          AttributePtr anAttrA = anAttrRefA->attr();
-          if(anAttrBase == anAttrA) {
-            aCoincident = aConstrFeature;
-            break;
-          }
-        }
-        if(anAttrRefA.get() && !anAttrRefB->isObject()) {
-          AttributePtr anAttrB = anAttrRefB->attr();
-          if(anAttrBase == anAttrB) {
-            aCoincident = aConstrFeature;
-            break;
-          }
-        }
-      }
-    }
-
-    if(!aCoincident.get()) {
-      setError("No coincident edges at selected vertex");
-      return;
-    }
-
-    std::set<FeaturePtr> aCoinsideLines;
-    SketchPlugin_Tools::findCoincidences(aCoincident,
-                                         SketchPlugin_ConstraintCoincidence::ENTITY_A(),
-                                         aCoinsideLines);
-    SketchPlugin_Tools::findCoincidences(aCoincident,
-                                         SketchPlugin_ConstraintCoincidence::ENTITY_B(),
-                                         aCoinsideLines);
-
-    // Remove auxilary lines
-    if(aCoinsideLines.size() > 2) {
-      std::set<FeaturePtr> aNewLines;
-      for(std::set<FeaturePtr>::iterator anIt = aCoinsideLines.begin(); anIt != aCoinsideLines.end(); ++anIt) {
-        if(!(*anIt)->boolean(SketchPlugin_SketchEntity::AUXILIARY_ID())->value()) {
-          aNewLines.insert(*anIt);
-        }
-      }
-      aCoinsideLines = aNewLines;
-    }
-
-
-    if(aCoinsideLines.size() != 2) {
-      setError("At selected vertex should be two coincident lines");
-      return;
-    }
-
-    std::set<FeaturePtr>::iterator aLinesIt = aCoinsideLines.begin();
-    anOldFeatureA = *aLinesIt++;
-    anOldFeatureB = *aLinesIt;
-  } else {
-    std::list<ObjectPtr> aNewFeatList = aRefListOfBaseLines->list();
-    std::list<ObjectPtr>::iterator aFeatIt = aNewFeatList.begin();
-    anOldFeatureA = ModelAPI_Feature::feature(*aFeatIt++);
-    anOldFeatureB = ModelAPI_Feature::feature(*aFeatIt++);
-  }
+  std::list<ObjectPtr> anOldFeatList = aRefListOfBaseLines->list();
+  std::list<ObjectPtr>::iterator aFeatIt = anOldFeatList.begin();
+  anOldFeatureA = ModelAPI_Feature::feature(*aFeatIt++);
+  anOldFeatureB = ModelAPI_Feature::feature(*aFeatIt);
 
   if(!anOldFeatureA.get() || !anOldFeatureB.get()) {
     setError("One of the edges is empty");
@@ -176,7 +137,7 @@ void SketchPlugin_ConstraintFillet::execute()
   if (needNewObjects) {
     // Create list of objects composing a fillet
     // copy aFeatureA
-    aNewFeatureA = SketchPlugin_Sketch::addUniqueNamedCopiedFeature(anOldFeatureB, sketch());
+    aNewFeatureA = SketchPlugin_Sketch::addUniqueNamedCopiedFeature(anOldFeatureA, sketch());
     // copy aFeatureB
     aNewFeatureB = SketchPlugin_Sketch::addUniqueNamedCopiedFeature(anOldFeatureB, sketch());
     // create filleting arc (it will be attached to the list later)
@@ -220,16 +181,12 @@ void SketchPlugin_ConstraintFillet::execute()
     aStartEndPnt[2*i+1] = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
         aFeature[i]->attribute(aEndAttr))->pnt();
   }
-  for (int i = 0; i < aNbFeatures; i++) {
-    int j = aNbFeatures;
-    for (; j < 2 * aNbFeatures; j++)
-      if (aStartEndPnt[i]->distance(aStartEndPnt[j]) < 1.e-10) {
-        isStart[0] = i==0;
-        isStart[1] = j==aNbFeatures;
+  for (int aFeatInd = 0; aFeatInd < aNbFeatures; aFeatInd++) {
+    for (int j = 0; j < 2; j++) // loop on start-end of each feature
+      if (aStartEndPnt[aFeatInd * aNbFeatures + j]->distance(aFilletPoint) < 1.e-10) {
+        isStart[aFeatInd] = (j==0);
         break;
       }
-    if (j < 2 * aNbFeatures)
-      break;
   }
   // tangent directions of the features
   for (int i = 0; i < aNbFeatures; i++) {
@@ -249,7 +206,7 @@ void SketchPlugin_ConstraintFillet::execute()
       double y = aDir->y();
       aDir->setX(-y);
       aDir->setY(x);
-      if (!isStart[i])
+      if (isStart[i] == std::dynamic_pointer_cast<SketchPlugin_Arc>(aFeature[i])->isReversed())
         aDir = aDir->multiplied(-1.0);
     }
     aTangentDir[i] = std::shared_ptr<GeomAPI_Dir2d>(new GeomAPI_Dir2d(aDir));
@@ -270,6 +227,10 @@ void SketchPlugin_ConstraintFillet::execute()
   // Calculate fillet arc parameters
   std::shared_ptr<GeomAPI_XY> aCenter, aTangentPntA, aTangentPntB;
   calculateFilletCenter(anOldFeatureA, anOldFeatureB, aFilletRadius, isStart, aCenter, aTangentPntA, aTangentPntB);
+  if(!aCenter.get() || !aTangentPntA.get() || !aTangentPntB.get()) {
+    setError("Can not create fillet with the specified parameters.");
+    return;
+  }
   // update features
   std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
       aNewFeatureA->attribute(aFeatAttributes[isStart[0] ? 0 : 1]))->setValue(
@@ -279,7 +240,9 @@ void SketchPlugin_ConstraintFillet::execute()
       aNewFeatureB->attribute(aFeatAttributes[2 + (isStart[1] ? 0 : 1)]))->setValue(
       aTangentPntB->x(), aTangentPntB->y());
   aNewFeatureB->execute();
-  // update fillet arc
+  // update fillet arc: make the arc correct for sure, so, it is not needed to process the "attribute updated"
+  // by arc; moreover, it may cause cyclicity in hte mechanism of updater
+  aNewArc->data()->blockSendAttributeUpdated(true);
   std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
       aNewArc->attribute(SketchPlugin_Arc::CENTER_ID()))->setValue(
       aCenter->x(), aCenter->y());
@@ -288,10 +251,17 @@ void SketchPlugin_ConstraintFillet::execute()
     aTangentPntA = aTangentPntB;
     aTangentPntB = aTmp;
   }
-  std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
-      aNewArc->attribute(SketchPlugin_Arc::START_ID()))->setValue(aTangentPntA->x(), aTangentPntA->y());
-  std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
-      aNewArc->attribute(SketchPlugin_Arc::END_ID()))->setValue(aTangentPntB->x(), aTangentPntB->y());
+  std::shared_ptr<GeomDataAPI_Point2D> aStartPoint = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      aNewArc->attribute(SketchPlugin_Arc::START_ID()));
+  std::shared_ptr<GeomDataAPI_Point2D> aEndPoint = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      aNewArc->attribute(SketchPlugin_Arc::END_ID()));
+  if (aStartPoint->isInitialized() && aEndPoint->isInitialized() &&
+     (aStartPoint->pnt()->xy()->distance(aTangentPntA) > aTol ||
+      aEndPoint->pnt()->xy()->distance(aTangentPntB) > aTol))
+    std::dynamic_pointer_cast<SketchPlugin_Arc>(aNewArc)->setReversed(false);
+  aStartPoint->setValue(aTangentPntA->x(), aTangentPntA->y());
+  aEndPoint->setValue(aTangentPntB->x(), aTangentPntB->y());
+  aNewArc->data()->blockSendAttributeUpdated(false);
   aNewArc->execute();
 
   if (needNewObjects) {
@@ -300,10 +270,6 @@ void SketchPlugin_ConstraintFillet::execute()
     aRefListOfFillet->append(aNewFeatureB->lastResult());
     aRefListOfFillet->append(aNewArc->lastResult());
 
-    // attach base lines to the list
-    aRefListOfBaseLines->append(anOldFeatureA);
-    aRefListOfBaseLines->append(anOldFeatureB);
-
     myProducedFeatures.push_back(aNewFeatureA);
     myProducedFeatures.push_back(aNewFeatureB);
     myProducedFeatures.push_back(aNewArc);
@@ -377,6 +343,22 @@ void SketchPlugin_ConstraintFillet::execute()
       aRefAttr->setAttr(aNewFeature[i]->attribute(aFeatAttributes[anAttrInd]));
       myProducedFeatures.push_back(aConstraint);
     }
+    // 4.1. Additional tangency constraints when the fillet is based on arcs.
+    //      It is used to verify the created arc will be placed on a source.
+    for (int i = 0; i < aNbFeatures; ++i) {
+      if (aNewFeature[i]->getKind() != SketchPlugin_Arc::ID())
+        continue;
+      aConstraint = sketch()->addFeature(SketchPlugin_ConstraintTangent::ID());
+      aRefAttr = std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(
+          aConstraint->attribute(SketchPlugin_Constraint::ENTITY_A()));
+      aRefAttr->setObject(aFeature[i]->lastResult());
+      aRefAttr = std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(
+          aConstraint->attribute(SketchPlugin_Constraint::ENTITY_B()));
+      aRefAttr->setObject(aNewFeature[i]->lastResult());
+      aConstraint->execute();
+      myProducedFeatures.push_back(aConstraint);
+      ModelAPI_EventCreator::get()->sendUpdated(aConstraint, anUpdateEvent);
+    }
     // 5. Tangent points should be placed on the base features
     for (int i = 0; i < aNbFeatures; i++) {
       anAttrInd = 2*i + (isStart[i] ? 0 : 1);
@@ -439,6 +421,11 @@ void SketchPlugin_ConstraintFillet::attributeChanged(const std::string& theID)
         data()->attribute(SketchPlugin_Constraint::ENTITY_B()));
     aRefListOfFillet->clear();
 
+    // clear the list of base features
+    AttributeRefListPtr aRefListOfBaseLines = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
+        data()->attribute(SketchPlugin_Constraint::ENTITY_C()));
+      aRefListOfBaseLines->clear();
+
     // remove all produced objects and constraints
     DocumentPtr aDoc = sketch()->document();
     std::list<FeaturePtr>::iterator aCIt = myProducedFeatures.begin();
@@ -450,6 +437,107 @@ void SketchPlugin_ConstraintFillet::attributeChanged(const std::string& theID)
     for (aCIt = myBaseObjects.begin(); aCIt != myBaseObjects.end(); ++aCIt)
       (*aCIt)->boolean(SketchPlugin_SketchEntity::AUXILIARY_ID())->setValue(false);
     myBaseObjects.clear();
+
+    // Obtain fillet point
+    AttributeRefAttrPtr aBaseA = std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(
+        data()->attribute(SketchPlugin_Constraint::ENTITY_A()));
+    if(!aBaseA->isInitialized() || aBaseA->isObject()) {
+      return;
+    }
+    AttributePtr anAttrBaseA = aBaseA->attr();
+    std::shared_ptr<GeomDataAPI_Point2D> aBasePoint = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(anAttrBaseA);
+    if (!aBasePoint) {
+      return;
+    }
+    std::shared_ptr<GeomAPI_Pnt2d> aFilletPoint = aBasePoint->pnt();
+
+    // Obtain conicident edges
+    const std::set<AttributePtr>& aRefsList = anAttrBaseA->owner()->data()->refsToMe();
+    std::set<AttributePtr>::const_iterator aIt;
+    FeaturePtr aCoincident;
+    for (aIt = aRefsList.cbegin(); aIt != aRefsList.cend(); ++aIt) {
+      std::shared_ptr<ModelAPI_Attribute> aAttr = (*aIt);
+      FeaturePtr aConstrFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(aAttr->owner());
+      if (aConstrFeature->getKind() == SketchPlugin_ConstraintCoincidence::ID()) {
+        AttributeRefAttrPtr anAttrRefA = std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(
+          aConstrFeature->attribute(SketchPlugin_ConstraintCoincidence::ENTITY_A()));
+        AttributeRefAttrPtr anAttrRefB = std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(
+          aConstrFeature->attribute(SketchPlugin_ConstraintCoincidence::ENTITY_B()));
+        if(anAttrRefA.get() && !anAttrRefA->isObject()) {
+          AttributePtr anAttrA = anAttrRefA->attr();
+          if(anAttrBaseA == anAttrA) {
+            aCoincident = aConstrFeature;
+            break;
+          }
+        }
+        if(anAttrRefA.get() && !anAttrRefB->isObject()) {
+          AttributePtr anAttrB = anAttrRefB->attr();
+          if(anAttrBaseA == anAttrB) {
+            aCoincident = aConstrFeature;
+            break;
+          }
+        }
+      }
+    }
+
+    if(!aCoincident.get()) {
+      setError("No coincident edges at selected vertex");
+      return;
+    }
+
+    std::set<FeaturePtr> aCoinsides;
+    SketchPlugin_Tools::findCoincidences(aCoincident,
+                                         SketchPlugin_ConstraintCoincidence::ENTITY_A(),
+                                         aCoinsides);
+    SketchPlugin_Tools::findCoincidences(aCoincident,
+                                         SketchPlugin_ConstraintCoincidence::ENTITY_B(),
+                                         aCoinsides);
+
+    // Remove points
+    std::set<FeaturePtr> aNewLines;
+    for(std::set<FeaturePtr>::iterator anIt = aCoinsides.begin(); anIt != aCoinsides.end(); ++anIt) {
+      if((*anIt)->getKind() != SketchPlugin_Point::ID()) {
+        aNewLines.insert(*anIt);
+      }
+    }
+    aCoinsides = aNewLines;
+
+    // Remove auxilary lines
+    if(aCoinsides.size() > 2) {
+      aNewLines.clear();
+      for(std::set<FeaturePtr>::iterator anIt = aCoinsides.begin(); anIt != aCoinsides.end(); ++anIt) {
+        if(!(*anIt)->boolean(SketchPlugin_SketchEntity::AUXILIARY_ID())->value()) {
+          aNewLines.insert(*anIt);
+        }
+      }
+      aCoinsides = aNewLines;
+    }
+
+    if(aCoinsides.size() != 2) {
+      setError("At selected vertex should be two coincident lines");
+      return;
+    }
+
+    // Store base lines
+    FeaturePtr anOldFeatureA, anOldFeatureB;
+    std::set<FeaturePtr>::iterator aLinesIt = aCoinsides.begin();
+    anOldFeatureA = *aLinesIt++;
+    anOldFeatureB = *aLinesIt;
+    aRefListOfBaseLines->append(anOldFeatureA);
+    aRefListOfBaseLines->append(anOldFeatureB);
+
+    // Getting points located at 1/3 of edge length from fillet point
+    std::shared_ptr<GeomAPI_Pnt2d> aPntA, aPntB;
+    getPointOnEdge(anOldFeatureA, aFilletPoint, aPntA);
+    getPointOnEdge(anOldFeatureB, aFilletPoint, aPntB);
+
+    /// Getting distances
+    double aRadius = 1;
+    double aDistanceA = getProjectionDistance(anOldFeatureB, aPntA);
+    double aDistanceB = getProjectionDistance(anOldFeatureA, aPntB);
+    aRadius = aDistanceA < aDistanceB ? aDistanceA / 2.0 : aDistanceB / 2.0;
+
+    std::dynamic_pointer_cast<ModelAPI_AttributeDouble>(data()->attribute(SketchPlugin_Constraint::VALUE()))->setValue(aRadius);
   }
 }
 
@@ -656,23 +744,36 @@ void calculateFilletCenter(FeaturePtr theFeatureA, FeaturePtr theFeatureB,
         new GeomAPI_Dir2d(aEnd[1-aLineInd]->decreased(aCenter[1-aLineInd])));
     double anArcAngle = aEndArcDir->angle(aStartArcDir);
 
-    // get and filter possible centers
+    // get possible centers and filter them
     std::list< std::shared_ptr<GeomAPI_XY> > aSuspectCenters;
     possibleFilletCenterLineArc(aStart[aLineInd], aDirLine, aCenter[1-aLineInd], anArcRadius, theRadius, aSuspectCenters);
     double aDot = 0.0;
+    // the line is forward into the arc
+    double innerArc = aCenter[1-aLineInd]->decreased(aStart[aLineInd])->dot(aDirLine->xy());
     std::shared_ptr<GeomAPI_XY> aLineTgPoint, anArcTgPoint;
+    // The possible centers are ranged by their positions.
+    // If the point is not satisfy one of criteria, the weight is decreased with penalty.
+    int aBestWeight = 0;
     std::list< std::shared_ptr<GeomAPI_XY> >::iterator anIt = aSuspectCenters.begin();
     for (; anIt != aSuspectCenters.end(); anIt++) {
+      int aWeight = 2;
       aDot = aDirT->xy()->dot(aStart[aLineInd]->decreased(*anIt));
       aLineTgPoint = (*anIt)->added(aDirT->xy()->multiplied(aDot));
-      if (aLineTgPoint->decreased(aStart[aLineInd])->dot(aDirLine->xy()) < 0.0)
-        continue; // incorrect position
+      // Check the point is placed on the correct arc (penalty if false)
+      if (aCenter[1-aLineInd]->distance(*anIt) * innerArc > anArcRadius * innerArc)
+        aWeight -= 1;
       std::shared_ptr<GeomAPI_Dir2d> aCurDir = std::shared_ptr<GeomAPI_Dir2d>(
           new GeomAPI_Dir2d((*anIt)->decreased(aCenter[1-aLineInd])));
       double aCurAngle = aCurDir->angle(aStartArcDir);
       if (anArcAngle < 0.0) aCurAngle *= -1.0;
       if (aCurAngle < 0.0 || aCurAngle > fabs(anArcAngle))
-        continue; // incorrect position
+        continue;
+      if (aWeight > aBestWeight)
+        aBestWeight = aWeight;
+      else if (aWeight < aBestWeight ||
+               aStart[aLineInd]->distance(*anIt) >
+               aStart[aLineInd]->distance(theCenter)) // <-- take closer point
+        continue;
       // the center is found, stop searching
       theCenter = *anIt;
       anArcTgPoint = aCenter[1-aLineInd]->added(aCurDir->xy()->multiplied(anArcRadius));
@@ -683,7 +784,7 @@ void calculateFilletCenter(FeaturePtr theFeatureA, FeaturePtr theFeatureB,
         theTangentA = anArcTgPoint;
         theTangentB = aLineTgPoint;
       }
-      return;
+      //return;
     }
   } else if (theFeatureA->getKind() == SketchPlugin_Arc::ID() &&
       theFeatureB->getKind() == SketchPlugin_Arc::ID()) {
@@ -727,3 +828,72 @@ void calculateFilletCenter(FeaturePtr theFeatureA, FeaturePtr theFeatureB,
     }
   }
 }
+
+void getPointOnEdge(const FeaturePtr theFeature,
+                    const std::shared_ptr<GeomAPI_Pnt2d> theFilletPoint,
+                    std::shared_ptr<GeomAPI_Pnt2d>& thePoint) {
+  if(theFeature->getKind() == SketchPlugin_Line::ID()) {
+    std::shared_ptr<GeomAPI_Pnt2d> aPntStart = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Line::START_ID()))->pnt();
+    std::shared_ptr<GeomAPI_Pnt2d> aPntEnd = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Line::END_ID()))->pnt();
+    if(aPntStart->distance(theFilletPoint) > 1.e-7) {
+      aPntStart = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+        theFeature->attribute(SketchPlugin_Line::END_ID()))->pnt();
+      aPntEnd = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+        theFeature->attribute(SketchPlugin_Line::START_ID()))->pnt();
+    }
+    thePoint.reset( new GeomAPI_Pnt2d(aPntStart->xy()->added( aPntEnd->xy()->decreased( aPntStart->xy() )->multiplied(1.0 / 3.0) ) ) );
+  } else {
+    std::shared_ptr<GeomAPI_Pnt2d> aPntTemp;
+    std::shared_ptr<GeomAPI_Pnt2d> aPntStart = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Arc::START_ID()))->pnt();
+    std::shared_ptr<GeomAPI_Pnt2d> aPntEnd = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Arc::END_ID()))->pnt();
+    if(theFeature->attribute(SketchPlugin_Arc::INVERSED_ID())) {
+      aPntTemp = aPntStart;
+      aPntStart = aPntEnd;
+      aPntEnd = aPntTemp;
+    }
+    std::shared_ptr<GeomAPI_Pnt2d> aCenterPnt = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Arc::CENTER_ID()))->pnt();
+    std::shared_ptr<GeomAPI_Circ2d> aCirc(new GeomAPI_Circ2d(aCenterPnt, aPntStart));
+    double aStartParameter(0), anEndParameter(0);
+    aCirc->parameter(aPntStart, paramTolerance, aStartParameter);
+    aCirc->parameter(aPntEnd, paramTolerance, anEndParameter);
+    if(aPntStart->distance(theFilletPoint) > tolerance) {
+      double aTmpParameter = aStartParameter;
+      aStartParameter = anEndParameter;
+      anEndParameter = aTmpParameter;
+    }
+    double aPntParameter = aStartParameter + (anEndParameter - aStartParameter) / 3.0;
+    aCirc->D0(aPntParameter, thePoint);
+  }
+}
+
+double getProjectionDistance(const FeaturePtr theFeature,
+                             const std::shared_ptr<GeomAPI_Pnt2d> thePoint)
+{
+  std::shared_ptr<GeomAPI_Pnt2d> aProjectPnt;
+  if(theFeature->getKind() == SketchPlugin_Line::ID()) {
+    std::shared_ptr<GeomAPI_Pnt2d> aPntStart = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Line::START_ID()))->pnt();
+    std::shared_ptr<GeomAPI_Pnt2d> aPntEnd = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Line::END_ID()))->pnt();
+    std::shared_ptr<GeomAPI_Lin2d> aLin(new GeomAPI_Lin2d(aPntStart, aPntEnd));
+    aProjectPnt = aLin->project(thePoint);
+  } else {
+    std::shared_ptr<GeomAPI_Pnt2d> aPntStart = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Arc::START_ID()))->pnt();
+    std::shared_ptr<GeomAPI_Pnt2d> aPntEnd = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Arc::END_ID()))->pnt();
+    std::shared_ptr<GeomAPI_Pnt2d> aCenterPnt = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
+      theFeature->attribute(SketchPlugin_Arc::CENTER_ID()))->pnt();
+    std::shared_ptr<GeomAPI_Circ2d> aCirc(new GeomAPI_Circ2d(aCenterPnt, aPntStart));
+    aProjectPnt = aCirc->project(thePoint);
+  }
+  if(aProjectPnt.get()) {
+    return aProjectPnt->distance(thePoint);
+  }
+  return -1;
+}
index 726ffe4dd5e847feac88b6994b2baf7b182645fc..274f8d64a03c6346e99f83a3999891b88e407775 100755 (executable)
@@ -5,9 +5,11 @@
 // Author:  Artem ZHIDKOV
 
 #include "SketchPlugin_MultiRotation.h"
+#include "SketchPlugin_Tools.h"
 
 #include <GeomDataAPI_Point2D.h>
 #include <ModelAPI_AttributeDouble.h>
+#include <ModelAPI_AttributeString.h>
 #include <ModelAPI_AttributeInteger.h>
 #include <ModelAPI_Data.h>
 #include <ModelAPI_ResultConstruction.h>
 #define PI 3.1415926535897932
 
 SketchPlugin_MultiRotation::SketchPlugin_MultiRotation()
+: myBlockAngle(false)
 {
 }
 
 void SketchPlugin_MultiRotation::initAttributes()
 {
   data()->addAttribute(CENTER_ID(), GeomDataAPI_Point2D::typeId());
+
+  data()->addAttribute(ANGLE_TYPE(),   ModelAPI_AttributeString::typeId());
   data()->addAttribute(ANGLE_ID(), ModelAPI_AttributeDouble::typeId());
-  data()->addAttribute(NUMBER_OF_COPIES_ID(), ModelAPI_AttributeInteger::typeId());
+  data()->addAttribute(ANGLE_FULL_ID(), ModelAPI_AttributeDouble::typeId());
+  data()->addAttribute(NUMBER_OF_OBJECTS_ID(), ModelAPI_AttributeInteger::typeId());
   data()->addAttribute(SketchPlugin_Constraint::ENTITY_A(), ModelAPI_AttributeRefList::typeId());
   data()->addAttribute(SketchPlugin_Constraint::ENTITY_B(), ModelAPI_AttributeRefList::typeId());
   data()->addAttribute(ROTATION_LIST_ID(), ModelAPI_AttributeRefList::typeId());
@@ -50,18 +56,29 @@ void SketchPlugin_MultiRotation::execute()
   }
 
   AttributeRefListPtr aRotationObjectRefs = reflist(ROTATION_LIST_ID());
-  int aNbCopies = integer(NUMBER_OF_COPIES_ID())->value();
+  int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value() - 1;
+  if (aNbCopies <= 0)
+    return;
 
   // Obtain center and angle of rotation
   std::shared_ptr<GeomDataAPI_Point2D> aCenter = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
       attribute(CENTER_ID()));
   if (!aCenter || !aCenter->isInitialized())
     return;
+
+  if (attribute(ANGLE_ID())->isInitialized() && !attribute(ANGLE_FULL_ID())->isInitialized()) {
+    myBlockAngle = true;
+    SketchPlugin_Tools::updateMultiAttribute(attribute(ANGLE_ID()), attribute(ANGLE_FULL_ID()),
+                                             aNbCopies, true);
+    myBlockAngle = false;
+  }
+
   // make a visible points
   SketchPlugin_Sketch::createPoint2DResult(this, sketch(), CENTER_ID(), 0);
 
   double anAngle = std::dynamic_pointer_cast<ModelAPI_AttributeDouble>(
-      attribute(ANGLE_ID()))->value();
+                                                             attribute(ANGLE_ID()))->value();
+
   // Convert angle to radians
   anAngle *= PI / 180.0;
 
@@ -279,7 +296,10 @@ void SketchPlugin_MultiRotation::attributeChanged(const std::string& theID)
   if (theID == ROTATION_LIST_ID()) {
     AttributeRefListPtr aRotationObjectRefs = reflist(ROTATION_LIST_ID());
     if (aRotationObjectRefs->size() == 0) {
-      int aNbCopies = integer(NUMBER_OF_COPIES_ID())->value();
+      int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value()-1;
+      if (aNbCopies <= 0)
+        return;
+
       // Clear list of objects
       AttributeRefListPtr aRefListOfRotated = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
           data()->attribute(SketchPlugin_Constraint::ENTITY_B()));
@@ -305,4 +325,45 @@ void SketchPlugin_MultiRotation::attributeChanged(const std::string& theID)
         data()->attribute(SketchPlugin_Constraint::ENTITY_B()))->clear();
     }
   }
+  else if (theID == ANGLE_ID() && !myBlockAngle) {
+    int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value() - 1;
+    if (aNbCopies > 0) {
+      myBlockAngle = true;
+      SketchPlugin_Tools::updateMultiAttribute(attribute(ANGLE_ID()), attribute(ANGLE_FULL_ID()),
+                                               aNbCopies, true);
+      myBlockAngle = false;
+      Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+    }
+  }
+  else if (theID == ANGLE_FULL_ID() && !myBlockAngle) {
+    int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value() - 1;
+    if (aNbCopies > 0) {
+      myBlockAngle = true;
+      SketchPlugin_Tools::updateMultiAttribute(attribute(ANGLE_FULL_ID()), attribute(ANGLE_ID()),
+                                               aNbCopies, false);
+      myBlockAngle = false;
+      Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+    }
+  }
+  else if (theID == NUMBER_OF_OBJECTS_ID()) {
+    if (attribute(NUMBER_OF_OBJECTS_ID())->isInitialized() &&
+        attribute(ANGLE_ID())->isInitialized() &&
+        attribute(ANGLE_TYPE())->isInitialized()) {
+      AttributeStringPtr aMethodTypeAttr = string(ANGLE_TYPE());
+      std::string aMethodType = aMethodTypeAttr->value();
+      int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value() - 1;
+      if (aNbCopies > 0) {
+        myBlockAngle = true;
+        if (aMethodType == "SingleAngle")
+          SketchPlugin_Tools::updateMultiAttribute(attribute(ANGLE_ID()), attribute(ANGLE_FULL_ID()),
+                                                   aNbCopies, true);
+        else {
+          SketchPlugin_Tools::updateMultiAttribute(attribute(ANGLE_FULL_ID()), attribute(ANGLE_ID()),
+                                                   aNbCopies, false);
+        }
+        myBlockAngle = false;
+        Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+      }
+    }
+  }
 }
index 245ffb980bc37de56e07cd4483de659950a771d1..416f477b14ef26bfe20fb94fbb89ad319e53dbd5 100644 (file)
  *  SketchPlugin_Constraint::ENTITY_A() for initial list of objects and
  *  SketchPlugin_Constraint::ENTITY_B() for the list of created objects
  *
- *  The list of created objects contains a number of copies of each object given in
- *  the NUMBER_OF_COPIES_ID() attribute plus 1 (the initial objects are stored into this
- *  attribute too). At the start of the list, there are collected N copies
- *  of first object from initial list, then N copies of second object etc.
+ *  The list of created objects contains initial and copied objects of each object given. The
+ *  number copies is the NUMBER_OF_OBJECTS_ID() minus 1. At the start of the list, there are
+ * collected N copies of first object from initial list, then N copies of second object etc.
  */
 class SketchPlugin_MultiRotation : public SketchPlugin_ConstraintBase
 {
@@ -53,17 +52,31 @@ class SketchPlugin_MultiRotation : public SketchPlugin_ConstraintBase
     static const std::string MY_CENTER_ID("MultiRotationCenter");
     return MY_CENTER_ID;
   }
+  /// attribute name for first point
+  inline static const std::string& ANGLE_TYPE()
+  {
+    static const std::string ANGLE_TYPE_ATTR("AngleType");
+    return ANGLE_TYPE_ATTR;
+  }
+
   /// End point of translation
   inline static const std::string& ANGLE_ID()
   {
     static const std::string MY_ANGLE_ID("MultiRotationAngle");
     return MY_ANGLE_ID;
   }
-  /// Number of translated objects
-  inline static const std::string& NUMBER_OF_COPIES_ID()
+  /// End point of translation
+  inline static const std::string& ANGLE_FULL_ID()
+  {
+    static const std::string MY_ANGLE_FULL_ID("MultiRotationFullAngle");
+    return MY_ANGLE_FULL_ID;
+  }
+
+  /// Total number of objects, initial and translated objects
+  inline static const std::string& NUMBER_OF_OBJECTS_ID()
   {
-    static const std::string MY_NUMBER_OF_COPIES_ID("MultiRotationCopies");
-    return MY_NUMBER_OF_COPIES_ID;
+    static const std::string MY_NUMBER_OF_OBJECTS_ID("MultiRotationObjects");
+    return MY_NUMBER_OF_OBJECTS_ID;
   }
 
   /// \brief Creates a new part document if needed
@@ -86,6 +99,11 @@ private:
   ObjectPtr copyFeature(ObjectPtr theObject);
   void rotateFeature(ObjectPtr theInitial, ObjectPtr theTarget,
                      double theCenterX, double theCenterY, double theAngle);
+
+  bool updateFullAngleValue();
+
+private:
+  bool myBlockAngle; /// a boolean state to avoid recusive angle change in attributeChanged
 };
 
 #endif
index 3e6a702b6ae1ee350584a72fbaf2997206785781..c94ae2dca77d3b18156a408b641293167339aa0b 100755 (executable)
@@ -5,6 +5,7 @@
 // Author:  Artem ZHIDKOV
 
 #include "SketchPlugin_MultiTranslation.h"
+#include "SketchPlugin_Tools.h"
 
 #include <GeomAPI_XY.h>
 #include <GeomDataAPI_Point2D.h>
@@ -13,6 +14,7 @@
 #include <ModelAPI_Data.h>
 #include <ModelAPI_ResultConstruction.h>
 #include <ModelAPI_AttributeRefList.h>
+#include <ModelAPI_AttributeString.h>
 #include <ModelAPI_Events.h>
 #include <ModelAPI_Session.h>
 #include <ModelAPI_Validator.h>
 #include <SketcherPrs_Factory.h>
 
 SketchPlugin_MultiTranslation::SketchPlugin_MultiTranslation()
+: myBlockValue(false)
 {
 }
 
 void SketchPlugin_MultiTranslation::initAttributes()
 {
+  data()->addAttribute(VALUE_TYPE(),   ModelAPI_AttributeString::typeId());
+
   data()->addAttribute(START_POINT_ID(), GeomDataAPI_Point2D::typeId());
+  data()->addAttribute(START_FULL_POINT_ID(), GeomDataAPI_Point2D::typeId());
   data()->addAttribute(END_POINT_ID(), GeomDataAPI_Point2D::typeId());
-  data()->addAttribute(NUMBER_OF_COPIES_ID(), ModelAPI_AttributeInteger::typeId());
+  data()->addAttribute(END_FULL_POINT_ID(), GeomDataAPI_Point2D::typeId());
+  data()->addAttribute(NUMBER_OF_OBJECTS_ID(), ModelAPI_AttributeInteger::typeId());
   data()->addAttribute(SketchPlugin_Constraint::ENTITY_A(), ModelAPI_AttributeRefList::typeId());
   data()->addAttribute(SketchPlugin_Constraint::ENTITY_B(), ModelAPI_AttributeRefList::typeId());
   data()->addAttribute(TRANSLATION_LIST_ID(), ModelAPI_AttributeRefList::typeId());
@@ -44,7 +51,9 @@ void SketchPlugin_MultiTranslation::execute()
   }
 
   AttributeRefListPtr aTranslationObjectRefs = reflist(TRANSLATION_LIST_ID());
-  int aNbCopies = integer(NUMBER_OF_COPIES_ID())->value();
+  int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value()-1;
+  if (aNbCopies <= 0)
+    return;
 
   // Calculate shift vector
   std::shared_ptr<GeomDataAPI_Point2D> aStart = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
@@ -54,9 +63,23 @@ void SketchPlugin_MultiTranslation::execute()
   if (!aStart || !aEnd || !aStart->isInitialized() || !aEnd->isInitialized())
     return;
 
+  if (attribute(END_POINT_ID())->isInitialized() && !attribute(END_FULL_POINT_ID())->isInitialized()) {
+    myBlockValue = true;
+    SketchPlugin_Tools::updateMultiAttribute(attribute(START_POINT_ID()), attribute(END_POINT_ID()),
+                                             attribute(END_FULL_POINT_ID()), aNbCopies, true);
+    myBlockValue = false;
+  }
+
+
   // make a visible points
   SketchPlugin_Sketch::createPoint2DResult(this, sketch(), START_POINT_ID(), 0);
-  SketchPlugin_Sketch::createPoint2DResult(this, sketch(), END_POINT_ID(), 1);
+
+  std::string aSecondPointAttributeID = END_POINT_ID();
+  AttributeStringPtr aMethodTypeAttr = string(VALUE_TYPE());
+  std::string aMethodType = aMethodTypeAttr->value();
+  if (aMethodType != "SingleValue")
+    aSecondPointAttributeID = END_FULL_POINT_ID();
+  SketchPlugin_Sketch::createPoint2DResult(this, sketch(), aSecondPointAttributeID, 1);
 
   std::shared_ptr<GeomAPI_XY> aShiftVec(new GeomAPI_XY(aEnd->x() - aStart->x(), aEnd->y() - aStart->y()));
 
@@ -222,7 +245,9 @@ void SketchPlugin_MultiTranslation::attributeChanged(const std::string& theID)
   if (theID == TRANSLATION_LIST_ID()) {
     AttributeRefListPtr aTranslationObjectRefs = reflist(TRANSLATION_LIST_ID());
     if (aTranslationObjectRefs->size() == 0) {
-      int aNbCopies = integer(NUMBER_OF_COPIES_ID())->value();
+      int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value()-1;
+      if (aNbCopies <= 0)
+        return;
       // Clear list of objects
       AttributeRefListPtr aRefListOfTranslated = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
           data()->attribute(SketchPlugin_Constraint::ENTITY_B()));
@@ -248,4 +273,63 @@ void SketchPlugin_MultiTranslation::attributeChanged(const std::string& theID)
         data()->attribute(SketchPlugin_Constraint::ENTITY_B()))->clear();
     }
   }
+  else if (theID == START_POINT_ID() && !myBlockValue) {
+    myBlockValue = true;
+    std::shared_ptr<GeomDataAPI_Point2D> aStartPoint = 
+        std::dynamic_pointer_cast<GeomDataAPI_Point2D>(attribute(START_POINT_ID()));
+    std::shared_ptr<GeomDataAPI_Point2D> aStartFullPoint = 
+        std::dynamic_pointer_cast<GeomDataAPI_Point2D>(attribute(START_FULL_POINT_ID()));
+    aStartFullPoint->setValue(aStartPoint->pnt());
+    myBlockValue = false;
+  }
+  else if (theID == START_FULL_POINT_ID() && !myBlockValue) {
+    myBlockValue = true;
+    std::shared_ptr<GeomDataAPI_Point2D> aStartPoint = 
+        std::dynamic_pointer_cast<GeomDataAPI_Point2D>(attribute(START_POINT_ID()));
+    std::shared_ptr<GeomDataAPI_Point2D> aStartFullPoint = 
+        std::dynamic_pointer_cast<GeomDataAPI_Point2D>(attribute(START_FULL_POINT_ID()));
+    aStartPoint->setValue(aStartFullPoint->pnt());
+    myBlockValue = false;
+  }
+  else if (theID == END_POINT_ID() && !myBlockValue) {
+    int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value() - 1;
+    if (aNbCopies > 0) {
+      myBlockValue = true;
+      SketchPlugin_Tools::updateMultiAttribute(attribute(START_POINT_ID()), attribute(END_POINT_ID()),
+                                               attribute(END_FULL_POINT_ID()), aNbCopies, true);
+      myBlockValue = false;
+      Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+    }
+  }
+  else if (theID == END_FULL_POINT_ID() && !myBlockValue) {
+    int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value() - 1;
+    if (aNbCopies > 0) {
+      myBlockValue = true;
+      SketchPlugin_Tools::updateMultiAttribute(attribute(START_POINT_ID()), attribute(END_FULL_POINT_ID()),
+                                               attribute(END_POINT_ID()), aNbCopies, false);
+      myBlockValue = false;
+      Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+    }
+  }
+  else if (theID == NUMBER_OF_OBJECTS_ID()) {
+    if (attribute(NUMBER_OF_OBJECTS_ID())->isInitialized() &&
+        attribute(END_POINT_ID())->isInitialized() &&
+        attribute(VALUE_TYPE())->isInitialized()) {
+      AttributeStringPtr aMethodTypeAttr = string(VALUE_TYPE());
+      std::string aMethodType = aMethodTypeAttr->value();
+      int aNbCopies = integer(NUMBER_OF_OBJECTS_ID())->value() - 1;
+      if (aNbCopies > 0) {
+        myBlockValue = true;
+        if (aMethodType == "SingleValue")
+          SketchPlugin_Tools::updateMultiAttribute(attribute(START_POINT_ID()), attribute(END_POINT_ID()),
+                                                   attribute(END_FULL_POINT_ID()), aNbCopies, true);
+        else {
+          SketchPlugin_Tools::updateMultiAttribute(attribute(START_POINT_ID()), attribute(END_FULL_POINT_ID()),
+                                                   attribute(END_POINT_ID()), aNbCopies, false);
+        }
+        myBlockValue = false;
+        Events_Loop::loop()->flush(Events_Loop::eventByName(EVENT_OBJECT_UPDATED));
+      }
+    }
+  }
 }
index 5bebd18825b6a04e5a4d511c70cc74981417b33e..b9d44214d7f980837841a29d2d67c69928de0600 100644 (file)
  *  SketchPlugin_Constraint::ENTITY_A() for initial list of objects and
  *  SketchPlugin_Constraint::ENTITY_B() for the list of created objects
  *
- *  The list of created objects contains a number of copies of each object given in
- *  the NUMBER_OF_COPIES_ID() attribute plus 1 (the initial objects are stored into this
- *  attribute too). At the start of the list, there are collected N copies
- *  of first object from initial list, then N copies of second object etc.
+ *  The list of created objects contains initial and copied objects of each object given. The
+ *  number copies is the NUMBER_OF_OBJECTS_ID() minus 1. At the start of the list, there are
+ *  collected N copies of first object from initial list, then N copies of second object etc.
  */
 class SketchPlugin_MultiTranslation : public SketchPlugin_ConstraintBase
 {
@@ -47,23 +46,44 @@ class SketchPlugin_MultiTranslation : public SketchPlugin_ConstraintBase
     return MY_TRANSLATION_LIST_ID;
   }
 
+  /// attribute name for first point
+  inline static const std::string& VALUE_TYPE()
+  {
+    static const std::string VALUE_TYPE_ATTR("ValueType");
+    return VALUE_TYPE_ATTR;
+  }
+
   /// Start point of translation
   inline static const std::string& START_POINT_ID()
   {
     static const std::string MY_START_POINT_ID("MultiTranslationStartPoint");
     return MY_START_POINT_ID;
   }
+  /// Start point of translation
+  inline static const std::string& START_FULL_POINT_ID()
+  {
+    static const std::string MY_START_FULL_POINT_ID("MultiTranslationFullStartPoint");
+    return MY_START_FULL_POINT_ID;
+  }
+
   /// End point of translation
   inline static const std::string& END_POINT_ID()
   {
     static const std::string MY_END_POINT_ID("MultiTranslationEndPoint");
     return MY_END_POINT_ID;
   }
-  /// Number of translated objects
-  inline static const std::string& NUMBER_OF_COPIES_ID()
+  /// End point of translation
+  inline static const std::string& END_FULL_POINT_ID()
+  {
+    static const std::string MY_END_FULL_POINT_ID("MultiTranslationFullEndPoint");
+    return MY_END_FULL_POINT_ID;
+  }
+
+  /// Total number of objects, initial and translated objects
+  inline static const std::string& NUMBER_OF_OBJECTS_ID()
   {
-    static const std::string MY_NUMBER_OF_COPIES_ID("MultiTranslationCopies");
-    return MY_NUMBER_OF_COPIES_ID;
+    static const std::string MY_NUMBER_OF_OBJECTS_ID("MultiTranslationObjects");
+    return MY_NUMBER_OF_OBJECTS_ID;
   }
 
   /// \brief Creates a new part document if needed
@@ -84,6 +104,9 @@ class SketchPlugin_MultiTranslation : public SketchPlugin_ConstraintBase
 
 private:
   ObjectPtr copyFeature(ObjectPtr theObject);
+
+private:
+  bool myBlockValue; /// a boolean state to avoid recusive value change in attributeChanged
 };
 
 #endif
index 1e1a4f65cc842ac70804ab32dbfa3bc6368fdb60..59995ff4310aeb44edc72c2f950f4d3e09c0c119 100644 (file)
@@ -28,7 +28,7 @@ class SketchPlugin_Point : public SketchPlugin_SketchEntity
   /// Coordinates of the point
   inline static const std::string& COORD_ID()
   {
-    static const std::string MY_COORD_ID("PointCoordinates");
+    static const std::string MY_COORD_ID("PointCoordindates");
     return MY_COORD_ID;
   }
   /// Returns the kind of a feature
index 3f6c91b59e77071cb62f56cafe583d2d9e7fa763..a63344e58fda66b21299919bd574339b87b9fcad 100644 (file)
@@ -145,9 +145,15 @@ void SketchPlugin_Sketch::removeFeature(std::shared_ptr<ModelAPI_Feature> theFea
 {
   if (!data()->isValid()) // sketch is already removed (case on undo of sketch), sync is not needed
     return;
-  // to keep the persistent sub-elements indexing, do not remove elements from list,
-  // but substitute by nulls
-  reflist(SketchPlugin_Sketch::FEATURES_ID())->substitute(theFeature, ObjectPtr());
+  AttributeRefListPtr aList = reflist(SketchPlugin_Sketch::FEATURES_ID());
+  // if the object is last, remove it from the list (needed to skip empty transaction on edit of sketch feature)
+  if (aList->object(aList->size(true) - 1, true) == theFeature) {
+    aList->remove(theFeature);
+  } else {
+    // to keep the persistent sub-elements indexing, do not remove elements from list,
+    // but substitute by nulls
+    aList->substitute(theFeature, ObjectPtr());
+  }
 }
 
 int SketchPlugin_Sketch::numberOfSubs(bool forTree) const
index a26ef9aa4d227147f22305412f32d33f381d00c3..b56992b893ccb06b8e398e3c0f64da326096e8fe 100644 (file)
@@ -101,7 +101,7 @@ class SketchPlugin_SketchEntity : public SketchPlugin_Feature, public GeomAPI_IC
     else if (aShapeType == 7) { // otherwise this is a vertex
       // The width value do not have effect on the point presentation.
       // It is defined in order to extend selection area of the object.
-      thePrs->setWidth(13);
+      thePrs->setWidth(17);
     //  thePrs->setPointMarker(1, 1.); // Set point as a '+' symbol
     }
     return isCustomized;
index 82c5a3f93986c9c07d3857e797771ec59f7cdc52..a9aa9d90c9227f17193f72ea945b42141ec2fd42 100644 (file)
@@ -101,4 +101,57 @@ void findCoincidences(const FeaturePtr theStartCoin,
   }
 }
 
+void updateMultiAttribute(const AttributePtr& theFirstAngleAttribute,
+                          const AttributePtr& theSecondAngleAttribute,
+                          const int& theValue,
+                          const bool toMultiply)
+{
+  if (theValue == 0 || !theFirstAngleAttribute->isInitialized())
+    return;
+
+  AttributeDoublePtr aDoubleFirstAttr = std::dynamic_pointer_cast<ModelAPI_AttributeDouble>(
+                                                                theFirstAngleAttribute);
+  double aValue = aDoubleFirstAttr->value();
+
+  AttributeDoublePtr aDoubleSecondAttr = std::dynamic_pointer_cast<ModelAPI_AttributeDouble>(
+                                                                theSecondAngleAttribute);
+  if (toMultiply)
+    aDoubleSecondAttr->setValue(aValue*theValue);
+  else
+    aDoubleSecondAttr->setValue(aValue/theValue);
+}
+
+void updateMultiAttribute(const AttributePtr& theFirstAttribute,
+                          const AttributePtr& theSecondAttribute,
+                          const AttributePtr& theModifiedAttribute,
+                          const int& theValue,
+                          const bool toMultiply)
+{
+  if (theValue == 0 || !theFirstAttribute->isInitialized()
+                    || !theSecondAttribute->isInitialized())
+    return;
+
+  std::shared_ptr<GeomDataAPI_Point2D> aFirstPoint = 
+          std::dynamic_pointer_cast<GeomDataAPI_Point2D>(theFirstAttribute);
+  std::shared_ptr<GeomDataAPI_Point2D> aSecondPoint = 
+          std::dynamic_pointer_cast<GeomDataAPI_Point2D>(theSecondAttribute);
+  std::shared_ptr<GeomDataAPI_Point2D> aModifiedPoint = 
+          std::dynamic_pointer_cast<GeomDataAPI_Point2D>(theModifiedAttribute);
+
+  if (!aFirstPoint.get() || !aSecondPoint.get() || !aModifiedPoint.get())
+    return;
+
+  if (aFirstPoint->pnt()->isEqual(aSecondPoint->pnt()))
+    aModifiedPoint->setValue(aFirstPoint->pnt());
+  else {
+    double aDx = aSecondPoint->x() - aFirstPoint->x();
+    double aDy = aSecondPoint->y() - aFirstPoint->y();
+
+    double aX  = toMultiply ? aDx * theValue : aDx / theValue;
+    double anY = toMultiply ? aDy * theValue : aDy / theValue;
+
+    aModifiedPoint->setValue(aFirstPoint->x() + aX, aFirstPoint->y() + anY);
+  }
+}
+
 } // namespace SketchPlugin_Tools
index 9637b5d09929120b118aed70ff96f9b048ae0614..6b242532bb74ce7fdd5e443d9a42336c074f0ccc 100644 (file)
@@ -10,6 +10,7 @@
 #include <GeomAPI_Pnt2d.h>
 
 #include <ModelAPI_Feature.h>
+#include <ModelAPI_Attribute.h>
 
 namespace SketchPlugin_Tools {
 
@@ -28,6 +29,27 @@ void findCoincidences(const FeaturePtr theStartCoin,
                       const std::string& theAttr,
                       std::set<FeaturePtr>& theList);
 
+/// Changes the second attribute value to be multiplied or divided by the given value.
+/// \param theFirstAngleAttribute the source attribute
+/// \param theSecondAngleAttribute the changed attribute
+/// \param theValue a value for modification
+/// \param toMultiply a type of modification
+void updateMultiAttribute(const AttributePtr& theFirstAngleAttribute,
+                          const AttributePtr& theSecondAngleAttribute,
+                          const int& theValue,
+                          const bool toMultiply);
+
+/// Changes the second attribute value to be multiplied or divided by the given value.
+/// \param theFirstAngleAttribute the source attribute
+/// \param theSecondAngleAttribute the changed attribute
+/// \param theValue a value for modification
+/// \param toMultiply a type of modification
+void updateMultiAttribute(const AttributePtr& theFirstAttribute,
+                          const AttributePtr& theSecondAttribute,
+                          const AttributePtr& theModifiedAttribute,
+                          const int& theValue,
+                          const bool toMultiply);
+
 }; // namespace SketchPlugin_Tools
 
 #endif // SKETCHPLUGIN_TOOLS_H_
\ No newline at end of file
index a432becdaa31f84efa7cf8f0a641362b45d96310..3b79ad68cae45a90022ea0093a0bb4cddb89c0af 100755 (executable)
@@ -29,6 +29,7 @@
 
 #include <GeomDataAPI_Point2D.h>
 
+const double tolerance = 1.e-7;
 
 bool SketchPlugin_DistanceAttrValidator::isValid(const AttributePtr& theAttribute, 
                                                  const std::list<std::string>& theArguments,
@@ -406,19 +407,73 @@ bool SketchPlugin_FilletVertexValidator::isValid(const AttributePtr& theAttribut
   }
 
   AttributeRefAttrPtr aBase = std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(theAttribute);
+  AttributePtr anAttrBase = aBase->attr();
   if(aBase->isObject()) {
     return false;
   }
 
-  // If we alredy have some result then all ok
+  // If we alredy have some result then:
+  // - if it is the same point all ok
+  // - if it is point on the fillet arc then it is not valid
   FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(theAttribute->owner());
   AttributePtr aBaseLinesAttribute = aFeature->attribute(SketchPlugin_Constraint::ENTITY_C());
   AttributeRefListPtr aRefListOfBaseLines = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(aBaseLinesAttribute);
-  if(aRefListOfBaseLines->list().size() == 2) {
-    return true;
+  std::list<ObjectPtr> anOldFeatList = aRefListOfBaseLines->list();
+  if(!aRefListOfBaseLines->list().empty()) {
+    FeaturePtr anOldFeatureA, anOldFeatureB;
+    std::list<ObjectPtr>::iterator aFeatIt = anOldFeatList.begin();
+    anOldFeatureA = ModelAPI_Feature::feature(*aFeatIt++);
+    anOldFeatureB = ModelAPI_Feature::feature(*aFeatIt);
+
+    AttributePtr anAttrStartA = 
+      anOldFeatureA->attribute(anOldFeatureA->getKind() == SketchPlugin_Line::ID() ? SketchPlugin_Line::START_ID() : SketchPlugin_Arc::START_ID());
+    AttributePtr anAttrEndA = 
+      anOldFeatureA->attribute(anOldFeatureA->getKind() == SketchPlugin_Line::ID() ? SketchPlugin_Line::END_ID() : SketchPlugin_Arc::END_ID());
+    AttributePtr anAttrStartB = 
+      anOldFeatureB->attribute(anOldFeatureB->getKind() == SketchPlugin_Line::ID() ? SketchPlugin_Line::START_ID() : SketchPlugin_Arc::START_ID());
+    AttributePtr anAttrEndB = 
+      anOldFeatureB->attribute(anOldFeatureB->getKind() == SketchPlugin_Line::ID() ? SketchPlugin_Line::END_ID() : SketchPlugin_Arc::END_ID());
+
+    std::shared_ptr<GeomAPI_Pnt2d> aBasePnt = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(anAttrBase)->pnt();
+    std::shared_ptr<GeomAPI_Pnt2d> aStartPntA = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(anAttrStartA)->pnt();
+    std::shared_ptr<GeomAPI_Pnt2d> anEndPntA = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(anAttrEndA)->pnt();
+    std::shared_ptr<GeomAPI_Pnt2d> aStartPntB = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(anAttrStartB)->pnt();
+    std::shared_ptr<GeomAPI_Pnt2d> anEndPntB = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(anAttrEndB)->pnt();
+    double aDistBaseStartA = aBasePnt->distance(aStartPntA);
+    double aDistBaseEndA = aBasePnt->distance(anEndPntA);
+    double aDistStartAStartB = aStartPntA->distance(aStartPntB);
+    double aDistStartAEndB = aStartPntA->distance(anEndPntB);
+    double aDistEndAStartB = anEndPntA->distance(aStartPntB);
+    double aDistEndAEndB = anEndPntA->distance(anEndPntB);
+
+    if((aDistBaseStartA < tolerance && (aDistStartAStartB < tolerance || aDistStartAEndB < tolerance)) ||
+      (aDistBaseEndA < tolerance && (aDistEndAStartB < tolerance || aDistEndAStartB < tolerance))) {
+      return true;
+    }
+
+    // Check that point not on fillet arc
+    AttributeRefListPtr aRefListOfFillet = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
+        aFeature->attribute(SketchPlugin_Constraint::ENTITY_B()));
+    std::list<ObjectPtr> aNewFeatList = aRefListOfFillet->list();
+    if(!aNewFeatList.empty()) {
+      aFeatIt = aNewFeatList.begin();
+      FeaturePtr aNewArc;
+      //aNewFeatureA = ModelAPI_Feature::feature(*aFeatIt++);
+      //aNewFeatureB = ModelAPI_Feature::feature(*aFeatIt++);
+      aFeatIt++; aFeatIt++;
+      aNewArc = ModelAPI_Feature::feature(*aFeatIt);
+      AttributePtr anArcStart = aNewArc->attribute(SketchPlugin_Arc::START_ID());
+      AttributePtr anArcEnd = aNewArc->attribute(SketchPlugin_Arc::END_ID());
+      std::shared_ptr<GeomAPI_Pnt2d> anArcStartPnt = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(anArcStart)->pnt();
+      std::shared_ptr<GeomAPI_Pnt2d> anArcEndPnt = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(anArcEnd)->pnt();
+      double aDistBaseArcStart = aBasePnt->distance(anArcStartPnt);
+      double aDistBaseArcEnd = aBasePnt->distance(anArcEndPnt);
+      if(aDistBaseArcStart < tolerance || aDistBaseArcEnd < tolerance) {
+        return false;
+      }
+    }
   }
 
-  AttributePtr anAttrBase = aBase->attr();
   const std::set<AttributePtr>& aRefsList = anAttrBase->owner()->data()->refsToMe();
   std::set<AttributePtr>::const_iterator aIt;
   FeaturePtr aCoincident;
@@ -451,34 +506,39 @@ bool SketchPlugin_FilletVertexValidator::isValid(const AttributePtr& theAttribut
     return false;
   }
 
-  std::set<FeaturePtr> aCoinsideLines;
+  std::set<FeaturePtr> aCoinsides;
   SketchPlugin_Tools::findCoincidences(aCoincident,
                                        SketchPlugin_ConstraintCoincidence::ENTITY_A(),
-                                       aCoinsideLines);
+                                       aCoinsides);
   SketchPlugin_Tools::findCoincidences(aCoincident,
                                        SketchPlugin_ConstraintCoincidence::ENTITY_B(),
-                                       aCoinsideLines);
-  if(aCoinsideLines.size() < 2) {
-    return false;
+                                       aCoinsides);
+  // Remove points
+  std::set<FeaturePtr> aNewLines;
+  for(std::set<FeaturePtr>::iterator anIt = aCoinsides.begin(); anIt != aCoinsides.end(); ++anIt) {
+    if((*anIt)->getKind() != SketchPlugin_Point::ID()) {
+      aNewLines.insert(*anIt);
+    }
   }
+  aCoinsides = aNewLines;
 
   // Remove auxilary lines
-  if(aCoinsideLines.size() > 2) {
-    std::set<FeaturePtr> aNewLines;
-    for(std::set<FeaturePtr>::iterator anIt = aCoinsideLines.begin(); anIt != aCoinsideLines.end(); ++anIt) {
+  if(aCoinsides.size() > 2) {
+    aNewLines.clear();
+    for(std::set<FeaturePtr>::iterator anIt = aCoinsides.begin(); anIt != aCoinsides.end(); ++anIt) {
       if(!(*anIt)->boolean(SketchPlugin_SketchEntity::AUXILIARY_ID())->value()) {
         aNewLines.insert(*anIt);
       }
     }
-    aCoinsideLines = aNewLines;
+    aCoinsides = aNewLines;
   }
 
-  if(aCoinsideLines.size() != 2) {
+  if(aCoinsides.size() != 2) {
     return false;
   }
 
   // Check that lines not collinear
-  std::set<FeaturePtr>::iterator anIt = aCoinsideLines.begin();
+  std::set<FeaturePtr>::iterator anIt = aCoinsides.begin();
   FeaturePtr aFirstFeature = *anIt++;
   FeaturePtr aSecondFeature = *anIt;
   if(aFirstFeature->getKind() == SketchPlugin_Line::ID() && aSecondFeature->getKind() == SketchPlugin_Line::ID()) {
index bee56e4a86bc33ac320bab8bf42e6a78b298b524..68a3b6a392cea8b78803a0c35b1a5d512d327809 100644 (file)
@@ -4,9 +4,10 @@
         
     SketchPlugin_MultiRotation
         static const std::string MY_CONSTRAINT_ROTATION_ID("SketchMultiRotation");
-        data()->addAttribute(START_POINT_ID(), GeomDataAPI_Point2D::typeId());
-        data()->addAttribute(END_POINT_ID(), GeomDataAPI_Point2D::typeId());
-        data()->addAttribute(NUMBER_OF_COPIES_ID(), ModelAPI_AttributeInteger::typeId());
+        data()->addAttribute(ANGLE_TYPE(), ModelAPI_AttributeString::typeId());
+        data()->addAttribute(ANGLE_ID(), ModelAPI_AttributeDouble::typeId());
+        data()->addAttribute(ANGLE_FULL_ID(), ModelAPI_AttributeDouble::typeId());
+        data()->addAttribute(NUMBER_OF_OBJECTS_ID(), ModelAPI_AttributeInteger::typeId());
         data()->addAttribute(SketchPlugin_Constraint::ENTITY_A(), ModelAPI_AttributeRefList::typeId());
         data()->addAttribute(SketchPlugin_Constraint::ENTITY_B(), ModelAPI_AttributeRefList::typeId());
         data()->addAttribute(ROTATION_LIST_ID(), ModelAPI_AttributeRefList::typeId());
@@ -34,7 +35,7 @@ def createSketch(theSketch):
     theSketch.execute()
     return allFeatures
     
-def checkRotation(theObjects, theNbCopies, theCenterX, theCenterY, theAngle):
+def checkRotation(theObjects, theNbObjects, theCenterX, theCenterY, theAngle):
     # Verify distances of the objects and the number of copies
     aFeatures = []
     aSize = theObjects.size()
@@ -48,7 +49,7 @@ def checkRotation(theObjects, theNbCopies, theCenterX, theCenterY, theAngle):
     anInd = 0 
     for feat, next in zip(aFeatures[:-1], aFeatures[1:]):
         anInd = anInd + 1
-        if (anInd > theNbCopies):
+        if (anInd > theNbObjects-1):
             anInd = 0
             continue
         assert(feat.getKind() == next.getKind())
@@ -74,7 +75,7 @@ def checkRotation(theObjects, theNbCopies, theCenterX, theCenterY, theAngle):
             aLocCosA = (aDirX1 * aDirX2 + aDirY1 * aDirY2) / aLen1 / aLen2
             assert(math.fabs(aLocCosA - cosA) < 1.e-10)
     # Check the number of copies is as planed
-    assert(anInd == theNbCopies)
+    assert(anInd == theNbObjects-1)
 
 
 #=========================================================================
@@ -120,11 +121,15 @@ for aFeature in aFeaturesList:
     aResult = modelAPI_ResultConstruction(aFeature.lastResult())
     assert(aResult is not None)
     aRotList.append(aResult)
+
+aValueType = aMultiRotation.string("AngleType")
+aValueType.setValue("SingleValue")
+
 aCenter = geomDataAPI_Point2D(aMultiRotation.attribute("MultiRotationCenter"))
 anAngle = aMultiRotation.real("MultiRotationAngle")
 aCenter.setValue(CENTER_X, CENTER_Y)
 anAngle.setValue(ANGLE)
-aNbCopies = aMultiRotation.integer("MultiRotationCopies")
+aNbCopies = aMultiRotation.integer("MultiRotationObjects")
 aNbCopies.setValue(1)
 aMultiRotation.execute()
 aSession.finishOperation()
index b421c628d5d405a20a3c4ea5dfc7865f7999fc9c..47f8fe30b871d6523bde7bb8ba2a1d5ff421fac1 100644 (file)
@@ -4,9 +4,12 @@
         
     SketchPlugin_MultiTranslation
         static const std::string MY_CONSTRAINT_TRANSLATION_ID("SketchMultiTranslation");
+        data()->addAttribute(VALUE_TYPE(), ModelAPI_AttributeString::typeId());
         data()->addAttribute(START_POINT_ID(), GeomDataAPI_Point2D::typeId());
+        data()->addAttribute(START_FULL_POINT_ID(), GeomDataAPI_Point2D::typeId());
         data()->addAttribute(END_POINT_ID(), GeomDataAPI_Point2D::typeId());
-        data()->addAttribute(NUMBER_OF_COPIES_ID(), ModelAPI_AttributeInteger::typeId());
+        data()->addAttribute(END_FULL_POINT_ID(), GeomDataAPI_Point2D::typeId());
+        data()->addAttribute(NUMBER_OF_OBJECTS_ID(), ModelAPI_AttributeInteger::typeId());
         data()->addAttribute(SketchPlugin_Constraint::ENTITY_A(), ModelAPI_AttributeRefList::typeId());
         data()->addAttribute(SketchPlugin_Constraint::ENTITY_B(), ModelAPI_AttributeRefList::typeId());
         data()->addAttribute(TRANSLATION_LIST_ID(), ModelAPI_AttributeRefList::typeId());
@@ -33,7 +36,7 @@ def createSketch(theSketch):
     theSketch.execute()
     return allFeatures
     
-def checkTranslation(theObjects, theNbCopies, theDeltaX, theDeltaY):
+def checkTranslation(theObjects, theNbObjects, theDeltaX, theDeltaY):
     # Verify distances of the objects and the number of copies
     aFeatures = []
     aSize = theObjects.size()
@@ -45,7 +48,7 @@ def checkTranslation(theObjects, theNbCopies, theDeltaX, theDeltaY):
     anInd = 0 
     for feat, next in zip(aFeatures[:-1], aFeatures[1:]):
         anInd = anInd + 1
-        if (anInd > theNbCopies):
+        if (anInd > theNbObjects):
             anInd = 0
             continue
         assert(feat.getKind() == next.getKind())
@@ -66,7 +69,7 @@ def checkTranslation(theObjects, theNbCopies, theDeltaX, theDeltaY):
             aDiffY = aPoint2.y() - aPoint1.y() - theDeltaY
             assert(aDiffX**2 + aDiffY**2 < 1.e-15)
     # Check the number of copies is as planed
-    assert(anInd == theNbCopies)
+    assert(anInd == theNbObjects-1)
 
 
 #=========================================================================
@@ -115,12 +118,15 @@ for aFeature in aFeaturesList:
     aResult = modelAPI_ResultConstruction(aFeature.lastResult())
     assert(aResult is not None)
     aTransList.append(aResult)
+
+aValueType = aMultiTranslation.string("ValueType")
+aValueType.setValue("SingleValue")
 aStartPoint = geomDataAPI_Point2D(aMultiTranslation.attribute("MultiTranslationStartPoint"))
 aEndPoint = geomDataAPI_Point2D(aMultiTranslation.attribute("MultiTranslationEndPoint"))
 aStartPoint.setValue(START_X, START_Y)
 aEndPoint.setValue(START_X + DIR_X, START_Y + DIR_Y)
-aNbCopies = aMultiTranslation.integer("MultiTranslationCopies")
-aNbCopies.setValue(1)
+aNbCopies = aMultiTranslation.integer("MultiTranslationObjects")
+aNbCopies.setValue(2)
 aMultiTranslation.execute()
 aSession.finishOperation()
 #=========================================================================
index 26e7c2989f7ef66debc89fdac31b28635c02f5f2..a1986c159bced41d5679d563f392655c91257338 100644 (file)
@@ -18,7 +18,7 @@
       <!--icon=":pictures/x_point.png"-->
       </feature>
       <feature id="SketchPoint" title="Point" tooltip="Create point" icon=":icons/point.png">
-        <sketch-2dpoint_selector id="PointCoordinates" title="Point" tooltip="Point coordinates"/>
+        <sketch-2dpoint_selector id="PointCoordindates" title="Point" tooltip="Point coordinates"/>
         <boolvalue id="Auxiliary" label="Auxiliary" default="false" tooltip="Construction element" obligatory="0"/>
       </feature>
       <feature id="SketchLine" title="Line" tooltip="Create line" icon=":icons/line.png">
             use_external="true">
           <validator id="SketchPlugin_CopyValidator" />
         </sketch_multi_selector>
-        <groupbox title="Direction">
-          <sketch-2dpoint_selector
-              id="MultiTranslationStartPoint"
-              title="Start point"
-              tooltip="Start point of translation"/>
-          <sketch-2dpoint_selector
-              id="MultiTranslationEndPoint"
-              title="End point"
-              tooltip="Final point of translation"/>
-        </groupbox>
-        <integervalue id="MultiTranslationCopies"
-            label="Number of copies"
-            tooltip="Number of copies" 
-            default="1" min="1" use_reset="false">
+        <toolbox id="ValueType">
+          <box id="SingleValue" title="Single value" icon=":icons/translate_32x32.png">
+            <groupbox title="Direction">
+              <sketch-2dpoint_selector
+                  id="MultiTranslationStartPoint"
+                  title="Start point"
+                  tooltip="Start point of translation"/>
+              <sketch-2dpoint_selector
+                  id="MultiTranslationEndPoint"
+                  title="End point"
+                  tooltip="Final point of translation"/>
+            </groupbox>
+          </box>
+          <box id="FullValue" title="Full value" icon=":icons/translate_full_32x32.png">
+            <groupbox title="Direction">
+              <sketch-2dpoint_selector
+                  id="MultiTranslationFullStartPoint"
+                  title="Start point"
+                  tooltip="Start point of translation"/>
+              <sketch-2dpoint_selector
+                  id="MultiTranslationFullEndPoint"
+                  title="End point"
+                  tooltip="Final point of translation"/>
+            </groupbox>
+          </box>
+        </toolbox>
+        <integervalue id="MultiTranslationObjects"
+            label="Total number of objects"
+            tooltip="Total number of objects" 
+            default="2" min="2" use_reset="false">
           <validator id="GeomValidators_Positive"/>
         </integervalue>
       </feature>
             title="Center of rotation"
             tooltip="Center of rotation"
             default="0"/>
-        <point2dangle id="MultiRotationAngle"
+        <toolbox id="AngleType">
+          <box id="SingleAngle" title="Single angle" icon=":icons/angle_up_32x32.png">
+            <point2dangle id="MultiRotationAngle"
                          first_point="MultiRotationCenter"
                          label="Angle"
                          icon=":icons/angle.png"
                          tooltip="Rotation angle"
                          default="90"/>
-        <integervalue id="MultiRotationCopies"
-            label="Number of copies"
-            tooltip="Number of copies" 
-            default="1" min="1" use_reset="false">
+          </box>
+          <box id="FullAngle" title="Full angle" icon=":icons/angle_up_full_32x32.png">
+            <point2dangle id="MultiRotationFullAngle"
+                         first_point="MultiRotationCenter"
+                         label="Full angle"
+                         icon=":icons/angle.png"
+                         tooltip="Rotation angle"/>
+          </box>
+        </toolbox>
+        <integervalue id="MultiRotationObjects"
+            label="Total number of objects"
+            tooltip="Total number of objects" 
+            default="2" min="2" use_reset="false">
           <validator id="GeomValidators_Positive"/>
         </integervalue>
       </feature>
diff --git a/src/SketchShapePlugin/CMakeLists.txt b/src/SketchShapePlugin/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..200ca71
--- /dev/null
@@ -0,0 +1,58 @@
+## Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+INCLUDE(Common)
+INCLUDE(UnitTest)
+
+SET(PROJECT_HEADERS
+    SketchShapePlugin.h
+    SketchShapePlugin_Feature.h
+    SketchShapePlugin_PageGroupBox.h
+    SketchShapePlugin_Plugin.h
+    SketchShapePlugin_Validators.h
+    SketchShapePlugin_Tools.h
+    SketchShapePlugin_WidgetCreator.h
+)
+
+SET(PROJECT_SOURCES
+    SketchShapePlugin_Feature.cpp
+    SketchShapePlugin_PageGroupBox.cpp
+    SketchShapePlugin_Plugin.cpp
+    SketchShapePlugin_Validators.cpp
+    SketchShapePlugin_Tools.cpp
+    SketchShapePlugin_WidgetCreator.cpp
+)
+
+SET(PROJECT_LIBRARIES
+    Config
+    GeomAPI
+    GeomAlgoAPI
+    ModelAPI
+    GeomDataAPI
+    ModuleBase
+    ${QT_LIBRARIES}
+)
+
+SET(XML_RESOURCES
+  plugin-SketchShape.xml
+)
+
+ADD_DEFINITIONS(-DSKETCHSHAPEPLUGIN_EXPORTS -DWNT)
+ADD_LIBRARY(SketchShapePlugin MODULE ${PROJECT_SOURCES} ${PROJECT_HEADERS} ${XML_RESOURCES})
+TARGET_LINK_LIBRARIES(SketchShapePlugin ${PROJECT_LIBRARIES})
+
+INCLUDE_DIRECTORIES(
+  ../Config
+  ../Events
+  ../ModelAPI
+  ../GeomAPI
+  ../GeomAlgoAPI
+  ../GeomDataAPI
+  ../ModuleBase
+  ${SUIT_INCLUDE}
+  ${CAS_INCLUDE_DIRS}
+)
+
+INSTALL(TARGETS SketchShapePlugin DESTINATION plugins)
+INSTALL(FILES ${XML_RESOURCES} DESTINATION plugins)
+
+ADD_UNIT_TESTS(TestSketchShape.py)
diff --git a/src/SketchShapePlugin/SketchShapePlugin.h b/src/SketchShapePlugin/SketchShapePlugin.h
new file mode 100755 (executable)
index 0000000..e5afe35
--- /dev/null
@@ -0,0 +1,20 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+#ifndef SKETCHSHAPEPLUGIN_H
+#define SKETCHSHAPEPLUGIN_H
+
+#if defined SKETCHSHAPEPLUGIN_EXPORTS
+#if defined WIN32
+#define SKETCHSHAPEPLUGIN_EXPORT              __declspec( dllexport )
+#else
+#define SKETCHSHAPEPLUGIN_EXPORT
+#endif
+#else
+#if defined WIN32
+#define SKETCHSHAPEPLUGIN_EXPORT              __declspec( dllimport )
+#else
+#define SKETCHSHAPEPLUGIN_EXPORT
+#endif
+#endif
+
+#endif
diff --git a/src/SketchShapePlugin/SketchShapePlugin_Feature.cpp b/src/SketchShapePlugin/SketchShapePlugin_Feature.cpp
new file mode 100755 (executable)
index 0000000..4de0c8d
--- /dev/null
@@ -0,0 +1,75 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchShapePlugin_Feature.cpp
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#include "SketchShapePlugin_Feature.h"
+
+#include <ModelAPI_AttributeSelection.h>
+#include <ModelAPI_AttributeSelectionList.h>
+#include <ModelAPI_AttributeBoolean.h>
+
+#include <ModelAPI_Session.h>
+#include <ModelAPI_Validator.h>
+
+SketchShapePlugin_Feature::SketchShapePlugin_Feature()
+: ModelAPI_Feature()
+{
+}
+
+void SketchShapePlugin_Feature::initAttributes()
+{
+  data()->addAttribute(SKETCH_ID(), ModelAPI_AttributeSelection::typeId());
+
+  data()->addAttribute(VERTEX_LIST_ID(), ModelAPI_AttributeSelectionList::typeId());
+  data()->addAttribute(VERTEX_CHOICE_ID(), ModelAPI_AttributeBoolean::typeId());
+  ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), VERTEX_CHOICE_ID());
+
+  data()->addAttribute(EDGE_LIST_ID(), ModelAPI_AttributeSelectionList::typeId());
+  data()->addAttribute(EDGE_CHOICE_ID(), ModelAPI_AttributeBoolean::typeId());
+  ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), EDGE_CHOICE_ID());
+
+  data()->addAttribute(FACE_LIST_ID(), ModelAPI_AttributeSelectionList::typeId());
+  data()->addAttribute(FACE_CHOICE_ID(), ModelAPI_AttributeBoolean::typeId());
+  ModelAPI_Session::get()->validators()->registerNotObligatory(getKind(), FACE_CHOICE_ID());
+}
+
+void SketchShapePlugin_Feature::execute()
+{
+}
+
+void SketchShapePlugin_Feature::attributeChanged(const std::string& theID)
+{
+  if (theID == VERTEX_CHOICE_ID() ||
+      theID == EDGE_CHOICE_ID() ||
+      theID == FACE_CHOICE_ID()) {
+    std::string aListAttrId = theID == VERTEX_CHOICE_ID() ? VERTEX_LIST_ID() : (
+                              theID == EDGE_CHOICE_ID() ? EDGE_LIST_ID() :
+                              FACE_LIST_ID());
+
+    AttributeBooleanPtr aChoiceAttribute = std::dynamic_pointer_cast<ModelAPI_AttributeBoolean>(
+                                           data()->attribute(theID));
+    if (!aChoiceAttribute->value()) {
+      AttributeSelectionListPtr aListAttribute =
+        std::dynamic_pointer_cast<ModelAPI_AttributeSelectionList>(data()->attribute(aListAttrId));
+      aListAttribute->clear();
+    }
+  }
+  else if (theID == VERTEX_LIST_ID() ||
+           theID == EDGE_LIST_ID() ||
+           theID == FACE_LIST_ID()) {
+    AttributeSelectionListPtr aSelectionListAttr = 
+                      std::dynamic_pointer_cast<ModelAPI_AttributeSelectionList>(data()->attribute(theID));
+    for (int i = 0, aSize = aSelectionListAttr->size(); i < aSize; i++) {
+      AttributeSelectionPtr aSelectAttr = aSelectionListAttr->value(i);
+      ObjectPtr anObject = aSelectAttr->context();
+      if (!anObject.get())
+        continue;
+      else {
+        FeaturePtr aFeature = ModelAPI_Feature::feature(anObject);
+      }
+    }
+  }
+}
+
diff --git a/src/SketchShapePlugin/SketchShapePlugin_Feature.h b/src/SketchShapePlugin/SketchShapePlugin_Feature.h
new file mode 100755 (executable)
index 0000000..0a59da9
--- /dev/null
@@ -0,0 +1,102 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchShapePlugin_Feature.h
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#ifndef SKETCHSHAPEPLUGIN_FEATURE_H_
+#define SKETCHSHAPEPLUGIN_FEATURE_H_
+
+#include "SketchShapePlugin.h"
+
+#include <ModelAPI_Feature.h>
+
+/**\class SketchShapePlugin_Feature
+ * \ingroup Plugins
+ * \brief Feature for extraction shapes from the sketch.
+ * The visualization of this object is a result and
+ * it is calculated if all attributes are initialized.
+ * It is possible to extract simultaneously vertices, edges and faces.
+ * 
+ */
+class SketchShapePlugin_Feature : public ModelAPI_Feature
+{
+ public:
+  /// SketchShape feature kind
+  inline static const std::string& ID()
+  {
+    static const std::string MY_SKETCH_SHAPE_ID("SketchShape");
+    return MY_SKETCH_SHAPE_ID;
+  }
+
+  /// Sketch feature
+  inline static const std::string& SKETCH_ID()
+  {
+    static const std::string MY_SKETCH_ID("Sketch");
+    return MY_SKETCH_ID;
+  }
+
+  /// State whether the vertices are selectable
+  inline static const std::string& VERTEX_CHOICE_ID()
+  {
+    static const std::string MY_VERTEX_CHOICE_ID("VertexChoice");
+    return MY_VERTEX_CHOICE_ID;
+  }
+
+  /// List of vertices to be extracted
+  inline static const std::string& VERTEX_LIST_ID()
+  {
+    static const std::string MY_VERTEX_LIST_ID("VertexList");
+    return MY_VERTEX_LIST_ID;
+  }
+
+    /// State whether the vertices are selectable
+  inline static const std::string& EDGE_CHOICE_ID()
+  {
+    static const std::string MY_EDGE_CHOICE_ID("EdgeChoice");
+    return MY_EDGE_CHOICE_ID;
+  }
+
+  /// List of vertices to be extracted
+  inline static const std::string& EDGE_LIST_ID()
+  {
+    static const std::string MY_EDGE_LIST_ID("EdgeList");
+    return MY_EDGE_LIST_ID;
+  }
+
+    /// State whether the vertices are selectable
+  inline static const std::string& FACE_CHOICE_ID()
+  {
+    static const std::string MY_FACE_CHOICE_ID("FaceChoice");
+    return MY_FACE_CHOICE_ID;
+  }
+
+  /// List of vertices to be extracted
+  inline static const std::string& FACE_LIST_ID()
+  {
+    static const std::string MY_FACE_LIST_ID("FaceList");
+    return MY_FACE_LIST_ID;
+  }
+
+  /// Returns the kind of a feature
+  SKETCHSHAPEPLUGIN_EXPORT virtual const std::string& getKind()
+  {
+    static std::string MY_KIND = SketchShapePlugin_Feature::ID();
+    return MY_KIND;
+  }
+
+  /// Creates an arc-shape
+  SKETCHSHAPEPLUGIN_EXPORT virtual void execute();
+
+  /// Request for initialization of data model of the feature: adding all attributes
+  SKETCHSHAPEPLUGIN_EXPORT virtual void initAttributes();
+
+  /// Called on change of any argument-attribute of this object
+  /// \param theID identifier of changed attribute
+  SKETCHSHAPEPLUGIN_EXPORT virtual void attributeChanged(const std::string& theID);
+
+  /// Use plugin manager for features creation
+  SketchShapePlugin_Feature();
+};
+
+#endif
diff --git a/src/SketchShapePlugin/SketchShapePlugin_PageGroupBox.cpp b/src/SketchShapePlugin/SketchShapePlugin_PageGroupBox.cpp
new file mode 100755 (executable)
index 0000000..a28cec5
--- /dev/null
@@ -0,0 +1,14 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchShapePlugin_PageGroupBox.h
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#include <SketchShapePlugin_PageGroupBox.h>
+
+SketchShapePlugin_PageGroupBox::SketchShapePlugin_PageGroupBox(QWidget* theParent)
+: ModuleBase_PageGroupBox(theParent)
+{
+  setTitle("SketchShapePlugin_PageGroupBox");
+}
+
diff --git a/src/SketchShapePlugin/SketchShapePlugin_PageGroupBox.h b/src/SketchShapePlugin/SketchShapePlugin_PageGroupBox.h
new file mode 100755 (executable)
index 0000000..3da8919
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchShapePlugin_PageGroupBox.h
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#ifndef SKETCHSHAPEPLUGIN_PAGEGROUPBOX_H_
+#define SKETCHSHAPEPLUGIN_PAGEGROUPBOX_H_
+
+#include <ModuleBase_PageGroupBox.h>
+
+class QWidget;
+
+/*!
+ * \ingroup GUI
+ * Represent a property panel's list of ModuleBase_ModelWidgets.
+ */
+class SketchShapePlugin_PageGroupBox : public ModuleBase_PageGroupBox
+{
+  //Q_OBJECT
+public:
+  /// Constructs a page that looks like a QGroupBox
+  SketchShapePlugin_PageGroupBox(QWidget* theParent = 0);
+  /// Destructs the page
+  virtual ~SketchShapePlugin_PageGroupBox() {}
+};
+
+#endif /* SKETCHSHAPEPLUGIN_PAGEGROUPBOX_H_ */
diff --git a/src/SketchShapePlugin/SketchShapePlugin_Plugin.cpp b/src/SketchShapePlugin/SketchShapePlugin_Plugin.cpp
new file mode 100755 (executable)
index 0000000..751e41b
--- /dev/null
@@ -0,0 +1,63 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchShapePlugin_Plugin.cpp
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#include <SketchShapePlugin_Plugin.h>
+#include <SketchShapePlugin_Validators.h>
+#include <SketchShapePlugin_Feature.h>
+/*
+#include <SketchShapePlugin_PageGroupBox.h>
+
+#include <Events_Loop.h>
+*/
+#include <ModelAPI_Session.h>
+#include <ModelAPI_Document.h>
+#include <ModelAPI_Validator.h>
+
+#include <ModuleBase_WidgetCreatorFactory.h>
+#include <SketchShapePlugin_WidgetCreator.h>
+/*#include <ModelAPI_Data.h>
+
+#include <ModuleBase_ModelWidget.h>
+#include <qwidget.h>
+
+#include <memory>*/
+
+// the only created instance of this plugin
+static SketchShapePlugin_Plugin* MY_SKETCH_SHAPE_INSTANCE = new SketchShapePlugin_Plugin();
+
+SketchShapePlugin_Plugin::SketchShapePlugin_Plugin()
+{
+  SessionPtr aMgr = ModelAPI_Session::get();
+  ModelAPI_ValidatorsFactory* aFactory = aMgr->validators();
+  aFactory->registerValidator("SketchShapePlugin_FeatureValidator",
+                              new SketchShapePlugin_FeatureValidator);
+
+  WidgetCreatorFactoryPtr aWidgetCreatorFactory = ModuleBase_WidgetCreatorFactory::get();
+  aWidgetCreatorFactory->registerCreator(
+          std::shared_ptr<SketchShapePlugin_WidgetCreator>(new SketchShapePlugin_WidgetCreator()));
+
+  // register this plugin
+  ModelAPI_Session::get()->registerPlugin(this);
+}
+
+FeaturePtr SketchShapePlugin_Plugin::createFeature(std::string theFeatureID)
+{
+  if (theFeatureID == SketchShapePlugin_Feature::ID()) {
+    return FeaturePtr(new SketchShapePlugin_Feature);
+  }
+  // feature of such kind is not found
+  return FeaturePtr();
+}
+
+/*ModuleBase_ModelWidget* SketchShapePlugin_Plugin::createWidgetByType(const std::string& theType,
+                                                                     QWidget* theParent)
+{
+  ModuleBase_ModelWidget* aWidget = 0;
+  if (theType == "sketchshape_groupbox")
+    aWidget = new SketchShapePlugin_PageGroupBox(theParent);
+  return aWidget;
+}*/
+
diff --git a/src/SketchShapePlugin/SketchShapePlugin_Plugin.h b/src/SketchShapePlugin/SketchShapePlugin_Plugin.h
new file mode 100755 (executable)
index 0000000..3c037c9
--- /dev/null
@@ -0,0 +1,40 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchShapePlugin_Plugin.hxx
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#ifndef SKETCHSHAPEPLUGIN_PLUGIN_H_
+#define SKETCHSHAPEPLUGIN_PLUGIN_H_
+
+#include <SketchShapePlugin.h>
+#include <ModelAPI_Plugin.h>
+//#include <ModuleBase_IWidgetCreator.h>
+
+#include <ModelAPI_Feature.h>
+#include <ModelAPI_Events.h>
+
+class ModuleBase_ModelWidget;
+class QWidget;
+
+/**\class SketchShapePlugin_Plugin
+ * \ingroup Plugins
+ * \brief Interface common for any plugin: allows to use plugin by the plugins manager.
+ */
+//, public ModuleBase_IWidgetCreator
+class SketchShapePlugin_Plugin : public ModelAPI_Plugin
+{
+public:
+  /// Creates the feature object of this plugin by the feature string ID
+  virtual FeaturePtr createFeature(std::string theFeatureID);
+
+  /// Create widget by its type
+  /// \param theType a type
+  /// \param theParent a parent widget
+  //virtual ModuleBase_ModelWidget* createWidgetByType(const std::string& theType,
+  //                                                   QWidget* theParent = NULL);
+ public:
+   SketchShapePlugin_Plugin();
+};
+
+#endif
diff --git a/src/SketchShapePlugin/SketchShapePlugin_Tools.cpp b/src/SketchShapePlugin/SketchShapePlugin_Tools.cpp
new file mode 100755 (executable)
index 0000000..dc2fecd
--- /dev/null
@@ -0,0 +1,11 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchShapePlugin_Tools.cpp
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#include "SketchShapePlugin_Tools.h"
+
+namespace SketchShapePlugin_Tools {
+
+} // namespace SketchShapePlugin_Tools
diff --git a/src/SketchShapePlugin/SketchShapePlugin_Tools.h b/src/SketchShapePlugin/SketchShapePlugin_Tools.h
new file mode 100755 (executable)
index 0000000..412cf9c
--- /dev/null
@@ -0,0 +1,15 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchPlugin_Tools.h
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#ifndef SKETCHSHAPEPLUGIN_TOOLS_H_
+#define SKETCHSHAPEPLUGIN_TOOLS_H_
+
+namespace SketchShapePlugin_Tools {
+
+
+}; // namespace SketchPlugin_Tools
+
+#endif // SKETCHSHAPEPLUGIN_TOOLS_H_
diff --git a/src/SketchShapePlugin/SketchShapePlugin_Validators.cpp b/src/SketchShapePlugin/SketchShapePlugin_Validators.cpp
new file mode 100755 (executable)
index 0000000..0609e53
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchShapePlugin_Validators.cpp
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#include "SketchShapePlugin_Validators.h"
+
+//#include "SketchShapePlugin_Feature.h"
+
+bool SketchShapePlugin_FeatureValidator::isValid(const AttributePtr& theAttribute, 
+                                                 const std::list<std::string>& theArguments,
+                                                 std::string& theError) const
+{
+  /*if (theAttribute->attributeType() != ModelAPI_AttributeRefAttr::typeId()) {
+    theError = "The attribute with the " + theAttribute->attributeType() + " type is not processed";
+    return false;
+  }*/
+
+  return true;
+}
diff --git a/src/SketchShapePlugin/SketchShapePlugin_Validators.h b/src/SketchShapePlugin/SketchShapePlugin_Validators.h
new file mode 100755 (executable)
index 0000000..b883fc7
--- /dev/null
@@ -0,0 +1,31 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+// File:        SketchShapePlugin_Validators.h
+// Created:     25 Nov 2015
+// Author:      Natalia ERMOLAEVA
+
+#ifndef SKETCHSHAPEPLUGIN_VALIDATORS_H
+#define SKETCHSHAPEPLUGIN_VALIDATORS_H
+
+#include "SketchShapePlugin.h"
+#include <ModelAPI_AttributeValidator.h>
+
+/**\class SketchShapePlugin_FeatureValidator
+ * \ingroup Validators
+ * \brief Validator for an attribute of sketch shape feature.
+ *
+ * It is empty.
+ */
+class SketchShapePlugin_FeatureValidator : public ModelAPI_AttributeValidator
+{
+ public:
+  //! returns true if attribute is valid
+  //! \param theAttribute the checked attribute
+  //! \param theArguments arguments of the attribute
+  //! \param theError error message
+  virtual bool isValid(const AttributePtr& theAttribute,
+                       const std::list<std::string>& theArguments,
+                       std::string& theError) const;
+};
+
+#endif
diff --git a/src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.cpp b/src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.cpp
new file mode 100755 (executable)
index 0000000..a5fa8cd
--- /dev/null
@@ -0,0 +1,48 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+#include "SketchShapePlugin_WidgetCreator.h"
+#include "SketchShapePlugin_PageGroupBox.h"
+
+SketchShapePlugin_WidgetCreator::SketchShapePlugin_WidgetCreator()
+: ModuleBase_IWidgetCreator()
+{
+  myPages.insert("sketchshape_groupbox");
+}
+
+const std::set<std::string>& SketchShapePlugin_WidgetCreator::pageTypes()
+{
+  return myPages;
+}
+
+const std::set<std::string>& SketchShapePlugin_WidgetCreator::widgetTypes()
+{
+  return myTypes;
+}
+
+ModuleBase_PageBase* SketchShapePlugin_WidgetCreator::createPageByType(
+                                   const std::string& theType, QWidget* theParent)
+{
+  ModuleBase_PageBase* aPage = 0;
+  if (myPages.find(theType) == myPages.end())
+    return aPage;
+
+  if (theType == "sketchshape_groupbox") {
+    aPage = new SketchShapePlugin_PageGroupBox(theParent);
+  }
+
+  return aPage;
+}
+
+ModuleBase_ModelWidget* SketchShapePlugin_WidgetCreator::createWidgetByType(
+                                   const std::string& theType, QWidget* theParent)
+{
+  ModuleBase_ModelWidget* aWidget = 0;
+  if (myTypes.find(theType) == myTypes.end())
+    return aWidget;
+
+  //if (theType == "sketchshape_groupbox") {
+  //  aWidget = new SketchShapePlugin_PageGroupBox(theParent);
+  //}
+
+  return aWidget;
+}
diff --git a/src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.h b/src/SketchShapePlugin/SketchShapePlugin_WidgetCreator.h
new file mode 100755 (executable)
index 0000000..7d3e734
--- /dev/null
@@ -0,0 +1,54 @@
+// Copyright (C) 2014-20xx CEA/DEN, EDF R&D
+
+#ifndef SketchShapePlugin_WidgetCreator_H
+#define SketchShapePlugin_WidgetCreator_H
+
+#include <ModuleBase_IWidgetCreator.h>
+
+#include <string>
+#include <set>
+
+class ModuleBase_ModelWidget;
+class QWidget;
+
+/** 
+* \ingroup GUI
+* Interface to WidgetCreator which can create specific widgets by type
+*/
+class SketchShapePlugin_WidgetCreator : public ModuleBase_IWidgetCreator
+{
+public:
+  /// Default constructor
+  SketchShapePlugin_WidgetCreator();
+
+  /// Virtual destructor
+  ~SketchShapePlugin_WidgetCreator() {}
+
+  /// Returns a container of possible page types, which this creator can process
+  /// \returns types
+  virtual const std::set<std::string>& pageTypes();
+
+  /// Returns a list of possible widget types, which this creator can process
+  /// \returns types
+  virtual const std::set<std::string>& widgetTypes();
+
+  /// Create page by its type
+  /// \param theType a type
+  /// \param theParent a parent widget
+  virtual ModuleBase_PageBase* createPageByType(const std::string& theType,
+                                                QWidget* theParent);
+
+  /// Create widget by its type
+  /// \param theType a type
+  /// \param theParent a parent widget
+  virtual ModuleBase_ModelWidget* createWidgetByType(const std::string& theType,
+                                                     QWidget* theParent = NULL);
+
+private:
+  std::set<std::string> myPages; /// types of pages
+  std::set<std::string> myTypes; /// types of widgets
+};
+
+typedef std::shared_ptr<SketchShapePlugin_WidgetCreator> SketchShapePlguinWidgetCreatorPtr;
+
+#endif
diff --git a/src/SketchShapePlugin/Test/TestSketchShape.py b/src/SketchShapePlugin/Test/TestSketchShape.py
new file mode 100755 (executable)
index 0000000..43b8ff0
--- /dev/null
@@ -0,0 +1,129 @@
+"""
+    TestConstraintAngle.py
+    Unit test of SketchPlugin_ConstraintAngle class
+        
+    SketchPlugin_ConstraintAngle
+        static const std::string MY_CONSTRAINT_ANGLE_ID("SketchConstraintAngle");
+        data()->addAttribute(SketchPlugin_Constraint::VALUE(),    ModelAPI_AttributeDouble::typeId());
+        data()->addAttribute(SketchPlugin_Constraint::ENTITY_A(), ModelAPI_AttributeRefAttr::typeId());
+        data()->addAttribute(SketchPlugin_Constraint::ENTITY_B(), ModelAPI_AttributeRefAttr::typeId());
+        data()->addAttribute(SketchPlugin_Constraint::FLYOUT_VALUE_PNT(), GeomDataAPI_Point2D::typeId());
+        
+    
+"""
+from GeomDataAPI import *
+from ModelAPI import *
+import os
+import math
+
+#=========================================================================
+# Auxiliary functions
+#=========================================================================
+
+def angle(theLine1, theLine2):
+    # subroutine to angle between two lines
+    aStartPoint1 = geomDataAPI_Point2D(theLine1.attribute("StartPoint"))
+    aEndPoint1   = geomDataAPI_Point2D(theLine1.attribute("EndPoint"))
+    aStartPoint2 = geomDataAPI_Point2D(theLine2.attribute("StartPoint"))
+    aEndPoint2   = geomDataAPI_Point2D(theLine2.attribute("EndPoint"))
+    
+    aDirX1 = aEndPoint1.x() - aStartPoint1.x()
+    aDirY1 = aEndPoint1.y() - aStartPoint1.y()
+    aLen1 = math.hypot(aDirX1, aDirY1)
+    aDirX2 = aEndPoint2.x() - aStartPoint2.x()
+    aDirY2 = aEndPoint2.y() - aStartPoint2.y()
+    aLen2 = math.hypot(aDirX2, aDirY2)
+    
+    aDot = aDirX1 * aDirX2 + aDirY1 * aDirY2
+    
+    anAngle = math.acos(aDot / aLen1 / aLen2)
+    return round(anAngle * 180. / math.pi, 6)
+
+
+#=========================================================================
+# Initialization of the test
+#=========================================================================
+
+__updated__ = "2015-09-18"
+
+aSession = ModelAPI_Session.get()
+aDocument = aSession.moduleDocument()
+#=========================================================================
+# Creation of a sketch
+#=========================================================================
+aSession.startOperation()
+aSketchCommonFeature = aDocument.addFeature("Sketch")
+aSketchFeature = featureToCompositeFeature(aSketchCommonFeature)
+origin = geomDataAPI_Point(aSketchFeature.attribute("Origin"))
+origin.setValue(0, 0, 0)
+dirx = geomDataAPI_Dir(aSketchFeature.attribute("DirX"))
+dirx.setValue(1, 0, 0)
+norm = geomDataAPI_Dir(aSketchFeature.attribute("Norm"))
+norm.setValue(0, 0, 1)
+aSession.finishOperation()
+#=========================================================================
+# Create two lines
+#=========================================================================
+aSession.startOperation()
+aSketchLineA = aSketchFeature.addFeature("SketchLine")
+aStartPoint = geomDataAPI_Point2D(aSketchLineA.attribute("StartPoint"))
+aEndPoint = geomDataAPI_Point2D(aSketchLineA.attribute("EndPoint"))
+aStartPoint.setValue(-10., 25.)
+aEndPoint.setValue(100., 25.)
+
+aSketchLineB = aSketchFeature.addFeature("SketchLine")
+aStartPoint = geomDataAPI_Point2D(aSketchLineB.attribute("StartPoint"))
+aEndPoint = geomDataAPI_Point2D(aSketchLineB.attribute("EndPoint"))
+aStartPoint.setValue(-20., 15.)
+aEndPoint.setValue(80., 50.)
+aSession.finishOperation()
+#=========================================================================
+# Make a constraint to keep the angle
+#=========================================================================
+ANGLE_DEGREE = 30.
+aSession.startOperation()
+aConstraint = aSketchFeature.addFeature("SketchConstraintAngle")
+anAngleVal = aConstraint.real("ConstraintValue")
+refattrA = aConstraint.refattr("ConstraintEntityA")
+refattrB = aConstraint.refattr("ConstraintEntityB")
+assert (not anAngleVal.isInitialized())
+assert (not refattrA.isInitialized())
+assert (not refattrB.isInitialized())
+anAngleVal.setValue(ANGLE_DEGREE)
+refattrA.setObject(aSketchLineA.firstResult())
+refattrB.setObject(aSketchLineB.firstResult())
+aConstraint.execute()
+aSession.finishOperation()
+assert (anAngleVal.isInitialized())
+assert (refattrA.isInitialized())
+assert (refattrB.isInitialized())
+assert (angle(aSketchLineA, aSketchLineB) == ANGLE_DEGREE)
+#=========================================================================
+# Move line, check that angle is constant
+#=========================================================================
+aSession.startOperation()
+aStartPoint = geomDataAPI_Point2D(aSketchLineA.attribute("StartPoint"))
+aStartPoint.setValue(0., 30.)
+aConstraint.execute()
+aSession.finishOperation()
+assert (angle(aSketchLineA, aSketchLineB) == ANGLE_DEGREE)
+#=========================================================================
+# Change angle value and check the lines are moved
+#=========================================================================
+NEW_ANGLE_DEGREE = 60.
+aSession.startOperation()
+anAngleVal.setValue(NEW_ANGLE_DEGREE)
+aConstraint.execute()
+aSession.finishOperation()
+assert (angle(aSketchLineA, aSketchLineB) == NEW_ANGLE_DEGREE)
+#=========================================================================
+# TODO: improve test
+# 1. remove constraint, move line's start point to
+#    check that constraint are not applied
+# 2. check constrained distance between:
+#    * point and line
+#    * two lines
+#=========================================================================
+#=========================================================================
+# End of test
+#=========================================================================
diff --git a/src/SketchShapePlugin/plugin-SketchShape.xml b/src/SketchShapePlugin/plugin-SketchShape.xml
new file mode 100755 (executable)
index 0000000..6f51667
--- /dev/null
@@ -0,0 +1,48 @@
+<!-- Copyright (C) 2014-20xx CEA/DEN, EDF R&D -->
+
+<plugin>
+  <workbench id="Sketch">
+    <group id="Exchange">
+      <feature id="SketchShape" title="Sketch vertices, edges and faces" tooltip="Construct vertices, edges and faces by sketch" icon=":icons/sketchshape.png">
+        <shape_selector id="Sketch"
+          label="Sketch"
+          icon=":icons/sketch.png"
+          tooltip="Select a sketch"
+          shape_types="objects">
+          <validator id="PartSet_SketchEntityValidator" parameters="Sketch"/>
+        </shape_selector>
+        <sketchshape_groupbox title="Direction">
+          <boolvalue id="VertexChoice" label="VERTICES" default="true" tooltip="Vertices selection on sketch"/>
+          <sketch_multi_selector id="VertexList"
+            label=""
+            tooltip="Select list of vertices"
+            type_choice="Vertices Edges Faces"
+            use_external="false"
+            use_choice="false">
+            <validator id="SketchShapePlugin_FeatureValidator" />
+          </sketch_multi_selector>
+
+          <boolvalue id="EdgeChoice" label="EDGES" default="true" tooltip="Edges selection on sketch"/>
+          <sketch_multi_selector id="EdgeList"
+            label=""
+            tooltip="Select list of edges"
+            type_choice="Vertices Edges Faces"
+            use_external="false"
+            use_choice="false">
+            <validator id="SketchShapePlugin_FeatureValidator" />
+          </sketch_multi_selector>
+
+          <boolvalue id="FaceChoice" label="FACES" default="true" tooltip="Faces selection on sketch"/>
+          <sketch_multi_selector id="FaceList"
+            label=""
+            tooltip="Select list of faces"
+            type_choice="Vertices Edges Faces"
+            use_external="false"
+            use_choice="false">
+            <validator id="SketchShapePlugin_FeatureValidator" />
+          </sketch_multi_selector>
+        </sketchshape_groupbox>
+      </feature>
+    </group>
+  </workbench>
+</plugin>
index 11cdff04bb22f3a64ba17e97d661ef9ce38d2a12..b4b888fa3b75607f333ce26e27e8779247068f31 100644 (file)
@@ -394,6 +394,10 @@ Slvs_hEntity SketchSolver_Constraint::changeEntity(AttributePtr theEntity, int&
   }
 
   Slvs_hGroup aGroupID = myGroup->getId();
+  // do not update entity from another group
+  if (aCurrentEntity.h != SLVS_E_UNKNOWN && aGroupID != aCurrentEntity.group)
+    return aCurrentEntity.h;
+
   // Point in 3D
   std::shared_ptr<GeomDataAPI_Point> aPoint =
       std::dynamic_pointer_cast<GeomDataAPI_Point>(theEntity);
@@ -488,6 +492,10 @@ Slvs_hEntity SketchSolver_Constraint::changeEntity(FeaturePtr theEntity, int& th
   }
 
   Slvs_hGroup aGroupID = myGroup->getId();
+  // do not update entity from another group
+  if (aCurrentEntity.h != SLVS_E_UNKNOWN && aGroupID != aCurrentEntity.group)
+    return aCurrentEntity.h;
+
   Slvs_hEntity aWorkplaneID = myGroup->getWorkplaneId();
   DataPtr aData = theEntity->data();
 
index 030274ac2dcc831be74167f26a689dcb20acb1ab..b97d1a754fde25fbc659b8bfa8e0e771e1502c48 100644 (file)
@@ -2,6 +2,11 @@
 #include <SketchSolver_Error.h>
 #include <SketchSolver_Group.h>
 
+#include <SketchPlugin_Arc.h>
+#include <SketchPlugin_Circle.h>
+#include <SketchPlugin_Line.h>
+#include <SketchPlugin_Point.h>
+
 SketchSolver_ConstraintMovement::SketchSolver_ConstraintMovement(FeaturePtr theFeature)
   : SketchSolver_ConstraintRigid(theFeature)
 {
@@ -45,6 +50,7 @@ void SketchSolver_ConstraintMovement::getAttributes(
   theIsFullyMoved = true;
   int aType = SLVS_E_UNKNOWN; // type of created entity
   Slvs_hEntity anEntityID = SLVS_E_UNKNOWN;
+  Slvs_hEntity anEntMaxID = myStorage->entityMaxID();
   anEntityID = myGroup->getFeatureId(myBaseFeature);
   if (anEntityID == SLVS_E_UNKNOWN) {
     anEntityID = changeEntity(myBaseFeature, aType);
@@ -65,17 +71,28 @@ void SketchSolver_ConstraintMovement::getAttributes(
      isComplexFeature = true;
   }
 
+  int aNbOutOfGroup = 0;
   if (isComplexFeature) {
      std::list<AttributePtr> aPoints =
         myBaseFeature->data()->attributes(GeomDataAPI_Point2D::typeId());
      std::list<AttributePtr>::iterator anIt = aPoints.begin();
      for (; anIt != aPoints.end(); ++anIt) {
-       Slvs_hEntity anAttr = myGroup->getAttributeId(*anIt);
+       std::map<AttributePtr, Slvs_hEntity>::const_iterator aFound = myAttributeMap.find(*anIt);
+       Slvs_hEntity anAttr = aFound != myAttributeMap.end() ?
+                             aFound->second : myGroup->getAttributeId(*anIt);
+       Slvs_Entity anAttrEnt = myStorage->getEntity(anAttr);
 
        // Check the attribute changes coordinates
        std::shared_ptr<GeomDataAPI_Point2D> aPt =
           std::dynamic_pointer_cast<GeomDataAPI_Point2D>(*anIt);
-       if (isMoved(aPt, anAttr)) {
+       // Check the entity is not lying in the current group or it is not moved
+       if (anAttr == SLVS_E_UNKNOWN || anAttrEnt.group != myGroup->getId() ||
+           (anAttr <= anEntMaxID && !isMoved(aPt, anAttrEnt))) {
+         if (anAttrEnt.group == SLVS_G_OUTOFGROUP)
+           ++aNbOutOfGroup;
+         theIsFullyMoved = false;
+       }
+       else {
          theAttributes.push_back(anAttr);
          // update point coordinates
          Slvs_Entity anAttrEnt = myStorage->getEntity(anAttr);
@@ -86,11 +103,21 @@ void SketchSolver_ConstraintMovement::getAttributes(
            myStorage->updateParameter(aParam);
          }
        }
-       else
-         theIsFullyMoved = false;
      }
   }
 
+  // Additional checking, which leads to fix whole feature, if it has fixed points
+  if (!theIsFullyMoved) {
+    Slvs_Entity aFeature = myStorage->getEntity(anEntityID);
+    int aNbPoints = 4;
+    while (aNbPoints > 0 && aFeature.point[aNbPoints-1] == SLVS_E_UNKNOWN)
+      --aNbPoints;
+    if (aNbPoints == aNbOutOfGroup + (int)theAttributes.size()) {
+      theIsFullyMoved = true;
+      return;
+    }
+  }
+
   // Leave only points which are used in constraints
   if (myStorage->isUsedByConstraints(anEntityID))
     return;
@@ -107,12 +134,43 @@ void SketchSolver_ConstraintMovement::getAttributes(
 }
 
 bool SketchSolver_ConstraintMovement::isMoved(
-    std::shared_ptr<GeomDataAPI_Point2D> thePoint, Slvs_hEntity theEntity)
+    std::shared_ptr<GeomDataAPI_Point2D> thePoint, const Slvs_Entity& theEntity)
 {
-  Slvs_Entity anAttrEnt = myStorage->getEntity(theEntity);
-  double aDeltaX = myStorage->getParameter(anAttrEnt.param[0]).val;
-  double aDeltaY = myStorage->getParameter(anAttrEnt.param[1]).val;
+  double aDeltaX = myStorage->getParameter(theEntity.param[0]).val;
+  double aDeltaY = myStorage->getParameter(theEntity.param[1]).val;
   aDeltaX -= thePoint->x();
   aDeltaY -= thePoint->y();
   return aDeltaX * aDeltaX + aDeltaY * aDeltaY >= tolerance * tolerance;
 }
+
+void SketchSolver_ConstraintMovement::fixFeature()
+{
+  Slvs_hEntity anEntID = fixedEntity();
+
+  std::string aKind;
+  std::map<FeaturePtr, Slvs_hEntity>::const_iterator aFIt = myFeatureMap.begin();
+  for (; aFIt != myFeatureMap.end() && aKind.empty(); ++aFIt)
+    if (aFIt->second == anEntID)
+      aKind = aFIt->first->getKind();
+  std::map<AttributePtr, Slvs_hEntity>::const_iterator anAtIt = myAttributeMap.begin();
+  for (; anAtIt != myAttributeMap.end() && aKind.empty(); ++anAtIt)
+    if (anAtIt->second == anEntID)
+      aKind = anAtIt->first->attributeType();
+
+  if (aKind == SketchPlugin_Line::ID()) {
+    Slvs_Entity aLine = myStorage->getEntity(anEntID);
+    fixLine(aLine);
+  }
+  else if (aKind == SketchPlugin_Arc::ID()) {
+    Slvs_Entity anArc = myStorage->getEntity(anEntID);
+    fixArc(anArc);
+  }
+  else if (aKind == SketchPlugin_Circle::ID()) {
+    Slvs_Entity aCirc = myStorage->getEntity(anEntID);
+    fixCircle(aCirc);
+  }
+  else if (aKind == SketchPlugin_Point::ID() || aKind == GeomDataAPI_Point2D::typeId()) {
+    fixPoint(anEntID);
+  }
+}
+
index dd2b0df741368b380db0aa2459d789dc89cd649e..dbec1b020e25ea06bf4a910cb4431c84f5417e9d 100644 (file)
@@ -38,9 +38,12 @@ protected:
   /// \param[out] theIsFullyMoved shows that the feature is moved, in other case only one point of the feature is shifted
   virtual void getAttributes(double& theValue, std::vector<Slvs_hEntity>& theAttributes, bool& theIsFullyMoved);
 
+  /// \brief Fixed feature basing on its type
+  virtual void fixFeature();
+
 private:
   /// \brief Check the coordinates of point are differ than coordinates of correponding SolveSpace entity
-  bool isMoved(std::shared_ptr<GeomDataAPI_Point2D> thePoint, Slvs_hEntity theEntity);
+  bool isMoved(std::shared_ptr<GeomDataAPI_Point2D> thePoint, const Slvs_Entity& theEntity);
 };
 
 #endif
index b1de57dc2be113102af4cd23996fe4b35382a1dd..5be0d2fe596ce718db4c4217312f6c009b6d74f9 100644 (file)
@@ -64,8 +64,8 @@ void SketchSolver_ConstraintMulti::update(ConstraintPtr theConstraint)
   if (!theConstraint || theConstraint == myBaseConstraint) {
     AttributeRefListPtr anInitialRefList = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
         myBaseConstraint->attribute(SketchPlugin_Constraint::ENTITY_A()));
-    AttributeIntegerPtr aNbCopies = myBaseConstraint->integer(nameNbCopies());
-    if (anInitialRefList->size() != myNumberOfObjects || aNbCopies->value() != myNumberOfCopies) {
+    AttributeIntegerPtr aNbObjects = myBaseConstraint->integer(nameNbObjects());
+    if (anInitialRefList->size() != myNumberOfObjects || aNbObjects->value()-1 != myNumberOfCopies) {
       remove(myBaseConstraint);
       process();
       return;
index 8d30da0e630a580b67fae2a6dcb5e736a9c69693..4786ee430436040987a5dfe405366e9d8eff4892 100644 (file)
@@ -72,8 +72,8 @@ protected:
   virtual void updateLocal() = 0;
 
   /// \brief Returns name of NUMBER_OF_COPIES parameter for corresponding feature
-  virtual const std::string& nameNbCopies() = 0;
-
+  virtual const std::string& nameNbObjects() = 0;
+  
 protected:
   /// \brief Convert absolute coordinates to relative coordinates
   virtual void getRelative(double theAbsX, double theAbsY, double& theRelX, double& theRelY) = 0;
index ed1550d41e10ba1c740b3678f8e4956467aa3d11..7608460c47d37f5bdcb2261f02843b2e92b8d08a 100644 (file)
@@ -40,7 +40,9 @@ void SketchSolver_ConstraintMultiRotation::getAttributes(
   AttributeRefListPtr anInitialRefList = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
       aData->attribute(SketchPlugin_Constraint::ENTITY_A()));
   myNumberOfObjects = anInitialRefList->size();
-  myNumberOfCopies = (size_t) aData->integer(SketchPlugin_MultiRotation::NUMBER_OF_COPIES_ID())->value();
+  myNumberOfCopies = (size_t) aData->integer(SketchPlugin_MultiRotation::NUMBER_OF_OBJECTS_ID())->value() - 1;
+  if (myNumberOfCopies <= 0)
+    return;
   AttributeRefListPtr aRefList = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
       myBaseConstraint->attribute(SketchPlugin_Constraint::ENTITY_B()));
   if (!aRefList) {
@@ -205,7 +207,7 @@ void SketchSolver_ConstraintMultiRotation::transformRelative(double& theX, doubl
   theX = aTemp;
 }
 
-const std::string& SketchSolver_ConstraintMultiRotation::nameNbCopies()
+const std::string& SketchSolver_ConstraintMultiRotation::nameNbObjects()
 {
-  return SketchPlugin_MultiRotation::NUMBER_OF_COPIES_ID();
+  return SketchPlugin_MultiRotation::NUMBER_OF_OBJECTS_ID();
 }
index 5206c6b9f0fc74e40d579a39484dd05b1e003fa2..86966e522110d56d67cc83212aa824b9c77779be 100644 (file)
@@ -54,7 +54,7 @@ private:
 
 private:
   /// \brief Returns name of NUMBER_OF_COPIES parameter for corresponding feature
-  virtual const std::string& nameNbCopies();
+  virtual const std::string& nameNbObjects();
 
 private:
   Slvs_hEntity myRotationCenter; ///< ID of center of rotation
index 381c8641b71770392680a17696b53140416e1c85..02b872c6e549527f2bbdd56cb85c4a87707b5e9a 100644 (file)
@@ -46,7 +46,10 @@ void SketchSolver_ConstraintMultiTranslation::getAttributes(
   AttributeRefListPtr anInitialRefList = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
       aData->attribute(SketchPlugin_Constraint::ENTITY_A()));
   myNumberOfObjects = anInitialRefList->size();
-  myNumberOfCopies = (size_t) aData->integer(SketchPlugin_MultiTranslation::NUMBER_OF_COPIES_ID())->value();
+  myNumberOfCopies = (size_t) aData->integer(SketchPlugin_MultiTranslation::NUMBER_OF_OBJECTS_ID())->value() - 1;
+  if (myNumberOfCopies <= 0)
+    return;
+
   AttributeRefListPtr aRefList = std::dynamic_pointer_cast<ModelAPI_AttributeRefList>(
       myBaseConstraint->attribute(SketchPlugin_Constraint::ENTITY_B()));
   if (!aRefList) {
@@ -199,7 +202,7 @@ void SketchSolver_ConstraintMultiTranslation::transformRelative(double& theX, do
   theY += myDelta[1];
 }
 
-const std::string& SketchSolver_ConstraintMultiTranslation::nameNbCopies()
+const std::string& SketchSolver_ConstraintMultiTranslation::nameNbObjects()
 {
-  return SketchPlugin_MultiTranslation::NUMBER_OF_COPIES_ID();
+  return SketchPlugin_MultiTranslation::NUMBER_OF_OBJECTS_ID();
 }
index c3188afa30ee70f781da06ce862b3ec148fca708..c9f10147def434dcc90e67d1937686b2e1bcf17b 100644 (file)
@@ -56,7 +56,7 @@ private:
 
 private:
   /// \brief Returns name of NUMBER_OF_COPIES parameter for corresponding feature
-  virtual const std::string& nameNbCopies();
+  virtual const std::string& nameNbObjects();
 
 private:
   Slvs_hEntity myTranslationLine; ///< ID of translation line
index 3f52e19922f7378498cf097d97e8dafad49cdc4c..ed8ae371271336fa7c9ef9724b6c92a0a5c0c46c 100644 (file)
@@ -40,42 +40,72 @@ void SketchSolver_ConstraintRigid::process()
   fixFeature();
 }
 
+void SketchSolver_ConstraintRigid::update(ConstraintPtr theConstraint)
+{
+  cleanErrorMsg();
+  if (theConstraint && theConstraint == myBaseConstraint &&
+      theConstraint->getKind() == myBaseConstraint->getKind() &&
+      checkAttributesChanged(theConstraint)) {
+    // remove previous constraint and set the given one
+    remove(myBaseConstraint);
+    myBaseConstraint = theConstraint;
+    process();
+  }
+}
+
+static void fixEntity(StoragePtr theStorage, const Slvs_hEntity& theEntID)
+{
+  Slvs_Entity anEntity = theStorage->getEntity(theEntID);
+  anEntity.group = SLVS_G_OUTOFGROUP;
+  theStorage->updateEntity(anEntity);
+  // move out of group all sub-entities
+  for (int i = 0; i < 4; ++i)
+    if (anEntity.point[i] != SLVS_E_UNKNOWN)
+      fixEntity(theStorage, anEntity.point[i]);
+  // move out of group the radius of circle
+  if (anEntity.distance != SLVS_E_UNKNOWN)
+    fixEntity(theStorage, anEntity.distance);
+  // move out of group parameters
+  for (int i = 0; i < 4; ++i)
+    if (anEntity.param[i] != SLVS_E_UNKNOWN) {
+      Slvs_Param aParam = theStorage->getParameter(anEntity.param[i]);
+      aParam.group = SLVS_G_OUTOFGROUP;
+      theStorage->updateParameter(aParam);
+    }
+}
+
 void SketchSolver_ConstraintRigid::fixFeature()
 {
-  Slvs_hEntity anEntID;
-  if (!myFeatureMap.empty())
-    anEntID = myFeatureMap.begin()->second;
-  else
-    anEntID = myAttributeMap.begin()->second;
-  //if (myStorage->isEntityFixed(anEntID, true)) {
-  //  myErrorMsg = SketchSolver_Error::ALREADY_FIXED();
-  //  return;
-  //}
-
-  std::string aKind;
-  if (!myFeatureMap.empty())
-    aKind = myFeatureMap.begin()->first->getKind();
-  else
-    aKind = myAttributeMap.begin()->first->attributeType();
+  Slvs_hEntity anEntID = fixedEntity();
+  if (anEntID != SLVS_E_UNKNOWN)
+    fixEntity(myStorage, anEntID);
+}
 
-  if (aKind == SketchPlugin_Line::ID()) {
-    Slvs_Entity aLine = myStorage->getEntity(anEntID);
-    fixLine(aLine);
-  }
-  else if (aKind == SketchPlugin_Arc::ID()) {
-    Slvs_Entity anArc = myStorage->getEntity(anEntID);
-    fixArc(anArc);
-  }
-  else if (aKind == SketchPlugin_Circle::ID()) {
-    Slvs_Entity aCirc = myStorage->getEntity(anEntID);
-    fixCircle(aCirc);
+Slvs_hEntity SketchSolver_ConstraintRigid::fixedEntity() const
+{
+  Slvs_hEntity anEntID = SLVS_E_UNKNOWN;
+  if (myBaseConstraint) {
+    AttributeRefAttrPtr aRefAttr = std::dynamic_pointer_cast<ModelAPI_AttributeRefAttr>(
+        myBaseConstraint->attribute(SketchPlugin_Constraint::ENTITY_A()));
+    if (aRefAttr->isObject()) {
+      FeaturePtr aFeature = ModelAPI_Feature::feature(aRefAttr->object());
+      std::map<FeaturePtr, Slvs_hEntity>::const_iterator aFound = myFeatureMap.find(aFeature);
+      if (aFound != myFeatureMap.end())
+        anEntID = aFound->second;
+    } else {
+      std::map<AttributePtr, Slvs_hEntity>::const_iterator aFound = myAttributeMap.find(aRefAttr->attr());
+      if (aFound != myAttributeMap.end())
+        anEntID = aFound->second;
+    }
   }
-  else if (aKind == SketchPlugin_Point::ID() || aKind == GeomDataAPI_Point2D::typeId()) {
-    fixPoint(anEntID);
+  else if (myBaseFeature) {
+    std::map<FeaturePtr, Slvs_hEntity>::const_iterator aFound = myFeatureMap.find(myBaseFeature);
+    if (aFound != myFeatureMap.end())
+      anEntID = aFound->second;
   }
+  return anEntID;
 }
 
-
 void SketchSolver_ConstraintRigid::getAttributes(
     double& theValue,
     std::vector<Slvs_hEntity>& theAttributes)
@@ -116,38 +146,6 @@ void SketchSolver_ConstraintRigid::getAttributes(
     theAttributes.push_back(anEntityID);
 }
 
-void SketchSolver_ConstraintRigid::adjustConstraint()
-{
-  if (myFeatureMap.empty() || (
-      myFeatureMap.begin()->first->getKind() != SketchPlugin_Arc::ID() && 
-      myFeatureMap.begin()->first->getKind() != SketchPlugin_Circle::ID()))
-    return;
-  FeaturePtr aFeature = myFeatureMap.begin()->first;
-
-  // Search radius constraints and update them
-  Slvs_Constraint aConstraint;
-  std::vector<Slvs_hConstraint>::iterator aCIter = mySlvsConstraints.begin();
-  for (; aCIter != mySlvsConstraints.end(); aCIter++) {
-    aConstraint = myStorage->getConstraint(*aCIter);
-    if (aConstraint.type != SLVS_C_DIAMETER)
-      continue;
-    double aRadius = 0.0;
-    if (aFeature->getKind() == SketchPlugin_Arc::ID()) {
-      std::shared_ptr<GeomAPI_Pnt2d> aCenter = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
-        aFeature->attribute(SketchPlugin_Arc::CENTER_ID()))->pnt();
-      std::shared_ptr<GeomAPI_Pnt2d> aStart = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
-        aFeature->attribute(SketchPlugin_Arc::START_ID()))->pnt();
-      aRadius = aCenter->distance(aStart);
-    } else {
-      aRadius = std::dynamic_pointer_cast<ModelAPI_AttributeDouble>(
-          aFeature->attribute(SketchPlugin_Circle::RADIUS_ID()))->value();
-    }
-
-    aConstraint.valA = aRadius * 2.0;
-    *aCIter = myStorage->updateConstraint(aConstraint);
-  }
-}
-
 
 bool SketchSolver_ConstraintRigid::remove(ConstraintPtr theConstraint)
 {
@@ -155,10 +153,19 @@ bool SketchSolver_ConstraintRigid::remove(ConstraintPtr theConstraint)
   if (theConstraint && theConstraint != myBaseConstraint)
     return false;
   bool isFullyRemoved = true;
+
   std::vector<Slvs_hConstraint>::iterator aCIter = mySlvsConstraints.begin();
-  for (; aCIter != mySlvsConstraints.end(); aCIter++)
+  for (; aCIter != mySlvsConstraints.end(); ++aCIter)
     isFullyRemoved = myStorage->removeConstraint(*aCIter) && isFullyRemoved;
 
+  std::map<FeaturePtr, Slvs_hEntity>::iterator aFIter = myFeatureMap.begin();
+  for (; aFIter != myFeatureMap.end(); ++aFIter)
+    isFullyRemoved = myStorage->removeEntity(aFIter->second) && isFullyRemoved;
+
+  std::map<AttributePtr, Slvs_hEntity>::iterator anAtIter = myAttributeMap.begin();
+  for (; anAtIter != myAttributeMap.end(); ++anAtIter)
+    isFullyRemoved = myStorage->removeEntity(anAtIter->second) && isFullyRemoved;
+
   if (isFullyRemoved) {
     myFeatureMap.clear();
     myAttributeMap.clear();
@@ -169,10 +176,10 @@ bool SketchSolver_ConstraintRigid::remove(ConstraintPtr theConstraint)
   return true;
 }
 
-void SketchSolver_ConstraintRigid::fixPoint(const Slvs_hEntity& thePointID)
+Slvs_hConstraint SketchSolver_ConstraintRigid::fixPoint(const Slvs_hEntity& thePointID)
 {
   if (thePointID == SLVS_E_UNKNOWN)
-    return;
+    return SLVS_C_UNKNOWN;
 
   Slvs_Constraint aConstraint;
   Slvs_hConstraint aConstrID = SLVS_E_UNKNOWN;
@@ -180,22 +187,23 @@ void SketchSolver_ConstraintRigid::fixPoint(const Slvs_hEntity& thePointID)
   bool isForceUpdate = (isFixed && !myBaseConstraint &&
                         myStorage->isTemporary(aConstrID));
   if (!isForceUpdate) { // create new constraint
-    if (isFixed) return;
-    aConstraint = Slvs_MakeConstraint(SLVS_E_UNKNOWN, myGroup->getId(), getType(), myGroup->getWorkplaneId(),
+    if (isFixed) return aConstrID;
+    aConstraint = Slvs_MakeConstraint(SLVS_C_UNKNOWN, myGroup->getId(), getType(), myGroup->getWorkplaneId(),
         0.0, thePointID, SLVS_E_UNKNOWN, SLVS_E_UNKNOWN, SLVS_E_UNKNOWN);
     aConstraint.h = myStorage->addConstraint(aConstraint);
     mySlvsConstraints.push_back(aConstraint.h);
     if (!myBaseConstraint)
       myStorage->addConstraintWhereDragged(aConstraint.h);
   } else { // update already existent constraint
-    if (!isFixed || aConstrID == SLVS_E_UNKNOWN || myBaseConstraint)
-      return;
+    if (!isFixed || aConstrID == SLVS_C_UNKNOWN || myBaseConstraint)
+      return SLVS_C_UNKNOWN;
     aConstraint = myStorage->getConstraint(aConstrID);
     aConstraint.ptA = thePointID;
     myStorage->addConstraint(aConstraint);
     if (!myBaseConstraint)
       myStorage->addConstraintWhereDragged(aConstraint.h);
   }
+  return aConstraint.h;
 }
 
 void SketchSolver_ConstraintRigid::fixLine(const Slvs_Entity& theLine)
index 22f4c6dd50e3c794fae2554b20df0d19e96fd679..adac8c6a30a3ab42fdacdd1d22eec49ef6dde6e9 100644 (file)
  *  \brief   Stores data of Rigid (Fixed) constraint
  *
  *  Rigid constraint may have NULL basic SketchPlugin constraint,
- *  because the Rigid constraint may be temporary for correct moving of objects
+ *  because the Rigid constraint may be temporary for correct moving of objects.
+ *
+ *  Rigid constraint does not create a constraint, but builds the entities in separate group,
+ *  so they will not be moved while resolving the set of constraints.
  */
 class SketchSolver_ConstraintRigid : public SketchSolver_Constraint
 {
@@ -27,6 +30,9 @@ public:
   /// Creates temporary constraint based on feature
   SketchSolver_ConstraintRigid(FeaturePtr theFeature);
 
+  /// \brief Update constraint
+  virtual void update(ConstraintPtr theConstraint = ConstraintPtr());
+
   /// \brief Tries to remove constraint
   /// \return \c false, if current constraint contains another SketchPlugin constraints (like for multiple coincidence)
   virtual bool remove(ConstraintPtr theConstraint = ConstraintPtr());
@@ -44,17 +50,16 @@ protected:
   /// \param[out] theAttributes list of attributes to be filled
   virtual void getAttributes(double& theValue, std::vector<Slvs_hEntity>& theAttributes);
 
-  /// \brief This method is used in derived objects to check consistence of constraint.
-  ///        E.g. the distance between line and point may be signed.
-  virtual void adjustConstraint();
-
   /// \brief Fixed feature basing on its type
-  void fixFeature();
+  virtual void fixFeature();
 
   /// \brief Fix given point
-  void fixPoint(const Slvs_hEntity& thePointID);
+  /// \return ID of the Fixed constraint
+  Slvs_hConstraint fixPoint(const Slvs_hEntity& thePointID);
+
+  /// \brief Returns ID of fixed entity
+  Slvs_hEntity fixedEntity() const;
 
-private:
   /// \brief Fixing line position (start and end points)
   void fixLine(const Slvs_Entity& theLine);
   /// \brief Fixing circle (center and radius)
index 5a9652fe6955ae404f23f248f5d8da9605bf81c3..9ad17d7508f15014737c74e2dbe5357fffea7b1e 100644 (file)
@@ -563,7 +563,8 @@ bool SketchSolver_Group::resolveConstraints()
     updateConstraints();
 
   bool aResolved = false;
-  if (myStorage->isNeedToResolve() && !isEmpty()) {
+  bool isGroupEmpty = isEmpty();
+  if (myStorage->isNeedToResolve() && !isGroupEmpty) {
     myConstrSolver.setGroupID(myID);
     myConstrSolver.calculateFailedConstraints(false);
     myStorage->initializeSolver(myConstrSolver);
@@ -631,6 +632,16 @@ bool SketchSolver_Group::resolveConstraints()
     }
 
     aResolved = true;
+  } else if (!isGroupEmpty) {
+    myFeatureStorage->blockEvents(true);
+    // Check there are constraints Fixed. If they exist, update parameters by stored values
+    ConstraintConstraintMap::iterator aCIt = myConstraints.begin();
+    for (; aCIt != myConstraints.end(); ++aCIt)
+      if (aCIt->first->getKind() == SketchPlugin_ConstraintRigid::ID()) {
+        aCIt->second->refresh();
+        aResolved = true;
+      }
+     myFeatureStorage->blockEvents(false);
   }
   removeTemporaryConstraints();
   myStorage->setNeedToResolve(false);
index 4ed2112e4b81b999181e35b5be337f94597e7436..58cd67418755730d3f169b6bdde4c3f020c8db65 100644 (file)
@@ -371,6 +371,14 @@ bool SketchSolver_Storage::isPointFixed(
       break;
     }
 
+  // Check whether one of coincident points is out-of-group
+  std::set<Slvs_hEntity>::const_iterator aCoincIt = aCoincident.begin();
+  for (; aCoincIt != aCoincident.end(); ++aCoincIt) {
+    Slvs_Entity aPoint = getEntity(*aCoincIt);
+    if (aPoint.group == SLVS_G_OUTOFGROUP)
+      return true;
+  }
+
   // Search the Rigid constraint
   theFixed = SLVS_C_UNKNOWN;
   std::vector<Slvs_Constraint>::const_iterator aConstrIter = myConstraints.begin();
index fb8e79eb211113771ec8148587115df88a2b8223..bb270d77d191a1083c0b9d53e6f03898a4b09ee9 100644 (file)
@@ -69,6 +69,9 @@ public:
   void copyEntity(const Slvs_hEntity& theFrom, const Slvs_hEntity& theTo);
   /// \brief Check the entity is used in constraints
   bool isUsedByConstraints(const Slvs_hEntity& theEntityID) const;
+  /// \brief Returns maximal ID of entities in this storage
+  const Slvs_hEntity& entityMaxID() const
+  { return myEntityMaxID; }
 
   /// \brief Verifies the current point or another coincident one is fixed
   /// \param[in]  thePointID  entity to be checked fixed
@@ -105,6 +108,9 @@ public:
   const Slvs_Constraint& getConstraint(const Slvs_hConstraint& theConstraintID) const;
   /// \brief Returns list of constraints of specified type
   std::list<Slvs_Constraint> getConstraintsByType(int theConstraintType) const;
+  /// \brief Returns quantity of constraints in this storage
+  size_t nbConstraints() const
+  { return myConstraints.size(); }
 
   /// \brief Attach constraint SLVS_C_WHERE_DRAGGED to this storage. It need to make precise calculations
   void addConstraintWhereDragged(const Slvs_hConstraint& theConstraintID);
index 24977ecee183754414167f5ef6bf6ea5e1cd766a..8f93fd0eae6fcfd3dd7f3cd9f2e4e8a7d1662504 100644 (file)
 #include <GeomAPI_Lin2d.h>
 
 #include <ModelAPI_Data.h>
+#include <ModelAPI_AttributeDouble.h>
+
+#include <AIS_DisplaySpecialSymbol.hxx>
 
 
 static const gp_Pnt MyDefStart(0,0,0);
 static const gp_Pnt MyDefEnd(1,0,0);
 static const gp_Pln MyDefPln(gp_Pnt(0,0,0), gp_Dir(0,0,1));
 
+static const Standard_ExtCharacter MySummSymbol(0x2211);
+
 IMPLEMENT_STANDARD_HANDLE(SketcherPrs_LengthDimension, AIS_LengthDimension);
 IMPLEMENT_STANDARD_RTTIEXT(SketcherPrs_LengthDimension, AIS_LengthDimension);
 
@@ -67,6 +72,13 @@ void SketcherPrs_LengthDimension::Compute(const Handle(PrsMgr_PresentationManage
   // The value of vertical aligment is sometimes changed
   myAspect->TextAspect()->SetVerticalJustification(Graphic3d_VTA_CENTER);
 
+  AttributeDoublePtr aValue = myConstraint->data()->real(SketchPlugin_Constraint::VALUE());
+  std::set<std::string> aParams = aValue->usedParameters();
+  if (aParams.size() > 0) {
+    SetSpecialSymbol(MySummSymbol);
+    SetDisplaySpecialSymbol(AIS_DSS_Before);
+  }
+
   AIS_LengthDimension::Compute(thePresentationManager, thePresentation, theMode);
 }
 
index acd74cb158bdf90deabdb73b721ac7532978bdbd..417a6a0c8b1ab21a68d2fda0b59b17695c5619c1 100644 (file)
@@ -19,7 +19,7 @@ SketcherPrs_SensitivePoint::SketcherPrs_SensitivePoint(const Handle(SelectBasics
                                                        int theId)
 :Select3D_SensitiveEntity(anOwner), myId(theId)
 {
-  SetSensitivityFactor(12.);
+  SetSensitivityFactor(12);
 }
 
 Standard_Boolean SketcherPrs_SensitivePoint::Matches (SelectBasics_SelectingVolumeManager& theMgr,
index baf7a928f1219450b08d400e38f17aa3f2bc4a3b..ee88f55bc82818ef0b99e6f3c566274440d7446d 100644 (file)
@@ -82,6 +82,8 @@ protected:
     const Handle(Prs3d_Presentation)& thePresentation, const Standard_Integer theMode = 0);
 
   /// Redefinition of virtual function
+  /// \param aSelection selection
+  /// \param aMode compute mode
   Standard_EXPORT virtual void ComputeSelection(const Handle(SelectMgr_Selection)& aSelection,
     const Standard_Integer aMode);
 
index c2ccd87488ab57d5f11c986059ef128cd30b3b0c..847509a1b046b265feaa1c3607e671cc67d0b7dc 100644 (file)
@@ -57,8 +57,10 @@ std::shared_ptr<GeomAPI_Pnt2d> getPoint(ModelAPI_Feature* theFeature,
   FeaturePtr aFeature;
   std::shared_ptr<ModelAPI_AttributeRefAttr> anAttr = std::dynamic_pointer_cast<
       ModelAPI_AttributeRefAttr>(theFeature->data()->attribute(theAttribute));
-  if (anAttr)
-    aFeature = ModelAPI_Feature::feature(anAttr->object());
+  if(!anAttr.get()) {
+    return std::shared_ptr<GeomAPI_Pnt2d>();
+  }
+  aFeature = ModelAPI_Feature::feature(anAttr->object());
 
   if (aFeature && aFeature->getKind() == SketchPlugin_Point::ID())
     aPointAttr = std::dynamic_pointer_cast<GeomDataAPI_Point2D>(
index 968457ffe19d1e90074e8f6158a4f4b5223ab051..c16332fd23ea467142f05f61d98a480ba19b3c49 100644 (file)
@@ -95,31 +95,28 @@ bool XGUI_ActionsMgr::isNested(const QString& theId) const
   return false;
 }
 
-void XGUI_ActionsMgr::update()
+void XGUI_ActionsMgr::updateCommandsStatus()
 {
+  setAllEnabled(true);
   XGUI_Selection* aSelection = myWorkshop->selector()->selection();
-  if (aSelection->getSelected(ModuleBase_ISelection::Viewer).size() > 0) {
+  if (aSelection->getSelected(ModuleBase_ISelection::Viewer).size() > 0)
     updateOnViewSelection();
-  } else {
-    FeaturePtr anActiveFeature = FeaturePtr();
-    ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
-                                                           (myOperationMgr->currentOperation());
-    if (aFOperation) {
-      anActiveFeature = aFOperation->feature();
-      if(anActiveFeature.get()) {
-        setAllEnabled(false);
-        QString aFeatureId = QString::fromStdString(anActiveFeature->getKind());
-        setActionEnabled(aFeatureId, true);
-      }
-      setNestedStackEnabled(aFOperation);
-    } else {
-      setAllEnabled(true);
-      setNestedCommandsEnabled(false);
+
+  FeaturePtr anActiveFeature = FeaturePtr();
+  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                                         (myOperationMgr->currentOperation());
+  if (aFOperation) {
+    anActiveFeature = aFOperation->feature();  
+    QStringList aNested = allNestedCommands(aFOperation);
+    foreach(QString aAction, myActions.keys()) {
+      if (!aNested.contains(aAction))
+        setActionEnabled(aAction, false);
     }
-    // TODO(SBH): Get defaults state of actions from XML and remove the following method
-    updateByDocumentKind();
-    updateByPlugins(anActiveFeature);
-  }
+  } else 
+    setNestedCommandsEnabled(false);
+
+  updateByPlugins(anActiveFeature);
+  updateByDocumentKind();
   updateCheckState();
 }
 
@@ -276,8 +273,7 @@ ActionInfo XGUI_ActionsMgr::actionInfoById(const QString& theId)
 
 void XGUI_ActionsMgr::setAllEnabled(bool isEnabled)
 {
-  foreach(QString eachAction, myActions.keys())
-  {
+  foreach(QString eachAction, myActions.keys()) {
     setActionEnabled(eachAction, isEnabled);
   }
 }
@@ -306,12 +302,26 @@ void XGUI_ActionsMgr::setNestedStackEnabled(ModuleBase_Operation* theOperation)
     return;
   FeaturePtr aFeature = anOperation->feature();
   QString aFeatureId = QString::fromStdString(aFeature->getKind());
-  setActionEnabled(aFeatureId, true);
+  //setActionEnabled(aFeatureId, true);
   setNestedCommandsEnabled(true, aFeatureId);
 
   setNestedStackEnabled(myOperationMgr->previousOperation(theOperation));
 }
 
+QStringList XGUI_ActionsMgr::allNestedCommands(ModuleBase_Operation* theOperation)
+{
+  QStringList aFeatures;
+  ModuleBase_OperationFeature* anOperation = dynamic_cast<ModuleBase_OperationFeature*>(theOperation);
+  if(!anOperation || !anOperation->feature())
+    return aFeatures;
+  FeaturePtr aFeature = anOperation->feature();
+  QString aFeatureId = QString::fromStdString(aFeature->getKind());
+
+  aFeatures << myNestedActions[aFeatureId];
+  aFeatures << allNestedCommands(myOperationMgr->previousOperation(theOperation));
+  return aFeatures;
+}
+
 void XGUI_ActionsMgr::setActionChecked(const QString& theId, const bool theChecked)
 {
   if (myActions.contains(theId)) {
@@ -325,7 +335,11 @@ void XGUI_ActionsMgr::setActionChecked(const QString& theId, const bool theCheck
 void XGUI_ActionsMgr::setActionEnabled(const QString& theId, const bool theEnabled)
 {
   if (myActions.contains(theId)) {
-    myActions[theId]->setEnabled(theEnabled);
+    QAction* aAction = myActions[theId];
+    // Initially all actions are enabled
+    // If it was disabled for any reason then we can not enable it
+    if (aAction->isEnabled())
+      aAction->setEnabled(theEnabled);
   }
 }
 
index 9191021ad42650baaae1df0944df3cea0f5d55ee..3788197734e5ad3352bb732bd34e9dd2696cb80b 100644 (file)
@@ -86,34 +86,43 @@ class XGUI_EXPORT XGUI_ActionsMgr : public QObject, public Events_Listener
   /// Return info (icon, text, etc) about the action by the given id, if it was registered in the manager
   ActionInfo actionInfoById(const QString& theId);
 
-public slots:
+ private:
   //! Update workbench actions according to OperationMgr state:
   //! No active operations: all actions but nested are available
   //! There is active operation: current operation + it's nested
   //! are enabled, all the rest is disabled. All active commands is checked.
-  void update();
+  void updateCommandsStatus();
+
   //! Sets all commands checked if it's operation is active.
   void updateCheckState();
+
   //! Updates actions according to current selection in the viewer
   void updateOnViewSelection();
-
- protected:
+  
   //! Sets all actions to isEnabled state.
   void setAllEnabled(bool isEnabled);
+  
   //! Sets all nested actions to isEnabled state for the command with given ID.
   //! If ID is empty - all nested actions will be affected.
   void setNestedCommandsEnabled(bool isEnabled, const QString& theParent = QString());
+  
   //! Sets to enabled state all siblings of the given operation and it's parents recursively
   void setNestedStackEnabled(ModuleBase_Operation* theOperation);
+  
   //! Sets the action with theId to theChecked state.
   void setActionChecked(const QString& theId, const bool theChecked);
+  
   //! Sets the action with theId to theEnabled state.
   void setActionEnabled(const QString& theId, const bool theEnabled);
+  
   //! Updates actions according to their "document" tag
   void updateByDocumentKind();
+
   //! Asks plugins about their features state, using the Events system
   void updateByPlugins(FeaturePtr theActiveFeature);
 
+  QStringList allNestedCommands(ModuleBase_Operation* theOperation);
+
  private:
 
   QMap<QString, QAction*> myActions;
@@ -123,6 +132,8 @@ public slots:
 
   XGUI_Workshop* myWorkshop;
   XGUI_OperationMgr* myOperationMgr;
+
+  friend class XGUI_Workshop;
 };
 
 #endif /* XGUI_ACTIONSMGR_H_ */
index 7b570f9cc678e355d46742099997b519f4a70d1e..57c622ac3ad66bfe5408be5e957258228c4cd44f 100644 (file)
@@ -69,7 +69,7 @@ void XGUI_ContextMenuMgr::createActions()
   addAction("RENAME_CMD", aAction);
   connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onRename()));
 
-  aAction = new QAction(QIcon(":pictures/move.png"), tr("Move to the end"), this);
+  aAction = new QAction(QIcon(":pictures/move.png"), XGUI_Workshop::MOVE_TO_END_COMMAND, this);
   addAction("MOVE_CMD", aAction);
 
   aAction = new QAction(QIcon(":pictures/color.png"), tr("Color..."), this);
@@ -218,7 +218,7 @@ void XGUI_ContextMenuMgr::updateObjectBrowserMenu()
         if( aMgr->activeDocument() == aObject->document() )
         {
           action("RENAME_CMD")->setEnabled(true);
-          action("DELETE_CMD")->setEnabled(true);
+          action("DELETE_CMD")->setEnabled(!hasSubFeature);
         }
       }
     } else {
@@ -388,7 +388,6 @@ void XGUI_ContextMenuMgr::buildViewerMenu()
   // Result construction menu
   aList.append(action("HIDE_CMD"));
   aList.append(action("SHOW_ONLY_CMD"));
-  aList.append(action("HIDEALL_CMD"));
   aList.append(action("COLOR_CMD"));
   myViewerMenu[ModelAPI_ResultConstruction::group()] = aList;
   // Result part menu
@@ -402,7 +401,6 @@ void XGUI_ContextMenuMgr::buildViewerMenu()
   aList.append(mySeparator);
   aList.append(action("HIDE_CMD"));
   aList.append(action("SHOW_ONLY_CMD"));
-  aList.append(action("HIDEALL_CMD"));
   myViewerMenu[ModelAPI_ResultBody::group()] = aList;
   // Group menu
   myViewerMenu[ModelAPI_ResultGroup::group()] = aList;
@@ -466,6 +464,8 @@ void XGUI_ContextMenuMgr::addViewerMenu(QMenu* theMenu) const
     aActions.append(action("HIDE_CMD"));
     aActions.append(action("COLOR_CMD"));
   }
+  // hide all is shown always even if selection in the viewer is empty
+  aActions.append(action("HIDEALL_CMD"));
   theMenu->addActions(aActions);
 
 #ifndef HAVE_SALOME
index afb0aba04ebb6ce375f7c87fe9ceb85e4d8a4b61..426779d2716290cdc938c80af61a7e325fe7fd81 100644 (file)
@@ -259,7 +259,7 @@ void XGUI_DataModel::processEvent(const std::shared_ptr<Events_Message>& theMess
         aParent = createIndex(folderId(aGroup, aDoc.get()), 0, aDoc.get());
     }
     int aChildNb = rowCount(aParent);
-    rebuildBranch(aStartId, aChildNb - aStartId);
+    rebuildBranch(aStartId, aChildNb - aStartId, aParent);
   } else if (theMessage->eventID() == Events_Loop::loop()->eventByName(EVENT_DOCUMENT_CHANGED)) {
     DocumentPtr aDoc = ModelAPI_Session::get()->activeDocument();
     if (aDoc != aRootDoc) {
@@ -735,7 +735,7 @@ Qt::ItemFlags XGUI_DataModel::flags(const QModelIndex& theIndex) const
   } else if (aDoc) {
     // A folder under sub-document
     if (aActiveDoc.get() != aDoc)
-      return aDefaultFlag;
+      return aNullFlag;
   }
   return aEditingFlag;
 }
index a3a39a870eb319cfe2c893686865c2036c01eb8d..4fb6a729bdba4c794c1beda317f8bda876aeb36f 100644 (file)
@@ -43,6 +43,7 @@
 #include <SelectMgr_ListIteratorOfListOfFilter.hxx>
 #include <Prs3d_Drawer.hxx>
 #include <Prs3d_IsoAspect.hxx>
+#include <SelectMgr_SelectionManager.hxx>
 
 #include <StdSelect_ViewerSelector3d.hxx>
 
@@ -99,7 +100,8 @@ QString qIntListInfo(const QIntList& theValues, const QString& theSeparator = QS
 }
 
 XGUI_Displayer::XGUI_Displayer(XGUI_Workshop* theWorkshop)
-  : myWorkshop(theWorkshop), myEnableUpdateViewer(true), myNeedUpdate(false)
+  : myWorkshop(theWorkshop), myEnableUpdateViewer(true), myNeedUpdate(false),
+  myIsTrihedronActive(false)
 {
   enableUpdateViewer(true);
   myCustomPrs = std::shared_ptr<GeomAPI_ICustomPrs>(new XGUI_CustomPrs());
@@ -221,7 +223,7 @@ bool XGUI_Displayer::display(ObjectPtr theObject, AISObjectPtr theAIS,
     if(anAISIO->Width() > 1) {
       for(int aModeIdx = 0; aModeIdx < myActiveSelectionModes.length(); ++aModeIdx) {
         int aMode = myActiveSelectionModes.value(aModeIdx);
-        double aPrecision = (aMode == getSelectionMode(TopAbs_VERTEX))? 15 : 
+        double aPrecision = (aMode == getSelectionMode(TopAbs_VERTEX))? 20 : 
                                                     (anAISIO->Width() + 2);
         aContext->SetSelectionSensitivity(anAISIO, aMode, aPrecision);
       }
@@ -364,6 +366,10 @@ void XGUI_Displayer::deactivate(ObjectPtr theObject, const bool theUpdateViewer)
 void XGUI_Displayer::deactivateObjects(const QObjectPtrList& theObjList,
                                        const bool theUpdateViewer)
 {
+  //Handle(AIS_InteractiveObject) aTrihedron = getTrihedron();
+  //if (!aTrihedron.IsNull())
+  //  deactivateAIS(aTrihedron);
+
   QObjectPtrList::const_iterator anIt = theObjList.begin(), aLast = theObjList.end();
   for (; anIt != aLast; anIt++) {
     deactivate(*anIt, false);
@@ -438,14 +444,24 @@ void XGUI_Displayer::activateObjects(const QIntList& theModes, const QObjectPtrL
 
   Handle(AIS_InteractiveObject) anAISIO;
   AIS_ListOfInteractive aPrsList;
-  if (theObjList.isEmpty())
-    return;
-  else {
-    foreach(ObjectPtr aObj, theObjList) {
-      if (myResult2AISObjectMap.contains(aObj))
-        aPrsList.Append(myResult2AISObjectMap[aObj]->impl<Handle(AIS_InteractiveObject)>());
-    }
+  //if (aObjList.isEmpty())
+  //  return;
+  //else {
+  foreach(ObjectPtr aObj, theObjList) {
+    if (myResult2AISObjectMap.contains(aObj))
+      aPrsList.Append(myResult2AISObjectMap[aObj]->impl<Handle(AIS_InteractiveObject)>());
   }
+  //}
+
+  // Add trihedron because it has to partisipate in selection
+  Handle(AIS_InteractiveObject) aTrihedron;
+  if (isTrihedronActive()) {
+    aTrihedron = getTrihedron();
+    if (!aTrihedron.IsNull())
+      aPrsList.Append(aTrihedron);
+  }
+  if (aPrsList.Extent() == 0)
+    return;
 
   AIS_ListIteratorOfListOfInteractive aLIt(aPrsList);
   bool isActivationChanged = false;
@@ -454,6 +470,10 @@ void XGUI_Displayer::activateObjects(const QIntList& theModes, const QObjectPtrL
     if (activate(anAISIO, myActiveSelectionModes, false))
       isActivationChanged = true;
   }
+  if (!aTrihedron.IsNull()) {
+    foreach(int aMode, myActiveSelectionModes)
+      aContext->SetSelectionSensitivity(aTrihedron, aMode, 20);
+  }
   // VSV It seems that there is no necessity to update viewer on activation
   //if (theUpdateViewer && isActivationChanged)
   //  updateViewer();
@@ -554,9 +574,30 @@ bool XGUI_Displayer::eraseAll(const bool theUpdateViewer)
   return aErased;
 }
 
+#define DEACTVATE_COMP(TheComp) \
+  if (!TheComp.IsNull()) \
+    aContext->Deactivate(TheComp);
+
 void XGUI_Displayer::deactivateTrihedron() const
 {
-  Handle(AIS_InteractiveContext) aContext = myWorkshop->viewer()->AISContext();
+  Handle(AIS_InteractiveObject) aTrihedron = getTrihedron();
+  if (!aTrihedron.IsNull()) {
+    Handle(AIS_Trihedron) aTrie = Handle(AIS_Trihedron)::DownCast(aTrihedron);
+    Handle(AIS_InteractiveContext) aContext = AISContext();
+    aContext->Deactivate(aTrie);
+    DEACTVATE_COMP(aTrie->XAxis());
+    DEACTVATE_COMP(aTrie->YAxis());
+    DEACTVATE_COMP(aTrie->Axis());
+    DEACTVATE_COMP(aTrie->Position());
+    DEACTVATE_COMP(aTrie->XYPlane());
+    DEACTVATE_COMP(aTrie->XZPlane());
+    DEACTVATE_COMP(aTrie->YZPlane());
+  }
+}
+
+Handle(AIS_InteractiveObject) XGUI_Displayer::getTrihedron() const
+{
+  Handle(AIS_InteractiveContext) aContext = AISContext();
   if (!aContext.IsNull()) {
     AIS_ListOfInteractive aList;
     aContext->DisplayedObjects(aList, true);
@@ -564,15 +605,16 @@ void XGUI_Displayer::deactivateTrihedron() const
     for (aIt.Initialize(aList); aIt.More(); aIt.Next()) {
       Handle(AIS_Trihedron) aTrihedron = Handle(AIS_Trihedron)::DownCast(aIt.Value());
       if (!aTrihedron.IsNull()) {
-        aContext->Deactivate(aTrihedron);
+        return aTrihedron;
       }
     }
   }
+  return Handle(AIS_InteractiveObject)();
 }
 
 void XGUI_Displayer::openLocalContext()
 {
-  Handle(AIS_InteractiveContext) aContext = myWorkshop->viewer()->AISContext();
+  Handle(AIS_InteractiveContext) aContext = AISContext();
   // Open local context if there is no one
   if (!aContext.IsNull() && !aContext->HasOpenedContext()) {
     // Preserve selected objects
@@ -590,7 +632,7 @@ void XGUI_Displayer::openLocalContext()
 
     //aContext->ClearCurrents();
     aContext->OpenLocalContext();
-    deactivateTrihedron();
+    //deactivateTrihedron();
     //aContext->NotUseDisplayedObjects();
 
     //myUseExternalObjects = false;
@@ -732,7 +774,7 @@ void XGUI_Displayer::activateAIS(const Handle(AIS_InteractiveObject)& theIO,
 
 void XGUI_Displayer::deactivateAIS(const Handle(AIS_InteractiveObject)& theIO, const int theMode) const
 {
-  Handle(AIS_InteractiveContext) aContext = myWorkshop->viewer()->AISContext();
+  Handle(AIS_InteractiveContext) aContext = AISContext();
   if (!aContext.IsNull()) {
     if (theMode == -1)
       aContext->Deactivate(theIO);
@@ -752,7 +794,8 @@ Handle(AIS_InteractiveContext) XGUI_Displayer::AISContext() const
   Handle(AIS_InteractiveContext) aContext = myWorkshop->viewer()->AISContext();
   if (!aContext.IsNull() && !aContext->HasOpenedContext()) {
     aContext->OpenLocalContext();
-    deactivateTrihedron();
+    if (!isTrihedronActive())
+      deactivateTrihedron();
     aContext->DefaultDrawer()->VIsoAspect()->SetNumber(0);
     aContext->DefaultDrawer()->UIsoAspect()->SetNumber(0);
   }
@@ -1007,16 +1050,15 @@ bool XGUI_Displayer::activate(const Handle(AIS_InteractiveObject)& theIO,
 
   // trihedron AIS check should be after the AIS loading.
   // If it is not loaded, it is steel selectable in the viewer.
-  Handle(AIS_Trihedron) aTrihedron = Handle(AIS_Trihedron)::DownCast(theIO);
+  Handle(AIS_Trihedron) aTrihedron;
+  if (!isTrihedronActive())
+    aTrihedron = Handle(AIS_Trihedron)::DownCast(theIO);
   if (aTrihedron.IsNull()) {
-      //aContext->Load(anAISIO, -1, true);
       // In order to clear active modes list
     if (theModes.size() == 0) {
-      //aContext->Load(anAISIO, 0, true);
       activateAIS(theIO, 0, theUpdateViewer);
     } else {
       foreach(int aMode, theModes) {
-        //aContext->Load(anAISIO, aMode, true);
         if (!aModesActivatedForIO.contains(aMode)) {
           activateAIS(theIO, aMode, theUpdateViewer);
           isActivationChanged = true;
@@ -1094,3 +1136,11 @@ std::string XGUI_Displayer::getResult2AISObjectMapInfo() const
   return QString("myResult2AISObjectMap: size = %1\n%2\n").arg(myResult2AISObjectMap.size()).
                                             arg(aContent.join("\n")).toStdString().c_str();
 }
+
+void XGUI_Displayer::activateTrihedron(bool theIsActive) 
+{  
+  myIsTrihedronActive = theIsActive; 
+  if (!myIsTrihedronActive) {
+    deactivateTrihedron();
+  }
+}
index 91129ece67f03f84afbd3061cf923fd09e96a8ac..78da19457d11969a3d4cdf34a811dd04829fced3 100644 (file)
@@ -141,6 +141,7 @@ class XGUI_EXPORT XGUI_Displayer: public QObject
   /// \param isEnabled a boolean value
   bool enableUpdateViewer(const bool isEnabled);
 
+  /// Returns myEnableUpdateViewer flag
   bool isUpdateEnabled() const { return myEnableUpdateViewer; }
 
   /// Updates the viewer
@@ -226,7 +227,15 @@ class XGUI_EXPORT XGUI_Displayer: public QObject
   /// \param theUpdateViewer update viewer flag
   /// \return previously defined color on the object
   QColor setObjectColor(ObjectPtr theObject, const QColor& theColor, bool theUpdateViewer = true);
+
+  /// Returns Trihedron object if it is displayed
+  Handle(AIS_InteractiveObject) getTrihedron() const;
   
+  // Set trihedron active (used in selection) or non active
+  void activateTrihedron(bool theIsActive);
+
+  bool isTrihedronActive() const { return myIsTrihedronActive; }
+
   /// Converts shape type (TopAbs_ShapeEnum) to selection mode
   /// \param theShapeType a shape type from TopAbs_ShapeEnum
   static int getSelectionMode(int theShapeType);
@@ -315,6 +324,9 @@ private:
   /// the enable update viewer flag
   bool myEnableUpdateViewer; 
 
+  // Flag: use trihedgon for selection or not
+  bool myIsTrihedronActive;
+
   /// A flag that update was requested but not done
   mutable bool myNeedUpdate;
 };
index ee076f1c4796c30840d58e5b5de55f207efdb139..d389e3b3f73d6a04ae35581c56f058acd5fe8ad2 100644 (file)
@@ -8,6 +8,8 @@
  */
 #include <XGUI_ErrorDialog.h>
 
+#include <ModuleBase_Tools.h>
+
 #include <QDialogButtonBox>
 #include <QHBoxLayout>
 #include <QLabel>
@@ -61,7 +63,7 @@ void XGUI_ErrorDialog::addError(const QString& theError)
   if (!isVisible()) {
     show();
     raise();
-    activateWindow();
+    ModuleBase_Tools::activateWindow(this, "XGUI_ErrorDialog::addError");
   }
 }
 
index 97a163665599dc67817db6f2b04ffd5772dd11cf..afacb5d82e77cb29e1212b3a39dda5e9bdd88961 100644 (file)
@@ -49,21 +49,29 @@ XGUI_ErrorMgr::~XGUI_ErrorMgr()
 
 void XGUI_ErrorMgr::updateActions(const FeaturePtr& theFeature)
 {
-  QString anError = myWorkshop->module()->getFeatureError(theFeature);
-
   //update Ok Action and header of property panel if the current operation started for the feature
   XGUI_ActionsMgr* anActionsMgr = workshop()->actionsMgr();
   ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
                                       (workshop()->operationMgr()->currentOperation());
   if (aFOperation && aFOperation->feature() == theFeature) {
     QAction* anOkAction = anActionsMgr->operationStateAction(XGUI_ActionsMgr::Accept);
-    updateActionState(anOkAction, theFeature);
+    QString anError = myWorkshop->module()->getFeatureError(theFeature);
+
+    ModuleBase_ModelWidget* anActiveWidget = activeWidget();
+    QString aWidgetError = myWorkshop->module()->getWidgetError(anActiveWidget);
+    if (anError.isEmpty())
+      anError = aWidgetError;
+
+    updateActionState(anOkAction, anError);
+    updateToolTip(anActiveWidget, aWidgetError);
   }
 }
 
 void XGUI_ErrorMgr::updateAcceptAllAction(const FeaturePtr& theFeature)
 {
   QString anError = myWorkshop->module()->getFeatureError(theFeature);
+  if (anError.isEmpty())
+    anError = myWorkshop->module()->getWidgetError(activeWidget());
 
   XGUI_ActionsMgr* anActionsMgr = workshop()->actionsMgr();
   if (workshop()->isFeatureOfNested(theFeature)) {
@@ -74,133 +82,36 @@ void XGUI_ErrorMgr::updateAcceptAllAction(const FeaturePtr& theFeature)
   }
 }
 
-bool XGUI_ErrorMgr::canProcessClick(QAction* theAction, const FeaturePtr& theFeature)
+void XGUI_ErrorMgr::updateActionState(QAction* theAction, const QString& theError)
 {
-  QString anError = myWorkshop->module()->getFeatureError(theFeature);
-  bool isActionEnabled = anError.isEmpty();
-  if (!isActionEnabled && !anError.isEmpty()) {
-    if (!myErrorDialog) {
-      myErrorDialog = new QDialog(QApplication::desktop(), Qt::Popup);
-      QHBoxLayout* aLay = new QHBoxLayout(myErrorDialog);
-      aLay->setContentsMargins(0, 0, 0, 0);
-
-      QFrame* aMarginWidget = new QFrame(myErrorDialog);
-      aMarginWidget->setFrameStyle(QFrame::Panel | QFrame::Raised);
-
-      aLay->addWidget(aMarginWidget);
-      QHBoxLayout* aMarginLay = new QHBoxLayout(aMarginWidget);
-      aMarginLay->setContentsMargins(4, 4, 4, 4);
-
-      myErrorLabel = new QLabel(aMarginWidget);
-      aMarginLay->addWidget(myErrorLabel);
-    }
-    myErrorLabel->setText(anError);
-    myErrorDialog->move(QCursor::pos());
-    myErrorDialog->show();
-  }
-  return isActionEnabled;
-}
+  bool anEnabled = theError.isEmpty();
 
-void XGUI_ErrorMgr::updateActionState(QAction* theAction, const FeaturePtr& theFeature/*,
-                                      const bool theEnabled*/)
-{
-  QString anError = myWorkshop->module()->getFeatureError(theFeature);
-  bool anEnabled = anError.isEmpty();
-
-  bool isActionEnabled = theAction->data() != INVALID_VALUE;
-  if (anEnabled  != isActionEnabled) {
-    // update enable state of the button
-    theAction->setIcon(anEnabled ? QIcon(":pictures/button_ok.png"): QIcon(":pictures/button_ok_error.png"));
-    if (anEnabled)
-      theAction->setData("");
-    else
-      theAction->setData(INVALID_VALUE);
-  }
+  theAction->setEnabled(anEnabled);
   // some operations have no property panel, so it is important to check that it is not null
   if (myPropertyPanel) {
     // update controls error information
     QWidget* aWidget = myPropertyPanel->headerWidget();
     if (aWidget)
-      aWidget->setToolTip(anError);
+      aWidget->setToolTip(theError);
   }
 }
-
-/*const char* toString(ModelAPI_ExecState theExecState) 
-{
-#define TO_STRING(__NAME__) case __NAME__: return #__NAME__;
-  switch (theExecState) {
-  TO_STRING(ModelAPI_StateDone)
-  TO_STRING(ModelAPI_StateMustBeUpdated)
-  TO_STRING(ModelAPI_StateExecFailed)
-  TO_STRING(ModelAPI_StateInvalidArgument)
-  TO_STRING(ModelAPI_StateNothing)
-  default: return "Unknown ExecState.";
-  }
-#undef TO_STRING
-}*/
-
-/*void XGUI_ErrorMgr::onValidationStateChanged()
-{
-  XGUI_OperationMgr* anOperationMgr = dynamic_cast<XGUI_OperationMgr*>(sender());
-  if (!anOperationMgr)
-    return;
-  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
-                                                  (anOperationMgr->currentOperation());
-  if (!myPropertyPanel || !aFOperation)
-    return;
-
-  FeaturePtr aFeature = aFOperation->feature();
-  QString anError = getFeatureError(aFeature);
-
-  QWidget* aWidget = myPropertyPanel->headerWidget();
-  if (aWidget) {
-    aWidget->setToolTip(anError);
-    aWidget->setStyleSheet(anError.isEmpty() ? "" : "background-color:pink;");
-  }
-}*/
-
-/*QString XGUI_ErrorMgr::getFeatureError(const FeaturePtr& theFeature) const
-{
-  QString anError;
-  // get feature
-  if (!theFeature.get() || !theFeature->data()->isValid())
-    return anError;
-
-  // set error indication
-  anError = QString::fromStdString(theFeature->error());
-  if (anError.isEmpty()) {
-    bool isDone = ( theFeature->data()->execState() == ModelAPI_StateDone
-                 || theFeature->data()->execState() == ModelAPI_StateMustBeUpdated );
-    if (!isDone)
-      anError = toString(theFeature->data()->execState());
-  }
-
-  return anError;
-}*/
-
 void XGUI_ErrorMgr::onWidgetChanged()
 {
-  static ModelAPI_ValidatorsFactory* aValidators = ModelAPI_Session::get()->validators();
-
   ModuleBase_ModelWidget* aModelWidget = dynamic_cast<ModuleBase_ModelWidget*>(sender());
   if (!aModelWidget || !aModelWidget->feature().get())
     return;
 
-  std::string anAttributeID = aModelWidget->attributeID();
-  AttributePtr anAttribute = aModelWidget->feature()->attribute(anAttributeID);
-  if (!anAttribute.get())
-    return;
+  QString aWidgetError = myWorkshop->module()->getWidgetError(aModelWidget);
+  updateToolTip(aModelWidget, aWidgetError);
+}
 
-  std::string aValidatorID;
-  std::string anErrorMsg;
-  if (!aValidators->validate(anAttribute, aValidatorID, anErrorMsg)) {
-    if (anErrorMsg.empty())
-      anErrorMsg = "unknown error.";
-    anErrorMsg = anAttributeID + " - " + aValidatorID + ": " + anErrorMsg;
-  }
+void XGUI_ErrorMgr::updateToolTip(ModuleBase_ModelWidget* theWidget,
+                                  const QString& theError)
+{
+  if (!theWidget)
+    return;
 
-  QString anError = QString::fromStdString(anErrorMsg);
-  QList<QWidget*> aWidgetList = aModelWidget->getControls();
+  QList<QWidget*> aWidgetList = theWidget->getControls();
   foreach(QWidget* aWidget, aWidgetList) {
     QLabel* aLabel = qobject_cast<QLabel*>(aWidget);
     // We won't set the effect to QLabels - it looks ugly
@@ -209,10 +120,10 @@ void XGUI_ErrorMgr::onWidgetChanged()
     // Get the original tool tip of the widget
     QString aTTip = aWidget->toolTip().section("Errors:\n", 0, 0).trimmed();
     // Add the error message into the tool tip
-    if (!anError.isEmpty()) {
+    if (!theError.isEmpty()) {
       if (!aTTip.isEmpty())
         aTTip.append('\n');
-      aTTip += "Errors:\n" + anError;
+      aTTip += "Errors:\n" + theError;
     }
     aWidget->setToolTip(aTTip);
     //aWidget->setStyleSheet(anError.isEmpty() ? "" : "background-color:pink;");
@@ -224,3 +135,19 @@ XGUI_Workshop* XGUI_ErrorMgr::workshop() const
   XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
   return aConnector->workshop();
 }
+
+ModuleBase_ModelWidget* XGUI_ErrorMgr::activeWidget() const
+{
+  ModuleBase_ModelWidget* anActiveWidget = 0;
+
+  ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
+                                      (workshop()->operationMgr()->currentOperation());
+  if (aFOperation) {
+    ModuleBase_IPropertyPanel* aPropertyPanel = aFOperation->propertyPanel();
+    if (aPropertyPanel) {
+      anActiveWidget = aPropertyPanel->activeWidget();
+    }
+  }
+  return anActiveWidget;
+}
+
index 89deaeef928cb6430759c511e1030e4704cd1a8e..7295a52a4fd0f4b4e9561112feb5d84e3ae8ee37 100644 (file)
@@ -14,6 +14,8 @@
 
 class XGUI_Workshop;
 class ModuleBase_IWorkshop;
+class ModuleBase_ModelWidget;
+
 class QAction;
 class QDialog;
 class QLabel;
@@ -42,12 +44,6 @@ public:
   /// \param theFeature a feature
   void updateAcceptAllAction(const FeaturePtr& theFeature);
 
-  /// Return true if the feature has no error. If there is an error and the action
-  /// is not valid, the dialog with the error information is shown.
-  /// \param theAction an action, which is checked on validity
-  /// \param theFeature a feature that provides error information
-  bool canProcessClick(QAction* theAction, const FeaturePtr& theFeature);
-
 public slots:
   /// Reimplemented from ModuleBase_ErrorMgr::onValidationStateChanged().
   //virtual void onValidationStateChanged();
@@ -57,21 +53,26 @@ protected slots:
   virtual void onWidgetChanged();
 
 private:
-  /// It updates the action state according to the given parameter
+  /// It disables the action if the error message is not empty
+  /// The message is set to the header tool tip.
   /// \param theAction an action to be changed
-  /// \param theFeature an feature that corresponds to the action
-  void updateActionState(QAction* theAction, const FeaturePtr& theFeature);
+  /// \param theError an error state
+  void updateActionState(QAction* theAction, const QString& theError);
 
-  /// Returns the feature error message
-  /// \param theFeature a feature
-  /// \return the error message
-  //QString getFeatureError(const FeaturePtr& theFeature) const;
+  /// It updates the tool tip of the widget controls according to the widget error
+  /// \param theWidget a widget
+  /// \param theError an error state
+  void updateToolTip(ModuleBase_ModelWidget* theWidget, const QString& theError);
 
   /// Returns casted workshop
   XGUI_Workshop* workshop() const;
 
+  /// Returns an active widget of the current operation
+  /// \return the widget or zero
+  ModuleBase_ModelWidget* activeWidget() const;
+
 private:
-  ModuleBase_IWorkshop* myWorkshop;
+  ModuleBase_IWorkshop* myWorkshop; /// workshop
   QDialog* myErrorDialog; /// contains the error message
   QLabel* myErrorLabel; /// contains an error information
 };
index ee5f029d8445a4dd698c781be9e7555f00ae9bc0..bc8d74140c16a92a0e5c824875800a9e4aa7c87d 100644 (file)
@@ -132,3 +132,8 @@ void XGUI_ModuleConnector::abortOperation(ModuleBase_Operation* theOperation)
 {
   myWorkshop->operationMgr()->abortOperation(theOperation);
 }
+
+void XGUI_ModuleConnector::updateCommandStatus()
+{
+  myWorkshop->updateCommandStatus();
+}
\ No newline at end of file
index 598c7a22e956a9605ad9855a9c772a90aee39386..4b2ed19f4b8cd6bb2100a6628e2a4108ce1d904f 100644 (file)
@@ -81,6 +81,9 @@ Q_OBJECT
   //! If the list is empty then selection will be cleared
   virtual void setSelected(const QList<ModuleBase_ViewerPrs>& theValues);
 
+   /// Update of commands status
+  virtual void updateCommandStatus();
+
   //! Returns workshop
   XGUI_Workshop* workshop() const { return myWorkshop; }
 
index 3dccaf732679a81b3b00dcd5e219d0201bb2bb86..7eb50de3409ce79f2c8a48199da60345c0a26c93 100644 (file)
@@ -13,7 +13,7 @@
 #include <ModuleBase_Tools.h>
 
 #include <QLayout>
-#include <QLabel>
+#include <QLineEdit>
 #include <QPixmap>
 #include <QEvent>
 #include <QMouseEvent>
@@ -140,6 +140,7 @@ void XGUI_DataTree::resizeEvent(QResizeEvent* theEvent)
     setColumnWidth(0, aSize.width() - SECOND_COL_WIDTH);
     setColumnWidth(1, SECOND_COL_WIDTH);
   }
+  QTreeView::resizeEvent(theEvent);
 }
 
 void XGUI_DataTree::onDoubleClick(const QModelIndex& theIndex)
@@ -182,6 +183,7 @@ void XGUI_DataTree::onDoubleClick(const QModelIndex& theIndex)
   int aSize = aModel->rowCount(aParent);
   for (int i = 0; i < aSize; i++) {
     update(aModel->index(i, 0, aParent));
+    update(aModel->index(i, 1, aParent));
   }
 }
 
@@ -222,7 +224,7 @@ void XGUI_TreeViewStyle::drawPrimitive(PrimitiveElement theElement,
 //********************************************************************
 //********************************************************************
 XGUI_ActiveDocLbl::XGUI_ActiveDocLbl(const QString& theText, QWidget* theParent )
-  : QLineEdit(theText, theParent), 
+  : QLabel(theText, theParent), 
   myPreSelectionStyle(""), 
   myNeutralStyle(""), 
   mySelectionStyle(""),
@@ -233,25 +235,27 @@ XGUI_ActiveDocLbl::XGUI_ActiveDocLbl(const QString& theText, QWidget* theParent
 void XGUI_ActiveDocLbl::setTreeView(QTreeView* theView)
 {
   myTreeView = theView;
+  setFont(myTreeView->font());
+
   QPalette aPalet = myTreeView->palette();
   QColor aHighlight = aPalet.highlight().color();
   QColor aHighlightText = aPalet.highlightedText().color();
 
-  myPreSelectionStyle = "QLineEdit {background-color: ";
+  myPreSelectionStyle = "QLabel {background-color: ";
   myPreSelectionStyle += "qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 white, stop:1 " + aHighlight.lighter(170).name() + ");"; 
   myPreSelectionStyle += "border: 1px solid lightblue; border-radius: 2px }";
 
   QString aName = aPalet.color(QPalette::Base).name();
-  myNeutralStyle = "QLineEdit { border: 1px solid " + aName + " }";
+  myNeutralStyle = "QLabel { border: 1px solid " + aName + " }";
 
 
 #if (!defined HAVE_SALOME) && (defined WIN32)
-  mySelectionStyle = "QLineEdit {background-color: ";
+  mySelectionStyle = "QLabel {background-color: ";
   mySelectionStyle += "qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgb(236, 245, 255)";
   mySelectionStyle += ", stop:1 rgb(208, 229, 255));"; 
   mySelectionStyle += "border: 1px solid rgb(132, 172, 221); border-radius: 2px }";
 #else
-  mySelectionStyle = "QLineEdit {background-color: " + aHighlight.name();
+  mySelectionStyle = "QLabel {background-color: " + aHighlight.name();
   mySelectionStyle += "; color : " + aHighlightText.name() + "}";
 #endif
 
@@ -272,7 +276,7 @@ bool XGUI_ActiveDocLbl::event(QEvent* theEvent)
         setStyleSheet(myNeutralStyle);
       break;
   }
-  return QLineEdit::event(theEvent);
+  return QLabel::event(theEvent);
 }
 #endif
 
@@ -282,7 +286,7 @@ bool XGUI_ActiveDocLbl::eventFilter(QObject* theObj, QEvent* theEvent)
     if (theEvent->type() == QEvent::MouseButtonRelease)
       unselect();
   }
-  return QLineEdit::eventFilter(theObj, theEvent);
+  return QLabel::eventFilter(theObj, theEvent);
 }
 
 static bool MYClearing = false;
@@ -294,7 +298,7 @@ void XGUI_ActiveDocLbl::mouseReleaseEvent( QMouseEvent* e)
   // We can not block signals because on 
   // clear selection the View state will not be updated
   myTreeView->clearSelection();
-  QLineEdit::mouseReleaseEvent(e);
+  QLabel::mouseReleaseEvent(e);
   MYClearing = false;
 }
 
@@ -337,8 +341,8 @@ XGUI_ObjectsBrowser::XGUI_ObjectsBrowser(QWidget* theParent)
   DocumentPtr aDoc = aMgr->moduleDocument();
 
   myActiveDocLbl = new XGUI_ActiveDocLbl(tr("Part set"), aLabelWgt);
-  myActiveDocLbl->setReadOnly(true);
-  myActiveDocLbl->setFrame(false);
+//  myActiveDocLbl->setReadOnly(true);
+//  myActiveDocLbl->setFrame(false);
   myActiveDocLbl->setContextMenuPolicy(Qt::CustomContextMenu);
 
   aLabelLay->addWidget(myActiveDocLbl);
@@ -440,10 +444,33 @@ void XGUI_ObjectsBrowser::onEditItem()
   }
 }
 
+//***************************************************
+QModelIndexList XGUI_ObjectsBrowser::expandedItems(const QModelIndex& theParent) const
+{
+  QModelIndexList aIndexes;
+  QModelIndex aIndex;
+  for (int i = 0; i < myDocModel->rowCount(); i++) {
+    aIndex = myDocModel->index(i, 0, theParent);
+    if (myDocModel->hasChildren(aIndex)) {
+      if (myTreeView->isExpanded(aIndex)) {
+        aIndexes.append(aIndex);
+        QModelIndexList aSubIndexes = expandedItems(aIndex);
+        if (!aSubIndexes.isEmpty())
+          aIndexes.append(aSubIndexes);
+      }
+    }
+  }
+  return aIndexes;
+}
+
 //***************************************************
 void XGUI_ObjectsBrowser::rebuildDataTree()
 {
+  QModelIndexList aIndexList = expandedItems();
   myDocModel->rebuildDataTree();
+  foreach(QModelIndex aIndex, aIndexList) {
+    myTreeView->setExpanded(aIndex, true);
+  }
   update();
 }
 
index 22b45c08aca2c5ce8fb78ff846d83f4fffdac55c..b1a70d487ec1cab3f2d1c6bdc6baf1e8bc89df45 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <QWidget>
 #include <QTreeView>
-#include <QLineEdit>
+#include <QLabel>
 
 class ModuleBase_IDocumentDataModel;
 class XGUI_DataModel;
@@ -20,16 +20,20 @@ class XGUI_DataModel;
 * \ingroup GUI
 * Implementation of root label in Object Browser
 */
-class XGUI_ActiveDocLbl: public QLineEdit
+class XGUI_ActiveDocLbl: public QLabel
 {
 Q_OBJECT
  public:
    /// Constructor
+   /// \param theText a text
    /// \param theParent a parent widget
    XGUI_ActiveDocLbl(const QString& theText, QWidget* theParent );
 
+   /// Sets tree view
+   /// \param theView a view
    void setTreeView(QTreeView* theView);
 
+   /// Returns tree view
    QTreeView* treePalette() const { return myTreeView;}
 
 #if (!defined HAVE_SALOME) && (defined WIN32)
@@ -37,11 +41,14 @@ Q_OBJECT
 #endif
 
 public slots:
+  /// On unselect
   void unselect();
 
 protected:
+  /// On mouse release
   virtual void mouseReleaseEvent( QMouseEvent* e);
 
+  /// Filter event
   bool eventFilter(QObject* theObj, QEvent* theEvent);
 
 private:
@@ -165,7 +172,7 @@ Q_OBJECT
   }
 
   /// Returns active doc label object
-  QLineEdit* activeDocLabel() const { return myActiveDocLbl; }
+  QLabel* activeDocLabel() const { return myActiveDocLbl; }
 
   /// Rebuild data tree
   void rebuildDataTree();
@@ -200,6 +207,7 @@ signals:
   void onSelectionChanged(const QItemSelection& theSelected, const QItemSelection& theDeselected);
 
  private:
+  QModelIndexList expandedItems(const QModelIndex& theParent = QModelIndex()) const;
 
   //! Internal model
   XGUI_DataModel* myDocModel;
index e169adcd5e32bcd00778fb3548f69577f0181804..9015698d582966f93ae001765259990786f6314e 100644 (file)
@@ -17,6 +17,7 @@
 #include <ModuleBase_IViewer.h>
 #include "ModuleBase_OperationDescription.h"
 #include "ModuleBase_OperationFeature.h"
+#include "ModuleBase_Tools.h"
 
 #include "ModelAPI_CompositeFeature.h"
 #include "ModelAPI_Session.h"
@@ -25,6 +26,8 @@
 #include <QApplication>
 #include <QKeyEvent>
 
+//#define DEBUG_CURRENT_FEATURE
+
 XGUI_OperationMgr::XGUI_OperationMgr(QObject* theParent,
                                      ModuleBase_IWorkshop* theWorkshop)
 : QObject(theParent), myIsApplyEnabled(false), myWorkshop(theWorkshop)
@@ -133,9 +136,10 @@ bool XGUI_OperationMgr::startOperation(ModuleBase_Operation* theOperation)
     connect(aFOperation, SIGNAL(activatedByPreselection()),
             SIGNAL(operationActivatedByPreselection()));
 
-  theOperation->start();
-  onValidateOperation();
-  return true;
+  bool isStarted = theOperation->start();
+  if (isStarted)
+    onValidateOperation();
+  return isStarted;
 }
 
 bool XGUI_OperationMgr::abortAllOperations()
@@ -195,8 +199,18 @@ void XGUI_OperationMgr::onValidateOperation()
     return;
   ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
                                                                           (currentOperation());
-  if(aFOperation && aFOperation->feature().get())
-    setApplyEnabled(myWorkshop->module()->getFeatureError(aFOperation->feature()).isEmpty());
+  if(aFOperation && aFOperation->feature().get()) {
+    QString anError = myWorkshop->module()->getFeatureError(aFOperation->feature());
+    if (anError.isEmpty()) {
+      ModuleBase_IPropertyPanel* aPanel = aFOperation->propertyPanel();
+      if (aPanel) {
+        ModuleBase_ModelWidget* anActiveWidget = aPanel->activeWidget();
+        if (anActiveWidget)
+          anError = myWorkshop->module()->getWidgetError(anActiveWidget);
+      }
+    }
+    setApplyEnabled(anError.isEmpty());
+  }
 }
 
 void XGUI_OperationMgr::setApplyEnabled(const bool theEnabled)
@@ -291,7 +305,7 @@ bool XGUI_OperationMgr::isGrantedOperation(const QString& theId)
   QListIterator<ModuleBase_Operation*> anIt(myOperations);
   anIt.toBack();
   ModuleBase_Operation* aPreviousOperation = 0;
-  while (anIt.hasPrevious()) {
+  while (anIt.hasPrevious() && !isGranted) {
     ModuleBase_Operation* anOp = anIt.previous();
     if (anOp)
       isGranted = anOp->isGranted(theId);
@@ -396,9 +410,30 @@ void XGUI_OperationMgr::onBeforeOperationStarted()
     // is disabled, sketch entity is disabled as extrusion cut is created earliest then sketch.
     // As a result the sketch disappears from the viewer. However after commit it is displayed back.
     aFOperation->setPreviousCurrentFeature(aDoc->currentFeature(false));
+
+#ifdef DEBUG_CURRENT_FEATURE
+    FeaturePtr aFeature = aFOperation->feature();
+    QString aKind = aFeature ? aFeature->getKind().c_str() : "";
+    qDebug(QString("onBeforeOperationStarted(), edit operation = %1, feature = %2")
+            .arg(aFOperation->isEditOperation())
+            .arg(ModuleBase_Tools::objectInfo(aFeature)).toStdString().c_str());
+
+    qDebug(QString("\tdocument->currentFeature(false) = %1").arg(
+            ModuleBase_Tools::objectInfo(ModelAPI_Session::get()->activeDocument()->currentFeature(false))).toStdString().c_str());
+#endif
+
     if (aFOperation->isEditOperation()) // it should be performed by the feature edit only
       // in create operation, the current feature is changed by addFeature()
       aDoc->setCurrentFeature(aFOperation->feature(), false);
+
+#ifdef DEBUG_CURRENT_FEATURE
+    qDebug("\tdocument->setCurrentFeature");
+    qDebug(QString("\tdocument->currentFeature(false) = %1").arg(
+            ModuleBase_Tools::objectInfo(ModelAPI_Session::get()->activeDocument()->currentFeature(false))).toStdString().c_str());
+#endif
+  ModuleBase_IModule* aModule = myWorkshop->module();
+  if (aModule)
+    aModule->beforeOperationStarted(aFOperation);
   }
 }
 
@@ -429,6 +464,16 @@ void XGUI_OperationMgr::onBeforeOperationCommitted()
   /// Restore the previous current feature
   ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>(aCurrentOperation);
   if (aFOperation) {
+#ifdef DEBUG_CURRENT_FEATURE
+    QString aKind = aFOperation->feature()->getKind().c_str();
+    qDebug(QString("onBeforeOperationCommitted(), edit operation = %1, feature = %2")
+            .arg(aFOperation->isEditOperation())
+            .arg(ModuleBase_Tools::objectInfo(aFOperation->feature())).toStdString().c_str());
+
+    qDebug(QString("\tdocument->currentFeature(false) = %1").arg(
+            ModuleBase_Tools::objectInfo(ModelAPI_Session::get()->activeDocument()->currentFeature(false))).toStdString().c_str());
+#endif
+
     if (aFOperation->isEditOperation()) {
       /// Restore the previous current feature
       setCurrentFeature(aFOperation->previousCurrentFeature());
@@ -440,6 +485,14 @@ void XGUI_OperationMgr::onBeforeOperationCommitted()
       if (myOperations.front() != aFOperation)
         setCurrentFeature(aFOperation->previousCurrentFeature());
     }
+#ifdef DEBUG_CURRENT_FEATURE
+    qDebug("\tdocument->setCurrentFeature");
+    qDebug(QString("\tdocument->currentFeature(false) = %1").arg(
+            ModuleBase_Tools::objectInfo(ModelAPI_Session::get()->activeDocument()->currentFeature(false))).toStdString().c_str());
+#endif
+    ModuleBase_IModule* aModule = myWorkshop->module();
+    if (aModule)
+      aModule->beforeOperationStopped(aFOperation);
   }
 }
 
@@ -499,18 +552,21 @@ bool XGUI_OperationMgr::onKeyReleased(QKeyEvent* theEvent)
   switch (theEvent->key()) {
     case Qt::Key_Return:
     case Qt::Key_Enter: {
-      ModuleBase_Operation* aOperation = currentOperation();
+      isAccepted = onProcessEnter();
+      /*ModuleBase_Operation* aOperation = currentOperation();
       ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
       ModuleBase_ModelWidget* aActiveWgt = aPanel->activeWidget();
       if (!aActiveWgt || !aActiveWgt->processEnter()) {
-        ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>(currentOperation());
-        if (!aFOperation || myWorkshop->module()->getFeatureError(aFOperation->feature()).isEmpty()) {
-          emit keyEnterReleased();
-          commitOperation();
+        if (!myWorkshop->module()->processEnter(aActiveWgt ? aActiveWgt->attributeID() : "")) {
+          ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>(currentOperation());
+          if (!aFOperation || myWorkshop->module()->getFeatureError(aFOperation->feature()).isEmpty()) {
+            emit keyEnterReleased();
+            commitOperation();
+          }
+          else
+            isAccepted = false;
         }
-        else
-          isAccepted = false;
-      }
+      }*/
     }
     break;
     case Qt::Key_N:
@@ -540,6 +596,26 @@ bool XGUI_OperationMgr::onKeyReleased(QKeyEvent* theEvent)
   return isAccepted;
 }
 
+bool XGUI_OperationMgr::onProcessEnter()
+{
+  bool isAccepted = true;
+  ModuleBase_Operation* aOperation = currentOperation();
+  ModuleBase_IPropertyPanel* aPanel = aOperation->propertyPanel();
+  ModuleBase_ModelWidget* aActiveWgt = aPanel->activeWidget();
+  if (!aActiveWgt || !aActiveWgt->processEnter()) {
+    if (!myWorkshop->module()->processEnter(aActiveWgt ? aActiveWgt->attributeID() : "")) {
+      ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>(currentOperation());
+      if (!aFOperation || myWorkshop->module()->getFeatureError(aFOperation->feature()).isEmpty()) {
+        emit keyEnterReleased();
+        commitOperation();
+      }
+      else
+        isAccepted = false;
+    }
+  }
+  return isAccepted;
+}
+
 XGUI_Workshop* XGUI_OperationMgr::workshop() const
 {
   XGUI_ModuleConnector* aConnector = dynamic_cast<XGUI_ModuleConnector*>(myWorkshop);
index 0cda5543cac21bd86caa7adc9ea582a2ee03585a..d6172b8946225cd29f414203d68ac9b4dd266ca0 100755 (executable)
@@ -176,6 +176,11 @@ protected: // TEMPORARY
   /// \param theEvent the mouse event
   bool onKeyReleased(QKeyEvent* theEvent);
 
+  /// The functionaly, that should be done by enter click
+  /// Fistly the active widget processes it, then module. If no one do not
+  /// process it, the current operation is committed
+  bool onProcessEnter();
+
   protected slots:
   /// Slot that is called by an operation stop. Removes the stopped operation form the stack.
   /// If there is a suspended operation, restart it.
index f447f24a20aa9cbdf610048ed72e2b2541ce1d45..762bde305e20d92063faad3d91103046076213a0 100755 (executable)
@@ -16,6 +16,9 @@
 #include <ModuleBase_PageBase.h>
 #include <ModuleBase_PageWidget.h>
 
+#include <ModelAPI_Session.h>
+#include <ModelAPI_Validator.h>
+
 #include <QEvent>
 #include <QFrame>
 #include <QIcon>
@@ -118,6 +121,9 @@ void XGUI_PropertyPanel::setModelWidgets(const QList<ModuleBase_ModelWidget*>& t
             this,    SLOT(activateNextWidget(ModuleBase_ModelWidget*)));
     connect(aWidget, SIGNAL(keyReleased(QKeyEvent*)),
             this,    SIGNAL(keyReleased(QKeyEvent*)));
+    connect(aWidget, SIGNAL(enterClicked()),
+            this,    SIGNAL(enterClicked()));
+
   }
 }
 
@@ -154,12 +160,19 @@ void XGUI_PropertyPanel::activateNextWidget(ModuleBase_ModelWidget* theWidget)
     activateWidget(NULL);
     return;
   }
+  ModelAPI_ValidatorsFactory* aValidators = ModelAPI_Session::get()->validators();
+
   QList<ModuleBase_ModelWidget*>::const_iterator anIt = myWidgets.begin(), aLast = myWidgets.end();
   bool isFoundWidget = false;
-  activateWindow();
+  ModuleBase_Tools::activateWindow(this, "XGUI_PropertyPanel::activateNextWidget()");
   for (; anIt != aLast; anIt++) {
+    ModuleBase_ModelWidget* aCurrentWidget = *anIt;
     if (isFoundWidget || !theWidget) {
-      if ((*anIt)->focusTo()) {
+
+      if (!aValidators->isCase(aCurrentWidget->feature(), aCurrentWidget->attributeID()))
+        continue; // this attribute is not participated in the current case
+
+      if (aCurrentWidget->focusTo()) {
         return;
       }
     }
@@ -182,7 +195,7 @@ bool XGUI_PropertyPanel::focusNextPrevChild(bool theIsNext)
       for (int i = 0, aSize = myWidgets.size(); i < aSize && !aFirstControl; i++)
         aFirstControl = myWidgets[i]->getControlAcceptingFocus(true);
       if (aFirstControl)
-        aFirstControl->setFocus();
+        ModuleBase_Tools::setFocus(aFirstControl, "XGUI_PropertyPanel::focusNextPrevChild()");
         isChangedFocus = true;
     }
     else {
@@ -204,7 +217,7 @@ bool XGUI_PropertyPanel::focusNextPrevChild(bool theIsNext)
       for (int i = myWidgets.size()-1; i >= 0 && !aLastControl; i--)
         aLastControl = myWidgets[i]->getControlAcceptingFocus(false);
       if (aLastControl)
-        aLastControl->setFocus();
+        ModuleBase_Tools::setFocus(aLastControl, "XGUI_PropertyPanel::focusNextPrevChild()");
         isChangedFocus = true;
     }
     else {
@@ -214,7 +227,7 @@ bool XGUI_PropertyPanel::focusNextPrevChild(bool theIsNext)
         aFirstControl = myWidgets[i]->getControlAcceptingFocus(true);
       if (aFirstControl && aFirstControl->hasFocus()) {
         QToolButton* aCancelBtn = findChild<QToolButton*>(PROP_PANEL_CANCEL);
-        aCancelBtn->setFocus();
+        ModuleBase_Tools::setFocus(aCancelBtn, "XGUI_PropertyPanel::focusNextPrevChild()");
         isChangedFocus = true;
       }
     }
@@ -233,13 +246,15 @@ void XGUI_PropertyPanel::activateNextWidget()
 
 void XGUI_PropertyPanel::activateWidget(ModuleBase_ModelWidget* theWidget)
 {
+  std::string aPreviosAttributeID;
+  if(myActiveWidget)
+    aPreviosAttributeID = myActiveWidget->attributeID();
+
   // Avoid activation of already actve widget. It could happen on focusIn event many times
   if (setActiveWidget(theWidget)) {
-    if (myActiveWidget) {
-      emit widgetActivated(myActiveWidget);
-    } else if (!isEditingMode()) {
-      emit noMoreWidgets();
-      //setFocusOnOkButton();
+    emit widgetActivated(myActiveWidget);
+    if (!myActiveWidget && !isEditingMode()) {
+      emit noMoreWidgets(aPreviosAttributeID);
     }
   }
 }
@@ -250,7 +265,9 @@ bool XGUI_PropertyPanel::setActiveWidget(ModuleBase_ModelWidget* theWidget)
   if (theWidget == myActiveWidget) {
     return false;
   }
+  std::string aPreviosAttributeID;
   if(myActiveWidget) {
+    aPreviosAttributeID = myActiveWidget->attributeID();
     myActiveWidget->deactivate();
     myActiveWidget->setHighlighted(false);
   }
@@ -266,7 +283,7 @@ bool XGUI_PropertyPanel::setActiveWidget(ModuleBase_ModelWidget* theWidget)
 void XGUI_PropertyPanel::setFocusOnOkButton()
 {
   QToolButton* anOkBtn = findChild<QToolButton*>(PROP_PANEL_OK);
-  anOkBtn->setFocus();
+  ModuleBase_Tools::setFocus(anOkBtn, "XGUI_PropertyPanel::setFocusOnOkButton()");
 }
 
 void XGUI_PropertyPanel::setCancelEnabled(bool theEnabled)
index 374ea5efc1e12b50a47af91bddca079ee9d523ba..a40ff085b2ca961b14718c56c870afba7a61adef 100644 (file)
@@ -47,6 +47,7 @@ Q_OBJECT
 
   /// Constructor
   /// \param theParent is a parent of the property panel
+  /// \param theMgr operation manager
   XGUI_PropertyPanel(QWidget* theParent, XGUI_OperationMgr* theMgr);
 
   virtual ~XGUI_PropertyPanel();
@@ -118,6 +119,9 @@ public slots:
   */
   virtual void activateWidget(ModuleBase_ModelWidget* theWidget);
 
+signals:
+  void enterClicked();
+
 protected:
   /// Makes the widget active, deactivate the previous, activate and hightlight the given one
   /// \param theWidget a widget
index edc1136839354ccbd72ab41671ae32acd2e2f885..1b6f86542f9b2dfa79f6576a6741846e1a61b0df 100644 (file)
 #include <ModelAPI_Feature.h>
 
 #include <AIS_InteractiveContext.hxx>
+#include <AIS_Axis.hxx>
+#include <AIS_Point.hxx>
+#include <Geom_Line.hxx>
+#include <BRep_Builder.hxx>
+#include <TopoDS_Edge.hxx>
+#include <Geom_Point.hxx>
+#include <Geom_TrimmedCurve.hxx>
+#include <Prs3d_DatumAspect.hxx>
 
 #include <TColStd_ListIteratorOfListOfInteger.hxx>
 #include <StdSelect_BRepOwner.hxx>
 
 #include <set>
 
+#define DEBUG_DELIVERY
+
 XGUI_Selection::XGUI_Selection(XGUI_Workshop* theWorkshop)
     : myWorkshop(theWorkshop)
 {
@@ -118,9 +128,41 @@ void XGUI_Selection::fillPresentation(ModuleBase_ViewerPrs& thePrs,
     // the located method is called in the context to obtain the shape by the SelectedShape() method,
     // so the shape is located by the same rules
     TopoDS_Shape aShape = aBRO->Shape().Located (aBRO->Location() * aBRO->Shape().Location());
+#ifndef DEBUG_DELIVERY
+    if (aShape.IsNull())
+      aShape = findAxisShape(anIO);
+#endif
     if (!aShape.IsNull())
       thePrs.setShape(aShape);
-  }      
+  } else {
+#ifdef DEBUG_DELIVERY
+    // Fill by trihedron shapes
+    Handle(AIS_Axis) aAxis = Handle(AIS_Axis)::DownCast(anIO);
+    if (!aAxis.IsNull()) {
+      // an Axis from Trihedron
+      Handle(Geom_Line) aLine = aAxis->Component();
+      Handle(Prs3d_DatumAspect) DA = aAxis->Attributes()->DatumAspect();
+      Handle(Geom_TrimmedCurve) aTLine = new Geom_TrimmedCurve(aLine, 0, DA->FirstAxisLength());
+
+      BRep_Builder aBuilder;      
+      TopoDS_Edge aEdge;
+      aBuilder.MakeEdge(aEdge, aTLine, Precision::Confusion());
+      if (!aEdge.IsNull())
+        thePrs.setShape(aEdge);
+    } else {
+      Handle(AIS_Point) aPoint = Handle(AIS_Point)::DownCast(anIO);
+      if (!aPoint.IsNull()) {
+        // A point from trihedron
+        Handle(Geom_Point) aPnt = aPoint->Component();
+        BRep_Builder aBuilder;
+        TopoDS_Vertex aVertex;
+        aBuilder.MakeVertex(aVertex, aPnt->Pnt(), Precision::Confusion());
+        if (!aVertex.IsNull())
+          thePrs.setShape(aVertex);
+      }
+    }
+#endif
+  }
      
   XGUI_Displayer* aDisplayer = myWorkshop->displayer();
   ObjectPtr aFeature = aDisplayer->getObject(anIO);
@@ -228,6 +270,9 @@ void XGUI_Selection::selectedShapes(NCollection_List<TopoDS_Shape>& theList,
 
   for (aContext->InitSelected(); aContext->MoreSelected(); aContext->NextSelected()) {
     TopoDS_Shape aShape = aContext->SelectedShape();
+    if (aShape.IsNull()) {
+      aShape = findAxisShape(aContext->SelectedInteractive());
+    }
     if (!aShape.IsNull()) {
       theList.Append(aShape);
       Handle(SelectMgr_EntityOwner) aEO = aContext->SelectedOwner();
@@ -281,3 +326,35 @@ void XGUI_Selection::entityOwners(const Handle(AIS_InteractiveObject)& theObject
     }
   }
 }
+
+//**************************************************************
+TopoDS_Shape XGUI_Selection::findAxisShape(Handle(AIS_InteractiveObject) theIO) const
+{
+  TopoDS_Shape aShape;
+  // Fill by trihedron shapes
+  Handle(AIS_Axis) aAxis = Handle(AIS_Axis)::DownCast(theIO);
+  if (!aAxis.IsNull()) {
+    // an Axis from Trihedron
+    Handle(Geom_Line) aLine = aAxis->Component();
+    Handle(Prs3d_DatumAspect) DA = aAxis->Attributes()->DatumAspect();
+    Handle(Geom_TrimmedCurve) aTLine = new Geom_TrimmedCurve(aLine, 0, DA->FirstAxisLength());
+
+    BRep_Builder aBuilder;      
+    TopoDS_Edge aEdge;
+    aBuilder.MakeEdge(aEdge, aTLine, Precision::Confusion());
+    if (!aEdge.IsNull())
+      aShape = aEdge;
+  } else {
+    Handle(AIS_Point) aPoint = Handle(AIS_Point)::DownCast(theIO);
+    if (!aPoint.IsNull()) {
+      // A point from trihedron
+      Handle(Geom_Point) aPnt = aPoint->Component();
+      BRep_Builder aBuilder;
+      TopoDS_Vertex aVertex;
+      aBuilder.MakeVertex(aVertex, aPnt->Pnt(), Precision::Confusion());
+      if (!aVertex.IsNull())
+        aShape = aVertex;
+    }
+  }
+  return aShape;
+}
index 5e4b672bc7b09a5419251749045322611eb28f6e..d81ef7edaee93256265560b29a70aafb891a7505 100644 (file)
@@ -106,6 +106,11 @@ protected:
   /// \param thePresentations an output list of presentation
   void getSelectedInBrowser(QList<ModuleBase_ViewerPrs>& thePresentations) const;
 
+  /// Generates a vertex or edge by the give IO if it is an AIS created on trihedron
+  /// \param theIO a selected object
+  /// \return created shape or empty shape
+  TopoDS_Shape findAxisShape(Handle(AIS_InteractiveObject) theIO) const;
+
 private:
   XGUI_Workshop* myWorkshop;
 };
index b0bc951061820d8ebcc7f9463e1a024bb1c605b1..ab9ef819f618481662ef078c9f63979fd9326252 100644 (file)
@@ -174,6 +174,20 @@ bool isSubOfComposite(const ObjectPtr& theObject, const FeaturePtr& theFeature)
   return isSub;
 }
 
+//**************************************************************
+bool isSubOfComposite(const ObjectPtr& theObject)
+{
+  bool isSub = false;
+  std::set<FeaturePtr> aRefFeatures;
+  refsToFeatureInFeatureDocument(theObject, aRefFeatures);
+  std::set<FeaturePtr>::const_iterator anIt = aRefFeatures.begin(),
+                                       aLast = aRefFeatures.end();
+  for (; anIt != aLast && !isSub; anIt++) {
+    isSub = isSubOfComposite(theObject, *anIt);
+  }
+  return isSub;
+}
+
 //**************************************************************
 void refsToFeatureInAllDocuments(const ObjectPtr& theSourceObject, const ObjectPtr& theObject,
                                  std::set<FeaturePtr>& theDirectRefFeatures, 
@@ -188,11 +202,13 @@ void refsToFeatureInAllDocuments(const ObjectPtr& theSourceObject, const ObjectP
   theAlreadyProcessed.insert(aFeature);
 
   // 1. find references in the current document
+
   std::set<FeaturePtr> aRefFeatures;
   refsToFeatureInFeatureDocument(theObject, aRefFeatures);
   std::set<FeaturePtr>::const_iterator anIt = aRefFeatures.begin(),
                                        aLast = aRefFeatures.end();
   for (; anIt != aLast; anIt++) {
+    // composite feature should not be deleted when the sub feature is to be deleted
     if (!isSubOfComposite(theSourceObject, *anIt))
       theDirectRefFeatures.insert(*anIt);
   }
index 21ca7356d04f531cd42ab29e7fc8b921ecb5440e..18f237a007db14c1e23fac85b218098086faa713 100644 (file)
@@ -108,7 +108,7 @@ void XGUI_EXPORT refsToFeatureInFeatureDocument(const ObjectPtr& theObject,
  \param theFeature a candidate to be a composite feature
  \return a boolean value
  */
-bool XGUI_EXPORT isSubOfComposite(const ObjectPtr& theObject, const FeaturePtr& theFeature);
+bool XGUI_EXPORT isSubOfComposite(const ObjectPtr& theObject);
 
 /*!
  Returns a container of references feature to the source object. The search happens in the object
@@ -128,6 +128,13 @@ void XGUI_EXPORT refsToFeatureInAllDocuments(const ObjectPtr& theSourceObject,
                                              std::set<FeaturePtr>& theDirectRefFeatures,
                                              std::set<FeaturePtr>& theIndirectRefFeatures,
                                              std::set<FeaturePtr>& theAlreadyProcessed);
+
+/*!
+* Returns true if the result is a sub object of some composite object
+* \param theObject a result object
+* \returns boolean value
+*/
+bool XGUI_EXPORT isSubOfComposite(const ObjectPtr& theObject);
 };
 
 #endif
index 90178a9670a93c4d8ed2a745ada44217d82348d1..053a87abe71513c1335cfbbcef4ca9de7ea1284f 100644 (file)
@@ -58,7 +58,7 @@ void XGUI_ViewerProxy::setViewProjection(double theX, double theY, double theZ,
   if (!aView3d.IsNull()) {
     aView3d->SetProj(theX, theY, theZ);
     aView3d->SetTwist( theTwist );
-    aView3d->FitAll(0.01, true);
+    aView3d->FitAll(0.01, false);
     aView3d->SetZSize(0.);
     if (aView3d->Depth() < 0.1)
       aView3d->DepthFitAll();
index 52212d11bff20202126610c9e6f0ffc706be39e7..145ddd36709e752b93dcbafcde9fe65f9cea503d 100755 (executable)
 #include <dlfcn.h>
 #endif
 
+
+QString XGUI_Workshop::MOVE_TO_END_COMMAND = QObject::tr("Move to the end");
+
 //#define DEBUG_DELETE
 
 XGUI_Workshop::XGUI_Workshop(XGUI_SalomeConnector* theConnector)
@@ -129,7 +132,7 @@ XGUI_Workshop::XGUI_Workshop(XGUI_SalomeConnector* theConnector)
   myDisplayer = new XGUI_Displayer(this);
 
   mySelector = new XGUI_SelectionMgr(this);
-  //connect(mySelector, SIGNAL(selectionChanged()), this, SLOT(updateModuleCommands()));
+  connect(mySelector, SIGNAL(selectionChanged()), this, SLOT(updateCommandStatus()));
 
   myOperationMgr = new XGUI_OperationMgr(this, 0);
   myActionsMgr = new XGUI_ActionsMgr(this);
@@ -227,7 +230,7 @@ void XGUI_Workshop::activateModule()
   connect(myDisplayer, SIGNAL(beforeObjectErase(ObjectPtr, AISObjectPtr)),
     myModule, SLOT(onBeforeObjectErase(ObjectPtr, AISObjectPtr)));
 
-  myActionsMgr->update();
+  updateCommandStatus();
 
   // activate visualized objects in the viewer
   XGUI_Displayer* aDisplayer = displayer();
@@ -280,13 +283,13 @@ void XGUI_Workshop::initMenu()
   addHistoryMenu(aAction, SIGNAL(updateRedoHistory(const QList<ActionInfo>&)), SLOT(onRedo(int)));
 
   salomeConnector()->addDesktopMenuSeparator("MEN_DESK_EDIT");
-  aAction = salomeConnector()->addDesktopCommand("REBUILD_CMD", tr("Rebuild"), tr("Rebuild data objects"),
-                                              QIcon(":pictures/rebuild.png"), QKeySequence(),
-                                              false, "MEN_DESK_EDIT");
-  salomeConnector()->addActionInToolbar( aAction, aToolBarTitle );
+  //aAction = salomeConnector()->addDesktopCommand("REBUILD_CMD", tr("Rebuild"), tr("Rebuild data objects"),
+  //                                            QIcon(":pictures/rebuild.png"), QKeySequence(),
+  //                                            false, "MEN_DESK_EDIT");
+  //salomeConnector()->addActionInToolbar( aAction, aToolBarTitle );
 
-  connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onRebuild()));
-  salomeConnector()->addDesktopMenuSeparator("MEN_DESK_EDIT");
+  //connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onRebuild()));
+  //salomeConnector()->addDesktopMenuSeparator("MEN_DESK_EDIT");
 
   aAction = salomeConnector()->addDesktopCommand("SAVEAS_CMD", tr("Export NewGeom..."), tr("Export the current document into a NewGeom file"),
                                               QIcon(), QKeySequence(),
@@ -310,6 +313,10 @@ void XGUI_Workshop::initMenu()
   aCommand->connectTo(this, SLOT(onSave()));
   //aCommand->disable();
 
+  aCommand = aGroup->addFeature("SAVEAS_CMD", tr("Save as..."), tr("Save the document into a file"),
+                                QIcon(":pictures/save.png"), QKeySequence());
+  aCommand->connectTo(this, SLOT(onSaveAs()));
+
   QString aUndoId = "UNDO_CMD";
   aCommand = aGroup->addFeature(aUndoId, tr("Undo"), tr("Undo last command"),
                                 QIcon(":pictures/undo.png"), QKeySequence::Undo);
@@ -328,13 +335,10 @@ void XGUI_Workshop::initMenu()
                  SIGNAL(updateRedoHistory(const QList<ActionInfo>&)),
                  SLOT(onRedo(int)));
 
-  aCommand = aGroup->addFeature("REBUILD_CMD", tr("Rebuild"), tr("Rebuild data objects"),
-    QIcon(":pictures/rebuild.png"), QKeySequence());
-  aCommand->connectTo(this, SLOT(onRebuild()));
+  //aCommand = aGroup->addFeature("REBUILD_CMD", tr("Rebuild"), tr("Rebuild data objects"),
+  //  QIcon(":pictures/rebuild.png"), QKeySequence());
+  //aCommand->connectTo(this, SLOT(onRebuild()));
 
-  aCommand = aGroup->addFeature("SAVEAS_CMD", tr("Save as..."), tr("Save the document into a file"),
-                                QIcon(":pictures/save.png"), QKeySequence());
-  aCommand->connectTo(this, SLOT(onSaveAs()));
   //aCommand->disable();
 
   aCommand = aGroup->addFeature("OPEN_CMD", tr("Open..."), tr("Open a new document"),
@@ -386,8 +390,8 @@ void XGUI_Workshop::onAcceptActionClicked()
     ModuleBase_OperationFeature* aFOperation = dynamic_cast<ModuleBase_OperationFeature*>
                                                     (anOperationMgr->currentOperation());
     if (aFOperation) {
-      if (errorMgr()->canProcessClick(anAction, aFOperation->feature()))
-        myOperationMgr->onCommitOperation();
+      //if (errorMgr()->canProcessClick(anAction, aFOperation->feature()))
+      myOperationMgr->onCommitOperation();
     }
   }
 }
@@ -486,6 +490,7 @@ void XGUI_Workshop::onOperationResumed(ModuleBase_Operation* theOperation)
 
   if (theOperation->getDescription()->hasXmlRepresentation()) {  //!< No need for property panel
     setPropertyPanel(theOperation);
+    connectToPropertyPanel(true);
   }
   updateCommandStatus();
 
@@ -802,14 +807,18 @@ void XGUI_Workshop::onUndo(int theTimes)
 {
   objectBrowser()->treeView()->setCurrentIndex(QModelIndex());
   SessionPtr aMgr = ModelAPI_Session::get();
+  std::list<std::string> aUndoList = aMgr->undoList();
   if (aMgr->isOperation()) {
     /// this is important for nested operations
     /// when sketch operation is active, this condition is false and
     /// the sketch operation is not aborted
     operationMgr()->onAbortOperation();
   }
-  for (int i = 0; i < theTimes; ++i) {
+  std::list<std::string>::const_iterator aIt = aUndoList.cbegin();
+  for (int i = 0; (i < theTimes) && (aIt != aUndoList.cend()); ++i, ++aIt) {
     aMgr->undo();
+    if (QString((*aIt).c_str()) == MOVE_TO_END_COMMAND)
+      myObjectBrowser->rebuildDataTree();
   }
 
   operationMgr()->updateApplyOfOperations();
@@ -827,14 +836,18 @@ void XGUI_Workshop::onRedo(int theTimes)
 
   objectBrowser()->treeView()->setCurrentIndex(QModelIndex());
   SessionPtr aMgr = ModelAPI_Session::get();
+  std::list<std::string> aRedoList = aMgr->redoList();
   if (aMgr->isOperation()) {
     /// this is important for nested operations
     /// when sketch operation is active, this condition is false and
     /// the sketch operation is not aborted
     operationMgr()->onAbortOperation();
   }
-  for (int i = 0; i < theTimes; ++i) {
+  std::list<std::string>::const_iterator aIt = aRedoList.cbegin();
+  for (int i = 0; (i < theTimes) && (aIt != aRedoList.cend()); ++i, ++aIt) {
     aMgr->redo();
+    if (QString((*aIt).c_str()) == MOVE_TO_END_COMMAND)
+      myObjectBrowser->rebuildDataTree();
   }
   operationMgr()->updateApplyOfOperations();
   updateCommandStatus();
@@ -845,21 +858,21 @@ void XGUI_Workshop::onRedo(int theTimes)
 }
 
 //******************************************************
-void XGUI_Workshop::onRebuild()
-{
-  SessionPtr aMgr = ModelAPI_Session::get();
-  bool aWasOperation = aMgr->isOperation(); // keep this value
-  if (!aWasOperation) {
-    aMgr->startOperation("Rebuild");
-  }
-  static const Events_ID aRebuildEvent = Events_Loop::loop()->eventByName("Rebuild");
-  Events_Loop::loop()->send(std::shared_ptr<Events_Message>(
-    new Events_Message(aRebuildEvent, this)));
-  if (!aWasOperation) {
-    aMgr->finishOperation();
-  }
-  updateCommandStatus();
-}
+//void XGUI_Workshop::onRebuild()
+//{
+//  SessionPtr aMgr = ModelAPI_Session::get();
+//  bool aWasOperation = aMgr->isOperation(); // keep this value
+//  if (!aWasOperation) {
+//    aMgr->startOperation("Rebuild");
+//  }
+//  static const Events_ID aRebuildEvent = Events_Loop::loop()->eventByName("Rebuild");
+//  Events_Loop::loop()->send(std::shared_ptr<Events_Message>(
+//    new Events_Message(aRebuildEvent, this)));
+//  if (!aWasOperation) {
+//    aMgr->finishOperation();
+//  }
+//  updateCommandStatus();
+//}
 
 //******************************************************
 void XGUI_Workshop::onWidgetStateChanged(int thePreviousState)
@@ -989,7 +1002,7 @@ void XGUI_Workshop::updateCommandStatus()
         aCmd->setEnabled(false);
     }
   }
-  myActionsMgr->update();
+  myActionsMgr->updateCommandsStatus();
   emit commandStatusUpdated();
 }
 
@@ -1044,9 +1057,11 @@ void XGUI_Workshop::createDockWidgets()
 
   QAction* aCancelAct = myActionsMgr->operationStateAction(XGUI_ActionsMgr::Abort);
   connect(aCancelAct, SIGNAL(triggered()), myOperationMgr, SLOT(onAbortOperation()));
-  connect(myPropertyPanel, SIGNAL(noMoreWidgets()), myModule, SLOT(onNoMoreWidgets()));
   connect(myPropertyPanel, SIGNAL(keyReleased(QKeyEvent*)),
           myOperationMgr,  SLOT(onKeyReleased(QKeyEvent*)));
+
+  connect(myPropertyPanel, SIGNAL(enterClicked()),
+          myOperationMgr,  SLOT(onProcessEnter()));
   //connect(myOperationMgr,  SIGNAL(validationStateChanged(bool)),
   //        this, SLOT(onValidationStateChanged(bool)));
 }
@@ -1064,8 +1079,8 @@ void XGUI_Workshop::showPropertyPanel()
   // in order to operation manager could process key events of the panel.
   // otherwise they are ignored. It happens only if the same(activateWindow) is
   // not happened by property panel activation(e.g. resume operation of Sketch)
-  myPropertyPanel->activateWindow();
-  myPropertyPanel->setFocus();
+  ModuleBase_Tools::activateWindow(myPropertyPanel, "XGUI_Workshop::showPropertyPanel()");
+  ModuleBase_Tools::setFocus(myPropertyPanel, "XGUI_Workshop::showPropertyPanel()");
 }
 
 //******************************************************
@@ -1084,8 +1099,8 @@ void XGUI_Workshop::hidePropertyPanel()
   // are processed by this console. For example Undo actions.
   // It is possible that this code is to be moved to NewGeom package
   QMainWindow* aDesktop = desktop();
-  aDesktop->activateWindow();
-  aDesktop->setFocus();
+  ModuleBase_Tools::activateWindow(aDesktop, "XGUI_Workshop::hidePropertyPanel()");
+  ModuleBase_Tools::setFocus(aDesktop, "XGUI_Workshop::showPropertyPanel()");
 }
 
 //******************************************************
index 5aa9e7802f64b58ae1de8f4a26e866e5f887b688..1d1fa3fee64bc14fcc6fd586c3a385d904fe9b65 100755 (executable)
@@ -47,6 +47,7 @@ class QMainWindow;
 
 class QAction;
 
+
 /**\class XGUI_Workshop
  * \ingroup GUI
  * \brief Class which defines a configuration of the application (Workshop) and launches it.
@@ -258,6 +259,10 @@ Q_OBJECT
   /// \param theUpdateViewer update viewer flag
   void synchronizeGroupInViewer(const DocumentPtr& theDoc, const std::string& theGroup, bool theUpdateViewer);
 
+  /// A constant string used for "Move to end" command definition
+  /// It is used for specific processing of Undo/Redo for this command.
+  static QString MOVE_TO_END_COMMAND;
+
 signals:
   /// Emitted when selection happens in Salome viewer
   void salomeViewerSelection();
@@ -296,8 +301,8 @@ signals:
   /// Redo previous command
   void onRedo(int times = 1);
 
-  /// Rebuild data tree
-  void onRebuild();
+  // Rebuild data tree
+  //void onRebuild();
 
   /// Validates the operation to change the "Apply" button state.
   /// \param thePreviousState the previous state of the widget
index 192bb1c7e947f1d1b2b6532d4b85f13433c39b2d..9e6925a41e9ddf5db30cbb4f5fa692799c01cd3a 100644 (file)
      <file>pictures/wireframe.png</file>
      <file>pictures/expression.png</file>
      <file>pictures/arrow.png</file>
+   
+     <file>pictures/solid.png</file>
+     <file>pictures/compsolid.png</file>
+     <file>pictures/compoundofsolids.png</file>
+     <file>pictures/edge.png</file>
+     <file>pictures/vertex.png</file>
+     <file>pictures/face.png</file>
+     <file>pictures/compound.png</file>
  </qresource>
  </RCC>
diff --git a/src/XGUI/pictures/compound.png b/src/XGUI/pictures/compound.png
new file mode 100644 (file)
index 0000000..0ad7728
Binary files /dev/null and b/src/XGUI/pictures/compound.png differ
diff --git a/src/XGUI/pictures/compoundofsolids.png b/src/XGUI/pictures/compoundofsolids.png
new file mode 100644 (file)
index 0000000..b30242c
Binary files /dev/null and b/src/XGUI/pictures/compoundofsolids.png differ
diff --git a/src/XGUI/pictures/compsolid.png b/src/XGUI/pictures/compsolid.png
new file mode 100644 (file)
index 0000000..6a16570
Binary files /dev/null and b/src/XGUI/pictures/compsolid.png differ
diff --git a/src/XGUI/pictures/edge.png b/src/XGUI/pictures/edge.png
new file mode 100644 (file)
index 0000000..4970612
Binary files /dev/null and b/src/XGUI/pictures/edge.png differ
index d9ea77546004261d02fa1cf2bfa704a0546e349b..158678a87d07c6633fbc2ce55d17826ae90f934b 100644 (file)
Binary files a/src/XGUI/pictures/expression.png and b/src/XGUI/pictures/expression.png differ
diff --git a/src/XGUI/pictures/face.png b/src/XGUI/pictures/face.png
new file mode 100644 (file)
index 0000000..6abc697
Binary files /dev/null and b/src/XGUI/pictures/face.png differ
diff --git a/src/XGUI/pictures/solid.png b/src/XGUI/pictures/solid.png
new file mode 100644 (file)
index 0000000..dbffe4c
Binary files /dev/null and b/src/XGUI/pictures/solid.png differ
diff --git a/src/XGUI/pictures/vertex.png b/src/XGUI/pictures/vertex.png
new file mode 100644 (file)
index 0000000..6795c4c
Binary files /dev/null and b/src/XGUI/pictures/vertex.png differ
diff --git a/test.sh b/test.sh
index 7f2d98e452bfdfb54a636a1536987fc19c066c57..3732d1601da167f03dc70d8c4bdd8c13070eac03 100755 (executable)
--- a/test.sh
+++ b/test.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 source env.sh
-source env_standalone.sh
+source ${TOOLS_DIR}/env_salome.sh
 
 mkdir -p ${BUILD_DIR}
 cd ${BUILD_DIR}
index 2fb371b1328d6a624bf9fe8e60a40dfb45a7bef1..18b44996fd91dbd433bec2273cc6583fd93d6a6a 100644 (file)
 :Axis.property_panel_ok_QToolButton    {container=':SALOME*.Axis_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
 :Axis_QLineEdit        {container=':SALOME*.Axis_XGUI_PropertyPanel' type='QLineEdit' unnamed='1' visible='1'}
 :Boolean.Main objects_QLabel   {container=':SALOME*.Boolean_XGUI_PropertyPanel' text='Main objects' type='QLabel' unnamed='1' visible='1'}
-:Boolean.Main objects_QListWidget      {aboveWidget=':Boolean.Main objects_QLabel' container=':SALOME*.Boolean_XGUI_PropertyPanel' type='QListWidget' unnamed='1' visible='1'}
+:Boolean.Main objects_QListWidget      {aboveWidget=':property_panel_dock.Main objects_QLabel' container=':SALOME*.property_panel_dock_XGUI_PropertyPanel' type='QListWidget' unnamed='1' visible='1'}
 :Boolean.Tool object_QLabel    {container=':SALOME*.Boolean_XGUI_PropertyPanel' text='Tool object' type='QLabel' unnamed='1' visible='1'}
-:Boolean.Tool object_QListWidget       {aboveWidget=':Boolean.Tool object_QLabel' container=':SALOME*.Boolean_XGUI_PropertyPanel' type='QListWidget' unnamed='1' visible='1'}
+:Boolean.Tool object_QListWidget       {aboveWidget=':property_panel_dock.Tool object_QLabel' container=':SALOME*.property_panel_dock_XGUI_PropertyPanel' type='QListWidget' unnamed='1' visible='1'}
 :Boolean.Type_QComboBox        {container=':SALOME*.Boolean_XGUI_PropertyPanel' leftWidget=':Boolean.Type_QLabel' type='QComboBox' unnamed='1' visible='1'}
 :Boolean.Type_QLabel   {container=':SALOME*.Boolean_XGUI_PropertyPanel' text='Type' type='QLabel' unnamed='1' visible='1'}
-:Boolean.property_panel_ok_QToolButton {container=':SALOME*.Boolean_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
+:Boolean.property_panel_ok_QToolButton {container=':SALOME*.property_panel_dock_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
 :Center of rotation.qt_spinbox_lineedit_QLineEdit      {container=':Rotation.Center of rotation_QGroupBox' name='qt_spinbox_lineedit' type='QLineEdit' visible='1'}
 :Center.X _ModuleBase_ParamSpinBox     {container=':Circle.Center_QGroupBox' leftWidget=':Center.X _QLabel' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
 :Center.X _ModuleBase_ParamSpinBox_2   {container=':Arc.Center_QGroupBox' leftWidget=':Center.X _QLabel_2' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
@@ -69,6 +69,7 @@
 :Exit_SalomeApp_ExitDlg        {type='SalomeApp_ExitDlg' unnamed='1' visible='1' windowTitle='Exit'}
 :Extrusion.From_ModuleBase_PageGroupBox        {container=':SALOME*.Extrusion_XGUI_PropertyPanel' title='From' type='ModuleBase_PageGroupBox' unnamed='1' visible='1'}
 :Extrusion.From_ModuleBase_PageGroupBox_2      {container=':ExtrusionFuse.Extrusion_ModuleBase_PageGroupBox' title='From' type='ModuleBase_PageGroupBox' unnamed='1' visible='1'}
+:Extrusion.From_ModuleBase_PageGroupBox_3      {container=':ExtrusionCut.Extrusion_ModuleBase_PageGroupBox' title='From' type='ModuleBase_PageGroupBox' unnamed='1' visible='1'}
 :Extrusion.Select a sketch face_QLabel {container=':SALOME*.Extrusion_XGUI_PropertyPanel' text='Select a sketch face' type='QLabel' unnamed='1' visible='1'}
 :Extrusion.Select a sketch face_QListWidget    {aboveWidget=':Extrusion.Select a sketch face_QLabel' container=':SALOME*.Extrusion_XGUI_PropertyPanel' type='QListWidget' unnamed='1' visible='1'}
 :Extrusion.To_ModuleBase_PageGroupBox  {container=':SALOME*.Extrusion_XGUI_PropertyPanel' title='To' type='ModuleBase_PageGroupBox' unnamed='1' visible='1'}
 :From.from_offset_ModuleBase_ParamSpinBox      {container=':Extrusion.From_ModuleBase_PageGroupBox' name='from_offset' type='ModuleBase_ParamSpinBox' visible='1'}
 :From.from_offset_ModuleBase_ParamSpinBox_2    {container=':Revolution.From_ModuleBase_PageGroupBox' name='from_offset' type='ModuleBase_ParamSpinBox' visible='1'}
 :From.from_offset_ModuleBase_ParamSpinBox_3    {container=':Revolution.From_ModuleBase_PageGroupBox_2' name='from_offset' type='ModuleBase_ParamSpinBox' visible='1'}
+:From.qt_spinbox_lineedit_QLineEdit    {container=':Extrusion.From_ModuleBase_PageGroupBox_3' name='qt_spinbox_lineedit' type='QLineEdit' visible='1'}
 :From_QLineEdit        {container=':Extrusion.From_ModuleBase_PageGroupBox' type='QLineEdit' unnamed='1' visible='1'}
 :From_QLineEdit_2      {container=':Revolution.From_ModuleBase_PageGroupBox' type='QLineEdit' unnamed='1' visible='1'}
 :From_QLineEdit_3      {container=':Revolution.From_ModuleBase_PageGroupBox_2' type='QLineEdit' unnamed='1' visible='1'}
 :Mirror.Segments:_QListWidget  {aboveWidget=':Mirror.Segments:_QLabel' container=':SALOME*.Mirror_XGUI_PropertyPanel' type='QListWidget' unnamed='1' visible='1'}
 :Mirror.property_panel_ok_QToolButton  {container=':SALOME*.Mirror_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
 :OK_QPushButton        {container=':Object browser_XGUI_DataTree' text='OK' type='QPushButton' unnamed='1' visible='1'}
+:Object browser.Part set_XGUI_ActiveDocLbl     {container=':SALOME*.Object browser_QDockWidget' text='Part set' type='XGUI_ActiveDocLbl' unnamed='1' visible='1'}
 :Object browser.qt_dockwidget_closebutton_QDockWidgetTitleButton       {container=':SALOME*.Object browser_QDockWidget' name='qt_dockwidget_closebutton' type='QDockWidgetTitleButton' visible='1'}
 :Object browser.qt_dockwidget_floatbutton_QDockWidgetTitleButton       {container=':SALOME*.Object browser_QDockWidget' name='qt_dockwidget_floatbutton' type='QDockWidgetTitleButton' visible='1'}
 :Object browser.qt_dockwidget_floatbutton_XGUI_ObjectsBrowser  {aboveWidget=':Object browser.qt_dockwidget_floatbutton_QDockWidgetTitleButton' container=':SALOME*.Object browser_QDockWidget' type='XGUI_ObjectsBrowser' unnamed='1' visible='1'}
 :SALOME*.Rebuild_QToolButton   {text='Rebuild' type='QToolButton' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
 :SALOME*.Remove part_QToolButton       {text='Remove part' type='QToolButton' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
 :SALOME*.Reset_QToolButton     {text='Reset' type='QToolButton' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
+:SALOME*.Reset_QToolButton_2   {text='Reset' type='QToolButton' unnamed='1' visible='0' window=':SALOME*_STD_TabDesktop'}
 :SALOME*.RevolutionCut_QToolButton     {text='RevolutionCut' type='QToolButton' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
 :SALOME*.RevolutionCut_XGUI_PropertyPanel      {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':SALOME*_STD_TabDesktop' windowTitle='RevolutionCut'}
 :SALOME*.RevolutionFuse_QToolButton    {text='RevolutionFuse' type='QToolButton' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
 :SALOME*.Vertical_XGUI_PropertyPanel   {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':SALOME*_STD_TabDesktop' windowTitle='Vertical'}
 :SALOME*.Zoom_QToolButton      {text='Zoom' type='QToolButton' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
 :SALOME*.Zooming style switch_QToolButton      {text='Zooming style switch' type='QToolButton' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
+:SALOME*.property_panel_dock_XGUI_PropertyPanel        {name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':SALOME*_STD_TabDesktop'}
 :SALOME*.qt_toolbar_ext_button_QToolBarExtension       {name='qt_toolbar_ext_button' type='QToolBarExtension' visible='1' window=':SALOME*_STD_TabDesktop'}
-:SALOME*.qt_toolbar_ext_button_QToolBarExtension_2     {name='qt_toolbar_ext_button' occurrence='2' type='QToolBarExtension' visible='1' window=':SALOME*_STD_TabDesktop'}
+:SALOME*.qt_toolbar_ext_button_QToolBarExtension_2     {container=':SALOME*.3D View Operations_QtxToolBar' name='qt_toolbar_ext_button' occurrence='2' type='QToolBarExtension' visible='1' window=':SALOME*_STD_TabDesktop'}
+:SALOME*.qt_toolbar_ext_button_QToolBarExtension_3     {name='qt_toolbar_ext_button' occurrence='3' type='QToolBarExtension' visible='1' window=':SALOME*_STD_TabDesktop'}
+:SALOME*_OCCViewer_ViewPort3d  {type='OCCViewer_ViewPort3d' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
 :SALOME*_QAbstractButton       {occurrence='41' type='QAbstractButton' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
 :SALOME*_QFrame        {occurrence='7' type='QFrame' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
 :SALOME*_QFrame_2      {occurrence='12' type='QFrame' unnamed='1' visible='1' window=':SALOME*_STD_TabDesktop'}
 :Save File.splitter_QSplitter  {name='splitter' type='QSplitter' visible='1' window=':Save File_SUIT_FileDlg'}
 :Save File_SUIT_FileDlg        {name='QFileDialog' type='SUIT_FileDlg' visible='1' windowTitle='Save File'}
 :Sketch.Show constraints_QCheckBox     {container=':SALOME*.Sketch_XGUI_PropertyPanel' text='Show constraints' type='QCheckBox' unnamed='1' visible='1'}
+:Sketch.Sketcher plane_QGroupBox       {container=':SALOME*.Sketch_XGUI_PropertyPanel' title='Sketcher plane' type='QGroupBox' unnamed='1' visible='1'}
 :Sketch.property_panel_cancel_QToolButton      {container=':SALOME*.Sketch_XGUI_PropertyPanel' name='property_panel_cancel' type='QToolButton' visible='1'}
 :Sketch.property_panel_ok_QToolButton  {container=':SALOME*.Sketch_XGUI_PropertyPanel' name='property_panel_ok' type='QToolButton' visible='1'}
 :Sketch_QMenu  {title='Sketch' type='QMenu' unnamed='1' visible='1'}
+:Sketcher plane.Set plane view_QPushButton     {container=':Sketch.Sketcher plane_QGroupBox' text='Set plane view' type='QPushButton' unnamed='1' visible='1'}
 :Start point.X _ModuleBase_ParamSpinBox        {container=':Line.Start point_QGroupBox' leftWidget=':Start point.X _QLabel' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
 :Start point.X _ModuleBase_ParamSpinBox_2      {container=':Arc.Start point_QGroupBox' leftWidget=':Start point.X _QLabel_2' type='ModuleBase_ParamSpinBox' unnamed='1' visible='1'}
 :Start point.X _QLabel {container=':Line.Start point_QGroupBox' text='X ' type='QLabel' unnamed='1' visible='1'}
 :fileNameEdit_QLineEdit_2      {buddy=':Open File.File name:_QLabel' name='fileNameEdit' type='QLineEdit' visible='1'}
 :frame.stackedWidget_QStackedWidget    {container=':splitter.frame_QFrame' name='stackedWidget' type='QStackedWidget' visible='1'}
 :frame.stackedWidget_QStackedWidget_2  {container=':splitter.frame_QFrame_2' name='stackedWidget' type='QStackedWidget' visible='1'}
+:property_panel_dock.Main objects_QLabel       {container=':SALOME*.property_panel_dock_XGUI_PropertyPanel' text='Main objects' type='QLabel' unnamed='1' visible='1'}
+:property_panel_dock.Operation type_QGroupBox  {container=':SALOME*.property_panel_dock_XGUI_PropertyPanel' title='Operation type' type='QGroupBox' unnamed='1' visible='1'}
+:property_panel_dock.Tool object_QLabel        {container=':SALOME*.property_panel_dock_XGUI_PropertyPanel' text='Tool object' type='QLabel' unnamed='1' visible='1'}
 :splitter.frame_QFrame {container=':Save File.splitter_QSplitter' name='frame' type='QFrame' visible='1'}
 :splitter.frame_QFrame_2       {container=':Open File.splitter_QSplitter' name='frame' type='QFrame' visible='1'}
 :stackedWidget.treeView_QTreeView      {container=':frame.stackedWidget_QStackedWidget' name='treeView' type='QTreeView' visible='1'}
index f72d38546b03fe6126b5cdaaa9bd9a8c8df5f6c9..2c06c5eed618be6108b944ff70ed498bd7af290d 100644 (file)
@@ -2,19 +2,19 @@ import os
 
 testSettings.logScreenshotOnError = True
 testSettings.logScreenshotOnFail = True
-#RESULTS_PATH = "/dn48/newgeom/eso/sources/test.squish/shared/testresults/"
+# RESULTS_PATH = "/dn48/newgeom/eso/sources/test.squish/shared/testresults/"
 DATA_PATH = os.getenv('TEST_DATA_DIR')
 
-g_points = {"XY_plane": (332, 250), "XZ_plane": (355, 207)} # one of the construction planes
+g_points = {"XY_plane": (332, 250), "XZ_plane": (355, 207)}  # one of the construction planes
 def help_points(name):
-    return g_points[name] 
+    return g_points[name]
 
 #---------------------------------------------------------------------------------------------
 # Tools
 def findMenuItem(menuObject, item):
     for child in object.children(menuObject):
         if child.text == item:
-            return child    
+            return child
     return None
 
 #---------------------------------------------------------------------------------------------
@@ -28,11 +28,11 @@ def getSpinBoxRealName(name):
 #---------------------------------------------------------------------------------------------
 def set_defaults():
     waitForObject(":SALOME*_STD_TabDesktop").resize(1024, 768)
-    
+
 def activate_newgeom():
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
     clickButton(waitForObject(":Activate module.New_QPushButton"))
-    
+
 def close_application():
     sendEvent("QCloseEvent", waitForObject(":SALOME*_STD_TabDesktop"))
     clickButton(waitForObject(":Exit.Ok_QPushButton"))
@@ -43,35 +43,35 @@ def close_application_wo_saving():
     sendEvent("QCloseEvent", waitForObject(":SALOME*_STD_TabDesktop"))
     clickButton(waitForObject(":Exit.Ok_QPushButton"))
     clickButton(waitForObject(":Close active study.Close w/o saving_QPushButton"))
-    
+
 def part_create():
     activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Part"))
     activateItem(waitForObjectItem(":Part_QMenu", "New part"))
-    
+
 def sketch_create(point, actions):
     clickButton(waitForObject(":SALOME*.Sketch_QToolButton"))
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
     activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
-    
+
     actions()
-    
+
     clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
-    
+
 def point_create_in_view(point, aux=0):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Point"))
-    
-    if aux==1:    
+
+    if aux == 1:
         clickButton(waitForObject(":Point.Auxiliary_QCheckBox"))
-    
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
     clickButton(waitForObject(":Point.property_panel_cancel_QToolButton"))
-    
+
 def point_create(point, aux=0):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
-    mouseClick(waitForObjectItem(":Sketch_QMenu", "Point"))  
-               
-    if aux==1:    
+    mouseClick(waitForObjectItem(":Sketch_QMenu", "Point"))
+
+    if aux == 1:
         clickButton(waitForObject(":Point.Auxiliary_QCheckBox"))
 
     type(waitForObject(":Point.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
@@ -81,82 +81,82 @@ def point_create(point, aux=0):
     type(waitForObject(":Point.Y _ModuleBase_ParamSpinBox"), point[1])
 
     clickButton(waitForObject(":Point.property_panel_ok_QToolButton"))
-    
+
 def line_create_in_view(start_point, end_point, aux=0):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
-    
-    if aux==1:       
+
+    if aux == 1:
         clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
-    
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
-    
+
     clickButton(waitForObject(":Line.property_panel_cancel_QToolButton"))
 
 def closing_line_create_in_view(start_point, end_point, aux=0):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
-    
-    if aux==1:       
+
+    if aux == 1:
         clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
-    
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
-        
+
 def lines_create_in_view(points, aux=0):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
-    
-    if aux==1:       
+
+    if aux == 1:
         clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
-    
+
     for point in points:
       mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
 
 def lines_close():
-    clickButton(waitForObject(":Line.property_panel_cancel_QToolButton"))        
-        
-def line_create(start_point, end_point, aux=0): #Set aux=1 to create auxiliary line
+    clickButton(waitForObject(":Line.property_panel_cancel_QToolButton"))
+
+def line_create(start_point, end_point, aux=0):  # Set aux=1 to create auxiliary line
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
-    
-    if aux==1:       
-        clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))        
-        
+
+    if aux == 1:
+        clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
+
     type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox"), start_point[0])
-    
+
     type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
-    type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox"),  start_point[1])
-    
+    type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox"), start_point[1])
+
     type(waitForObject(":End point.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":End point.X _ModuleBase_ParamSpinBox"), end_point[0])
-    
+
     type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox"), end_point[1])
 
     clickButton(waitForObject(":Line.property_panel_ok_QToolButton"))
-        
+
 def circle_create_in_view(center, radius, aux=0):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Circle"))
-    
-    if aux==1:
+
+    if aux == 1:
         clickButton(waitForObject(":Circle.Auxiliary_QCheckBox"))
-        
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), center[0], center[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), radius[0], radius[1], 0, Qt.LeftButton)
 
     clickButton(waitForObject(":Circle.property_panel_cancel_QToolButton"))
-    
+
 def circle_create(center, radius, aux=0):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Circle"))
-    
-    if aux==1:
+
+    if aux == 1:
         clickButton(waitForObject(":Circle.Auxiliary_QCheckBox"))
-    
+
     type(waitForObject(":Center.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Center.X _ModuleBase_ParamSpinBox"), center[0])
 
@@ -167,68 +167,68 @@ def circle_create(center, radius, aux=0):
     type(waitForObject(":Circle.CircleRadius_ModuleBase_ParamSpinBox"), radius)
 
     clickButton(waitForObject(":Circle.property_panel_ok_QToolButton"))
-    
+
 def arc_create(center, start_point, end_point, aux=0):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Arc"))
-    
-    if aux==1:
+
+    if aux == 1:
         clickButton(waitForObject(":Arc.Auxiliary_QCheckBox"))
 
     type(waitForObject(":Center.X _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
     type(waitForObject(":Center.X _ModuleBase_ParamSpinBox_2"), center[0])
-    
+
     type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
     type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox_2"), center[1])
-    
+
     type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
     type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox_2"), start_point[0])
-    
+
     type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
     type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox_2"), start_point[1])
 
     type(waitForObject(":End point.X _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
     type(waitForObject(":End point.X _ModuleBase_ParamSpinBox_2"), end_point[0])
-    
+
     type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
     type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox_2"), end_point[1])
-    
-    clickButton(waitForObject(":Arc.property_panel_ok_QToolButton"))    
-       
+
+    clickButton(waitForObject(":Arc.property_panel_ok_QToolButton"))
+
 def arc_create_in_view(center, start_point, end_point, aux=0):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Arc"))
-               
-    if aux==1:
+
+    if aux == 1:
         clickButton(waitForObject(":Arc.Auxiliary_QCheckBox"))
-        
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), center[0], center[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
-    
+
     clickButton(waitForObject(":Arc.property_panel_cancel_QToolButton"))
-    
+
 def save(filename):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "File"))
     mouseClick(waitForObjectItem(":_QMenu", "Save As..."))
-    
+
     type(waitForObject(":fileNameEdit_QLineEdit"), filename)
     clickButton(waitForObject(":Save File.Save_QPushButton"))
-    
+
 def extrusion(point, to_size, from_size):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "Extrusion"))
-    
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
-    
+
     type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox"), to_size)
-    
+
     type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox"), from_size)
-    
+
     clickButton(waitForObject(":Extrusion.property_panel_ok_QToolButton"))
-    
+
 def open(filename):
     clickButton(waitForObject(":SALOME*.Open_QToolButton"))
     waitForObject(":fileNameEdit_QLineEdit_2").setText(filename)
@@ -239,55 +239,55 @@ def point_fixe(point):
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Fixed"))
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
     clickButton(waitForObject(":Fixed.property_panel_cancel_QToolButton"))
-    
-    
+
+
 def distance(start_point, end_point, annotation_point):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Distance"))
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), annotation_point[0], annotation_point[1], 0, Qt.LeftButton)
-    
-    #if length!=0:
-        #type(waitForObject(":_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
-        #type(waitForObject(":_ModuleBase_ParamSpinBox"), length)
-           
+
+    # if length!=0:
+        # type(waitForObject(":_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
+        # type(waitForObject(":_ModuleBase_ParamSpinBox"), length)
+
     clickButton(waitForObject(":Distance.property_panel_cancel_QToolButton"))
-    
+
 def change_distance(point, value):
     doubleClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
     type(waitForObject(":Distance.ConstraintValue_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Distance.ConstraintValue_ModuleBase_ParamSpinBox"), value)
-    clickButton(waitForObject(":Distance.property_panel_ok_QToolButton"))    
-    
+    clickButton(waitForObject(":Distance.property_panel_ok_QToolButton"))
+
 def parallel(point_1, point_2):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Parallel"))
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
     clickButton(waitForObject(":Parallel.property_panel_cancel_QToolButton_2"))
-    
+
 def perpendicular(point_1, point_2):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Perpendicular"))
-    
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
-    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton) 
-    
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
+
     clickButton(waitForObject(":Perpendicular.property_panel_cancel_QToolButton"))
-    
+
 def coincident(point_1, point_2):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Coincident"))
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
-    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton) 
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
     clickButton(waitForObject(":Coincident.property_panel_cancel_QToolButton"))
-    
+
 def equal(point_1, point_2):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Equal"))
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
-    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton) 
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
     clickButton(waitForObject(":Equal.property_panel_cancel_QToolButton"))
 
 def vertical(point):
@@ -295,70 +295,71 @@ def vertical(point):
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Vertical"))
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
     clickButton(waitForObject(":Vertical.property_panel_cancel_QToolButton"))
-    
+
 def horizontal(point):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Horizontal"))
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
     clickButton(waitForObject(":Horizontal.property_panel_cancel_QToolButton"))
-    
+
 def fit_all():
     clickButton(waitForObject(":SALOME*.Fit All_QToolButton"))
-    
+
+def boolean_select_operation_type(type):
+    real_name = "{container=':property_panel_dock.Operation type_QGroupBox' toolTip='%s' type='QToolButton' unnamed='1' visible='1'}" % type
+    clickButton(waitForObject(real_name))
+
 def boolean_cut(main_object, tool_object):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "Boolean"))
-    
-    mouseClick(waitForObject(":Boolean.Type_QComboBox"), 57, 9, 0, Qt.LeftButton)
-    mouseClick(waitForObjectItem(":Boolean.Type_QComboBox", "Cut"), 26, 7, 0, Qt.LeftButton)
-    
+
+    boolean_select_operation_type("Cut")
+
     mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton)
-    
+
     mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
-    
+
     clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
-    
+
 def boolean_fuse(main_object, tool_object):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "Boolean"))
-    
-    mouseClick(waitForObject(":Boolean.Type_QComboBox"), 57, 9, 0, Qt.LeftButton)
-    mouseClick(waitForObjectItem(":Boolean.Type_QComboBox", "Fuse"), 26, 7, 0, Qt.LeftButton)
-    
+
+    boolean_select_operation_type("Fuse")
+
     mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton)
-    
+
     mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
-    
+
     clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
-    
+
 def boolean_common(main_object, tool_object):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "Boolean"))
-    
-    mouseClick(waitForObject(":Boolean.Type_QComboBox"), 57, 9, 0, Qt.LeftButton)
-    mouseClick(waitForObjectItem(":Boolean.Type_QComboBox", "Common"), 26, 7, 0, Qt.LeftButton)
-    
+
+    boolean_select_operation_type("Common")
+
     mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton)
-    
+
     mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
-    
+
     clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
-    
+
 def length(point, annotation_point):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Length"))
-    
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), annotation_point[0], annotation_point[1], 0, Qt.LeftButton)
-    
+
     clickButton(waitForObject(":Length.property_panel_cancel_QToolButton"))
-    
+
 def change_length(point, value):
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
 
@@ -366,16 +367,16 @@ def change_length(point, value):
     type(waitForObject(":Length.ConstraintValue_ModuleBase_ParamSpinBox"), value)
 
     clickButton(waitForObject(":Length.property_panel_ok_QToolButton"))
-    
+
 def radius(point, annotation_point):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Radius"))
-    
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), annotation_point[0], annotation_point[1], 0, Qt.LeftButton)
-    
+
     clickButton(waitForObject(":Radius.property_panel_cancel_QToolButton"))
-    
+
 def change_radius(point, value):
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
 
@@ -383,66 +384,68 @@ def change_radius(point, value):
     type(waitForObject(":Radius.ConstraintValue_ModuleBase_ParamSpinBox"), value)
 
     clickButton(waitForObject(":Radius.property_panel_ok_QToolButton"))
-    
+
 def tangent(point_1, point_2):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
     mouseClick(waitForObjectItem(":Sketch_QMenu", "Tangent"))
-    
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
-    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton) 
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
 
     clickButton(waitForObject(":Tangent.property_panel_cancel_QToolButton"))
-    
+
 def partition(main_objects, tool_object):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "Partition"))
-    
+
     for main_object in main_objects:
         mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 33554432, Qt.LeftButton)
-    
+
     mouseClick(waitForObject(":Partition.Tool object_QListWidget"), 116, 69, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
     clickButton(waitForObject(":Partition.property_panel_ok_QToolButton"))
-    
+
 def plane(point, distance):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Construction"))
     mouseClick(waitForObjectItem(":_QMenu", "Plane"))
-    
+
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
 
     type(waitForObject(":Plane.distance_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Plane.distance_ModuleBase_ParamSpinBox"), 100)
+    type(waitForObject(":Plane.distance_ModuleBase_ParamSpinBox"), "<Return>")
 
     clickButton(waitForObject(":Plane.property_panel_ok_QToolButton"))
-    
+
 def point(x, y, z):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Construction"))
     mouseClick(waitForObjectItem(":_QMenu", "Point"))
-    
+
     type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), x)
-    
+
     type(waitForObject(":Point.y_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Point.y_ModuleBase_ParamSpinBox"), y)
-    
+
     type(waitForObject(":Point.z_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Point.z_ModuleBase_ParamSpinBox"), z)
-    
+    type(waitForObject(":Point.z_ModuleBase_ParamSpinBox"), "<Return>")
+
     clickButton(waitForObject(":Point.property_panel_ok_QToolButton"))
-    
+
 def axis(point_1, point_2):
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Construction"))
     mouseClick(waitForObjectItem(":_QMenu", "Axis"))
-    
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0]-40, point_1[1]-40, 80, 80, 1, Qt.LeftButton)
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0]-40, point_2[1]-40, 80, 80, 1, Qt.LeftButton)
-    
+
+    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0] - 40, point_1[1] - 40, 80, 80, 1, Qt.LeftButton)
+    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0] - 40, point_2[1] - 40, 80, 80, 1, Qt.LeftButton)
+
     clickButton(waitForObject(":Axis.property_panel_ok_QToolButton"))
-        
 
 
-    
-    
-    
-    
-    
+
+
+
+
+
+
index da472b70e3911fed33c103851da5f8571b998581..aeac49ce897c3f002e96f3ecc13a49b284f6613b 100644 (file)
@@ -16,6 +16,9 @@ Changes made in this file can be lost!
  <section name="Geometry">
   <parameter value="false" name="auto_bring_to_front"/>
  </section>
+ <section name="MRU">
+  <parameter value="/dn20/salome/mpv/CEA_Reactor7.hdf" name="item_000"/>
+ </section>
  <section name="OCCViewer">
   <parameter value="bt=1;fn=;tm=0;ts=false;c1=#238891;c2=#238891;gt=-1;gr=" name="background"/>
   <parameter value="bt=1;fn=;tm=0;ts=false;c1=#238891;c2=#238891;gt=-1;gr=" name="xz_background"/>
@@ -88,7 +91,7 @@ Changes made in this file can be lost!
   <parameter value="bt=1;fn=;tm=0;ts=false;c1=#000000;c2=#000000;gt=-1;gr=" name="background"/>
  </section>
  <section name="desktop">
-  <parameter value="1232x820+0+0" name="geometry"/>
+  <parameter value="902x600+352+0" name="geometry"/>
  </section>
  <section name="salome">
   <parameter value="7.6.0" name="version"/>
@@ -110,9 +113,9 @@ Changes made in this file can be lost!
   <parameter value="#00 #00 #00 #FF #00 #00 #00 #00 #FD #00 #00 #00 #02 #00 #00 #00 #00 #00 #00 #01 #00 #00 #00 #02 #B9 #FC #02 #00 #00 #00 #02 #FC #00 #00 #00 #7B #00 #00 #02 #B9 #00 #00 #00 #99 #01 #00 #00 #15 #FA #00 #00 #00 #00 #01 #00 #00 #00 #02 #FB #00 #00 #00 #22 #00 #6F #00 #62 #00 #6A #00 #65 #00 #63 #00 #74 #00 #42 #00 #72 #00 #6F #00 #77 #00 #73 #00 #65 #00 #72 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #46 #00 #FF #FF #FF #FB #00 #00 #00 #18 #00 #6E #00 #6F #00 #74 #00 #65 #00 #42 #00 #6F #00 #6F #00 #6B #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #00 #00 #00 #01 #00 #00 #00 #00 #C9 #00 #FF #FF #FF #FB #00 #00 #00 #36 #00 #67 #00 #65 #00 #6F #00 #6D #00 #43 #00 #72 #00 #65 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #49 #00 #6E #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #44 #00 #6F #00 #63 #00 #6B #00 #00 #00 #02 #1F #00 #00 #00 #A5 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #03 #00 #00 #07 #7C #00 #00 #00 #53 #FC #01 #00 #00 #00 #01 #FB #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #00 #00 #00 #07 #7C #00 #00 #00 #46 #00 #FF #FF #FF #00 #00 #06 #74 #00 #00 #02 #B9 #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #06 #00 #00 #00 #02 #00 #00 #00 #02 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #CE #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #04 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #00 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #00 #00 #00 #00 #0E #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #00 #00 #00 #00 #1C #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #38 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #05 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #00 #00 #00 #00 #0E #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #00 #00 #00 #1C #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #00 #00 #00 #00 #2A #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #00 #00 #00 #38 #00 #00 #01 #FB #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #05 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #20 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #4D #00 #65 #00 #73 #00 #68 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #2C #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #41 #00 #64 #00 #64 #00 #45 #00 #6C #00 #65 #00 #6D #00 #65 #00 #6E #00 #74 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #01 #2B #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #2C #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #41 #00 #64 #00 #64 #00 #45 #00 #6C #00 #65 #00 #6D #00 #65 #00 #6E #00 #74 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #02 #EB #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #24 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #52 #00 #65 #00 #6D #00 #6F #00 #76 #00 #65 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #04 #2F #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #06 #00 #00 #00 #2E #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #49 #00 #6E #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #22 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #47 #00 #72 #00 #6F #00 #75 #00 #70 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #4C #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #34 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #D6 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #01 #DC #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #6D #00 #65 #00 #6E #00 #74 #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #03 #BB #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #2E #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #44 #00 #69 #00 #73 #00 #70 #00 #6C #00 #61 #00 #79 #00 #4D #00 #6F #00 #64 #00 #65 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #03 #E8 #00 #00 #01 #58 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #06 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #4E #00 #6F #00 #64 #00 #65 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #45 #00 #64 #00 #67 #00 #65 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #46 #00 #61 #00 #63 #00 #65 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #34 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #56 #00 #6F #00 #6C #00 #75 #00 #6D #00 #65 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #00 #00 #00 #02 #AA #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #00 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #00 #00 #00 #00 #0E #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00" name="SMESH"/>
   <parameter value="#00 #00 #00 #FF #00 #00 #00 #00 #FD #00 #00 #00 #02 #00 #00 #00 #00 #00 #00 #01 #77 #00 #00 #02 #97 #FC #02 #00 #00 #00 #02 #FC #00 #00 #00 #9D #00 #00 #01 #F4 #00 #00 #00 #99 #01 #00 #00 #15 #FA #00 #00 #00 #00 #01 #00 #00 #00 #02 #FB #00 #00 #00 #22 #00 #6F #00 #62 #00 #6A #00 #65 #00 #63 #00 #74 #00 #42 #00 #72 #00 #6F #00 #77 #00 #73 #00 #65 #00 #72 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #46 #00 #FF #FF #FF #FB #00 #00 #00 #18 #00 #6E #00 #6F #00 #74 #00 #65 #00 #42 #00 #6F #00 #6F #00 #6B #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #00 #00 #00 #01 #00 #00 #00 #00 #C9 #00 #FF #FF #FF #FB #00 #00 #00 #36 #00 #67 #00 #65 #00 #6F #00 #6D #00 #43 #00 #72 #00 #65 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #49 #00 #6E #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #02 #99 #00 #00 #00 #9B #00 #00 #00 #9B #00 #FF #FF #FF #00 #00 #00 #03 #00 #00 #07 #7C #00 #00 #00 #53 #FC #01 #00 #00 #00 #01 #FB #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #00 #00 #00 #07 #7C #00 #00 #00 #46 #00 #FF #FF #FF #00 #00 #05 #FD #00 #00 #02 #97 #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #04 #00 #00 #00 #02 #00 #00 #00 #02 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #CE #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #04 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #01 #00 #00 #01 #C0 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #02 #C6 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #03 #50 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #05 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #01 #2B #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #01 #D4 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #01 #00 #00 #02 #7D #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #03 #45 #00 #00 #01 #FB #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #03 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #01 #00 #00 #00 #4C #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00" name="GEOM"/>
   <parameter value="#00 #00 #00 #FF #00 #00 #00 #00 #FD #00 #00 #00 #03 #00 #00 #00 #00 #00 #00 #01 #00 #00 #00 #02 #DC #FC #02 #00 #00 #00 #02 #FB #00 #00 #00 #22 #00 #6F #00 #62 #00 #6A #00 #65 #00 #63 #00 #74 #00 #42 #00 #72 #00 #6F #00 #77 #00 #73 #00 #65 #00 #72 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #37 #00 #00 #02 #DC #00 #00 #00 #53 #00 #FF #FF #FF #FB #00 #00 #00 #18 #00 #6E #00 #6F #00 #74 #00 #65 #00 #42 #00 #6F #00 #6F #00 #6B #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #02 #BC #00 #00 #00 #57 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #01 #00 #00 #01 #07 #00 #00 #02 #DC #FC #02 #00 #00 #00 #01 #FB #FF #FF #FF #FF #01 #00 #00 #00 #37 #00 #00 #02 #DC #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #03 #00 #00 #04 #FA #00 #00 #00 #74 #FC #01 #00 #00 #00 #01 #FC #00 #00 #00 #00 #00 #00 #04 #FA #00 #00 #00 #79 #00 #FF #FF #FF #FA #00 #00 #00 #01 #01 #00 #00 #00 #02 #FB #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #46 #00 #FF #FF #FF #FB #00 #00 #00 #1A #00 #6C #00 #6F #00 #67 #00 #57 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #46 #00 #FF #FF #FF #00 #00 #03 #F2 #00 #00 #02 #DC #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #01 #00 #00 #00 #02 #00 #00 #00 #0F #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #8A #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #0A #00 #48 #00 #59 #00 #44 #00 #52 #00 #4F #01 #00 #00 #01 #6B #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #00 #00 #00 #04 #27 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #00 #00 #00 #04 #35 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #00 #00 #00 #04 #43 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #00 #00 #04 #51 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #00 #00 #04 #5F #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #00 #00 #00 #04 #6D #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #00 #00 #04 #7B #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #00 #00 #00 #04 #89 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #04 #97 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #04 #A5 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #00 #00 #00 #04 #B3 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #00 #00 #00 #04 #C1 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00" name="HYDRO"/>
-  <parameter value="#00 #00 #00 #FF #00 #00 #00 #00 #FD #00 #00 #00 #00 #00 #00 #04 #D0 #00 #00 #02 #6E #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #01 #00 #00 #00 #02 #00 #00 #00 #02 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #CE #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00" name=""/>
-  <parameter value="#00 #00 #00 #FF #00 #00 #00 #00 #FD #00 #00 #00 #00 #00 #00 #03 #C8 #00 #00 #02 #8F #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #01 #00 #00 #00 #02 #00 #00 #00 #02 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #CE #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00" name="nomodule"/>
-  <parameter value="#00 #00 #00 #FF #00 #00 #00 #00 #FD #00 #00 #00 #00 #00 #00 #03 #C8 #00 #00 #02 #6D #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #02 #00 #00 #00 #02 #00 #00 #00 #04 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #01 #05 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #08 #00 #50 #00 #61 #00 #72 #00 #74 #01 #00 #00 #01 #E6 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #0C #00 #53 #00 #6B #00 #65 #00 #74 #00 #63 #00 #68 #01 #00 #00 #02 #CD #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #03 #00 #00 #00 #18 #00 #43 #00 #6F #00 #6E #00 #73 #00 #74 #00 #72 #00 #75 #00 #63 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #10 #00 #46 #00 #65 #00 #61 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #6B #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #0C #00 #4D #00 #61 #00 #63 #00 #72 #00 #6F #00 #73 #01 #00 #00 #01 #ED #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00" name="NewGeom"/>
+  <parameter value="#00 #00 #00 #FF #00 #00 #00 #00 #FD #00 #00 #00 #00 #00 #00 #03 #86 #00 #00 #01 #92 #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #01 #00 #00 #00 #02 #00 #00 #00 #02 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #CE #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00" name=""/>
+  <parameter value="#00 #00 #00 #FF #00 #00 #00 #00 #FD #00 #00 #00 #00 #00 #00 #02 #7E #00 #00 #01 #B3 #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #01 #00 #00 #00 #02 #00 #00 #00 #02 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #CE #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00" name="nomodule"/>
+  <parameter value="#00 #00 #00 #FF #00 #00 #00 #00 #FD #00 #00 #00 #00 #00 #00 #02 #7E #00 #00 #01 #6F #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #03 #00 #00 #00 #02 #00 #00 #00 #03 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #E6 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #08 #00 #50 #00 #61 #00 #72 #00 #74 #01 #00 #00 #01 #C7 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #03 #00 #00 #00 #18 #00 #43 #00 #6F #00 #6E #00 #73 #00 #74 #00 #72 #00 #75 #00 #63 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #10 #00 #46 #00 #65 #00 #61 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #6B #00 #00 #01 #7A #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #0C #00 #4D #00 #61 #00 #63 #00 #72 #00 #6F #00 #73 #01 #00 #00 #01 #E5 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #01 #00 #00 #00 #0C #00 #53 #00 #6B #00 #65 #00 #74 #00 #63 #00 #68 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00" name="NewGeom"/>
  </section>
  <section name="windows_geometry_version">
   <parameter value="7.5.0" name="SMESH"/>
@@ -124,10 +127,10 @@ Changes made in this file can be lost!
  </section>
  <section name="windows_visibility">
   <parameter value="#00 #00 #00 #00 #37 #FF #FF #FF #FF #00 #00 #00 #02 #00 #00 #00 #00 #00 #00 #01 #00 #00 #00 #02 #44 #FC #02 #00 #00 #00 #01 #FC #00 #00 #00 #7B #00 #00 #02 #44 #00 #00 #00 #97 #01 #00 #00 #14 #FA #00 #00 #00 #00 #01 #00 #00 #00 #02 #FB #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #30 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #46 #00 #FF #FF #FF #FB #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #33 #01 #00 #00 #00 #00 #00 #00 #01 #00 #00 #00 #00 #C0 #00 #FF #FF #FF #00 #00 #00 #03 #00 #00 #05 #40 #00 #00 #00 #53 #FC #01 #00 #00 #00 #01 #FB #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #31 #01 #00 #00 #00 #00 #00 #00 #05 #40 #00 #00 #00 #46 #00 #FF #FF #FF #00 #00 #04 #38 #00 #00 #02 #44 #00 #00 #00 #04 #00 #00 #00 #04 #00 #00 #00 #08 #00 #00 #00 #08 #FC #00 #00 #00 #05 #00 #00 #00 #02 #00 #00 #00 #02 #00 #00 #00 #10 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #00 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #0E #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #CE #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #02 #00 #00 #00 #07 #00 #00 #00 #2A #00 #4E #00 #6F #00 #64 #00 #65 #00 #20 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #02 #01 #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #2A #00 #45 #00 #64 #00 #67 #00 #65 #00 #20 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #02 #4D #FF #FF #FF #FF #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #2A #00 #46 #00 #61 #00 #63 #00 #65 #00 #20 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #02 #F6 #00 #00 #02 #4A #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #00 #18 #00 #4D #00 #65 #00 #73 #00 #68 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #00 #00 #26 #00 #41 #00 #64 #00 #64 #00 #20 #00 #45 #00 #6C #00 #65 #00 #6D #00 #65 #00 #6E #00 #74 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #3C #00 #41 #00 #64 #00 #64 #00 #20 #00 #4E #00 #6F #00 #6E #00 #20 #00 #4C #00 #69 #00 #6E #00 #65 #00 #61 #00 #72 #00 #20 #00 #45 #00 #6C #00 #65 #00 #6D #00 #65 #00 #6E #00 #74 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #00 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #00 #00 #00 #00 #28 #00 #44 #00 #69 #00 #73 #00 #70 #00 #6C #00 #61 #00 #79 #00 #20 #00 #4D #00 #6F #00 #64 #00 #65 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #2A #00 #45 #00 #64 #00 #67 #00 #65 #00 #20 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #2A #00 #46 #00 #61 #00 #63 #00 #65 #00 #20 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #00 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #00 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #00 #00 #00 #26 #00 #47 #00 #45 #00 #4F #00 #4D #00 #49 #00 #6D #00 #70 #00 #6F #00 #72 #00 #74 #00 #45 #00 #78 #00 #70 #00 #6F #00 #72 #00 #74 #00 #58 #00 #41 #00 #4F #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #00 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #00 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #00 #00 #00 #1A #00 #47 #00 #72 #00 #6F #00 #75 #00 #70 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #26 #00 #49 #00 #6E #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #28 #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #6D #00 #65 #00 #6E #00 #74 #00 #73 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #18 #00 #4D #00 #65 #00 #73 #00 #68 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #28 #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #0E #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #2A #00 #4E #00 #6F #00 #64 #00 #65 #00 #20 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #32 #00 #4F #00 #43 #00 #43 #00 #56 #00 #69 #00 #65 #00 #77 #00 #65 #00 #72 #00 #33 #00 #44 #00 #56 #00 #69 #00 #65 #00 #77 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #28 #00 #52 #00 #65 #00 #63 #00 #6F #00 #72 #00 #64 #00 #69 #00 #6E #00 #67 #00 #20 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #1C #00 #52 #00 #65 #00 #6D #00 #6F #00 #76 #00 #65 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #26 #00 #52 #00 #65 #00 #6E #00 #75 #00 #6D #00 #62 #00 #65 #00 #72 #00 #69 #00 #6E #00 #67 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #2C #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #41 #00 #64 #00 #64 #00 #45 #00 #6C #00 #65 #00 #6D #00 #65 #00 #6E #00 #74 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #2E #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #44 #00 #69 #00 #73 #00 #70 #00 #6C #00 #61 #00 #79 #00 #4D #00 #6F #00 #64 #00 #65 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #45 #00 #64 #00 #67 #00 #65 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #46 #00 #61 #00 #63 #00 #65 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #22 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #47 #00 #72 #00 #6F #00 #75 #00 #70 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #2E #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #49 #00 #6E #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #6D #00 #65 #00 #6E #00 #74 #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #20 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #4D #00 #65 #00 #73 #00 #68 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #30 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #4E #00 #6F #00 #64 #00 #65 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #24 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #52 #00 #65 #00 #6D #00 #6F #00 #76 #00 #65 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #2E #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #52 #00 #65 #00 #6E #00 #75 #00 #6D #00 #62 #00 #65 #00 #72 #00 #69 #00 #6E #00 #67 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #34 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #34 #00 #53 #00 #4D #00 #45 #00 #53 #00 #48 #00 #56 #00 #6F #00 #6C #00 #75 #00 #6D #00 #65 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #10 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #1A #00 #54 #00 #4F #00 #4F #00 #4C #00 #5F #00 #41 #00 #44 #00 #56 #00 #41 #00 #4E #00 #43 #00 #45 #00 #44 #01 #00 #00 #00 #16 #00 #54 #00 #4F #00 #4F #00 #4C #00 #5F #00 #42 #00 #4C #00 #4F #00 #43 #00 #4B #00 #53 #01 #00 #00 #00 #2C #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #01 #00 #00 #00 #2C #00 #56 #00 #54 #00 #4B #00 #52 #00 #65 #00 #63 #00 #6F #00 #72 #00 #64 #00 #69 #00 #6E #00 #67 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #2E #00 #56 #00 #54 #00 #4B #00 #56 #00 #69 #00 #65 #00 #77 #00 #65 #00 #72 #00 #56 #00 #69 #00 #65 #00 #77 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #1E #00 #56 #00 #69 #00 #65 #00 #77 #00 #20 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #2E #00 #56 #00 #6F #00 #6C #00 #75 #00 #6D #00 #65 #00 #20 #00 #43 #00 #6F #00 #6E #00 #74 #00 #72 #00 #6F #00 #6C #00 #73 #00 #20 #00 #54 #00 #6F #00 #6F #00 #6C #00 #62 #00 #61 #00 #72 #00 #01 #00 #00 #00 #06 #00 #00 #00 #18 #00 #6E #00 #6F #00 #74 #00 #65 #00 #42 #00 #6F #00 #6F #00 #6B #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #22 #00 #6F #00 #62 #00 #6A #00 #65 #00 #63 #00 #74 #00 #42 #00 #72 #00 #6F #00 #77 #00 #73 #00 #65 #00 #72 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #30 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #31 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #33 #01" name="SMESH"/>
-  <parameter value="#00 #00 #00 #00 #11 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #01 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #01 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #01 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #0A #00 #48 #00 #59 #00 #44 #00 #52 #00 #4F #01 #00 #00 #00 #0E #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #10 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #01 #00 #00 #00 #04 #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #30 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #31 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #33 #01" name=""/>
-  <parameter value="#00 #00 #00 #00 #10 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #01 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #01 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #01 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #0E #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #10 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #01 #00 #00 #00 #05 #00 #00 #00 #22 #00 #6F #00 #62 #00 #6A #00 #65 #00 #63 #00 #74 #00 #42 #00 #72 #00 #6F #00 #77 #00 #73 #00 #65 #00 #72 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #30 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #31 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #33 #01" name="nomodule"/>
   <parameter value="#00 #00 #00 #00 #21 #00 #00 #00 #24 #00 #33 #00 #44 #00 #20 #00 #56 #00 #69 #00 #65 #00 #77 #00 #20 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #01 #00 #00 #00 #0A #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #01 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #01 #00 #00 #00 #24 #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #20 #00 #6F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #0A #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #01 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #26 #00 #47 #00 #45 #00 #4F #00 #4D #00 #49 #00 #6D #00 #70 #00 #6F #00 #72 #00 #74 #00 #45 #00 #78 #00 #70 #00 #6F #00 #72 #00 #74 #00 #58 #00 #41 #00 #4F #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #01 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #14 #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #1E #00 #49 #00 #6D #00 #70 #00 #6F #00 #72 #00 #74 #00 #20 #00 #2F #00 #20 #00 #45 #00 #78 #00 #70 #00 #6F #00 #72 #00 #74 #01 #00 #00 #00 #26 #00 #49 #00 #6D #00 #70 #00 #6F #00 #72 #00 #74 #00 #20 #00 #2F #00 #20 #00 #45 #00 #78 #00 #70 #00 #6F #00 #72 #00 #74 #00 #20 #00 #58 #00 #41 #00 #4F #01 #00 #00 #00 #10 #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #18 #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #0E #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #32 #00 #4F #00 #43 #00 #43 #00 #56 #00 #69 #00 #65 #00 #77 #00 #65 #00 #72 #00 #33 #00 #44 #00 #56 #00 #69 #00 #65 #00 #77 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #14 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #10 #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #14 #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #01 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #10 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #1A #00 #54 #00 #4F #00 #4F #00 #4C #00 #5F #00 #41 #00 #44 #00 #56 #00 #41 #00 #4E #00 #43 #00 #45 #00 #44 #01 #00 #00 #00 #16 #00 #54 #00 #4F #00 #4F #00 #4C #00 #5F #00 #42 #00 #4C #00 #4F #00 #43 #00 #4B #00 #53 #01 #00 #00 #00 #1C #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #01 #00 #00 #00 #08 #00 #00 #00 #36 #00 #67 #00 #65 #00 #6F #00 #6D #00 #43 #00 #72 #00 #65 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #49 #00 #6E #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #18 #00 #6E #00 #6F #00 #74 #00 #65 #00 #42 #00 #6F #00 #6F #00 #6B #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #22 #00 #6F #00 #62 #00 #6A #00 #65 #00 #63 #00 #74 #00 #42 #00 #72 #00 #6F #00 #77 #00 #73 #00 #65 #00 #72 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #30 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #31 #01 #00 #00 #00 #12 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #31 #00 #31 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #33 #01" name="GEOM"/>
   <parameter value="#00 #00 #00 #00 #18 #FF #FF #FF #FF #01 #00 #00 #00 #24 #00 #33 #00 #44 #00 #20 #00 #56 #00 #69 #00 #65 #00 #77 #00 #20 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #01 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #01 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #01 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #34 #00 #47 #00 #72 #00 #61 #00 #70 #00 #68 #00 #69 #00 #63 #00 #73 #00 #56 #00 #69 #00 #65 #00 #77 #00 #56 #00 #69 #00 #65 #00 #77 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #0A #00 #48 #00 #59 #00 #44 #00 #52 #00 #4F #01 #00 #00 #00 #0E #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #32 #00 #4F #00 #43 #00 #43 #00 #56 #00 #69 #00 #65 #00 #77 #00 #65 #00 #72 #00 #33 #00 #44 #00 #56 #00 #69 #00 #65 #00 #77 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #10 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #2C #00 #56 #00 #54 #00 #4B #00 #52 #00 #65 #00 #63 #00 #6F #00 #72 #00 #64 #00 #69 #00 #6E #00 #67 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #2E #00 #56 #00 #54 #00 #4B #00 #56 #00 #69 #00 #65 #00 #77 #00 #65 #00 #72 #00 #56 #00 #69 #00 #65 #00 #77 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #1E #00 #56 #00 #69 #00 #65 #00 #77 #00 #20 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #01 #00 #00 #00 #08 #FF #FF #FF #FF #00 #00 #00 #00 #1A #00 #6C #00 #6F #00 #67 #00 #57 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #22 #00 #6F #00 #62 #00 #6A #00 #65 #00 #63 #00 #74 #00 #42 #00 #72 #00 #6F #00 #77 #00 #73 #00 #65 #00 #72 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #30 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #31 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #32 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #33 #01" name="HYDRO"/>
+  <parameter value="#00 #00 #00 #00 #16 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #01 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #01 #00 #00 #00 #18 #00 #43 #00 #6F #00 #6E #00 #73 #00 #74 #00 #72 #00 #75 #00 #63 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #10 #00 #46 #00 #65 #00 #61 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #01 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #01 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #0A #00 #48 #00 #59 #00 #44 #00 #52 #00 #4F #01 #00 #00 #00 #0C #00 #4D #00 #61 #00 #63 #00 #72 #00 #6F #00 #73 #01 #00 #00 #00 #0E #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #08 #00 #50 #00 #61 #00 #72 #00 #74 #01 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #0C #00 #53 #00 #6B #00 #65 #00 #74 #00 #63 #00 #68 #01 #00 #00 #00 #10 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #01 #00 #00 #00 #06 #FF #FF #FF #FF #00 #00 #00 #00 #26 #00 #70 #00 #72 #00 #6F #00 #70 #00 #65 #00 #72 #00 #74 #00 #79 #00 #5F #00 #70 #00 #61 #00 #6E #00 #65 #00 #6C #00 #5F #00 #64 #00 #6F #00 #63 #00 #6B #00 #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #30 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #31 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #33 #01" name=""/>
+  <parameter value="#00 #00 #00 #00 #15 #00 #00 #00 #10 #00 #41 #00 #64 #00 #76 #00 #61 #00 #6E #00 #63 #00 #65 #00 #64 #01 #00 #00 #00 #0C #00 #42 #00 #6C #00 #6F #00 #63 #00 #6B #00 #73 #01 #00 #00 #00 #18 #00 #43 #00 #6F #00 #6E #00 #73 #00 #74 #00 #72 #00 #75 #00 #63 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #10 #00 #46 #00 #65 #00 #61 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #61 #00 #73 #00 #69 #00 #63 #01 #00 #00 #00 #2A #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #6F #00 #6F #00 #6C #00 #65 #00 #61 #00 #6E #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #12 #00 #47 #00 #45 #00 #4F #00 #4D #00 #42 #00 #75 #00 #69 #00 #6C #00 #64 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #47 #00 #65 #00 #6E #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #65 #00 #61 #00 #73 #00 #75 #00 #72 #00 #65 #00 #73 #00 #00 #00 #00 #20 #00 #47 #00 #45 #00 #4F #00 #4D #00 #4D #00 #6F #00 #64 #00 #69 #00 #66 #00 #69 #00 #63 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #18 #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #69 #00 #63 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #47 #00 #45 #00 #4F #00 #4D #00 #50 #00 #72 #00 #69 #00 #6D #00 #69 #00 #74 #00 #69 #00 #76 #00 #65 #00 #73 #01 #00 #00 #00 #24 #00 #47 #00 #45 #00 #4F #00 #4D #00 #54 #00 #72 #00 #61 #00 #6E #00 #73 #00 #66 #00 #6F #00 #72 #00 #6D #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #0C #00 #4D #00 #61 #00 #63 #00 #72 #00 #6F #00 #73 #01 #00 #00 #00 #0E #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #08 #00 #50 #00 #61 #00 #72 #00 #74 #01 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #0C #00 #53 #00 #6B #00 #65 #00 #74 #00 #63 #00 #68 #01 #00 #00 #00 #10 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #01 #00 #00 #00 #07 #FF #FF #FF #FF #00 #00 #00 #00 #22 #00 #6F #00 #62 #00 #6A #00 #65 #00 #63 #00 #74 #00 #42 #00 #72 #00 #6F #00 #77 #00 #73 #00 #65 #00 #72 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #26 #00 #70 #00 #72 #00 #6F #00 #70 #00 #65 #00 #72 #00 #74 #00 #79 #00 #5F #00 #70 #00 #61 #00 #6E #00 #65 #00 #6C #00 #5F #00 #64 #00 #6F #00 #63 #00 #6B #00 #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #30 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #31 #01 #00 #00 #00 #10 #00 #77 #00 #69 #00 #6E #00 #64 #00 #6F #00 #77 #00 #5F #00 #33 #01" name="nomodule"/>
   <parameter value="#00 #00 #00 #00 #08 #00 #00 #00 #18 #00 #43 #00 #6F #00 #6E #00 #73 #00 #74 #00 #72 #00 #75 #00 #63 #00 #74 #00 #69 #00 #6F #00 #6E #01 #00 #00 #00 #10 #00 #46 #00 #65 #00 #61 #00 #74 #00 #75 #00 #72 #00 #65 #00 #73 #01 #00 #00 #00 #0C #00 #4D #00 #61 #00 #63 #00 #72 #00 #6F #00 #73 #01 #00 #00 #00 #32 #00 #4F #00 #43 #00 #43 #00 #56 #00 #69 #00 #65 #00 #77 #00 #65 #00 #72 #00 #33 #00 #44 #00 #56 #00 #69 #00 #65 #00 #77 #00 #4F #00 #70 #00 #65 #00 #72 #00 #61 #00 #74 #00 #69 #00 #6F #00 #6E #00 #73 #01 #00 #00 #00 #08 #00 #50 #00 #61 #00 #72 #00 #74 #01 #00 #00 #00 #1A #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #4D #00 #6F #00 #64 #00 #75 #00 #6C #00 #65 #00 #73 #01 #00 #00 #00 #1C #00 #53 #00 #61 #00 #6C #00 #6F #00 #6D #00 #65 #00 #53 #00 #74 #00 #61 #00 #6E #00 #64 #00 #61 #00 #72 #00 #64 #01 #00 #00 #00 #0C #00 #53 #00 #6B #00 #65 #00 #74 #00 #63 #00 #68 #01 #01 #00 #00 #00 #03 #FF #FF #FF #FF #01 #00 #00 #00 #26 #00 #70 #00 #72 #00 #6F #00 #70 #00 #65 #00 #72 #00 #74 #00 #79 #00 #5F #00 #70 #00 #61 #00 #6E #00 #65 #00 #6C #00 #5F #00 #64 #00 #6F #00 #63 #00 #6B #01 #00 #00 #00 #22 #00 #70 #00 #79 #00 #74 #00 #68 #00 #6F #00 #6E #00 #43 #00 #6F #00 #6E #00 #73 #00 #6F #00 #6C #00 #65 #00 #44 #00 #6F #00 #63 #00 #6B #01" name="NewGeom"/>
  </section>
 </document>
index b186d752abed104335bf8a5b0fd1ba88cfa18d62..a02ffb488142981e2f3f970a2580bb81265c1638 100644 (file)
@@ -10,19 +10,22 @@ def main():
     clickButton(waitForObject(":SALOME*.Parameter_QToolButton"))
     type(waitForObject(":Parameter_QLineEdit"), "a")
     type(waitForObject(":Parameter_ExpressionEditor"), "3")
+    type(waitForObject(":Parameter_ExpressionEditor"), "<Return>")
     clickButton(waitForObject(":Parameter.property_panel_ok_QToolButton"))
     
     clickButton(waitForObject(":SALOME*.ConstructionPoint_QToolButton"))
     type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), "a")
+    type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), "<Return>")
+
     waitFor("object.exists(':Point.x_ModuleBase_ParamSpinBox')", 20000)
     test.compare(str(findObject(":Point.x_ModuleBase_ParamSpinBox").toolTip), "X coordinate")
 
     type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), "b")
+    type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), "<Return>")
 
     waitFor("object.exists(':Point_QFrame')", 20000)
-    
     test.compare(str(findObject(":Point_QFrame").toolTip), "ModelAPI_StateInvalidArgument")
     
     waitFor("object.exists(':Point.x_ModuleBase_ParamSpinBox')", 20000)
index d627e9345b954c8721291f78dbf84590d0f80292..fc36b2af00728af948964c11268a4c4a40859e17 100644 (file)
@@ -1,40 +1,41 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Boolean_001
-    #[Topic] 'Boolean cut' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Boolean_001
+    # [Topic] 'Boolean cut' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_extrusion_001.hdf'
+
+    # [step] Open 'for_extrusion_001.hdf'
     open(DATA_PATH + "/for_boolean_001.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
-    #[step] Activate Part_1
+
+    # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 48, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 48, 10, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all
     fit_all()
-    
-    #[step] Implement boolean cut for existing objects
+    test.vp("INIT")
+
+    # [step] Implement boolean cut for existing objects
     boolean_cut((139, 138), (420, 195))
 
-    #[check] Check that operation has been executed successfully
-    test.vp("VP1")
-    
+    # [check] Check that operation has been executed successfully [vp CUT]
+    test.vp("CUT")
+
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/verificationPoints/CUT b/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/verificationPoints/CUT
new file mode 100644 (file)
index 0000000..6a82439
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO3de5SkZX3g8aeqm4EdRkDQxBveGu+gSEQ5EpM4qyteV8BEtMFVFzHExMbjiTQbQ6LG45hEcTaaNYKRg4xXEhUvq5IFRYM6KgiKmMiA5GgQjYIaBWGme/8oaJu+TXXVe3ne3/P5/JE07UzXW1XvW/Xt3/P0dG9qy9YEANB9/bYPAACgGrIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhisu0DgLHsmJ2p5OtMbdlaydcBoEWyhi5ZHjHbtl1YyVeent685DNCB6BzZA25W5wyVUXMcsu/8uLQkTgAnSBryFEzKbO2xbe7kDj6BiBnsoaMLNRMWymzmoXj0TcAOZM1ZGEQNLnVzHL6BiBnsoaWdSVolljSN+IGIAeyhtZ0NGiWGBy/uAHIgayhBTGCZjFxA5CDnpdgmhQvaJaw5wagRaY1NCR80Aws3nOjbAAaJmuoXSFBs8S2bRdakwJomKyhXjtmZ0oLmgU23AA0TNZQlzKHNMuJG4DGyBqqJ2iWW4gbZQNQH1lDlQTN2my4AaiVrKEyJW+jGZ41KYD6yBoqYEizXuIGoA6yhrEImnHYcANQLVnDiARNVWy4AaiKrGEUttFUy5oUQCVkDetjSFMfcQMwJlnDsARNM2y4ARiZrGEoVp0aZsMNwAhkDbthSNMWa1IA6yVrWJWgyYE1KYDhyRpWIGhyY00KYBiyhqVso8mTNSmA3ZI1/IohTf7EDcAaZA0pCZquseEGYEWypnSCprtsuAFYQtYUzTaarrMmBbCYrCmUIU0k4gZgQNYUR9BEZcMNgKwpiKApgQ03QMlkTSlsoymHNSmgWLImPkOaMokboECyJjJBgw03QFFkTVhWnVhgww1QCFkTkCENy1mTAkoga0IRNKzNmhQQm6wJQtAwPGtSQFSyJgLbaFgva1JASLKm2wxpGIe4AYKRNV0laKiKDTdAGLKmewQNdbDhBghA1nSMbTTUx5oU0HWypjMMaWiGuAG6S9Z0gKCheTbcAF0ka3Jn1YkW2XADdIusyZchDTmwJgV0iKzJkaAhN9akgE6QNXkRNOTMmhSQOVmTEdtoyJ81KSBnsiYLhjR0i7gB8iRrWiZo6C4bboDcyJrWCBpisOEGyIesaYdtNERiTQrIhKxpmiENUYkboHWypjmChhLYcAO0SNY0QdBQGhtugFbImtrZRkOZrEkBzZM1NTKkAXEDNEnW1ELQwGI23ADNkDXVs+oEK7LhBqibrKmSIQ2szZoUUCtZUw1BA8OzJgXURNaMS9DAaKxJAZWTNWOxjQbGYU0KqJasGZEhDVRF3ABVkTXrJmigDjbcAOOTNesgaKBuNtwA45A1w7KNBpphTQoYmazZPUMaaJ64AUYga3bDkAZaZMMNsC6yZlWGNJAJG26AIcmalRnSQFasSQHDkDVLGdJAtsQNsDZZcyeGNJA/G26A1cgaoJNsuAGWkzW/YlQD3WJNClii3/YB5ELTQEdt23bhtm0XDnbFAYUzrUlJ00D3WZMCkqxJmgaisCYFlJ41mgYaMEiN1Mg/nSBuoGT21gD1mp7ePEiNwTrRQuLUyoYbKFPR0xqjGqjVoGAWX2WLRynNTG6MbaAoRWcNUJO1w2UhbqxJAdUqN2uMaqAOw09iFkYp4gaoSrlZA1RuvQOY5tekkt+6AKHJGqAC46SJDTdAVWQNMJaqcsSGG2B8hWaNjTUwvjrmKzbcAOMoNGuAMdU3VrHhBhiZrAHWp5ngsOEGGIGsAYbVWGQssOEGWBdZAwylmbZYUSsbbpQNdJGsAXaj+SHNctakgGEUmjVTW7a2+K0ndEUOQbOYNSlgbYVmDbC23IJmMT8EDqxG1gBL5T/L9EPgwIpkDfArOQ9plrPhBlii3Kw5+ugT8v+WFBrTraBZzIYbYEG5WQMMdDdoFrPhBkiFZ83xx59sYEPhIl0CNtwARWcNlCzGkGY5G26gZKVnzUkn/XGk71ZhGFGDZjEbbqBMpWdNSumUU16jbChECUGzmN+6AKWRNSml9KpXbVE2hFfmSW5NCooia2736lefUeaLPiUobUiznDUpKESv2KvukV/6yt57b9q4cdPGjZs2bNhzw4Y9N2zYcPrpLyv5pZ94MgmawWEMtHswDT8g4gYaJmvulDUbNuw5O3ti6+8BUIkcBpDLMyLPo6r75op9pYWGyZqlWbPHHhte+coXtP6yC+PIYUizxjHkcHgNH4axDTRD1qyQNZOTe8zMPC9l8LIL65VPMez2GDp0qBXeVhI3UCdZs3LWTE5OTkxM/v7vH936ay4MKZ9KWNdh5HDYNtxAGLJmrayZnNzjxBOf0fr7BOxW1zesdP34R7u5Yl9+oT6yZjdZMzk5+cIXHpXa/m4SVpPDtCNV0SX53JHGDsPYBirn360ZSpP/VikMKZNzcvjDuOfj/ujI+//L/HzvuhvvdtMtez9w/xv22evmy753/x2ff0dq/N/NW41/4QY6TdYMq8kXO1hb6+/9ox3Gfnv9/PLr7/fti88c/OfBz3nqhomdH7ziiMMW/ZlMLrRWfutCEjcwNlmzPsY2tK71t/w0aldt3HDrVy84d/DxhkNO27jhl5dff7/Dfvri5X8yhwut+d+6kGy4gbHJmnXLZFROgTI560buqutuvNvCx8ccvD2ldOVF71rtD2dyofmVUtAtsmZEmbzmUohMzrQxD+M/vvKWwQcPesJL+r35j1112Np/PmVzodlwA10ha8aSyT4AAmv9Hb3yw7hk47ufd+A1t+6a/Ollfz3kX8nkQmtlw42ygXWRNRXIYR8AIbX+Rp5q6KrZJ57fS/Nnbd+8X0oppX+9+98++Id/MMxfzOFCsyYFmZM11chkVE4YmZxLlXfV9+59xr33/fEPf77PftfODj5z7CHbv37hUFmTsrnQrElBtmRNlTJ5zaXTMjl/ajqMk4+4oJfm33zx0w+54zMbJnau94tkcqH5IXDIkKypXib7AOiiHE6b+t6qJx7xJ5v2vOWbN9znkBtfMvjMo590ws9+uddoXy2HC80PgUNuZE1dctgHQIfkcLbUdwz3eehESunxh2xPKd19008f/aQTfm3TTw/Y+LOU0kU7HjHOV87hQrPhBvIha2qUyaiczGVyhjQw9vjA+y6o48tmcqHZcAM5kDW1y+Q1lwxlclZkchhjymFNKtlwA22TNQ3J5DWXfORwMsQImsXKXJNKNtzAHWRNo3J4zaV1mZwDOXRVHTKZj9pwA62QNU3L5DWXVmTyvDd8GIP9woMPvvutXc3caCYXmg030DBZ0w5rUqVp/f01q8NoTCYXmg030BhZ0yZrUoVo/W01lRc0i+VwodlwA80oNGt2zM488ugT2j6KlLIZlVOTTJ7ZHLqqXZlcaDbcQN0KzZrcZPKaS4UyeTYzOYxMZHKh2XAD9ZE1GclkHwBjav1dM6vDSCl991u7pqefuG3bRW0fyO0yudBa2XCjbAhP1mQnh30AjKz1N8uUU9DkLIcLzZoUVE7W5CiTUTnrksnzlUNXdUUmF5o1KaiQrMlXJq+57FYmz1Emh9E5mVxofggcKlFo1kxt2fqh2Znjjz+57QPZvUz2AbCaHJ6a1t+SA8jhQvND4DC+QrOmc3LYB8ASOTwjORxDJDlcaDbcwDhkTWdkMionZfMs5DAoiieTC82GGxiNrOmYHEblJWv93S6rwwgskwvNhhtYr3KzZmrL1nNnZ0466Y/bPpBR5DAqL1Drb3JJ0DQrhwvNhhtYl3KzpusyGZUXIpPHOYeuKk0mF5oNNzCkorNmasvWd8zOnHLKa9o+kNFl8pobWCaPbSaHUaxMLjQbbmC3is6alNLUlq1vmZ151au2tH0gY8lkH0Awrb+HZXUYpGwuNBtuYA2lZ00kOewDCKP1t64kaHKVw4Vmww2sRtakqS1b/3J25tWvPqPtA6lAJqPyTsvk0cuhq1hNJheaDTewnKxJKaWpLVv/Ynbmta99W9sHUo1MXnM7J5NHLJPDYLcyudBsuIHFZM3tprZsPX32ZVu2nNX2gVQmk30AXZHDA9X6GyQjyORCa2XDjbIhQz3n5WI7Zmfe9KZzJif3mJycnJiYHHzwwhce1el3Gm+Wa8vh8cnhGGo1Pf3Ebdsuavso6pXJk9jkYRjbkCHTmjuZ2rL1la98wdat7237QKqUyag8Q5k8Jq1/o08lMrnQrElROFmz1NSWrTMzz3vb2z7Y9oFULJPX3Exk8jhkchhUKJMLzQ+BUyyLUCvbMTuTUjrrrI8FWIRarvDxQA53v/W3vYaVsAi1XIFnmg03tM60ZmWDK/PEE59x9tmfbPtYqpfDP7zRikzudQ7vdjQghwvND4FTGtOa3RiMbaK+CbX+mtuYTO5pJofRvDKnNQsyed6b7GlxQ1tkze7FLpsUfXiQzztKDofRlsKzZiCHC635NakkbmiWrBlW7LiJ+qZb4BtJnmTNQCYngw03BCZr1kfcdEUm9yWHrsqBrFksn5OzscMwtqExsmYUO2ZnWn9Jqk8mr7kjy+T4MzmMTMia5TI5Q2y4IRhZM6LYY5vUzTFDPu8TORxGVmTNanK40KxJEYmsGUvsuOnW23OBbw8dImvWkMlpY02KGGRNBaxJtSuTI8yhq7Ila3arwNNY3FAHWVON2GOblM1r7hKZHFUmh5EzWTOkHM4lPwROp8maKpUQN/ncuxwOJoc3oU6QNetS4Lltww1VkTXVix03ObyRO4bOkTXrlckJZsMNnSNr6mLDTaTbXX4YrR9Dt8ia0RR4wosbxiRrahR7bJNaWoM3pOkiWTOO1s+65g9A3DAyWVO7EuKm+de7YgdFHSVrxtfKjLDd096GG0YgaxoSO27a+mauyUFR1OeuGbKmEgWe9sY2rJesaZQNN527RUOaSsiaChV42osbhidrmhZ7bJPa+A6vplvM7ZW902RN5Qo87cUNw5A17YgdN10f2+T8yt5RsqYOZZ72NtywNlnTJnGT4S3msJ8gHllTnwJPe2Mb1iBr2mfDTSa32JXvVrtI1tStwNNe3LAiWZOF2GOblP2Gm+6+sneFrGlGgae9NSmWkDUZiR03eY5tYryy50/WNKbA097YhsVkTXasSTV2i93aT9BpsqZhBZ724oYBWZOj2GOblEHcBPtuNX+yphUFnvbiBlmTrxLipvkNN4MPAj+qeZI1LSrwtLfhpmSTbR8AqxpcloG/wdq27cKG793CLUIhAr+ArGHhShc3BTKt6QYbbrp+i4UzrWlF1G00wxM3BZI1nVHCmlRqPG4CP55ZkTUNE+6LiZuiyJqOKSFujG3ikTWNcUqvxoabQsiaToodN9ak4pE1zTCAXJuxTQlkTYfZcNP1WyyHrKmbs3d44iY2WdNtscc2KfvfusCQZE19BM1oxE1UsiaC2HFjbBOArKmDE3V8NtzEI2visCbV9VsMTNZUzlixKsY2wciaUGKPbZK46SxZUyHnZB3ETRiyJqAS4saGm26RNZUQNHWzJhWArAkrdtwY23SLrBmT068xxjZdJ2uCs+Gm67cYg6wZh2Fh88RNd8ma+GKPbZK46QJZMxpnWrvETRfJmlKUEDc23BCGoMmHDTfdImvKEjtujG2IQTHnxtimQ2RNiWy46fotEpVzKWfiphNkTaFij22SNSm6RtB0hbjJnKwpWuy4MbahE5w2XWTDTbZkDeKm87dIdxnydZexTZ5kDbez4abrt0i3OENiEDe5kTX8SuyxTbLhhjwImnjETT5kDUvFjhtjG1rkZIjNhpscyBpWZk2q67dIbozuSmBs0zpZw6pij22SuKEpnvfSiJsWyRp2o4S4seGGmgiaklmTaoWsYSix48bYhsp5iknGNm2QNayDDTddv0WaYSDHYuKmSbKG9Yk9tkktxU3gx7M0UpXViJtmyBpGUULcGNuwLp5EhmHDTd1kDaOLHTfWpBiekRvDM7aplaxhXDbcdP0WGYfni9GIm5rIGioQe2yT/BA4KxE0jE/cVE7WUJnYcWNswwJPDdWy4aZCsoaKiZuu3yJrM0ijDsY2VZE11MKGm67fIst5FqibuBmfrKEuscc2yYabkggammRNahyyhnrFjhtjm/A84LTC2GZksoYmWJPq+i2WyXiMdombEcgaGhJ7bJPETSweW/IhbtZF1tCoEuLGhptOEzTkyYabIckaWhA7boxtOsrDSOaMbYYha2iNDTddv8VIDL3oCmObtcka2hR7bJNaipvAj2cd5CCdY2yzBllD+0qIG2ObDHmg6DRjmxXJGnIRO26sSeXGWIsAlM1ysoa82HDT9VvMn8eESJTNErKG7MQe2yQ/BN4eQUNIymYxWUOmYseNsU3DCr/7hKdsFsgasmZNquu3mAPDKkqgbAZkDbmLPbZJ4qZO5dxTSMompZTSZNsHALsxuEoDvz8N7lSTE4Xmb7F5gU8YYA2mNXRJ7MmNsU0lQt4pGJKBjayhe2y46fot1if2CAqGUXjZWISie6a2bI30TrzEwgpRauoONn+Ldej68QOVMK2hw2KvSSX/ws1wBA0sUfLAxrSGDithN3HD9675WxxHhw4VaIasofMW4ibk25s1qdVEfcaBccgagrDhpqZbzPDxDPxEA2Oyt4ZobLip/OZSNo9nVgcDOSt2e41pDdHYcFP5zaU8Hs88R0dAVmQNMdlw0/VbXCyHqAI6QdYQWSEbbgL/1oXATx9QB1lDcNakOnqLgZ8yoD6yhiJYk+rWLUZ9poC6yRoKUsiaVOpy3AR+goAG+AFvSuSHwDO8RUEDVSn2p7uTaQ1lsuEmq1sM/EQADZM1lMuGmxxuMerjD7TCIhQUsSaVmr2Dw9yiIQ3UYXp687Oe9fwrH/+4tg+kHaY1UMSaVMrpX7gJ/FAD7TKtgTuJPbnJYWxj1QnqMz29+QUv+MObbvqxaQ2Qkg03dd7i4s8A1MG0BlYWe2yT2vhN4IEfTMjB9PTmk0561S23/KLkaY2sgbXEjht7XCCM6enNMzN/dvPNNxeeNRahYC2xdxO3+3u5ASona2D3bLgBcjY9vfnUU994yy2/aPtA2tdv+wCgMwa/Umrx7tdItm27cOFfCgY6ZHp685/+6RltH0UuTGtgHWKvSaU2fusCMI7p6c2vfe3bbrvt1rYPJBeyBtbNmhSQg+npzW94w1m33fbLtg8kI7IGRjRYk0pB3/vFDeRscG2+6U3n3HqrOc2dyBoYXQlrUinuXAo6anp689ve9sGdO3fu3Hlb28eSHVkD4yohbgLfO+iQwZX4d3/3YUGzGlkD1bDhBqjV9PTms8/+5M6dO3ft2tn2seRL1kCVbLgBKudfXhierIGKlbAmleLOpSAri19JxM0wZA3UooS4CXzvoHWur9HIGqiRDTfACKK+aDRA1kDtCtlwE/LeQcMCv1Y0Q9ZAE6xJAWtzBVVC1kBzYseNNSkYmXlnVWQNNM2GG2CBi6VasgbaYcMNFC7wK0CLZA20JvaaVLLhBlbhuqiPrIGWWZOCokS92DMhayALhaxJpaB3EIbhEmiArIFclLAmlXyrSpECX9e5kTWQlxLiJvC9gyWc7Q2TNZAjG24ggKiXcM5kDeTLhhvoKCd2W2QNZK2ENankm1oCCXy1doKsgQ4oIW4C3zsK4RzOgayBzrDhBrKV24W5Y3Zm8IpRGlkDHVPIhpuQ946QAl+PXSRroHusSUEOnKUZkjXQVdakoEVRL72ukzXQbYWsSaWgd5AuckLmTNZA55WwJpV8c0wGAl9lYcgaCKKEuAl878icc68rZA2EYsMNVK5zF9T557+nzJ/uTrIGQrLhBirhNOscWQMxlbAmlTr4bTRdEfjaiU3WQGQlxE3ge0crun5GnXPOW4tdgUqyBkpgww0MKeplUg5ZA6UoZMNNyHtHA2JcHe94x1+WPKpJsgaKYk0KlnPORCJroDix48aaFMMLdp5s3fqawkc1SdZAsWy4oXDBTv43vvFUTZNkDRTOhhsKFPicR9ZA6WKvSSUbblgk6pnwute9wqhmQNYAKVmTogBRT+/TT3+Zplkga4BfKWRNKgW9g6wm8JN+2mknaprFZA1wJyWsSaW437izROAzeWbmeemOC5YFsgZYQQlxE/jekUKfvSmll73sdwXNimQNsCobbuioqCftwEtf+mxNs5qehwbYrR2zMyn0e7+4CSPwUzm4a8nC05pMa4DdK2FNKkX/Fj+8wOfnAkGzW6Y1wPrEntyU8NYYT/hnbXAHvV8PQ9YAo9gxOxP+XSTwHYwk9oxN0KyXrAFGFHtsk6K/XwYQuz4FzWhkDTCW2HET+42zu8I/L9PTm707j0bWABUQNzQm9hTNkGZMsgaojA031Cr2UyBoKiFrgCrFHtuk6KOCbAkahiRrgOrFjpvYb7G5Cf9o20ZTLVkD1MWaFGOKPRszpKmDrAFqFHtsk8RNbWI/sIKmPrIGqF0JcRP43jUsdtAkq041kzVAQ2LHTfg34waEfwwNaRoga4BG2XDDimJPvARNY2QN0LTYY5skbtYp9sMlaBoma4B2lBA3ge9dJWIHTbKNpg2yBmhT7LgJ/7Y9svCPjCFNW2QN0D4bbooSe44laNola4AsxB7bpOjv5UOKXXiCJgeyBshI7LiJ/aa+tvD33TaaTMgaIDviJpjYkypDmqzIGiBTNtwEEPtuCpoMyRogX7HHNin0u37gu5YETcYm2z4AgFUN3jZiv0G+//2fe+5zn5AC3cHB8/W+9332uON+u+1jqYVtNDmTNUDuFuImzBv/Euedd0m/3z/mmCNSx+NmEDT/8A9f2LVr19zcrrYPp3qGNPmTNUA3TG3ZGnts85GPfLnfn3jmMw9LXbuPg+clpXT++V8VNLRL1gCdUcKa1Cc+cXm/P3HUUQcP/jPnu7lQM5/+9DcHNbNrV8CgSVadOkXWAB1TQtxccMFVvV6v3+9v3vzghU9mcmcXauaii749Nzc3Nzc3Pz/f7iHVx5Cmc2QN0EnhN9wMfOYzV/d6/YEjj7zv4JPN3+WFlEkpff7z191RM3MNH0aTBE1HyRqgw8JvuFnskku+2+/3e73e4x53zyX/U+V3f3HHpJS2b//+/Px8CTWTBE3HyRqg20pYk1pi+/bv93r93iKPfvT+a/+VxY/MkmRZ0aWX/mh+fn5+fj6l+Ts+KIJtNF0na4AICoybxb72tRsHfZNSr9dLKfVSSgsfpJQOPnjTwh++8sr/vKNS5pd8MD8/Pz8/V1THLDCkiUHWAHEUsuFmBFde+fNF/1VcsqxN0EQia4BoitpwwzgETTyyBgio8DUphmEbTUiyBgjLmhQrMqQJTNYAwVmTYoGgCa+arDnzOc868v4Hzs+n62686aZbbnng/nfdZ689L/ve9dPv/cdKvj7AOKxJkaw6laGarNlvrz0vv/6G5207b/CfV7zi5A0TEx+84puVfHGASoibYhnSlKOarNm4YcPT/37b4OMtT3vSxg17XH79DR++8luVfHGACtlwUxRBU5pqsua6G29a+PiYgx+WUjr2nPdX8pUB6mDDTXiCpkzVZM0ffOjjgw/e+/xj+73ex67610q+LEB9rEkFZhtNsar8SaijHnLQYw689627dp1y/icr/LIA9RE3wRjSFK7KrJl94m/2Ujpr+6WD/zz+sEeee+kVFX59gJrYcBOAoCFVmDUvPeI37r3vPj/8+S/efPEXBp859pCHyxqgQ2y46ShBw4LKsubkIw7vpfTmiy9Z+MyGiYmqvjhAM6xJdY5tNCxWTda8/qjNm/bc8M0bfrjwb9V89EXP/9kvf7niH/6T//pbh9/nXgfut2+/19vxox8/590fGHz+9Cf99tMe+qBf3HbbZd+7/pUf+3QlBwYwAnHTCYY0LFdN1hx7yMNTSnfftPdHX/T8X9u09wEb/0tK6aId31nxD7/+/12cUvrKy0+6y157funfvrfw+df+02ePvP99n3LWuys5JIAx2XCTLUHDaqrJmof+1VvX+1fO+NwXXvPfnvjiww/9q8/+8+AzpzzhiA9946pKjgegKjbcZEXQsLbWftXltsu+fvxhj3zQ3Q5467Of9ocf/kRK6agHH3TUO89t63gAVmNNKhO20bBb/Uq+yg9ef/IIf+up79yWUjrqIQellN7yrKPe8vkvVnIwAHWY2rJ1YXJDw6anN2sahlHNtKbf32O0v3jhjms3Tz3g4pNf9L2f/PST/3J1JQcDUB9rUg2z6sS6VJA1O2b/c9990zWnHfDAN/xovX/3pPM+evWpL7/XPnf5rf/zrvGPBKAB1qQaY0LDelWQNb3eb6aUJiYek9Knxv9qAJ0gbmplSMNoKsiaiYlfTylNTu47/pcC6BY/BF45QcM4Ksia+/3Fp679X3Nzc2emdP/xvxpA59hwUwlBw/ha+wHvlNIJhz3qqQ896Jc7d6WU3j/9u5+95jt/+4Uvt3g8ACOzJjUm22ioRJtZ8+5LL3/3pZe3eAAA1RI3IzCkoUK1Z82OB8yklNJPUppIUz901gLx2XAzJEFD5eqf1kyk/sP7c1+fS1ekdJfabw0gEzbcrEHQUJMas2ZHmuk/vfimRKMAAAQTSURBVN+f6M99di7tn6bu4vQFymJNakW20VCfWrJmx1UzvZN6/bv25749N3XV1pRS+kkdtwPQAeJmgSENdas+a6555Cn9Z/Xnb5h/wPlnVP7FATqq8A03goZmVJk1O+470z+037ulN3fu3NQ+zl2ApQrccCNoaFIFWbP14Kkjf3TPa6894TF7bZ37ytzUv29N+6z158857uiH3v1uE/3+jTff/OFvfOutl2z/v/9z+u6b9r7xF7d858abXnLe+eMfEkC2Fq9JhWcbDQ3rj/8lDjzwwP322+8e97jHnz98burfd3/6vuB9H/rgFd/cd68995qcfOsl21NKT33ntutu/MmTzzxH0wCFmNqydfB+/9znPqHtY6nFccf9djKkoXG98c+5mY29xz/+8dcffvhUr/cf8/MvesNbhvlbF5/8onvtc5czv3TpGz/z+Y+9+PnP+Pv3jHkYAB21Y3YmpfSRj3y535+YmJgY/N9er9fv9/v9/h3///YPerdb+OBOUur1eimlXkpp4YN0x2fvMD8/v/IH8/Pz8/Nz84vc/rnB/zA3Nzc3d8f/X/zB/K5du+bmdg0cffRjk6ChJRVkzWLvOu2Uu/V618zPz+wubp70oAe+/Zhn7Jqb+/i3vv1vN/3kLZ/7YoWHAdA5g7j5xCcu72jWPPWphwy+lqChRRVnTUrphNmZZ/f7G1LaPjf3ujW/+DuOfebmgx7w81tvfdQZb6/2GAA6ahA3F1xwVYey5slPflhSM+Sh+qwZeP3szCP7/ZtT+sDc3Hmr38TVp748pfSqj1/wj9+4qo7DAOiiQdyklD7zmauzzZrf+Z2pwV8WNOSjrqwZeOtpp9yv13vIpk3X3nzzU17310v+1xc+5tD/8RuPOnC/fX/8i5sf+zdn1ncYAB210DcppUsu+W4OWXPkkQcO/o6aIUP1Zk1K6XN/fupdJic3TUz84NZbH/9nWxb/T5868finnHXup19ywgP3v+t7Lvv66Z++qNYjAei0hcTZvv37DWfN4Yf/+sJfVjPkrPasSSmdNjuzd6/36ImJn+3addwdW4nP/r1nn/3Vr31mx3dSSlef+vL5lB70xv9d95EABLB4hDPwta/dWGHWHHroXZd8fSlDVzSRNcsdc/DDnvCA+73io58c/Oebn/mUZz38IVfe8IP/fvb7mj8YgK5bHjrLXXnlzwcfPOIRe6/9J0UM3VXjb/Be0XGHHnzcow6+7133vfnW2/7oyMf+zT9vTykddMD+t+7aNXXA/ued8Hv/9O1r3v7FrzR8VACdNkyILNSMaiGwdqY1AACVq+CXJwAA5EDWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAg/j8PKU9quFUgsAAAAABJRU5ErkJggg==<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="27" type="negative" width="28" x="369" y="186"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/verificationPoints/INIT b/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..8836010
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<VerificationPoint version="4" type="Screenshot">
+ <Description/>
+ <Verification options="0" type="PNG" object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d">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<Mask>
+   <Rect width="47" x="10" y="411" height="57" type="negative"/>
+  </Mask>
+  <Algorithm description="Strict mode" name="strict"/>
+ </Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/verificationPoints/VP1 b/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_001/verificationPoints/VP1
deleted file mode 100644 (file)
index 888d092..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="60" type="negative" width="48" x="15" y="441"/><Rect height="23" type="negative" width="18" x="373" y="171"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask/></Verification></VerificationPoint>
\ No newline at end of file
index 9851a3163ac658c0bfdbeb947a3d6101ccdbdfe9..d0b3bb9ad10449522a9e485f69a0a5958552115a 100644 (file)
@@ -1,40 +1,41 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Boolean_002
-    #[Topic] 'Boolean fuse' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Boolean_002
+    # [Topic] 'Boolean fuse' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_extrusion_001.hdf'
+
+    # [step] Open 'for_extrusion_001.hdf'
     open(DATA_PATH + "/for_boolean_001.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
-    #[step] Activate Part_1
+
+    # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 48, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 48, 10, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all
     fit_all()
+    test.vp("INIT")
 
-    #[step] Implement boolean fuse for existing objects
+    # [step] Implement boolean fuse for existing objects
     boolean_fuse((139, 138), (420, 195))
 
-    #[check] Check that operation has been executed successfully
-    test.vp("VP1")
-    
+    # [check] Check that operation has been executed successfully
+    test.vp("FUSE")
+
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/verificationPoints/FUSE b/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/verificationPoints/FUSE
new file mode 100644 (file)
index 0000000..4722053
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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MHfqr/1Wg8cAUKJR3Fx77e2FZs3zn//U0dcSNPSo4axJKZ25tPjS4fDBKd2yuvqO7b/4+17y/Kc++lH//OiHP/GiX232AADKNYqb6677ckFZ89znPimpGfLQfNaMvHNp8cTh8K6UPrS6+pFtXuIr577xtr/4y1dc9eE2DgCgXKO4SSndeONXs82an/7pudEvFjTko62sGXn/eec8djA47qijvn7XXc97x9rDcGcAAAFxSURBVMXr/9WvveyFx/2zRx57zNGv/+gnbjj0Z+0dA0C5xn2TUrr55m/kkDXPetaxo1+jZshQu1mTUvrs28592BFHHLVv31/fffcpb10e/eRLnnz88vOf86SL97/lOT/1guOfcMr+32z1GAACGCfOLbfc0XHWnHzyD41/sZohZ61nTUrpvKXFIweDp+/b993Dh8+48L0ppS8unnXVrX/83s/+QUrphtf/3K3fvONNn/hU24cBEMP6Ec7Ibbd9p8GsedrTHrHh60sZStFF1mxw6b970WOOPvr037xq/DNfOfeNZ1/z3z79vw91fCQAMWwOnc0OHvz70Q+e/OQjd/4vRQzlavFv8N7SK0484bTH/+hxD/zTTx+6/X++43nzsgZgOpOEyLhmVAuB9TCtAQBoQwN/eQIAQA5kDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAI4v8DzYw6wPoTw+YAAAAASUVORK5CYII=<Mask>
+<Rect height="50" type="negative" width="56" x="7" y="417"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/verificationPoints/INIT b/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/verificationPoints/INIT
new file mode 120000 (symlink)
index 0000000..00a2444
--- /dev/null
@@ -0,0 +1 @@
+../../tst_boolean_001/verificationPoints/INIT
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/verificationPoints/VP1 b/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_002/verificationPoints/VP1
deleted file mode 100644 (file)
index cf8c375..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="50" type="negative" width="56" x="10" y="448"/><Rect height="38" type="negative" width="29" x="364" y="171"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index fa7fdef94b601e9206f981e14ee0f576c5bb78ed..3e107038d314ea3d613a28345c4cb7534f6fadd6 100644 (file)
@@ -1,40 +1,41 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Boolean_003
-    #[Topic] 'Boolean common' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Boolean_003
+    # [Topic] 'Boolean common' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_extrusion_001.hdf'
+
+    # [step] Open 'for_extrusion_001.hdf'
     open(DATA_PATH + "/for_boolean_001.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
-    #[step] Activate Part_1
+
+    # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 48, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 48, 10, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all
     fit_all()
+    test.vp("INIT")
 
-    #[step] Implement boolean common for existing objects
+    # [step] Implement boolean common for existing objects
     boolean_common((139, 138), (420, 195))
 
-    #[check] Check that operation has been executed successfully
-    test.vp("VP1")
-    
+    # [check] Check that operation has been executed successfully
+    test.vp("COMMON")
+
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/verificationPoints/COMMON b/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/verificationPoints/COMMON
new file mode 100644 (file)
index 0000000..0101491
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="55" type="negative" width="39" x="15" y="416"/>
+<Rect height="27" type="negative" width="26" x="366" y="184"/>
+<Rect height="20" type="negative" width="20" x="446" y="316"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/verificationPoints/INIT b/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/verificationPoints/INIT
new file mode 120000 (symlink)
index 0000000..00a2444
--- /dev/null
@@ -0,0 +1 @@
+../../tst_boolean_001/verificationPoints/INIT
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/verificationPoints/VP1 b/test.squish/suite_FEATURE_BOOLEAN/tst_boolean_003/verificationPoints/VP1
deleted file mode 100644 (file)
index 6211fab..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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cYp5JtRrH921YsWKPXt+57nPfe7kpZNdNs2GU06ccctrVj3n9Sc8r5AlAQC5KSZrtuxz4I4dO3bu3PnYypW3X9Z6w/hYN6/1Wwcuu+68J/zG73e/dPUP799VyJIAgNyMjG4qbJ737Pvv+/xBh35iw/lPHxnZOTX1yampry125//+1vOu2rb94htvTil99U2v++Y9945f++Wi1gMAZKXIf47v8wcdmlL6442XfHpyct+RkXe0Wps3nL/wq7z3Sze+8XdXpZTe89LVS1otTQMA9K3I3ZoZ/nR87AWtVkrplsnJ983/Vi4982XHHHLwocsOOPqDf1nSSgCAHJSYNW0f2XD+kSMjD6Z0zeTky0ZGXrtxjmni77/zrd++7yfnfOZvS10JABBb6b8T6oKNl5zxFx/5+dTUB5YtO37p0k/OOpb6+Fkvv+dnu57z9ENOGT287MUAAIEN6VddvnHjJfc88siDe/acdMABV3SUzZnPWnnK6OFrL9uy5dZtF562djiLAQBCGlLWpJQ++uijn37oocsfeOCprV+90Xe95ORP/NutKaU/v/6mRx977ENnnDq09QAAwZQ+W7OAy151xjOWLTvtrz8zfcv33/nWN//DP1/3vYmqlgQANNfwdmtmOOfYZ65efnhn06SUrt72nQ+cuqaqJQEAjVblbg0AQIEq260BACiWrAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACCI/wfnBgVNNpvobgAAAABJRU5ErkJggg==<Mask><Rect height="55" type="negative" width="39" x="17" y="445"/><Rect height="27" type="negative" width="26" x="368" y="169"/><Rect height="20" type="negative" width="20" x="453" y="317"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index ef471e42f6982ad7a1b8b87f05291af30f631b93..4f8db40d71d71b2010921429a93ef72ce117b922 100644 (file)
@@ -1,47 +1,60 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Construction_001
-    #[Topic] 'Construction of point, axis and plane' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Construction_001
+    # [Topic] 'Construction of point, axis and plane' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_construction_001.hdf'
+
+    # [step] Open 'for_construction_001.hdf'
     open(DATA_PATH + "/for_construction_001.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
+
     # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 71, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Create plane basing on upper face of the box
-    plane((283, 127), 100) 
 
-    #[step] Fit all
+    # [step] Fit all
     fit_all()
+    test.vp("INIT")
+
+    # [step] Create plane basing on upper face of the box
+    plane((340, 120), 100)
 
-    #[check] Check that plane has been created
-    test.vp("VP1")
-    
+    # [step] Fit all
+    fit_all()
+
+    # [check] Check that plane has been created [vp PLANE]
+    test.vp("PLANE")
+
+    # [step] Create 2 points by property panel
     point(-50, -50, 125)
     point(50, 50, 125)
-    
-    axis((168, 138), (583, 137))
 
-    test.vp("VP2")
-    
+    # [step] Fit all
+    clickButton(waitForObject(":SALOME*.Fit All_QToolButton"))
+
+    # [check] Check that the points have been created [vp POINTS]
+    test.vp("POINTS")
+
+    # [step] Create axis between the 2 points
+    axis((213, 142), (538, 142))
+
+    # [check] Check that the axis have been created [vp AXIS]
+    test.vp("AXIS")
+
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/AXIS b/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/AXIS
new file mode 100644 (file)
index 0000000..cc5bd0f
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="43" x="13" y="414"/>
+<Rect height="21" type="negative" width="25" x="367" y="174"/>
+<Rect height="23" type="negative" width="22" x="531" y="266"/>
+<Rect height="24" type="negative" width="26" x="530" y="451"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/INIT b/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..f39b8de
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<VerificationPoint version="4" type="Screenshot">
+ <Description/>
+ <Verification options="0" type="PNG" object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d">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<Mask>
+   <Rect width="48" x="11" y="412" height="56" type="negative"/>
+  </Mask>
+  <Algorithm description="Strict mode" name="strict"/>
+ </Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/PLANE b/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/PLANE
new file mode 100644 (file)
index 0000000..463f012
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="25" type="negative" width="36" x="359" y="164"/>
+<Rect height="29" type="negative" width="30" x="554" y="272"/>
+<Rect height="55" type="negative" width="38" x="16" y="415"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/POINTS b/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/POINTS
new file mode 100644 (file)
index 0000000..8e401a8
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="50" type="negative" width="46" x="13" y="416"/>
+<Rect height="24" type="negative" width="24" x="368" y="173"/>
+<Rect height="29" type="negative" width="21" x="533" y="263"/>
+<Rect height="28" type="negative" width="25" x="530" y="449"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/VP1 b/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/VP1
deleted file mode 100644 (file)
index e160655..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="26" type="negative" width="36" x="363" y="174"/><Rect height="29" type="negative" width="30" x="573" y="293"/><Rect height="55" type="negative" width="38" x="19" y="443"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/VP2 b/test.squish/suite_FEATURE_CONSTRUCTION/tst_construction_001/verificationPoints/VP2
deleted file mode 100644 (file)
index 6a33bb8..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<VerificationPoint version="4" type="Screenshot">
- <Description/>
- <Verification type="PNG" object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d">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<Mask>
-   <Rect width="43" x="17" y="443" height="57" type="negative"/>
-   <Rect width="32" x="368" y="175" height="24" type="negative"/>
-   <Rect width="40" x="575" y="296" height="35" type="negative"/>
-  </Mask>
-  <Algorithm description="Strict mode" name="strict"/>
- </Verification>
-</VerificationPoint>
index ef54799396fc0f967e9fe99fe37aa499730e4ede..cb694f2f2d1a7db5c83aa75e30ad7bef4fad2dad 100644 (file)
@@ -1,33 +1,37 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Extrusion_001
-    #[Topic] 'Extrusion from size to size' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Extrusion_001
+    # [Topic] 'Extrusion from size to size' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_extrusion_001.hdf'
+
+    # [step] Open 'for_extrusion_001.hdf'
     open(DATA_PATH + "/for_extrusion_001.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
-    #[step] Activate Part_1
+
+    # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 48, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 48, 10, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Execute extrusion for sketch_1
+
+    # [step] Fit all
+    fit_all()
+    test.vp("INIT")
+
+    # [step] Execute extrusion for sketch_1
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "Extrusion"))
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 347, 228, 0, Qt.LeftButton)
@@ -37,13 +41,15 @@ def main():
 
     type(waitForObject(getSpinBoxRealName("from_size")), "<Ctrl+A>")
     type(waitForObject(getSpinBoxRealName("from_size")), 10)
-    
-    #[check] Check that preview is updated
-    test.vp("VP3")
+
+    # [check] Check that preview is updated [vp PREVIEW]
+    fit_all()
+    test.vp("PREVIEW")
     clickButton(waitForObject(":Extrusion.property_panel_ok_QToolButton"))
-    
-    #[check] Check that extrusion has been implemented
-    test.vp("VP4")
-    
+
+    # [check] Check that extrusion has been implemented [vp EXTRUSION]
+    fit_all()
+    test.vp("EXTRUSION")
+
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/EXTRUSION b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/EXTRUSION
new file mode 100644 (file)
index 0000000..c593ed6
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="23" type="negative" width="25" x="369" y="143"/>
+<Rect height="56" type="negative" width="51" x="9" y="411"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/INIT b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..290108e
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version='1.0' encoding='UTF-8' standalone='no'?>
+<VerificationPoint version="4" type="Screenshot">
+ <Description/>
+ <Verification options="0" type="PNG" object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d">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<Mask>
+   <Rect width="25" x="369" y="120" height="23" type="negative"/>
+   <Rect width="51" x="9" y="411" height="56" type="negative"/>
+   <Rect width="23" x="457" y="169" height="22" type="negative"/>
+   <Rect width="23" x="459" y="267" height="30" type="negative"/>
+  </Mask>
+  <Algorithm description="Strict mode" name="strict"/>
+ </Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/PREVIEW b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/PREVIEW
new file mode 100644 (file)
index 0000000..384b3b3
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO3da5hcVbng8bequoPhIhGPDAjIpQ8XYaKCwHByuEhzSBAEEcgcqXoSUC6BJ5KOQKiuxCENklSHXIYEIiIgkpBGuSmCDAlOAgYVEdAQEURbRh8uepyDIOPDpbuq58NOykpVdXWtVXvvtfZa/98H7TR92X2pqn+v9e7aqa7+5QIAAJB8adMHAAAAEA6yBgAAOIKsAQAAjiBrAACAI8gaAADgCLIGAAA4gqwBAACOIGsAAIAjyBoAAOAIsgYAADiCrAEAAI4gawAAgCPIGgAA4AiyBgAAOIKsAQAAjugwfQBAM4P5nvpXdi1aHv+RAADsR9bApIbVUm3NwPr6V+by3c3fi+4BAD+luvp5AEBM6iOmYbW0L5et7R5CBwB8QNYgWtUpE1HEtKImdKgcAHASWYPwWZIyTVQqh74BAJeQNQhNpWbsTJmG6BsAcAlZg3YlsWbq0TcA4ACyBvqCoEl0zdQL+oa4AYAkImugw8mgqUbcAEASkTVQ43zQVCNuACBZyBq0yqugqUbcAEBSkDUYm7dBU424AQD7cfEENFMJmvrn7fXQmoH1wXUbiBsAsBNZg1EN5ns8X6GpF3xDcvluygYALETWoAF2nZpj2QYA7ETWYBsETYsqyzZC3ACANcgabEHQaCBuAMAqZA1EGKNpDwM3AGAJssZ3LNKEhYEbADCOrPEXQRM69qQAwCyyxlPsOkWHuAEAU8ga77BIEw8GbgAgfmSNRwia+DFwAwBxImu8QNAYxJ4UAMSGrHEfYzQ2IG4AIAZkjctYpLENAzcAECmyxk0Ejc0YuAGAiJA1riFoEoE9KQCIAlnjFMZokoU9KQAIF1njCBZpkos9KQAIC1mTeASNA9iTAoBQkDUJRtA4hrgBgDaRNUnFGI2rGLgBAG1kTfKwSOMDBm4AQANZkyQEjVfYkwIAVWRNYrDr5CfiBgBaR9YkAIs0YOAGAFpB1liNoEE1Bm4AoDmyxlIEDRpiTwoAmiBrbMQYDZojbgCgIbLGLizSoHUM3ABADbLGFgQN9DBwAwAVZI15BA3axJ4UAATIGsMYo0FY2JMCALLGGBZpEAX2pAD4jKwxgKBBpNiTAuAtsiZu7DohHsQNAA+RNfFhkQbxY+AGgFfImjgQNDCLgRsAniBrokXQwBLsSQHwAVkTIcZoWpHNdof7AQf4no+OuAHgNrImEizSNFHTMaFXSH0nETo1GLgB4CqyJmQETb2oO6ZG/ceP+QCSgoEbAO4ha0JD0FSrLgnjGVFzAJVjM35gxrEnBcAxZE04GKMJJKIYKseWiKONAXtSAJxB1rSLRRpJbB/QN9XYkwLgALJGH0EjW4Mg6TVQ0zdJ/3K0sScFIOnIGh0EjThaAMGX4+SX1jriBkBykTXKGKNx/lG/Om7E6a+0CQZuACRRqquf+6xW+bxIk8t2j2x9Of6H+dzWwjDyzQ/6JuXxj15YtgGQEGRNS3wOmkA22x1RzeRaeJbhyne+lTeWaH5Szq9RNUfcAEgENqHG5vmu0z/WKsL4aPVdovS9bfGNaz5LKD++YLUmuryzHAM3ABKBrGnG80WabdYndK/cFEVhjKnms4R4DAMD631etmHgBoDlyJrGCBpp75Hb7DRMjdEqR+/YOFuKZ7gBYC2yppbnQSPtjdFYVTOjqZ/U0TjaStx4WzbCnhQA+5A122CMRrRWIBJRM/UaTiIrfQnsSQlxA8AmZM0Wni/StBk0Sf++VR+/6lfEnhQDNwDsQdb4HjSitZOS0OWZVmx5kCZuFDFwA8AGXmcNQaPxMOzG8syY2owbb8tG2JMCYJS/T8fHGI2oBI3DyzNj0vjafV62CeSy7EkBMMDHrPF8kYYVGj0a3wTP44YnJgYQP7+yxvOgEd0xGp+/YzU0vhvEjRA3AOLiS9YQNCzShEXv2+LtwE2AuAEQDy+yhjEaIWjCxp6UBgZuAETN8azxfJGGoIkacaOKZRsAkXI2azwPGmGMJkZ6Azfelo0QNwAi42bWsOskLNLEi2UbDcQNgNC5ljWeL9IQNGYRNxoYuAEQIneyhqAR9UdHdp2iQNyoYtkGQFhcyBrPg0bauKiTz9+0qDFwo4q4AdC+xGcNYzTCrpOtWLbRQNwAaEeCs8bzRRqCJimIGw0M3ADQk8is8TxohJO3E4i4UcWyDQANCcsagoZFmkRj4EYVcQNASZKyhjEaIWiSj2UbDexJAWhRMrLG80UagsY9xI0qlm0AtCIBWRMs0ng7GsIYjcP09qSEuCFuAIzC6qypXqTx8KGaRRof6P3IGLgR4gZAI/ZmTc0kjVdZQ9D4hj0pDQzcAKhnadbUTwd7kjUEjc+IG1Us2wCoYWPWNDzjyYesYYwGwkng6ogbABXWZc1oZ3G7/fjNIg2qsWyjgbgBILZlTZNnpnE1awgajIa40cDADeA5i7Km+bPtuZc1eo9A7n0f0Bxxo4plG8BntmTNmM8g7NjDud4YjbBI4ysGblQRN4CfrMiaVq6K4EzWsOsEPSzbaCBuAN+Yz5oWr/TkQNYQNGgfcaOBgRvAHx2mD8AXnLyNUFSedFtajpvgF8/nuFkzsD6XZ9kG8ILh1ZrWL8qd3Md4FmkQEQZuVLEnBTiP1ZoIETSIVHAJWFH5hRkYWO/5so2I5PLsSQHOMrla0/pSjSRttYagQZwYuFHFsg3gKmNZo9Q0kqisYYwGRujtSQlxQ9wADmETKkws0sAgvT0p8XjgprInJcQN4AqyJhwEDWygcZ6UMHDDwA3gEDObUKo7UGLxNg3XQICdGLhRxZ4U4ABWa9rCNRBgrcrKDXtSLWJPCnAAWaOJXSckAieBqyJugEQja5QRNEgWnphYAwM3QEKRNWo4eRsJRdxo4KoLQOKQNa1ikQYOYOBGFXtSQLKQNWMjaOAYBm5UsScFJAVZ0wxBA1exJ6WBPSnAfmTNqBijgfPa2ZMSL+OGPSnAcmRNAyzSwCtcdUEVcQNYi6zZBkEDP3HVBQ0M3AAWMnPxhN0ffPDxjY9YdQVvggYIcNUFVVx1AbAHqzUijNEAVRi4UcWeFGAP37OGRRqgIQZuVBE3gA2MZc1ZU8/N3W1ywYOgAZpj4EYDAzeAWT6u1ujd57LrBD/xDDcaeIYbwBSTWTNt+szcqrhbQW+MRlikgd+46oIq9qQAIzxarWHXCWgTV11QRdwAMTOcNRfOmJO7KfIFG4IGCAt7UhoYuAFiY361pmf2/Nx1EZYNJ28DoSNuNDBwA8TAfNaIyOVzFuYWh18SLNIAkWLgRhV7UkDUrMgaESnMXZJbGFrZEDRAbBi4UcWeFBAdW7JGROb3Lc/1tVs2BA0QP/akNLAnBUTBoqxpH2M0gEFcdUEVe1JA6OzKmmsW3Jibp9MZLNIAluCqC6qIGyBEdmWNiCy69tbcFQr3iQQNYBuuuqCBgRsgFNZljYgsXba6oyOTmzXGsg1BA9iMgRsNDNwAbbIxawI3rLwrN3PUO0TGaIBE4CRwVexJAe2wN2tE5Mav39fR0ZE7f5s7RBZpgMThJHBVxA2gJ9XVb+AGs/uDD+622x7jx+8wfvz248dv39m5XWfnuHHjOjs7x3V2juvoGNfRkclkOjKZjo6Ojkym44tfOFlERkSEoAGSTOMm6XPcBHJZBm6AViUjazKZzDnTp4jivSG7ToCdiBtVwXeMuAHGlICsOf/800QkpbKOzSINYD+NPzy8HbgJEDfAmKyerRGR888/7bbbHspkMlK1WtOkWggawFq/2uUbXbv8ufLPW548noEbJQzcAGOyN2tmzvzvInLLLd/PZGr/U8NzKwgawHInHbDp2P2er37NeSJ3PHMMJ4Er4RlugCYszZpZs7IrV96VyXR0jH6A1XtSjNEA9nv5iZUDT2x5+c19ixf/yyPlkVT6havWvCDCM9wo4hlugIbSpg+ggUsvnbZixUArb1m9JwUgQc6c+KSIfP2JEyuvWTOwvvK3SosGBtZXtqU8FHzHBvM9g/ke08cC2MK61Zorrjhv2bLVTRZpKmr+tmMTCkiKPY+aueuObz718n4TXuqt+U88w40q9qSAanZlzbx5F1977a1jNk3Dez2NJzMFEL9X9vifZ+/3whvvbP/ij25p+AZcdUEDe1JAwKKs6evrWbDgxs7OMd6sebho/KkHIE5fPuahlIwUHsoe0/TN2rnqgngZN5wnBYg9z1uzePHcvr7lYz4dn7TcK8QNYKFjTzlrz51fX/X0sR2/6WvxXfRuyzzDjRA38JIVqzWLF8+dO3fJuHFjvJnS/Rp7UoBtdvnkl/fc+fVf/3nP1ptGtPakhIEbBm7gK/OrNTfdtHjOnIVNnmX4gvNPC95LL1BYtgEscXb2hJSM/OmtCX99e4fKK//z7zv98adfa/EjcNUFVSzbwDdWrNY0ccH5p33ztoeqN6FU6f2pByBcG983cLaIiOy20xu77fRG5fV/fmvnP7b8QdoZuPGzbBi4gW8Mr9asWrVy9uz5Da8J1TMrKyI33/L9ymxN+1FC3ABG7HlQRkRefqEU1gdk2UYDKzfwgaWrNT2zsjesvCuT6Qj3ABm4AdzASeAaGLiBD0xmzapVK2fMmDN+fO3rL7t02vIVA1J3KaiwcBI44AbiRgPPcAO3Wbdak7/ivKXLVkd9XAzcAM5g4EYVAzdwmLHZmo0bH5k+fWbleWuC2Zqr+noWXXvraM9bE1F/EDdApILBmkCI4zX1GLjRwMANHGPRas1VfT3XLLhRxnqW4dAxcAO4gT0pDQzcwDG2ZE1x4eXz+5bH3zQVDNwAbiBuNDBwA2eYyZqNGx+ZOvXcyrDwksVzC3OXyFjPMhw1Bm4AZzBwo4qBG7jB/GrN8uuuunzOQoPrNDWIG8AZGquwXHVB2JNCkpnPGjsxcAOEonpeOPhnpFPD9diT0sCeFJLLcNZ846bFPbPn27NUU4OBG6BNL79Qiu1MqCba2ZMSL+OGPSkkFKs1Y2BPCmjTyy+Ucrnj16zZYPpANPekhIEb4gbJYTJrVq9aeeGMOVL3LMMWYk8KcIPeHyoM3AgDN0gIVmsUsCcFuIGBGw0M3CARjGXNPXd/a9r0mYlYqqnGnhTgDE4CV8WeFOxnIGumvvFa/J80XMQN4AxOAldF3MBmBrLm7gm7F+P/rBFg4AZwA3tSGhi4gZ3MbEKlREZEphv53GFj4AZwA3GjgYEb2IaR4RCwJwU4g4EbVexJwSoms2aPPXZ6/XUzz80VBeIGcAYDN6rYk4IljGVNodBbLPbPmDHH1AFEhIEbwA3sSWlgTwrGGcua3/3uTyKyyy6Zt982dQgRYuAGcANXXVDFnhTMMrkJFSzYzJ493+AxRIc9KcAZXHVBFXEDU0xmzSuvvCUi48e/Ozy8ncHDiBR7UoAbuOqCBgZuED/DZ0IFCzZz5iw0exhRY08KcAMDNxoYuEGcDGdNcCZUR8ffRP7J7JFEjT0pwBmcBK6KPSnExvzz1syePf+6664qFHpFdjd9LJEjbgBncBK4KuIGMUh19Zv53RrM90ybPnP8+O3Hj9++s3O7xYvnFgq9O+64d2fnuI6OcR0dmUymI5Pp6OjoyGQ6MpnMOdOnONYBDNzAH7nc8WvWbDB9FFHR+EPF57gJ5LIM3CAS5ldrAnPnLikWLy8Uej/wgf1NH0tMGLgB3MDAjQYGbhARW7JGRPr6lheLPYVC74c+dIjpY4kJe1KAMxi4UcWeFKJgbBNKRAbzPRfOmBNsQnV2jhs3rrOzc9y8eRcXCr277/4x5zehahA3cJjbm1A12JPSEHzTiBu0z6LVmkBwyneh0LvnnoeZPpZY8Qw3gBvYk9LAM9wgLCZXa0RkMN/TM3t+9WpNMDJ86aXTRKRQ6O3qmuTJak0FyzZwj1erNdVYuVHFsg3aZN1qTWDFioHXXns2WLY54IBjTR9OrBi4AZzBwI0qBm7QJsOrNSIymO+5fM7CmtWaygneF110hoisWrXWn9WaasQN3ODtak0FyzYaOAkcGsxnjYgM5nsKc5c0zJqOjo7BwZ8Ui/0pjx/dGbhB0pE1AeJGFXtSUGVF1ojIYL5nft/yhlmTyXS8+OKP+ov9I97ftokbJBRZU03jDxXiRogbtCZt+gBa8tGPHi8ihUJvNtu9efM604djwJqB9cHT9wU3bwDJpXFbHhhYX7nwgoeCO8DBfM9gvsf0scB2tqzWiMhgvueaBTc2v3jC5s3risV+ESkUeidOnGz6kM1gTwqJw2pNQ+xJaWDgBs1ZlDUiMpjvWXTtrWNeE4q4YU8KyULWNEHcqGJPCk3YlTUiMpjvWbpsdSuXuqzEjee3beIG9iNrxqQ3cOPtvZ8QNxiFdVkjIsHu6Q0r72rl4glB3Hi7bCPEDZKArGkFyzYaiBvUsDFrAoP5nhu/fl8r14RiT0oYuIHdyJrWETcaGLhBhb1ZIyKD+Z6bb/l+ixdPIG5YtoG1yBpVxI0qlm0QsDprZOuG1O0tP8swe1LEDSxE1uhh4EYVcQPbsyYQxE3rN+/grxbihriBJcgabSzbaCBufJaMrBH1smFPShi4gTXImjYRNxoYuPFTYrImQNyoYtkGNiBrQkHcqGLZxkMJy5rAYL5H6YbNwA1xA7PImhAxcKOKuPFKIrNG1JdthIEb4gbmkDXhYtlGA3tSnkhq1gTYk9LAwA3gBuJGFcs2Pkh21gS048bz2zZxAzhAb09KvL8DJG5c5ULWBBi4UUXcAG7Quy0zcCPEjYvcyRphT0oLe1KAG9iT0sDAjXucypoAcaOKZRvAGcSNKpZtHONg1gT09qTE+9s2cQM4gJPAVRE3znA2a0TrJHAGbogbwA0s22ggbhzgctYE2JPSwMAN4AbiRgMDN4nmftYEiBtVLNsAziBuVLFsk1y+ZE2Ak8BVETeAMxi4UUXcJJFfWSNcdUELcQO4gWUbDcRNsniXNQH2pDQwcAO4gbjRwMBNUniaNQHiRhXLNoAziBtVLNskgtdZE2DgRhVxAziDgRtVxI3lyBoRBm60EDeAG1i20cCelLXImn9gT0oDAzeAG4gbVSzb2ImsqaUdN57ftokbwAF6e1Li/R0gcWMPsqYxBm5UETeAG/RuywzcCHFjB7JmVOxJaWBPCnADe1IaGLixAVkzBuJGFcs2gDOIG1Us2xhH1rREb09KvL9tEzeAAzgJXBVxYxBZ0yqNk8AZuCFuADewbKOBuDGCrFHDnpQGBm4ANxA3Ghi4iRlZo4O4UcWyDeAM4kYVyzZxImv0cRK4KuIGcAYDN6qIm3iQNW3hqgsaiBvADSzbaGBPKmpkTQjYk9LAwA3gBuJGFcs2kSJrQkPcqGLZBnAGV11QRdxEhKwJGQM3qogbwA1cdUEDcRM6siZ8DNxoYE8KcAN7UhoYuAkRWRMV9qRUsWwDOIO4UcWyTVjImmhx1QVVxA3gDE4CV0XctI+siRxXXdBA3ABuYNlGA3HTDrImJuxJaWDgBnADcaOBgRs9ZE2siBtVLNsAziBuVLFso4GsMYCTwFURN4AzGLhRRdwoIWvM4CRwDcQN4AaWbTQQNy0ia0xiT0oDAzeAG4gbDQzcjImsMY+4UcWyDeAM4kYVyzbNkTW2YOBGFXEDOIOBG1XEzWjIGoswcKOBuAHcwLKNBvak6pE11mFPSgMDN4AbiBtVLNvUIGsspR03nt+2iRvAAXp7UuL9HSBxI2SN5Ri4UUXcAG7Quy0zcCPexw1ZYzv2pDSwJwW4gT0pDZ4P3JA1yUDcqGLZBnAGcaPK52UbsiZJ9PakxPvbNnEDOICTwFX5GTdkTcJonATOwA1xA7iBZRsNvsUNWZNI7ElpYOAGcANxo8GfgRuyJsGIG1Us2wDOIG5UebJsQ9YkHieBqyJuAGcwcKPK+bgha1zAVRc0EDeAG1i20eBw3JA17mBPSgMDN4AbiBsNTg7ckDWuIW5UsWwDOIO4UeXesg1Z4yYGblQRN4AzGLhR5VLckDXOYuBGA3EDuIFlGw1u7EmRNY5jT0oDAzeAG4gbVQ4s25A1XtCOG89v28QN4AC9PSnx/g4woXFD1niEgRtVxA3gBr3bMgM3ksC4IWv8wp6UBvakADewJ6UhcQM3ZI2PiBtVLNsAziBuVCVr2Yas8ZfenpR4f9smbgAHcBK4kgSVDVnjNY2TwBm4IW4AN7Bs07qgAhMRN2QN2JPSwcAN4AbiphXV93iWT9uQNdiCuFHFsg3gDOKmuZo/5GxetiFrsA1OAldF3ADOYOBmNA2/M3Yu25A1qMVVFzQQN4AbWLZpaLTgs7BsyBo0xp6UBgZuADcQNzWa3LnZVjZkDZohblSxbAM4g6suVDT/VlhVNmQNxsbAjSriBnADV10IjFl49pQNWYOWMHCjgbgB3MCeVCsLV5aUDVkDBexJaWDgBnCDz3FD1sBl2nHjwG1bD8s2gDP8HLhp8au2oWzIGmhi4EYVcQO4wcOBm9ZjznjZkDXQx56UBvakADd4tSdF1sAjxI0qlm0AZ3gSN0p/j5ktG7IG4dDbk5Kk3bZDRNwAznD+qgtkDXykcRI4AzfEDeAGt5dtVLvNYNmQNQgZe1IaGLgB3OBq3JA18B1xo4plG8AZ7sUNWQOIcBK4OuIGcIZLAzcaX4upsiFrEC2uuqCBuAHc4MyyDVkDbIM9KQ0M3ABucCBuyBqgAeJGFcs2gDMSfdUFsgYYFQM3qogbwA3JveoCWQM0w8CNBvakADckcU+KrAHGxp6UKpZtAGckK27IGqBVXHVBFXEDOCMpJ4GTNYACrrqggbgB3JCIZRuyBlDGnpQGBm4AN1geN2QNoIm4UcWyDeAMa+NG4+IJ3Sd85g+TT4zukEbTEf+nBJoI6j6Xb/UmNHHi5IGByVv3pMTDsgm+UcQN4IDKzbn123IQNDacBG4JVmtgKU4C10DcAG6wbdmG1RqgXZVlG2n5tj0wsH7rnpSn08Qaf+oBsJDGKmxl2UY8PlFUWK1BIjBwo4plG8AZNqzcKP2xlMt2n3Hm9DfeeN3Iag1Zg8TgqguqiBvAGWaf4ab1z57Ldp9z7iVvvfUmWQOMjYEbDcQN4AaDyzZkDRAh9qQ0MHADuMFI3LR4B5LLdl84Y867775jMGsYGUbyqE4TV58ELtLv5zDdmoH1LNsADmjnJHDxYJqY1RokGwM3qogbwA16t2W9gZtWKiqX7b5k1pXvvvu22dUasgaJx56UBvakADfEsyc15j1GLts954qF77zzDlkDhIO4UcWyDeCMqOOmedbkst1z5y0dGnqXrAFCprcnJR7sN4+GuAGcEd1J4E0+ci7bPb9vxdDQEFkDRELjJHAGbogbwA0RLduMljW5bPc1C24c2oKsASLDnpQGBm4AN4QeNw3vHHLZ7v5Ftw4Pv0fWADEhblSxbAM4I8S4qc+aXLZ76bJVQ0NDZA0QN04CV0XcAM4IZeCm+oME9w/LV9w5PDxE1gBmcNUFDcQN4Ib2l20qWZPLdn/9pvuGh0ul0jBZAxjGnpQGBm4AN7QTN8H7isjNt3y/VBomawCLEDeqWLYBnKEXNymR21etLZVKpdIwWQPYiIEbVcQN4AylK3IHL4yI3HbbQ2QNYC8GbjQQN4AbxrwtV79BLtt9+6q106dPuYVNKMBy7ElpYOAGcMNocVNzGw+yplQqfeELJ4vIypV3kzWA1bTjhqsumD4QAO2qP3+7/llqqmdrZsw4YwUneAP2Y+BGFXEDuKEyQzPaRRJqRoZnzpwqIovse5bhdPyfErBW16LluWx35eY9pokTJxcKvcVifzbbvXnzukiPzU5rBtavqTr5E0AS1YzRtPIuK1bcuWzZqnz+vGiPTB2rNUADDNyoYtkGSKiGF0aQbW/O9as1ldmafP68Pq7gDSSC3p6UMHDj65cPJEvzG2zNwE2T562ZN+/iefOWkjVAAmicBM7ADXEDWK7FG2nlzZpnzdDQUF/frCuuWEjWAMnAnpQGTgIHLKTxV0fwLmM+y/CCBZfNmnUlWQMkBnGjimUbwCraf2wEt+VvNn2WYbIGSCROAldF3ADGtXkzDDahzpk+RUSaXMH72mvnzpgxx2zWdMT/KYFE61q0PJdXuIOYOHHywMDkYrFbxNO4qT5rlLgBYhbiTS9Yrblgxmk3rLy7/Y8WEVZrAE3sSWlg4AaIU1i3uJqR4YtmnCEiS5etqn+W4RUrrj733EvYhAKSirhRxbINEINwb2gNz4TqmXV2f6NnGb7ppsVnnjmdTSggkboWLReRXL7VP4mCPamtAzfiYdmwJwVEKrYb19Jlqy7LT79mwY1RfyIlrNYA4dB4hptstls8XrYR9qSAUEUXNE2et6Y3f978umcZ/ta3rj/hhM+wWgMkWGXZRlq+WxkYWL91T8rfaWKWbYBQmPoj4ZoFN36l7+K585bG/6kbImuAMKnGTfWelEi/h1ddYE8KaJPxm8/8vhVXLZg154qFpg6gGptQQFR4hhtVxu+dgWSJ7SYz5sUThoaGFi647JKqp+O7995V/7zIQGCwWgNEReMZbgoF8XxPShi4AVrA3wCjIWuACLW5J+Vt3HCXDTRhZ/rPuWLh4hVzL5wxx+xhkDVA5No5CZyBGwvvvgFTLL9RXDLryutvuvqccy8xeAxkDRATvasubN68rljs9nbZRqy/HwfiwQ2hRWQNEB+Nk8AZuGHgBp5LVtBcOGPON761+Iwzp5s6ALIGiBsDNxoYuIGfCHpVZA1gBlddUMWeFLyS3F/1c8695PZ7rzf12ckawCS9gZtisdvnZRtJ8j0+MCZ+vdtB1gCGcdUFDQzcwFX8VreJrAGswFUXNDBwA5e49MvcW+iVYr+RT03WABZpY+CGk8AdeTyAh9z7BS4W+1MiXSY+NVkDWIerLqhiTwoJ5V7QGEfWADbiJHAN7EkhWVwN8d1338HgZydrAHtx1QVV7EkhEdz+FS0W+888c7rcu8rIZydrANtx1QVVxA2s5fyv5WyFNcYAABBtSURBVC67ZMweAFkDJABXXdDAwA2s4nzQBIrF/kKhV+RVUwdA1gCJwcCNBgZuYANP8nrFiqsLhd7XXvu7wWMga4CE4aoLqtiTgkH+/OJlMn8TkddfL5k9DLIGSCSuuqCKuEHMfPtlKxb7Z826UuRts4dB1gBJxVUXNDBwg3j49ju2YMFlhUJv5Z/33bsquIOKH1kDJBsDNxoYuEF0PPzV6uubVSj0lkrvF3nH9LGQNYATGLhRxZ4UQufnr9O8eRcXCr3p9IdKpXdNH4sIWQO4hIEbVcQNQuHtr1A+f16h0Lvddh8eGhoyfSxbkDWAUxi40cDADdrh52/Oa69tCp6iZscd965pmtu/db2pwRohawAntTlw4+FVF4SBG6jz9hfm5ZefDppmwoT9h4ffM30420h19RtLKgAxGMz3KN3tbh248XHZJuDtYxVa59svSS7bffuqtaVSqVQaHhz8SbHYv2LFncPDQ0NDQ8PD7w1t8e4777xz/YqrDS7VCKs1gPM0Bm646oL4urOAMfkWNNVefPFHxWK/iKxcebfIcP0bGG8aIWsAH3ASuAb2pFDP59h9/vkNwTruPvscKWL4qYSbYBMK8IvenpSI+DlwI37/dY4Kn38NNm9e11/sHxG57baHSqXhUml4eLhUKg3XbEItXHCZ8aUaIWsADw3me0TxDpqBG58f1Tzn+Y8+uO2nRCqzNQ2z5qq+WTY0jZA1gLdU46aybON53Hj78OYhgqayUls9MlyfNV+Zd7ElTSNkDeA54kaV5w91/vA5Yetv5k2ypjd/nj1NI2QNAOEkcHXEjcM8/+Fms91S93fLaFlz2aXTrWoaIWsABDQGbhre/XnF88c/93j+A23y50rDrOmZdbZtTSNkDYBq7Elp8Hm3wiU+/xzHvCHXZ82XZk61sGmErAFQj7hR5flf+Unn84+vxRtvddZccP5psvXZsCxE1gBojIEbVT4/OiaU5z+y1veRK1nzxS+cbG3QBMgaAKNi4EaD54+USeH5j0n1j5Aga86ZPsXyphGyBsCY2JPS4POghv18/uno3TyDCrS/aYSsAdAi7bjhqgumDwT/4PMPxfmgCZA1ABQwcKPK58dRq3j+g9C7Jeay3QkKmgBZA0ANe1IafN71MI6g0Vg3TdwiTQVZA0AHcaPK8wdXU3wOSk92nWqQNQD06e1JCQM3vn75cfL5W+1n0ATIGgBt0TgJnIEbnx9xY+D5t9efMZqGyBoAIWBPSoPP+yMRIWi8GqNpiKwBEBriRpXnD8Ph8jkTfd51qkHWAAgZJ4GrIm7a5Pk3UOOpvZ0MmgBZAyB8XHVBg+ePzXo8/6Z5PkbTEFkDICrsSWnweSdFlc/fK3adRkPWAIgWcaPK8xWIVvj8LSJomiNrAMSBgRtVPj9yN+H5t0Vvr9btXacaZA2AmDBwo8HnfZYangeN9hiN+LFIU0HWAIgVe1KqPH84D/icd+w6KSFrABjAVReUBA9R4l/cVL5w8e9rF4JGS4fpAwDgo65Fy3N5hUWIiRMnDwxM3rx5XbHY7eeyzZ3ffjSdzvx79pjgn84/xgePzXff8+NyuVQul8/+/KdMH1HcqnedJk5s9b28GqNpiKwBYEZw56saN4WCFIv9Ip5OE99z74/T6Uw6nT49e6Q4GjdB0Hzv/idLpVJZyqYPx4DqtUmloBGPF2kqyBoAJqnGTdWyjb9xIyLff+DpdDrzmewnxKG4CR6YH/zBL8rlcllKpg/HAHad2kfWADCvEjfqe1L9Iv1+DtyIyP96+Nl0OjMle0jwz4T2TWWAZu26X5VKBI3CrhNBU4+sAWALBm70PPLD51OpVDqd7s4eELwmEX1TqZn/vf7FkZFyuVwe8XLLSRijCRVZA8AiDNy0Y8Ojvwv65tjsvsFrbOub6jObfrTxpXK5PDJSLsuIwUMyizGa0JE1AKzDwE2bNj7+h3Q6lUqlJ2X3rH59/JVT3TEi8tMnXhkZGdm6NuNvzQhjNJEhawBYqp2Bm0JBPC+bwBM/ezW1lUjqiOyuNW8QeujUdMxTT/9lZGREZCTg55lN9aqfPpsxmnCRNQCspjdwUyx2s2xT76mn/5KqIpL6RHZCuJ/il5v+OjIilY7xfEmmHmM0USNrANhOY+BmYGA9e1Kt2PTsm6mUiKSC/w1eue3Lqeq3HxkZqXsxqBjZkjJ0zCjYdYoHWQMgGdocuPH2JHAYx8nbcSJrACRJGwM3Xp8EDlM0xmiEXac2kDUAkkdj4IaTwBEz7TEaYZGmDWQNgETiJHBYizEag8gaAAnGVRdgFcZojCNrACQeV12ADTh52wZkDQAXcNUFGMQ1EOxB1gBwBwM3iBljNLYhawC4hqsuIAaM0diJrAHgJq66gOgwRmMtsgaAs7jqAkLHGI3lyBoAjmPgBqFgjCYRyBoAXmDgBu3gGghJEU7WXHTU4R8Y/76aV/76z3+5/9e/CeXjA0AoGLiBKq6BkCzhZM2uO+6w6447VP6547hxR+/7kdXPbCJrANiGgRu0iF2nJAona67+4WPV/7zh9JP/8Nc3rnrksdHeHgDManPghqsuuI2Tt5Mr/NmaC/7bYcftt/fEZTeG/pEBIFxtDNxw1QVncfJ2ooWfNZcdO6n3oR+G/mEBICIaAzdcdcFJnLztgJCz5qdfOv87m5773nMvhPthASBSnATuOcZonBFm1nwnN/XVv701f92GED8mAMSmnZPAGbhJKMZoHBNa1lz5b8ft98EJR6y4OawPCABG6J0EzsBNEjFG455wsua0gw/MHfaxA6+9PpSPBgBmaZwEzsBNsjBG46pwsmbBSd1rf/O7Ft+4u2vfw/f68LWP/rjm9b3HH92/4fFQjgcA2sfAjZMYo3FbCFkz7bCPv6+z8+SD9j/5oP1r/tM/L1pR//brB19aduqU8sjIksd+Unnloxed+4tX/tT+wQBAuLjqgks0roFA0CRLCFmz+plNq5/ZpPQuyzb+tHD80ZWsufy4STttt92XH3i4/YMBgChw1YWkY4zGE2Yudbnq6U2fPfjANWefkbvzPhH54hGH9j3yqJEjAYAWcdWFhGLXySvhZM1/LLh413lqTyt85uq7XpjzpdMPOejMiQf/8tU/3bXpuVCOBAAixcBNgnDytofCyZp0ulPjvW558pkFJ52QSsnBS1aGchgAEA8GbuynMUYj7DolX7r9DzHY+/9E5PeFD6q+45LHflIeGbnn2V+3fwwAEL+uRctz2e7gj/tWTJw4eWBgfbHYn812b968LtJj89nmzeuy2e5CoXdgYL3SrhNN44AQVmtSqaNFJJM5XGSt6vsOlUtvvfte+8cAAEYwcGMVxmgQQtZkMv9FRDo6dm7/QwFAErU5cMNVF9rHGA0CIWTN3tesfWluuVy+WWSf9j8aACRUGwM3XHWhLZy8jQozJ3gDgKs0nuGGqy5o4xoIqGE4aw677iazBwAAoeMk8BgwRoOGIs+awX17RETeFMlI11/4TQLgi3ZOAmfgpgnGaNBE9Ks1GUkfnC5vLsuzIjtF/tkAwCp6V11g4GY0jNGguQizZlB60qek05l0+bGy7CJdO/ErBcBHGieB1wzcRHt8CcEYDVoRSdYMPt+TujCV/kC6/Nty1/PLRUTejOLzAEBitDNw0y+yadPDhx56SuRHaaVNmx6Wz0tlkabF9yJo/JTq6g/hR/7S3BPL5Zu7+vcRkd9/bHZqn9TIn0f2+9l17X9kAHDPYL6nxWWbQC7bPSIiIoVC75FHnp5Op9PpTDqdyWSCF9KpVCqdTqdS/3hh6+vSqa1EUjW2vkZEtvxv8Om2fTlVfSQjIyN1L46IyEjwP1tUvxz8e8sL5XJ56/+Xt/6z8mJ5ZKRcKpXL5VK5XC6XS6VS6ec/vz9YoUm1vNAlBI3fwlytGfxIT/oT6dQ7qfId5a738/sEAI2pDtyIyLe//eimTQ9XtqUmTZoa5QGa98QT9xWL/WecIYVC78c/fpJ8/lMtviNjNJ4LIWuW/9euf/3P3V96adrh71tefqrc9epyeX+zty8cf3Rxw+PVr5l22Mc7M+lv/vwX7R8MACSCxsDNoYeecu+9pz711AOVuDnuuGy0R2nC449/p1jsP/VUKRR6P/nJUw89tFQul1t5RxZpIKFkzV577TVhwoTddtut78Pl21vY0tprws7rLpg2+ebVlddceeJxM+55oP0jAYBk0YibI488/f77zwgWM4K4OeGEc6I9yrhs2HBHsdj/6U9LodB71FFnHHEEQQNlIczW9GyfmjRp0mtHHNGVSv3fkZEvFMceqfn5rAu+s+m5JY/9REQevejcJ/74cu9DP2zzMAAg0ZoM3OSy3Xd++9HqYZpgtubxx78djJ6ISHDC1EknXZCs2ZqHH75ZRKq/iqOP/vfKbE3wQrlcPvvzn2ryzSFoUBHOyHDFbYXZ/5RK/X5kpKdp3Jzy0QOWfmbyQYtvmH/icSfu33X0174Z4jEAQEIN5nuk0bLNaFkT/HPDhtWybRmccsrFlmfNAw98reaYu7un148MN88aFmlQL+SsEZFpvT2np9PjRJ4sl786+gdf8dlPT9xt1z12fv8B114f7gEAQKLVx03zrKk+E2rt2luqW+H002fZljVHHbVH5aMVCr1TppzX5Eyo0bKGoMFows+awILeno+l02+L3FUu3zPKp/htftYvX3lt6h13R3EAAJBo1XtSrWdN5YUf/ODGSt8Egl2qqVMvjzNr7r57iVStylQO45RTLmrlBO/6rCFo0FxUWRO4oTB771TqwB13fOntt6d8dUn1f/ra50458EMf3GvCzjPufWDD4P+J7hgAIKEqyzYaWVO9CfXd7y6XbdsiUCj0nn12IdysufPO/oafSEQ+97ke1eetqckaxmgwpmizRkQ29uV36ujYMZP5j/femzR/y+/6Zw85qP/TJ3x0ycqvnHDsyQftP2nlrZEeAwAkVxA37WRN9drMPfcsrXzk+v6oUbluw7Rp/2P16q+qvpeInHXWZe08HV911giLNGhB5FkjIoXenh1SqUMzmbdKpc8XrxORp3ouvOOZZ6/b+ISIbJhxzjOv/umyB9ZGfRgAkFxB3Nxz74/bzJrRZmsGBhbWf9KGBdPwGlXZ7NwonmW4XC5PPetfhaBBy+LImhrfOOvUj+y880m33lF5zW/zs2Z+9wfrXhyM+UgAIFmCuPne/U/6cPGE0z97pBA0UBThFbwbmvqxg4/bb58Dtz376a5Nv/rqlG6yBgCaCx7jT88fKSIP/uCXpg8nKqed+kkhaKDFwGoNAKB9wcrN2nXPObNaM/nEg4OPSNBAW9yrNQCAUASP/VPyhwT/XL/hRaOHo++E7gOCF6gZtI+sAYAEq6RAd/6Ayis3Pv4HQ4ej4Nhj9g1eoGYQIrIGAFxQHQfH5PcOXnjiZ68aOpxRTfqXPYMXqBlEgawBANdUiuGo/IerX//U03+J/2COOHzX6n9SM4gUWQMAzqppiMPzH6r+5y83vRHFJz30Ex9ocgxApMgaAPBFTWF8Ij+hlfd67td/D1445OAdND4LECeyBgA81WJ/HJLfQentAYPIGgBAM9QMEiRt+gAAAADCQdYAAABHkDUAAMARZA0AAHAEWQMAABzx/wELtwOYCGnxxAAAAABJRU5ErkJggg==<Mask>
+<Rect height="27" type="negative" width="20" x="372" y="147"/>
+<Rect height="54" type="negative" width="50" x="11" y="413"/>
+</Mask>
+<Algorithm description="Simple comparison (pixel by pixel)" name="simplecompare">
+<Parameter description="Threshold" name="threshold">0</Parameter>
+<Parameter description="Tolerance" name="tolerance">0</Parameter>
+</Algorithm>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP1 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP1
deleted file mode 100644 (file)
index fedb414..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP2 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP2
deleted file mode 100644 (file)
index 86c8cdf..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAH7CAIAAAAhHuxOAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAXT0lEQVR4nO3dfXTddX3A8e+9aUtbSkEEmSCzErSiraLCRFERRAVF5ElPKeqRyUDo0VR3wODiejojxLFhMy1HHjyoCPjAQKCMOp62zjHbw+ypOpBhkAexMpQWK32iSfbHxRjobZqH372/3/38Xq8/cpJ7mvv7NmmSdz/f772ptPf0JgCA1lfNewEAANmQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACCISXkvANi5vs6Oodfbe3pzXAlAkckaKJbhBTOkq2vp0OvdnQvqvqPcAaj4Vgi5G54ywwtmTLq7n80dX9RAackayFMtaMadMnXpG6C0ZA3koxFB8zy1vvE1DpSHrIFma0LQDCdugPKQNdA8TQ6a4bq7F/hiB8KTNdAMOQbNEGMbIDxZAw3X19mRb9AMJ26AwGQNNFARhjR1iRsgJFkDDVHYoBnOgRsgGFkD2SvUrtPIjG2ASGQNZKklhjTbEzdADLIGstGiQTOcPSmg1ckamKgAQTPE2AZoabIGJqSFjtGMnrgBWpSsgXGKNKSpS9wALUfWwJiFD5rhHLgBWoisgTEoVdAMMbYBWoWsgdEKeYxm9MQNUHyyBnaunEOausQNUGSyBkYiaOpy4AYoJlkD9QmakRnbAAUka6COkh+jGT1xAxSKrIHnMKQZB3EDFISsgWcJmgly4AbInayBlOw6ZcTYBsiXrKHsDGkyJ26AvMgaykvQNJQ9KaD5ZA1lJGiaw9gGaDJZQ+k4RtNk4gZoGllDiRjS5EjcAE0gaygFQVMQDtwADSVrCE7QFI2xDdA4sobIHKMpLHEDNIKsISZDmpYgboBsyRqiETQtx4EbICuyhlDsOrUoYxsgE7KGODRNqxM3wATJGoLQNGHYkwLGTdYQgaYJxtgGGB9ZQ8vTNFGJG2CsJuW9AID6arXa3SlugNEyraG1GdWUhAM3wGhU814AwM51dS3t6+yoPSkRwI7YhAJagz0pYKdkDdBKxA0wAlkDtJ6huFE2wHDO1gCtyoEb4HlMa4AWZk8KGM4DvGlte91w48qVd3qMN8nT9wGmNUAYDtwApjW0tr1uuHGvvf7slluuMbApvqM+esnhs+4fHKw8vG6v9Zt3PWDPx2dO3bT6sVnLLv9UthcytoHSMq0hgnnzzunuXqBsCm6PqU+vWfvSmy79dO3N8z/36Slt2773k8OmZX0hB26gtDwSiiBOP/3c2v/RKazpU7YONc1rP/jN6VO2rFn70mkr39Sgy3V1La09VKpB9w8UkKwhjnPOWaRsiuzhdXsNvX7SnFUppesuOa/RF/UgcCgVm1CEsnDhBbWysSFVQP9x1Vm1V44/8+JqZXDZfa9vznXtSUF5mNYQzXnn/WP646FRCmjdG+45ZP8Ht/ZPWnnNx5p53aE9KZMbCEzWEFNX19Lu7gXipoA6j7ypkgavWHVU7c22t93VzKs7cAOx2YQirGe3HuxJFcnMo5fvt/uTTzw9c+2/vL92y8lzV313xZFNXkZX11J7UhCSrCE4cVMoZx92WyUNXrzivUPfeqa0bctlJQ7cQEiyhlIYihtlk6M5p3xrxi6b7338JZPufkvtlvmfuGDDlqk5LkncQDCyhhKpHbhJxjZN984T56SU3jx3VUpp7xm/n/+JC1404/cvnL4hpXRX36tzXpzfugCByBrKxZ5UjhYv+qe8lzASB24gAFlDGYkb6rInBa1O1lBeDtxQl7iB1iVrKDsHbqjLgRtoRbIG7Ek13BFveFtX1yV5r2I8HLiB1iJraG0rV9753vfOz+Su7ElRlz0paCGyBp7DnhR12ZOCliBr4PnsSbEj9qSg4GQN1CduqMueFBSZrIGROHBDXeIGiknWwM45cENdDtxA0cgaGBV7UuyIAzdQHLKG1tbe03tLZ8e8eec053LihrrsSUFByBoYMwduqEvcQO6qeS8AJqq9p/fb387hGWxrB25qkxsY0tW1tKtraV9nR94LgTKSNUTQ3tN75ZUXNf+6tR9g4obt1cpG3ECT2YQiiPae3ks6OxYuvKD5l3bghrrsSUHzmdYQR3tP75Iln83r6kOTm7wWQDEN7UmZ3EATmNYQSntP79/n+sPDM9xQl2e4geao+BojpNr/jHNsC3EzXHf3OV1dORzrLqDaPwzfeKFBZA2R9XV25BsWHgROXeIGGkTWEJyxDYXV3W1PCjImaygFcUMxGdtAtmQNJSJuKCZxA1mRNZSOAzcUk7iBiZM1lJGxDYXlwA1MhKyhvMQNxWRsA+Mmayg7cUMxiRsYB1kDKTlwQ1GJGxgTWQPPMrahsBy4gVGSNfAc4oZiMraB0ZA1UEcR9qSSuGE74gZGJmugvtzHNsmBG3bAnhTsiKyBkeQeN8Y21GVsA3XJGtg5cUMxiRt4HlkDo1WEAzfKhu2JGxgia2AMjG0oLAduIMkaGAdxQzEZ24CsgXESNxSTuKHMZA1MiAM3FJO4oZxkDUyUsQ2F5cANZSNrIBvihmIytqFUZA1kSdxQTOKGkpA1kD0HbigmcUN4sgYawtiGwnLghsBkDTSQuKGYjG2IStZAw9mTopiMbYhH1kAzGNtQTMY2BCNroHnEDcVkbEMYsgaaTdxQQMqGGKp5LwBKp72nt72nt9YWuejqWtrVtTTHBQA0iGkN5MbYhkIxsCEAWQM5EzcUh7Kh1U3KewFQdrWfIt2dubVF7aLiBgjA2RooBAduACbOtAYKpL2nN8exTe26xjZA65I1UCz2pADGTdZAEYkbgHFwtgaKy4EbgDExrYGic+AGYJQ8bw20DM9wQ0N1dy944xvf8dsTj897ITB+sgZaTF9nR75h0d29QNnE09294LjjTnviid/IGlqaTShoMfakAHbEtAZalT0pstLdveDUUxds2LDetIZWJ2ugtYkbJqL26Tv99HM3b94oawhA1kAEDtwwDt3dCxYuvHDr1s2bNm2UNcQgayAIYxtGr/bJOu+8i7du3SJriMSRYQjCExMzSrXRmmdZJCRZA6GIG0bg80J4sgYCGoqbHB8Enhy4KRJBQ0nIGgjLM9yQBA0lI2sgMntSJWdgRtnIGoivOHtSSdw0i4825SRroCyKsCeVzA8aT9BQZrIGSiT3PankwE0j+cCCrIHSyT1u7Ek1gjEYJFkDpVWcAzd+GE+QQIQhsgZKrQgHbvxUHjcfOngeWQNlZ0+qRRl0wfZkDZCSuGkpPkqwI7IG+BMHbgqu0UGzcuUd7X6DN61M1gDP58BNAfmAwGjIGqAOe1KFYnwFoyRrgB0SN7kr898dxkHWADvhwE0uBA2Mg6wBRsWBm6bJ66+5bNnVtYSF1iVrgNGyJ9UEeQ2lrr12qaYhAFkDjI09qQaJnWvQHLIGGA97UhnK/S9y5ZUXGdUQg6wBxsmeVCbyHTstWXJ++uOnEgKo+NcMTFxfZ0fKtS1aMW7yXXPt6n4EEIysATLT19mRb1i0yoGb3COsu3uBb/6EJGuALBnbjCz35RnSEJusAbInburKfZhkSEN4sgZoFHFTnJUY0lASsgZorJIfuBE00EyyBmi4co5tBA00n6wBmqQ8cZN70CTHaCgrT8cHNEnuT9+XUlq06KuLF3+8cQuoBc3ixZctWnRmI+5/9GvQNJSTrAGaKvdfKfX5z39t0qTJ55//kdqbmSyjVhIppS9+8Vvbtj2zbdszE7/PcS9D0FBmsgbIQe6/Uuqii65pa5tUrbYtXHjy0I1jWsxQyqSUenuvHxjo7+/v7+/fluUqx7gYQQOyBshHEfakUkpf/vL3q9W2arWtWq2cddaxo3/HSy9dPjg4MDAwODCwrb+/v3Er3CnHaGCIrAHylPue1HCXXfaDarVaqVQrlUpKadjLwcHBNPRyYGBwcHBgYGAg39UmQxrYjqwB8pf7nlTLETRQl6wBCqEge1Itwa4T7IisAQpE3IzMkAZGJmuAwinUgZuCEDQwGrIGKCgHbmoEDYyerAGKy56UYzQwJrIGKLpyxo0hDYyDrAFaQ3kO3AgaGDdZA7SS2AduBA1MkKwBWkzUPSnHaGDiZA3QkiLFjSENZEXWAC2s1Q/cCBrIlqwBWl6LHrix6wSZkzVABK21J2VIAw0ia4A4ir8nJWigoWQNEE0x96QEDTSBrAECKtqelGM00ByyBgirCHFjSAPNJGuA4IbHTTMJGmi+at4LAGiGWl4sXvzxJlxr0aIza1fUNNBkpjVAWdQi43OdH0spXXTRNY24xGc+86FkQgP5kTVAudSa49xz5w/dsnTpzRO8z46Ok4bfOZCXii9CoOT6OjuGXr/iitsqlWqlUkkpDXs5ODiYhl4ODAyeccbRw+/BN1IoCFkD8CfDE2cEvnNCMckaACAIj4QCAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAIGQNABCErAEAgpA1AEAQsgYACELWAABByBoAIAhZAwAEIWsAgCBkDQAQhKwBAIKQNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAAQhawCAICZleF+Xn3L84bP2HxxMD69bv37z5gP2fMHMqbusfmztadden+FVAADqyjJr9pi6y5q1j5969XW1N3/yqbOntLV97yf3ZngJAIAdyXITavqUKUNN0/Oeo6dPmbxm7ePf/5+fZ3gJAIAdyTJrHl63fuj1k+YclFI6+ZvfyfD+AQBGkGXWnHPDLbVXrp1/crVSWXbf/2Z45wAAI8v+kVDHzD7wkP3329rfv/Cm5ZnfOQDAjmSfNZ1HvqWS0hWrflx780Ovf03mlwAA2F7GWXPWYW/Yb/eZTzy98eIV/1W75eS5r8r2EgAAdWWcNWcfdmglpYtX3D10y5S2tmwvAQBQV5bPW/OFY46ascuUex9/Yui5am4+ff6GLVt29Of/5h1vO/Ql++6/x+7VSqXvd0+ectV3a7f/7dFHvOeVL9/4zDOrH1v718v+NcMVAgCBZZk1tf2mvWfsevPp8180Y9cXTp+WUrqr76Ed/fkv3LEipXTPJ8/cbeouKx95bOj2v7v93w+f9efvvuKqDNcGAIRXae/pzXcFp71u7uJ3HflMf/9B/7C0dsvCtx62+ZltX/3RPfkuDABoLfn/qsurV//0gd/+bnJb21dOeE/tlmNecaCmAQDGKsus6evc4TGakR37tatTSsfMPjCltOT4Y5b88EcZrgoAKIkss2by5BPG/b539v0ypbTi7NP3mbHr8vt/kd2iAICyyCxrHjx/zvTpL+/rHOcDl8687uaU0r4zdzv1mn/OakkAQKlkljVTpsxOKVUqH87qDgEAxiSbrOnrTNXq5JRStTonkzsEABirbLKmvSdt2nTZhg33zfrCHZncIQDAWOX/AO+U0odf/9pr5p+8ZVv/lm393zntA+e86dC8VwQAtJ4sn2V43K768Zqrfrwm71UAAK2t2VnTt7oj7ZfSq1P7Ezk/uzEAEEzzsqbvZR0ppbR3Sms1DQCQvSadrenbp6M6t1qdW00bUvskTQMAZK/h05q+pzqqJ1arM6qDfYODGwfTqpRe0+hrAgBl1NisefDQhdUXVwf/b/CAO5c8e5OmAQAao1FZ0ze7ozq7WtlcGbh+wK4TANAE2WdN324d1SOq1Wp14KcD7b/sLcZDyAGA+DKLjhUrjnj729OFB7x43pzq4MODB6xZsvP3AQDITjZZ85Et62fPnt3f/6IHHpg0cPFA+6xR7Tp9c96Jr9x7r7Zqdd2mTd//2c+/cveqWz922t4zdl23cfND69b/1XU3ZbI2AKAk2vY8+tiJ38uaSVOP23fvarX6h1mzzvjvym633bp6FHd7w89+vse0aYfP2n/ztm0fv35ZSunq1T999+wDj7vympvvvX/iqwIASiWbrEkpfeeBh9bf8YPPHfeBd9y+/NBq9Z23L3/y9lsf2dmd3/3wo6e85lUvnrnbtMmT//OhR5b95fwTvv7tTNYDAJRNZlmTUrpv2syU0rKjj3nmtlvnVqtHVSqH3b58+dHHjPxejz71++MOesXB++5zwAtfsPrXv/nRI7/Kaj0AQKlU2nsa9ejrz3Z2vKlaTSndMzCweMSrXHby+4468GVPb9362i99tUGLAQDCa2DW1Hzp/IUHVipPp3TjwMCxlcpHLqz/CKlffOaTKaXzbrnt+p/d19D1AABRNfx3Qn3qwiXvu+BLfxgc/Pzuux8yY8aV5y/c/s989JCDH13/VEqp88i3NHo9AEBUTfpVl2dcuOSRzZuf7u9/68yZV2xXNqcePOfIS7/x4JPr9pw+7e/edWRzlgQABNOkrEkpfWXLlm9s3Hj5U0/tXX3ORb/+wRMuvOuHKaV3XX5VSunU181t2pIAgEia96sNrq93iOekOQet27T53/oeqr150733H/+q2Td+dN77PcwbABijLB/gPSbzDp7T/e6j3vfq2fvM2HXXKZNXPfpYSmnBm/9i92lTXzBt2lEHvmzP6dPu+dWvc1kbANCKGv5IKACA5mje2RoAgIaSNQBAELIGAAhC1gAAQcgaACAIWQMABCFrAIAgZA0AEISsAQCCkDUAQBCyBgAIQtYAAEHIGgAgCFkDAATx/7YTKDf9t5xtAAAAAElFTkSuQmCC<Mask/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP3 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP3
deleted file mode 100644 (file)
index 13b687d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="27" type="negative" width="20" x="373" y="196"/><Rect height="54" type="negative" width="50" x="15" y="445"/></Mask><Algorithm description="Simple comparison (pixel by pixel)" name="simplecompare"><Parameter description="Threshold" name="threshold">0</Parameter><Parameter description="Tolerance" name="tolerance">0</Parameter></Algorithm></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP4 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_001/verificationPoints/VP4
deleted file mode 100644 (file)
index d7e6666..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="23" type="negative" width="25" x="370" y="199"/><Rect height="56" type="negative" width="51" x="17" y="444"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index cee54e43342da6616d94b5b846456bb7b2ed0adf..fce63c6b12115050530f779ea9eb487ac0ebc5e4 100644 (file)
@@ -1,91 +1,97 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Extrusion_002
-    #[Topic] 'Extrusion by boarding planes and offsets' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Extrusion_002
+    # [Topic] 'Extrusion by boarding planes and offsets' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_extrusion_001.hdf'
+
+    # [step] Open 'for_extrusion_001.hdf'
     open(DATA_PATH + "/for_extrusion_002.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
-    #[step] Activate Part_1
+
+    # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 48, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 48, 10, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all
     fit_all()
-    #[step] Execute extrusion for sketch_1
+    test.vp("INIT")
+
+    # [step] Execute extrusion for sketch_1
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "Extrusion"))
-    
-    #[step] Select sketch_1 as base
+
+    # [step] Select sketch_1 as base
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 324, 222, 0, Qt.LeftButton)
-    
-    #[step] Select 'By boarding planes and offsets' button
+
+    # [step] Select 'By boarding planes and offsets' button
     clickButton(waitForObject(":Extrusion_QToolButton"))
-    
-    #[check] Check that no result is previewed
-    test.vp("VP1")
-    
-    #[step] Select upper face as face 'To'
+
+    # [check] Check that no result is previewed [vp NO_PREVIEW]
+    fit_all()
+    test.vp("NO_PREVIEW")
+
+    # [step] Select upper face as face 'To'
     mouseClick(waitForObject(":Extrusion.Select a sketch face_QListWidget"), 80, 47, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 350, 231, 0, Qt.LeftButton)
     mouseClick(waitForObject(":To_QLineEdit"), 31, 11, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 369, 87, 0, Qt.LeftButton)
-    
-    #[check] Check that preview is updated
-    test.vp("VP2")
-    
-    #[step] Select lower face as face 'From'
+
+    # [check] Check that preview is updated [vp PREVIEW_TO]
+    fit_all()
+    test.vp("PREVIEW_TO")
+
+    # [step] Select lower face as face 'From'
     mouseClick(waitForObject(":From_QLineEdit"), 80, 11, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 350, 413, 0, Qt.LeftButton)
-    
-    #[check] Check that preview is updated
-    test.vp("VP3")
-    
-    #[step] Define offset for face 'To'
+
+    # [check] Check that preview is updated [vp PREVIEW_FROM]
+    test.vp("PREVIEW_FROM")
+
+    # [step] Define offset for face 'To'
     type(waitForObject(":To.to_offset_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":To.to_offset_ModuleBase_ParamSpinBox"), 200)
+    type(waitForObject(":To.to_offset_ModuleBase_ParamSpinBox"), "<Return>")
 
-    #[step] Fit all
+    # [step] Fit all
     fit_all()
-    
-    #[check] Check that preview is updated
-    test.vp("VP4")
-    
-    #[step] Define offset for face 'From'
+
+    # [check] Check that preview is updated [vp PREVIEW_TO_OFFSET]
+    test.vp("PREVIEW_TO_OFFSET")
+
+    # [step] Define offset for face 'From'
     type(waitForObject(":From.from_offset_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":From.from_offset_ModuleBase_ParamSpinBox"), 200)
+    type(waitForObject(":From.from_offset_ModuleBase_ParamSpinBox"), "<Return>")
+
+    # [step] Fit all
+    fit_all()
 
-    #[step] Fit all
-    fit_all()    
+    # [check] Check that preview is updated [vp PREVIEW_FROM_OFFSET]
+    test.vp("PREVIEW_FROM_OFFSET")
 
-    #[check] Check that preview is updated
-    test.vp("VP5")
-    
-    #[step] Ok
+    # [step] Ok
     clickButton(waitForObject(":Extrusion.property_panel_ok_QToolButton"))
-    
-    #[step] Fit all
-    fit_all()   
-    
-    #[check] Check that extrusion is built
-    test.vp("VP6")
+
+    # [step] Fit all
+    fit_all()
+
+    # [check] Check that extrusion is built [vp EXTRUSION]
+    test.vp("EXTRUSION")
 
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/EXTRUSION b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/EXTRUSION
new file mode 100644 (file)
index 0000000..7ed8faf
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="11" y="414"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/INIT b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..1b3d224
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="75" type="negative" width="55" x="367" y="184"/>
+<Rect height="55" type="negative" width="42" x="12" y="409"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/NO_PREVIEW b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/NO_PREVIEW
new file mode 100644 (file)
index 0000000..e0d8265
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="75" type="negative" width="55" x="367" y="185"/>
+<Rect height="55" type="negative" width="42" x="12" y="413"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_FROM b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_FROM
new file mode 100644 (file)
index 0000000..4b82395
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="58" type="negative" width="45" x="13" y="410"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_FROM_OFFSET b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_FROM_OFFSET
new file mode 100644 (file)
index 0000000..ab5012f
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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l+870uuBgktyJgUkL/vdmnedf+7FZ5y25GOfzPzJQD+lOpMCEpZ91vzxb75p7V99JfPHArkQN0CJ1LN93Nf+8JrPPvr4tsf/T7aPBfK1aGR00cjoqpWDeR+kfMb/15fyPgJUSJZZ89lVK5770Y8/dM+9GT4TKI5m2YgboLAyG0Ld8O8uPuPlC3/j43+W1QOBAjKTAoosm6y5/KzXrjr39a/905szeRpQcOIGKKZshlDrlw7e/Xe7W3zx4KLXfODfXnDo769984WZHAboDws3QNFkcFvzznPPOWbu3Le97sy3ve7Mg/5o8cjHD339+J6nPvbbb51qNG6676vTv7nj3b/3jWef7/4wQJ/5CTez+Pjojc2bLaA/Msiaz+x89DM7H23rSz52/9eG33zhdNa8/+I3nTB//h998a7uDwP0n5nUYV3/J+/WNNBnGb/Bu0X/85FHn/jeD7b8h+XNX/7H3/j1kR0P5HISICvTMyljqYh47+oVmgb6L5us+f7697T7Jf/+M58771++atmvvu4zVy//m+ee/9yjj2dyEiBfFm6aNA3kIpt3QtXrczv4qk89tHP90rfUanHWTZszOQZQEJVduGn2nKaBvGSQNXvW/uTEE+Nbwy8/Y8MP2/rCm+776u+e92t3PvbN7s8AFE3VFm4EDRRBBllTq10YEQMDb4i4u92vfWlq8sc/nej+DEAxTcdNwmUjaKA4MsiagYFXRsScOSd2/yggSQnPpFatHBQ0UBwZZM1p6+5+6oNTU1N/FnF6908DkpTeTMolDRRQZp8JBXBUacSNoIHCyjlrzt303/I9ANB/pV64MXWCIut51ux5zVBExD9GDMSiH/i3APiZ0i3cuKSB4uv9bc1A1M+qTz02FX8bcULP/zagRMoykxI0UBY9zJo9MVR/e70+UJ+6byr+WSw6wb8IwGEUOW4EDZRLT7JmzzeHar9fq59Un3pyatE3RyMi/rEXfw+QjgIu3FijgdLJPmu+9frr6pfXG99rvGb7f8384UDaCrJw45IGSirLrNlz6lD91+q1F2tTt00tepl/DoBO5DuTEjRQahlkzejZiy744a889dQ733DM6NRfTy16bjReNtvrh9984YZ7H5j5O+8895y5A/X/8fA3uj8MkIb+z6QEDSSg3v0jTjnllIULF5588skfPmtq0XNH/xfhlIUn3vOud878nRsuufjpf9jb/UmAxCwaGV21crAZHD3VXKPRNFB2GWTNfffd98gjjzzy6ldfVa//+fB1R3396jv/8qQFx7z/4jc1f7nj3b/3F489Mb7nqe5PAqSnWRu9i5vmkwUNpCGLIdS+xuhXHowNmyLiz4ev++IH/+hbjcbQhk2zfMmHv3zff7ns0pvu++qHLrl4Tr2+9q++0v0xgIT1YuHG1AnSU1u0MeP/Sb9z7dCyen1exENTUx858sM/fsVvLTn5Fa8+8WX/6k9vzvYAQNr2rBmKiDu3PbRgwbHz58+fO3f+vHnzBgbmDAzMGRio12q1Wq0eEY3GVKPRmJycnJycPHDgwEsv/XRiYmJi4sX9+/dduez8EDSQouyzpmn92qHX1+v7Iz43NfX5I/wVT6553988+90Vt23txQGAhDXLJiLu3fFkW1kz+OYzm1+oaSBJvcqapk8MX3darfba449/av/+t37kppl/dMuVb3/tv3j5KQtP/IO/+OK9e57u3RmAhE33zSM7X5gla8479583X6ZmIG29zZqIuP/Da06YM+f4gYHvT0y86UMbm795xa++buNvveVf37T5+rf85tted+abNn+6p2cAkjfdN4elZqAiep41ETG8dui4Wu3XBwZ+PDl59YZNEfHXQ79/286/3XT//46Ie//gd3c+9/wff/HuXh8DAEhbP7LmIP/9qt8+9cQTl376tunfeXLN+95751/e83/39PkkAEBKMvi5NW1Z8fqzLj7j9JlNExGfe3TXR97a8x+3BQCkLYfbGgCAXuj3bQ0AQI/IGgAgEbIGAEiErAEAEiFrAIBEyBoAIBGyBgBIhKwBABIhawCARMgaACARsgYASISsAQASIWsAgET8f65eW/aaJ/jyAAAAAElFTkSuQmCC<Mask>
+<Rect height="59" type="negative" width="49" x="12" y="408"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_TO b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_TO
new file mode 100644 (file)
index 0000000..7cdb425
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="58" type="negative" width="45" x="11" y="413"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_TO_OFFSET b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/PREVIEW_TO_OFFSET
new file mode 100644 (file)
index 0000000..ca7217c
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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7wAVJWuAwpR5JpVT00yEEC7qu+yyz/7iFz8L4ZE8vgVUmawBCla2uMnvkmbdurNrIVx19Y0h/DKnbwEVJ2uAUijDwk2uQRMav8Y1vTl9CyDIGqBUWl24yVBOTfN80AD5kzVAubQ0kwoh/PSnP/3DPzyune/485//vJ2ffiiCBjpP1gBl1NJM6oknHu/qWvDylx/f0rd49NFHxsaeGR0dnecRZ7Vu3dmCBjpP1gDl1fxMKoTwyCP/1NXVXa/X6/X6smUnzviavXtHxscnxsfHxsbGMj7rc1zSQIFkDVBqrc6kGh5+eKRWq9VqIYRaCLUQJiYmJvI7ZIOggcLJGiAC84ubjhE0UBKyBohGSws3HWONBspD1gCRaWnhJlcuaaBsZA0Qn8lrm3UhfKqIAwgaKCdZA8RqeHhX35reiff/RQjh2ms7VBiCBspM1gBxu+GGuxctesG5577qC1+4M+/vZY0GSk7WACn4xjd+8O53nxhC+NKXvpXH+7ukgSjIGiARd921d8GCheecc2wI4cYb783qbQUNRETWAEm5994nurq6zjrrxV/5ynfafzdTJ4iLrAES9MAD+1atWhJC+OpX75vfO7ikgRjJGiBN3/ver2q12plnHhFajBtBA/GSNUDKHnroqRBqZ575whDCnGMpQQOxkzVA+h588KmJiYlVq4644YZ7DvUaazSQgHrRBwDokN27f/WOd7zune98/bSvr127asIlDSTBbQ1QId/97s/HxsZWrz4qhLBz5x3vfe+fhRCuv/6ud61+486izwa0T9YAlXPPPY+Njo729b30a197aP/+p0P4TdEnArJhCAVU1B13jBR9BCBjsgYASISsAQASIWsAgETIGgAgEbIGAEiErAEAEiFrAIBEyBoAIBGyBgBIhKwBABIhawCARMgaACARsgYASISsAQASIWsAgETIGgAgEbIGAEiErAEAEiFrAIBEyBoAIBGyBgBIhKwBABIhawCARMgaACARsgYASISsAQASIWsAgETIGgAgEbIGAEiErAEAEiFrAIBEyBoAIBGyBgBIhKwBABIhawCARMgaACARsgYASISsgSyt3vdY0UcAqC5ZAwAkQtYAAImQNQBAImQNZOzooxcVfQSAipI1AEAiZA1k6folLxka2jI+/mTRBwGoIlkDGTvvvAuHhrY8+eRDRR8EoHK6iz4AJOiSSy4bGro4hLC26JMAVIrbGsjFtm2fGxwcCCHs3n1b0WcBqApZA3k5/vg3DAwODA1tWbOmV9wAdIAhFORoy9CWnuFdu3ffNjS0JYQtw8O7ij4RQMrc1kDuenqWDw/vGhwccG0DkCtZAx3S07N80EwKIE+yBjpn8tpG3ADkQdZAp02NG2UDkCFZA8VoxI1rG4AMyRookpkUQIZkDRTMwg1AVmQNlIKFG4D2yRooEQs3AO2QNVA6ZlIA8+PhCVBGPT3Lh4eXe+oCQEvc1kB5eeoCQEtkDZSdpy4ANEnWQAR8CBygGXZrIBoWbgBm57YGImPhBuBQZA1EycINwMFkDcTKwg3ANLIG4uapCwCTZA2kwFMXAIKsgZSYSQEVJ2sgKRZugCqTNZAgCzdANckaSJaFG6BqZA0kzkwKqA4PT4D0eeoCUBFua6AqPHUBSJ6sgWrx1AUgYbIGKseHwIFUyRqoKB8CB9Ija6DSfAgcSImsAXwIHEiErAFCsHADJEHWAM+zcANETdYA01m4ASIla4CZmUkB0ZE1wCFNW7gp+jgJWr3vsaKPAEmRNcAcPHUhP0NDW4o+AiRF1gBN8dQFoPxkDdAsHwLP3ODgQNFHgKR0F30AIDI9PcuHh5fv3n3b0NCWELYMD+8q+kSxOuqohUUfAVLjtgaYDws3mbh+yUuKPgIkRdYA82fhZt7Gxn5S9BEgQbIGaIuFm3m4+OL3hRCefPJA0QeB1MgaIAOeutC8Cy4467LLPtvVdXTRB4EEyRogM566MIvdu29bs6Z3wqefIE+yBsiYmdTBGh8cGxwcqIVw/PFvKPo4kCwf8AayN+1D4IODAz09y4s+VDGe+00Iw8O7enpCCP5YYciRrAHyMjVuBgdD1cpmMmiqXHXQYbIGyFcjboaGeit1bdN4Mmjj19vTU/RpoDJkDdAJw8O7KjKTmlyjETTQebIG6JDkn7pg6gSFkzVAR02Jm95k/vU/LWhc0kBRZA1QgJ6e5YODIY2ZlDUaKA9ZAxQjgQ+BW6OBspE1QJEiXbixRgPlJGuA4kW0cGONBspM1gBlUf6FG1MnKDlZA5RIaRduDnoGAlBGsgYonVI9dcEaDURE1gAlVfhTF6zRQHRkDVBqRT11wRoNxEjWAGXX4YUbazQQL1kDxKEDCzfWaCB2sgaIybSFmwzf2TMQIAH1og8A0LLh4V2DgwONm5V77rmxzXe7776/CyEMDg4MD+9ySQNRc1sDRKlxbTMwZeEmhLBq1frm3+HWWz/dCKO3vz0EUydIgqwBIrZlaMvrbri7cWEztW8a3vOeSyZ/vHPn5jVrPnTddR9/7pXhb/92oPHiU05525ahN+4cljUQPVkDRO/009+9cOGiu+5ae/PNVzW+8tzm7+QPBkIIPT1HDg2FwcFna2bFivNHRw/s3//0/v2/Ke7sQJZkDZCOVavWd3d3d3V1PfDAQL1eD+Fjk5c3fX2X7N79obGxZ845Z2xs7JnR0dHR0QPFnhbInKwBkvWe91xSq9VCqE1MTExMTBR9HCB3PgkFACRC1gAAiZA1AEAiZA0AkAhZAwAkQtYAAImQNQBAImQNAJAIWQMAJELWAACJkDUAQCJkDQCQCFkDACRC1gAAiZA1AEAiZA0AkAhZAwAkQtYAAImQNQBAImQNAJAIWQMAJELWAACJkDUAQCJkDQCQCFkDACRC1gAAiZA1AEAiZA0AkAhZAwAkQtYAAImQNQBAImQNAJAIWQMAJELWAACJkDWQpZEN/UUfAaC6uos+ACSiETQrN+04Nuwp+iwAFSVroF2TQVP0QQCqTtbA/AkagFKRNTBPIxv6BQ1AqcgaaJlLGoBykjXQAkEDUGayBpoiaADKT9bA3KzRAERB1sBsXNIARETWwMwEDUB0ZA3MwNQJIEayBn6HSxqAeMkaeJagAYidrAFBA5AIWUPVWaMBSIasobpc0gAkpl70AaAYmgYgPbKGilq2dfuyrdtv2bi+6IMAkBlDKCpt2dbtIxvXB9c2AElwW0PVTV7bZHJzc6vrH4DiuK2BEEJYtnV7CMHNDUDU3NbA8yzcAETNbQ1MZ+EGIFJua2AG8164WbFpx2euuTynUwEwO1kDh2QmBRAXWQNzaPXaZsWmHR/bfHGuRwJgRnZrYG6tfk5qxaYdF29871VX35j7yQCYQtZAs1qKmxWbdqzdeFYnjgXAc2QNtGYybpopmxBC38beEMLO4V0dOBtAxckamI/mPwQ+GTfKBiBvsgbmqdWZlGsbgLzJGmhL83FjJgWQN1kDGZjHwo2yAcicrIHMtLRw49oGIHOyBrJkJgVQIFkD2RM3AIWQNZAXCzcAHSZrIF8WbgA6RtZA7sykADpD1kCHeOoCQN5kDXSUpy4A5EfWQKd56gJATmQNFMPCDUDmZA0UycINQIZkDRTPwg1AJmQNlIKFG4D2yRooEQs3AO2QNVA6nroAMD+yBkrKUxcAWiVroLzMpABaImug7MQNQJNkDcTBwg3AnGQNxMTCDcAsZA1ExkwK4FBkDUTJUxcADiZrIGKeugAwlayBuHnqQtRGNvQ3/goCmZA1kAILN5FauWlH46+auIFMyBpIh4WbGDX+YokbyISsgdRYuInRZNwoG2iHrIEEWbiJlJkUtEnWQLIs3MTITAraIWsgcZ66ECMzKZifetEHADph2dbtt2xcf8vG9XO+csWmHX1revvW9HbgVMxu5aYdIxv6Rzb0F30QiIbbGqgKM6kYmUlBS2QNVIu4iZG4gSZlkzUfeMNrfv8Fi6Z98aEnnvzKQz/I5P2BbFm4iZGFG5hTNrs1Rx/+wmMXHzn5nxOPevF5rzvl1ccek8mbAzmxcFO4W5v4zZ/Gwg3MIpvbmv/29Tun/tdPnPXW//eLff/1a3ce6vVASZhJxchMCg4l+92a97/+lDNe8bKebf8j83cGcuKpCzESN3Cw7LPm4tNPHbj565m/LZA3T13osGs+vW3FXL/Vc7JwA1NlnDXf+qvzr7v/wRsf/Mds3xboDE9diJSnLkBDlllzXd/qH//q1x++7fYM3xPoPAs3HbB500XtX9VMZSYFIcOs+es/O+MVL1ry2is+ldUbAsXyIfAYNf5iLQthZMF40WeBAmSTNWeefGLfKa888eNZ/j8PoAxaWrhxbdOMtRecFZ5rwczd4raGassmazav7L31ByNNvrh36fGvOe4PPn7H/5n29YE3nbbl9r/P5DxAhsyksiVoID8ZZM25p7xq0YIFbz3phLeedMK0/2nZ1isOfv2uPXu3vX3F+MTEpXd+c/KLd3zgL//h0cfbPwyQE3HTpsYfZphH0wgamJRB1lx73/3X3nd/Sz9l213fGnzTaZNZ85/POPWI3/u9/3TTLe0fBsiVhZt5yC9oQgi3+Gg3TFHMoy4/9537V5184s53n933hS+HEP79a//0I1+7o5CTAPNg4aZJeQdNcEkDvyubrPnJ5v9w9CWt/bHC77z2i//4X/7qrD856Z09J3/3x49/8f4HMzkJ0BlmUnPqW9MraKDDssmaen3BPH7Wp++5b/PKN9dq4eRLP5nJMYAO89SFGZk6QVEyyJo9A08tXhweHnzRK4Z+1tJPvPTOb77vX7/6ht3fb/8MQIE8dWGSqRMUK4OsqdVOCyF0db0mhFtb/bmj42O//u2B9s8AFMtTFwQNlEEGWdPV9S9DCN3di9t/KyBqlV24sUYDJZFB1rxs0617PzQ+Pv6pEF7e/rsBsavUwo01GiiVYj7gDSQv+YUbUycooYKz5pTLryr2AEB+El64MXWCcso9a/Yc3x9CCL8MoSssfdLfqFA5iS3ceAYClFn+tzVdoX5yfXz3eHgghCNy/25AOSXw1AVrNFB+OWbNntBff1u93lUfv3M8/Iuw9Ah/x0LVRfrUBWs0EItcsmbP9/trF9Tqv18f/9H40u9vDyGEX+bxfYD4RDeTskYDEck+ax5+5YX1M+sTT0wc/9X/nvmbA2mIIm5MnSA6WWbNnpf2119dr+2vjX9+fOmR/nYF5lDahRtTJ4hUBlmz/V8t/Tc/e8nevee+ZtH28XvHl/54ezhyttcPvum0odv/fupXzj3lVQu66p/59j+0fxggOqVauBE0ELUMsua4445bsmTJMccc85E/GP/slrn/dj1uyeLb3n/u8k9dO/mVv37LGWu/dFP7JwEiVZKZlDUaiF1taRMhMrv+w2qnnnrqY6997dJa7acTE/9u6PI5f8q3P/j+6+5/8NI7vxlCuOMDf3n3Pz0ycPPX2zwGkIaRDf1zXts03LpxfQjhyzfcvWjRCxYuXLRw4cIFCxZ2d3d3dXV1dXXX6/VarVar1UKoTTxnbOyZsbGxsbFnRkdHR0cPjI4e2L//6f37f/Ou1W8M1mggfhlkzVT/c/DCF9dqD09M9M8aN2/74z+67C+Wn/Q3n/jwW854ywlLT7vyMxmeAYjdyIb+0MRMqqERN1//xg/mlzXL33JyMHWCVGScNSGEcwf6z6rXF4Zwz/j4Rw/95les+vOeY44+dvGRf/TxXP5pAsRuHnETQvj2vU80kzWvf91LGq8XNJCS7LOmYfNA/yvr9adD+OL4+JcO8S1+tOGD3330sdWfvz6PAwBpaCluwpS+mV1ONRMEDRQqr6xp+MTghS+r1U48/PC9Tz+94qOXTv2frnzH20486kXHLVm89n/ddPue/5vfGYAENL9wUyxrNFCsfLMmhHDXRzYc0d19eFfXTw4cOPXDWxpfXPUnJ2358zf/8aWf3Pjm09960gmnfvKaXM8AJKDVa5sOc0kDZZB71oQQBgf6X1ir/WlX16/Hxv7t0OUhhHv7L/j8fQ9cftfdIYTb177vvh8/fvFNt+Z9DCABJYwbQQPl0Ymsmebqc97+0sWLV17z+cmv/GjDB//jDX932w/3dPgkQKRKEjeCBsomxyd4z2j1K08+4xUvP/F3P/30xfu/99EVvbIGaFLzT13IjzUaKKECbmsAslLItY1LGigtWQNEr2NxI2ig5GQNkIi848bUCcpP1gBJyeNPuHFJA7GQNUBqMry2ETQQF1kDpKnNuBE0ECNZA6RsfjMpazQQKVkDJK6laxuXNBA1WQNUwpxxI2ggAbIGqJAZ40bQQDJkDVA5UxdurNFASmQNUEWNa5vgkgbSImsAgETUiz4AAEA2/j9BYJh33Gst5wAAAABJRU5ErkJggg==<Mask>
+<Rect height="51" type="negative" width="63" x="9" y="413"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP1 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP1
deleted file mode 100644 (file)
index d0df278..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="75" type="negative" width="55" x="368" y="203"/><Rect height="55" type="negative" width="42" x="17" y="443"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP2 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP2
deleted file mode 100644 (file)
index 6ab0423..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="58" type="negative" width="45" x="17" y="441"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP3 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP3
deleted file mode 100644 (file)
index eddf78a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAH7CAIAAAAhHuxOAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO3de3xU5b3v8e9KglQUxF72y/bo6xzbWnWG6NleWhW71exTtUcFRC4yo7bWU20Tud8SEbxQGxAEAcFLbUUroxWkBVutWmPrBSqiViH0vk9r7WlrbRstUiUkc/5YyTBkhWTWmjXr8qzP+5+GNJl5TIZnvvx+v2ct66Vf5wUAABB/VWEvAAAAwB811GqAeDnxk5akl37D310A6KlG7I1ATJx4lCXp4R+0SrroPEsSTWQAKGZt/RXbIhADJx5l2YGm2EXnpUk2AFBArAGirrhI43TReWlRtgEAScQaIMr6DjTFCDcAIGINEE2lB5pi9KQAJJz1IrEGiJiTjrLWuQw0BWPOS0vaSrgBkEjEGiBCTjrKkuQ50xQQbgAkk/XiL9n4gPCd9Cl/Ak2xrnDDP10AJAaxBghZJQJNsTHnpUk2ABKCWAOE6aRPeR+jKR1lGwAJYW0h1gBhOLnCRRonO9wwTgfAYMQaIGjBB5pihBsABiPWAIE6OZCuU7/GnJcm2QAwD7EGCEi4RRonyjYAzGNt+QWbGlBZJx9tSVr3/agEmmJjzk9L4ugAADNYLxBrgIr59NGWpLWRDDTFxp6fpnALwADEGqBSPn20Ff1AUzD2/LQkwg2AWCPWAP6LS5HGiXADINaINYCf4htoihFuAMQUsQbwhxmBphgDNwBix/rpz9m2gHJ95pgQxmjGnZ929fUPuV+hXbbhHz8A4oJYA5TlM8cEXaQppJmVq9b3/ZVDhw61P2hra5PUUD/a/qPbfEO4ARAXxBrAo7ACzZpcSx9fYyeY/Rk6dGhbW5udbwg3AMxDrAG8CLjrZAeavsszhdpMibKZOm9tKZINgMgi1gDuBFyk6TfQuE0zPWQzdXJZuaFsAyCyrM3EGqA0pxxjydPgrTfjK1Ch2R873HzHzX+anbd+SrgBECXEGqB/UQs0fqWZHrKZOlfJRoQbABFjbd7BfgT05ZRjrYceCW6MZvwF6WAqNL3qKtu4/O8dd0GadjaAKCDWAPt1yrGWpMAyzfgL+irSVDTN9OAh3Iy7IC2JcAMgXMQaoBeJDTTFCDcAYsfaRKwBipx6rCX3XZhyXLyfrlNYaaaHbKbuQZc/jfEXpBnaAxAKYg2w16nHWgEHGu2nSBORTGOzyzauwo1dfyLcAAgYsQaQAi/S7C/QRCrN9EC4ARB91qZWdhwk2qkpS9J3NgYVaEbEo0KzP13hxs2Pa/yItCTG+AAEgFiD5Ao40Ei6eEQvYzSxSDM9ZDN1rpKNpPEj0iQbAJVmPU+sQSKdlrICDjSKW9epb57LNjS+AVQOsQaJc1oEuk7xTTM9EG4ARAqxBgkShUAjgzJNgbeelAg3APxGrEFSBN91MrVC0ysPZRtJ40ekSTYAfESsgfmiUKQpzjRtbW2mRhx6UgDCZT23nd0ExhqetuS+hODZBEegSUia6cEONw+4+bHbWZB/ZQEoE7EGZgo90Kg70yQnzfSQzdS5SjYi3AAoG7EGBhqetgILNJIm7DtGk/A0U8xD2UbSxSPSJBsA3hBrYJRwizRDhw5ta2uT6dPBbtGTAhAYYg0MEZ2uE3pFuAEQAOtZYg1i7vRgA40cXScRaErmbeDmOZINgNIQaxBvpwc+RqN9u06BPbUxPJdtCDcA+mU9u42dArF0+jBL0oMbguo6jdwbaEgz5esKN25+fRePTEuibw6gD8QaxE/AgUbShJFpAk0lEG4A+ItYgzgJJdBIWrlqPYGmcrKZOlfJRtLFI9MkGwBO1jPEGsTEZ4dZbt/8ypShSBMUu2yTc/P7tRMn04EAihFrECefHWbJZc/CMzJN8Ag3AMpUE/YCABfsd68JI4Mr25BpgrQm1yIpk0mXnmzsV8KEkZYINwAk65nX2AgQP5+trWzZhlJNuDyUbSRNGJlmWBBIOKo1iCX73cv+N3rAAzcIQKFsIzfh5oENrV1lG8INkFTWT6jWIOb+o9aS+3/Z9yE7Ms0F96LDrtyscfP7zYxMS2JwEEggqjWIPfvdKzPS8jHZIDrsyk02ky492divhMxIS4QbIGGINTDEM9vy9tsY4cZIa3It2Uxabso2hXBDsgGSgyYUTONLTyrLyHBU0ZMC0AeqNTANPSmzFXpSKjnc0JMCksP68av8JYeZzjjOkpT7npdw8+zj999xezMFm4jLZurWuPz9ZkalKVEDBqNaA2PZ716ZUd7DDYEm4vYO3JT8+819r9V+SRBuACNRrUEiuK3cPPv4/Ycc8sGFC2baLQ9EXNfAjZvwmhmVFuEGMA6xBglyxnFWicnGjjUHHjjo+usa1D3PgYgj3AAg1iBZSizbFGLNwIGDDjjggOnTsiSbuGDgBkgy62liDZLnzOMs9fnP+uccscb+POEmFuyyzf1uwk12VFrSjwk3QMwxMowkst+9sqP6CTfF7FNR2fo6EW4ir/gQeInhxn4Z2C8Jwg0QXzXi7y+Syu7AZkdZa75b6j/rC+GGZBN9hXBzf8m/X/uVkL3QUvfLA0C8UK1B0v341bz9NuYq3FC2iYvCIXAP4YZkA8QOsQboLtu4CTf0pGJkn56Um3BD2QaIHWIN0KUQbjz0pES4iTwP4YaeFBA7VsvP+LsK7OOs4y1JjY2Lik9C2QmmDw31o0k2cZHN1JVetun6lgvTnBsFoo9YA/Ti7pu/smbNnZIWLLinxFgjqaF+tCjbxETXIXA34SZ7YVoS4QaIMqvlFf6KAj3dvegrH/3oEYcccujcuQ2SrO5+UykINzHiPdzwD0Igkog1QC8KsWbw4KGDBh105ZWjVpUca2yEmxgh3ADGYGQY6J8l5etHSyo93HCFmxgp5wo3JBsgUmr4GwmUIpdrkVRfXyeX4YZzUnFRuMLNt0sON/d/t/WSCy1JDCkCEUG1BnDBQ7jhEHiMFB8CLzHc2AUewg0QEcQawLVCuKEnZaRCuHFVthHhBogAYg3gUS7XQk/KYN56UpIuuZALZwCh4VaXgHf0pMy2T09qfcnhZn3rJaMtSZwzBYLHyDBQLsKN2YrDzX2lhRs7A1062pL0FOEGCBBNKMAfDNyYrRBuSkw2ItwAYSDWAH5i4MZshYEbD+GGZAMEgFgD+IyelNk89KQkfXt9K2UbIADEGqAiyulJiXATeQzcANHEyDBQQd56UmLgJibKGbj5EckGqAAOeAOVxV0XjOdt4MYu2/zoZbZgwE80oYAgMHBjtjJ7UoQbwC/EGiA4DNyYjXADhI5YAwSNgRuzlTVwQ7IBysPIMBACBm6MVxi4ubfkcHPf+tbLRluSniTcAF5RrQFCw8CN2Yp7UiWGG7vAQ7gBPCPWACHjrgtmK4QbV2UbEW4ATzjgDUQCd10w296e1MMlh5uHWyVddpH15Ets00CpqNYAUUFPymz79KTchJvLLrIkEW6AUjAyDEQL4cZsHsJNoWwj6QnCDdAnqjVAFDFwY7a9Azfue1Ii3AD7R6wBoouBG7OVM3BDsgF6RawBIo2elNnKHLgh3AA9cBIKiAHuumC2fcLNutIGbta1SrpsjCXpia3s40AXRoaB2OCuC2YrhJvVpSUbdWegL4yxHifZAJJoQgHxwl0XjFcYuHEVbr4wxpJEuAGINUD8MHBjtuKeVInhplC2EeEGyUasAeKKgRuzEW4AD4g1QLwxcGM2Bm4AVxgZBmKPgRvjFQZu7ik53Kxe1/rFMZakHxJukCQc8AYMwcCN2QplG1fJRlJXuHmRvR6JUBX2AgD4KZdryeVa6utHl/4tK1etX7lqfTZTV7lVwS9rci2Xj0m7+pbV61pXr2s992Tr3JOtCq0KiA5iDWAgO9m4DTfZTB3hJvo8JBsVhZtKLAmIDkaGATPRkzLYylXrL6930Y0q2DtwQ08KhmJkGDAZ4cZIQ4cO9fy9xQM3jxFuYByqNYD5yrnCDcnGSIQbmIrZGiApGLgxycpV6z1M2PRgD9x8noEbGIQD3kCC0JMyjR8b+Oq1rV8ca0l6bAvvB4g9mlBA4nDXhbhra2vz9wFXr22VRLiBARgZBhKKuy7EWkP96G+tbfV3A79nbauky8daj5JsEFtUa4Dk4q4LceR7qaaHe9a2Xj7WkkS4QRwRa4CkY+AmdhrqR3+1fo7OqtTjF8o2Itwgbog1ACQOgcdEW1tbQ/3oWbNv/qfervRzEW4QR5yEArCXt4EbyjaBaagfff0Nq3ZpZ9BPzDsFYoKRYQD7oCcVWdlM3YKF97ynfwXzdJePTUv6wQu8SyBOaEIB6AXhJlKymboVt61bsjS3W+8H84yXj00TaBBHXGUYwH7lci32tYlL/5aVq9bb1yau3KqSJpupW7lq/cSrxwTzdJePTZNpEF9UawD0g4GbsNjpcGXJP/Yy0XWCAYg1APpHTypgBBrAG0aGAZSKuy4Ew+469ftlfu3eXxqb/j6BBqbggDcAd7jrQuW4K9KUvXt/aVxa0vd/ytsAzEETCoBr3HXBdwF3nQg0MBWxBoBHDNz4gkAD+IhYA6AsDNyUo8QxGr98aVyaQAOzMTIMwAcM3LhVfpHG1e59xbi0pEfINDAd1RoA/mDgpkQBd50INEgUYg0APzFw04eAA42kK8alCTRIFA54A/BfOQM3piYb/8do+ty9rxiflvTIZrZ4JAvVGgCVwl0XbEF3nQg0SDBGhgFUUMJ7UqEEmo0EGiQY1RoAFZfAcBPCGM34NIEGINYACEhyBm4CvhoNRRqggFgDIFBmD9zQdQLCxUkoAEErsydVCA1Dhw6t1BLdCzjQrFp1k3TTxk3s4MA+GBkGEA7PPamG+tH2x21tbYpGuAm467Rw4axLL60f89WVgT0jEBc0oQCEyfNdFxrqR9sf2OGmIOCUE3CRZvbsyyVNnz5f+lMwzwjEC7EGQMg833WhULYp/nxxyqloxAk40OQlTc0sW7bmnXfelv4WzJMCsUOsARAJngdueg03tkLE8TffBBxo6utHS7Kku76xQdoZzJMCMUWsARAh5Q/c9Po1PpZwAh6jqa8fbf9MlKkL7EmB+GJkGEDklD9w0wfPszihFGly+z/Tzu4NOHHAG0AUeR64kdRQP9qvK9zYGajvUpDv+g00Xdi9AQeaUACiy0O4aagffcedG7JXdbVsPGQRu37T1tZmpxlJd9y58StXjXD7ON7s7ToBcI9YAyDqPAzc3P3NR2tqaqqray6t7z/fFPpQdm0m2z3F8u37Wzo6Ovbsad+jPZ4XX7pSizQA9o9YAyAePAzcSFqT+0l1dXVVVdW4+tNK/Ja16zZ3dHR0dHR0qsPLQt0j0AB+IdYAiA1vAze2dQ//1LKqqqqqLMuSZFmWZEmS8vl83v6fzs7OfD6fV6ffC98vAg3gL05CAYiZcsJNpJQ5RsPuDThxEgpALHkYuIkOf4o07N6AA00oADHmbeAmRHSdgIoi1gCIt7j0pAg0QACINQBMUAg3DWGvpFdcjQYIBiPDAMyRy7XkM3W6auQ3v/lo2GvpUrkiDbs34ES1BoBRLOmhtc9dccXpku6/P8wCCV0nIHjEGgAG2rhx68CBAy+5pFbSd77zXMDPTqABwsIBbwDGamn5ZU3NgPHjP7527abAnjS4MRp2b8CBag0Aw23a9IexY4+QtH79loo+EUUaIHSMDAMw35Ytf6qurh49+t8kbdjwku+PH0qgYfcGnKjWAEiKV175W3V19ciRQyVt3PiyXw/L4W0gOog1AJJl27Z3LMsaMWLwxo2vlPlQdJ2AqCHWAEii1tadI0YcLK9lGwINEE3EGgAJtWPHu5JGjDhIbgZuCDRAlNXkmToDkGCtrTvz+fzIkYO/972t/X5xpMZo2L0BJ6o1AKDt298ZNWqIpIcffqHXL8hLilKmAdArYg0ASNJrr7V1dHRcdNGHtO+Fia+44n9LsqQ1ZBog8og1ALDXSy/9tbOzY/z4wwqfeeSRre+//77GDA9xVQBKRKwBgJ42b/5De/uePXva29t3S++FvRwApeIqwwAQS+zegBO3ugSAeGL3Bhyqwl4AAACAP4g1AADAEMQaAABgCEaGASCW2L0BJ6o1AADAEMQaAABgCA54A0A8sXsDDlRrAACAIRgZBoBYYvcGnKjWAAAAQxBrAACAIYg1AADAEMQaAABgiJo8U2cAEEPs3oAT1RoAAGAIYg0AADAEsQYAABiCWAMAAAzBVYYBIJbYvQEnqjUAAMAQ3MEbAOKJ3RtwoFoDAAAMQawBAACGYGQYAGKJ3RtwoloDAAAMQawBAACG4CQUAMQTuzfgQLUGAAAYgpFhAIgldm/AiWoNAAAwBLEGAAAYglgDAAAMQawBAACGqMkzdQYAMcTuDThRrQEAAIYg1gAAAEMQawAAgCGINQAAwBBcZRgAYondG3CiWgMAAAzBHbwBIJ7YvQEHqjUAAMAQxBoAAGAIRoYBIJbYvQEnqjUAAMAQxBqgp5+3NIW9BACAF5yEAoB4YvcGHKjWAAAAQzAyDPTU3Lwgm70q7FUA/WD3Bpyo1gA9NTU1rllzZ9irAAC4RqwBejrmrOawlwAA8IJYA/SiqalxwICdYa8CAOAOsQboxeuv/0PSrl1/CHshAAAXavJMnQG9aW8/eMCAnX/5y7Yjjzwl7LUAvWD3Bpxqwl4AEF2DBh0xd26DJI5FAUAs0IQC+nLrrWuamholbdv2RNhrAQD0g1gD9OPII09pbGpsbl6QydQRbgAgymhCAf1b0LygNteybdsTzc0LmppUW3t22CsCAPSCag1Qqtras3O5Fso2ABBZ3DwBcCfXXbaRFjQ1NVK5QVjYvQEn7uANuFZbe3YudzbhBiFj9wYcaEIBHtk9qaamxubmBfSkACAKiDVAWRi4AYDoINYAPiiUbQg3ABAiRoYBf/QYuMnlWsJeEQzH7g04Ua0B/FQYuKFsAwDB4yQU4L/a2rObmsQ5KVQWuzfgQLUGqIjic1JUbgAgGMQaoII4BA4AQWJkGKg4e5q4ubmOnhR8xO4NOFGtAQJCTwoAKo1YAwSHgRsAqChiDRA0Bm4AoEI44A2Eg4EblIvdG3BgZBgIUy7Xwp3A4Q27N+BUE/YCgKTjrgsA4Bdma4BI4K4LAFA+Yg0QIbW1Z3NOCgA8I9YA0cIhcADwjJFhIIoYuEG/2L0BJw54A9FVFG7qOCeFnti9AQeaUEDUMXADACUi1gAxwMANAJSCWAPEBnddAIC+MTIMxAx3XYCN3RtwoloDxBI9KQBw4iQUEFc9DoFTuUkcdm/AgWoNEG8M3ABAAbEGMIEdbuhJAUg4RoYBc+RyLfSkkoPdG3CqCXsBAPzEXRcAJBlNKMBAhYEbelIAEoVYAxiLuy4ASBoOeAMm4xC4ydi9AQdGhgHzMXBjJHZvwIkmFJAUDNwAMB6xBkgWBm4AGIxYAyRO8YWJCTcATEKsARKKuy4AME9NnqkzIMHsaeLm5jrOScUOuzfgRLUGgOhJATADsQaAxMANACMQawDsxcANgFgj1gDoyQ43lG0i7vXNTWEvAYgcrjIMoHe5XAt3XYg4NnCgh5qwFwAgurjrQmQdfviQsJcARBG3ugTQj6JwU0fZJlrYwIF9MVsDoCTcdQFA9BFrAJSKQ+ARccAB70o64pTmsBcCRA4jwwDcYeAmIti9ASeqNQC8KFRuKNsEbNeu15ubF7zxxjthLwSIImINAO8YuAnYn/+8rbl5wfTp88NeCBBRHPAGUJYePSmOSlXOl788UtL8+aukv4W9FiCiOOANwAfF4aapSSQbf9mVsKamxsMOq5Xe7vosuzfgwMgwAN/Y4aa5uY6yjV+6y2BaIH3846fu2rWz8H+xewNONKEA+Iy7LviiEGi6foaZurBXBMQAsQaA/xi4KVMmU6fuQFNbG/ZqgPjgJBSASim+fB/npEq0bdsTmUxdU1NjLtdCFgTcoloDoLIYuClRz64TAPcYGQYQBAZu+tAj0JTYdWL3Bpw44A0gINx1oVfdp+Ldj9GwewMONKEABKoo3NQlvGxTKNLkci3MBQO+INYACEFt7dlNTUpsT4oxGqBCiDUAwpHMQ+DexmgAlIiRYQBhStRdF7yP0fSG3RtwoloDIHzGHwJnjAYIBiehAESFkYfAKzhGw+4NOFCtARAhhg3ccA8EIGDcPAFA5Bhw1wXugQCEgpFhABEV04GbwA5vs3sDTjShAERajAZuOLwNhI5YAyDqYnHXBcZogChgtgZAPBQGbjKZukgN3DBGA0QHB7wBxEmk7roQ8j0Q2L0BB0aGAcRMFA6BR2GMht0bcGK2BkAshThw4+89EAD4iFgDIMaKwk1dAGUb7oEARByxBkDsFQ/cZCv2LMVnnSr2JADKwkkoACYonJOSNHbs6Zs3r/PrkTdtWjdmzHBJnHUCoo9YA8Acduaw77pwzjm1Tz55z2OP3eXtoR577M4nn/zWOecMs8doCg8OIMpq8gzTAzDLCSecv3HjGLtgY3emJNnRZMKExj6+8aGHFtkfNDcvOPVUNTU1NjU1nnbamBNPfN9+kEhh9wacmK0BYKYzz8wOGHDAM89cWSjY9Ig4hRPahY+PO66r0tPU1Pj5z1/1uc+1t7fv3r37vdD+GwC4RKwBYLgLLmioqamprq5+5ZWZ1dXVDzzQVXexA03h4wkTGjs6OsaM6XzxxSkjRrS3t+8Jab0AvCPWAEiWTOYaq5ukfD6fz+elfGdnZ9hLA1AuRoYBAIAhuHkCAMQSuzfgxK0uASCe2L0BB5pQAADAEMQaAABgCGINAAAwBCPDABBL7N6AE9UaAABgCGINAAAwBAe8ASCe2L0BB6o1AADAEIwMA0AssXsDTtzqEoiTbOaswsdrck+HuBIAiCBiDRAPdqApjjLOzwBAwhFrgKjbX3yxP0O4AYACYg0QadnMWX1HlkK4IdkAQE2eqTMgklyVYdbknqZskzTs3oAT1RogcrwFFHpSAECsASKk/FBCTwpAkhFrgKjwMYvQkwKQTMQaIHyViCD0pAAkEFcZBsJU6dhBuDEYuzfgxK0ugdAENgHDwI2Z2L0BB5pQQAhCKZ8wcAPAeMQaIFDhBgt6UgDMRqwBAhKdMEG4AWAqRoaBIERwroWBm7hj9wacqNYAlRXxoggDNwBMQqwBKiUucYGeFABjcMAb8F8cIwI9qfhh9wYcqNYAPot1MqAnBSDWGBkGfGNGIKAnFRfs3oAT1RrAB+aFAMINgDgi1gBlMfuNn4EbAPFCrAG8S8j7PQM3AOKCWAN4kbS3eXpSAGKhJs/UGeBGkt/aCTeRwu4NOFGtAVxISNepbwzcAIgsYg1QEkoUPTBwAyCCiDVAP666cqSU583biZ4UgKgh1gD7NW9uvaQ779pw1ZWjpJawlxNRhBsA0cFVhoHe3bJ4zo3zVw0ePFSDDgp7LTHAwE3w2L0BJ251CfQ0Jytl7pg+4yYdcmjYa4kZBm4Cxe4NONCEAvaak5WkG1bu+OWm5froEWEvJ5boSQEIEbEGkIoCTdgLMQQ9KQChINYAmpMl0FQEPSkAAWNkGIl2LUWaCqMnVTns3oAT1RokFIEmSIQbAMEg1iBxCDRhYeAGQKVxwBvJcu0luuE2Ak2YGLjxDbs34EC1Bklx7SWSyDSRQE8KQIUwMgzzzb1Ekq6/bYf4922UEG7KxIsZcKJaA8PNvaQr0CCaGLgB4CNiDYxVXKRBxDFwA8AXxBoYiEATR/SkAJSPWAOjEGjijnADoBw1eabOYIp5lxJoDMHATSnYvQEnqjUwwbxLJYo0xmHgBoBbxBrEG4HGbPSkALhCrEFcEWiSg54UgBIRaxBLjNEkED0pAP0i1iBmKNIkGT0pAH3jJBRi47rLJOm6FdwDIekINzZ2b8CpKuwFAIAXa3JPF9pSAGCjCYXYuOE+SbpuYkrdNRuAgRsAxYg1iBnCDXqgJwWggFiDWCqEG5INbEXhJi89H/ZyAISjhpkzxNf19+n6iSlJ8wg3kNTVk6obNza/YeNLYa+l4ti9ASdGhhFv19+n6+/TjRNTN05M+fWYN05M+/VQCMVDa58fOeLEc88ZFvZCAASthsAPA1x/ryRdPzFF2Qa2DRtfGjhw4H+eM0zS85veCHs5lcHuDThQrYE5rr/Xn7LNvBWtuTV3+rIkhOupll/95Jn/O/y0w8NeCICAMDIMoxTKNmLgBt2e3/TGZ047XNLLr/w97LUAqCxGhmGg6+6VpBsIN+j2wpY/V1dXn3DiRyS9tu2fYS/HH+zegBNNKBjrunt13b3y1pOat6L1lsXX+r4khOvlV/7+6mtvH1c7uHbYwWGvBUBFEGtguOu8DtzMW9E6b25DJZaEcL227Z/btu8clj4o7IUA8B+xBuYrlG3chpt5K1qnTslWaFUI1/bWd9OpQenUoLAXAsBPHPBGUly3WioM3CwvdeBm3vLWqyZxGRszte7YJSmdPkjStu0xHLhh9wYcGBlGssxbLUk3TkrNLTnZzF3eKik7Kb0m11KxdSE021vfzefztcMGK25Hpdi9ASeaUEiieas1f1Jq/iQXPam5y1uzmbpspq5yq0KItm3/56uvvX3Cv38w7IUAKAvXrUFCFco2kkqs3BTKNpKo3Bjp5Vf+fsKJH5a0abOhFyYGTEesQaIRbtDD1pfe6uzs+PSph0t6quXXYS8HgDvEGoCBG/S0afMb7e17zqg7StLGR8y/GThgDEaGgS5zV2u+m7KN7IEbyjbmeqrl1+3tu8+94MS16zaFvZZesHsDThzwBvaae4+k7nCzrLSe1LJWSdnJhBtjbXzkpRFjTpPy0tNhr2Vf7N6AA00ooKeucDM5VWKyEeHGdGvXbRo7Zng2k5e0JhexcAOgCLEG6N3cezR/souyjYrCDcnGSHagyWbOItkAkUWsAfarULaRy3BD2cZga3JPZzNnibINEEmMDAP9uLYo3FxbWri5lp6U0QplG4Uabti9ASeqNUBJ7HDztcmpEpONCDemi0i4AVCMk1CAC9d+S19zU6jBNIIAAA1OSURBVLZRUbgh2RgpzIEbdm/AgWoN4M6135LkJdxQtjEYAzdARBBrAC88hBt6UmajJwVEASPDgHdzusPNnJLLNnPoSRktyHDD7g04Ua0ByjXnW7ppckqSq3BD2cZgXOEGCAuxBvCBXbZxFW7m0JMyHQM3QPCINYBvCDfogYEbIGAc8AZ8NuebknTT5NScW0vuSd3aKik7hYEbM1Uq3LB7Aw6MDAMVcc03ddOUlCRX4SY7hbKNsXwfuGH3BpxoQgGVco1dtnETbgplGxFuDMXADVBRxBqgsgrhxkNPSoQbEzFwA1QOsQYIgreelBi4MReHwIFKINYAAfHQkxIDN6ajJwX4i5FhIFBNReHmmtLCzTX0pIzmuSfF7g04ccAbCEHT3ZL09SmpEpONCDem8xJu2L0BB5pQQGia7tbX3ZRtVBRuSDZGYuAGKBOxBghToWwjl+GGso3BGLgBPCPWAOHzEG7oSZmNQ+CAN4wMA1HRWMbADcnGSMXhxondG3CqCnsBAPbReLe+PiVlV25KdM2trdlMXTZTV7lVIURrck+vyT1NjAFKwUkoIHIavyEVelJLS+tJLW2VlJ1KT8pg1pVfzku6cf7tXZ9g9wYcmK0BIqor3Ewl3KDLXd/YuGvXzilzvyrpkksbwl4OEEXEGiDSCuGmxGSjonBDsjHSjfNvb2v725Jvr1T3ywNAASPDQAzM/kZX2aap5HDTtLSVso3BLrm04YgTGpqnpmaTbIAiVGuAeLDfvZrdhJsmelKma1q6w35JEG4AG7EGiJNCuHFVthHhxlz2K4FwA9iINUD8zP6Gu7KNisINycZIhXBDskHCccAbiKXZd0mFntSSksPNktbsNMo2pnDs3k1LdjRPS6n75QEkECPDQIzNssPNtJSkxtLCTeOSVkmEGwP0unvbL4MF01LqfnkAiUITCog9+91rwbRUiclGReGGZGMkwg0Si5snAIaYdZcWTEvZ72QlalzCXRdM1rhkR+OSHTdfGfY6gABRrQHMUSjbiJ4UujUu2UHZBslBrAFMQ7hBD/SkkBw1eWaGARPNvFNi4AZFisON/fIAzMNsDWCymXcycIN92AM3i64Kex1AZdCEAgxXKNuInhS6FQZuKNvAMMQaIBHK6UmJcBNJC6al7d+RN/SkYCRiDZAgdk9KJZdtxMCN6QrhhmQDM3CVYSBZZhT1pGaXHG5mc9eFiBk8+FDt50LDHsxesmPhtJS6Xx5AfFGtAZLIfvda6CbczKYnFSW3r7ppdhkdKCf7ZUC4Qdxxq0sguWbcIUkLp6Vm31Jy2eaWVknZ6YSbCKjA7m2/EhZOT6n75QHEC9UaIOlm3NH1NuYh3JBsQrHklrn2r6BCCuGGZIPY8TPWfOnzOupwSXrrbe16Tx85VAceoN//RXds9PFJAPivq2zjPtxQtjHY7Ft2ULZB7PgZawZ9QH94U6s2dP3xa1eoplov/sLHZwBQQR7CDT2p4M2bW1/RUk0x+2XQcZCLyzkC4fLzJNQBA3TLQ10fjz9TAwfo9Te19Vf+PQGAypveHW7oSUXNlV8eqe6fdjDsjDudag3iw89qzd/e3vvxSUdL0vL1Pj48gOBM9zRwQ9mmogg0QL/8jDWrH+/6oH6kLEs/+42Pjw0gaNPpSUWDfX+uwDINgQax5v8B7+M+oSM/qj0duv9Jnx8ZQPCm3y4RbkIScKCRtHB6yv6NAzHl/wHv80+RJf34Z11/HD5Mz2/3/UkABKoQbhi4CUw2UxdC14lMg5jz+eYJdf+uQ4fon7v02Jauz5x0jJ4j1gBGmHZ715vfrJLDzSwGbtyzizSzbmkN5mqpN09PSZp2u1SRK/wBgfK5WvOfJ8iSHn2h6Amq/H0GAGGy3/xudhNuZtGTKlkh0ATzdMWBBjCDn7Fm7Bn6wAH641va0n2tmunj9N7u/X79yOH6+Ef1oSGyLP3lH3uPTV14uo7/pHa363d/Vu4pHxcIwB+FcOOqbCPCTZ+ymbrAAo2km6enCDQwj5+x5uRjJGnIIE0fpyGDdPCBkvTz3+/36zc8L0k3Xq6DBuq3/2/v57/7nD51hBY+4OPSAPhv2u3uyjYqCjckm2IUaQC/+HkSapanA4E/3KKL/kNnHK8fbO76zLmf1ou/oMcLxMC0VVKhJ7W45HCzuDU7g7KNVAg0i4MKNDNS6v6tAUbyeWTYg+e3a/gwHfZBfeGcrivfHPcJSjVAnEy1w82MlKSZpYWbmYtbJSU53NiBxv45BLAPL5qRUvdvKvRtH6gcP5tQSxsWTV0508M33vygltTruE9I0qWf0w+39PcNAKLHfstcNCNVYrJRgsNNNlM3M6gKjaRFM1JTqdAgGfyMNQMGjPL8vTt+p9T/0NzL9Pd39OpvfVwUgEBNXdVVGPAQbpKQbIqLNAEoLtIASeBbrLn16pYhQ+qWNpw/deX3PXz73Y9qSb0OPVjz7/NrRQDCUSjbyGW4MbtsQ6ABAuBbrDnggKMlWdalfj0ggFjzEG5M7UkFHGhE1wkJ5s/I8K0Nyw888GJJVVXDynxAZtkAk0wpY+DGjGQT/BiNpCmr2EuRUP4c8J5y26Rbr/7a++9fNGl5utwH5O8iYJwpK7vLNotKDjeLWrMz41226SrSLAqq6zQzJWnKymCeDYgo/2916cFna3X8J7WnQ5ImjdbPX9eTW8NeEwBf2W+39ltvieHGDgRxDDcEGiAskYg1z27Ts9vCXgSAyjM+3AQcaCQtmpki0AAFQceaW5+19N+ktKb8i24TkFCFcOOqJyUpOzPSAzfZTF3AgUYUaYB9+XyV4T4ebdlHLEk6W/qTJv8rT6gBEm7yyq435hklh5sZUR24sYs0Mxa1BrOzLZ6ZkjR5pcQ4IrCvgKo1yw6yqmqrJHU+0Tl5KH8NAUjdb8yL3YSbGRHrSRUCTTBPVxxoADhVPNYs+6NVdWFV1cFV+d/m87vy2iKdVunnBBAnhXDjqmyjCISbbKYusEAjafHMFIEG6Jufd/CWetZDl6eqquqq8m/mJ73Q2fWpU6mZAujF5NvclW1UFG6CTzbhFGluC+bZgBirVLVm2eFW1dFV1ntW5/rOyYcQZAD0z37b9hBugizbEGiAKPN/ZHh5lVV1RlVVVVXnts5Jb+Z1CNUZAC5Mch9uintSlRNKoLF/GuyiQImsSSv8+fsy5vhnzzzzww8+uP3iYRfnf5+f+JvO/r8HAPq0/GoXZRvb4plpSRs2bh04cOCAAQfU1AyoqRlQU1NTXV1dVVVdXV1tWVVWN0n5fD6fz0v5zs7Ojo6Ozs7Ozs6OPXva29v37NnT3t6+e/fu90ZccJICDDSSFs9MTaJCA7jnTxPqQ3+/8eijv9LR8W+//nVN55LOSemSolLDKH3sQ6qq0rv/0ou/1OMvqimjIYO08z39tU13ebkROACjTPI6cDNyZlrSUy2/LHMB554zTIEHGnUXaQC45Vu15v+cse2www5767DD3pce6+z8c2kPe8Fp+l8nqG2nrlvd9ZlpY7VkrS8rAmCO5VdLbsKNbXF3W+qFLX9yVa359MmH2d9IoAHixZq03Lem7QfemP3e4QtHTK76mGX9NZ+/J58fUsKDX/9FHTpYT72sjc9r9gQtfMCv5QAwzfKJkjTjZnfhRtLiWe7GbmbcHFyasS2elZq0IuDnBAxkTfQv1hQMmmSNrqoaLP1XPv/4sn6GbGo/ri+fp85OvfwbvfW2Hv2p78sBYJQVEzXdfbKJrFtmpSRNJNMAfqhIrLH9z0nWqVVVkrZ2dr7Y57Nceb6GHan3d2vmnRVaCwCjrJgoKfbhhkAD+K6Cscb2uclVn7Ssd6UNnZ2ft6wH91O8sWvL9/9IW35e0eUAMEd8ww2BBqiQisca2+jJVWcOGbK7s/OFnTvXOpLNmcfrjOP1oUO081+65u4AlgPAHLELN7fMShFogAqpCuZp1i/rfP29997t6PjskCGjJ/d80uHDdMN9evMfOvhAjTsrmBUBMMTEFZq4oqv+EXG3zEqRaYCKsq4OpFoj6cBJ1sekg6TTqqvvWLqn8PmGkfrxq2r9nSStmKi8xHEAAB7cNlGSpkWybLNkVkrS1WxuQIVZVy8L86rcnzlWx/53rf5h1x+/cI5OOlp/eFM3PxjiogDE2G2TpCiFm65AszzsdQDJEFqsGT5Mw4fpw4fo/XZt2q7HtkjS7Ak67IPK5/XHt/Taf+nJraEsDUDs3TYpEslmyawUgQYIUsjVGgCokHDLNhRpgFAQawCYLPhwQ6ABQmQ1EGsAmG5lUOFmyaxUA4EGCA+xBkBSrKzkwI1dpCHTAOEi1gBIkEqUbQg0QHRYDbcSawAky8rJkjRtYbnhZsnslKSGZeWvCIA/iDUAEqrMcLNkdopAA0SNVU+sAZBgqyZrqstks3R2SlI9mQaIHmINgKRbNVlSSeGGQANEHLEGAKT+wg2BBogFYg0A7NVrT2rp7BSBBogFq34psQYA9lo1RZKmLtghaWljSlL9reGuCECprK8SawDA4fYpkvRVAg0QKzVhLwAAoohAA8RRVdgLAAAA8Mf/B/TVM3H4nuLfAAAAAElFTkSuQmCC<Mask><Rect height="58" type="negative" width="45" x="17" y="442"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP4 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP4
deleted file mode 100644 (file)
index 20b374a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="51" type="negative" width="63" x="12" y="447"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP5 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP5
deleted file mode 100644 (file)
index a008af2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="59" type="negative" width="49" x="14" y="442"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP6 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_002/verificationPoints/VP6
deleted file mode 100644 (file)
index 01248ac..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="57" type="negative" width="47" x="15" y="443"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index ab81568d72fe758d800bc0fab53df7110b6014fa..6856a28bd947c6d29a515c08782237a3e5cf7f25 100644 (file)
@@ -1,64 +1,84 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Extrusion_003
-    #[Topic] 'Extrusion_cut' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Extrusion_003
+    # [Topic] 'Extrusion_cut' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_extrusion_001.hdf'
+
+    # [step] Open 'for_extrusion_001.hdf'
     open(DATA_PATH + "/for_extrusion_003.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
+
     # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 71, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all
     fit_all()
-    
-    #[step] Features - ExtrusionCut
+    test.vp("INIT")
+
+    # [step] Features - ExtrusionCut
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "ExtrusionCut"))
-    
-    #[step] Select the upper face for sketching
+
+    # [step] Select the upper face for sketching
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 243, 171, 0, Qt.LeftButton)
-    
-    #[step] Draw closing contour, consisting from 4 lines
+
+    # [step] Click "Set plane view" in property panel [vp PLANE]
+    clickButton(waitForObject(":Sketcher plane.Set plane view_QPushButton"))
+    test.vp("PLANE")
+
+    # [step] Draw closing contour, consisting from 4 lines
     lines_create_in_view([(83, 152), (85, 346), (669, 344), (669, 162), (83, 152)])
-    
-    #[step] Ok
+
+    # [check] Check that lines have been executed successfully [cp LINES]
+    fit_all()
+    test.vp("LINES")
+
+    # [step] Ok
     clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
 
-    #[step] Define value of 'To size' parameter of extrusionCut, set it equal to 50  
+    # [step] Define value of 'To size' parameter of extrusionCut, set it equal to 50
     type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
     type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox_2"), 50)
+    type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox_2"), "<Return>")
 
-    #[step] Define value of 'From size' parameter of extrusionCut, set it equal to 50  
+    # [check] Check that preview updated [cp PREVIEW_TO_SIZE]
+    fit_all()
+    test.vp("PREVIEW_TO_SIZE")
+
+    # [step] Define value of 'From size' parameter of extrusionCut, set it equal to 50
     type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
     type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox_2"), 50)
-    
-    #[step] Ok
+    type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox_2"), "<Return>")
+
+    # [check] Check that preview updated [cp PREVIEW_FROM_SIZE]
+    fit_all()
+    test.vp("PREVIEW_FROM_SIZE")
+
+    # [step] Ok
     clickButton(waitForObject(":ExtrusionCut.property_panel_ok_QToolButton"))
-    
-    #[step] Click 'Reset view' toolbar button
-    clickButton(waitForObject(":SALOME*.Reset_QToolButton"))
-    
-    #[check] Check that extrusionCut operation has been executed successfully
-    test.vp("VP1")
-   
+
+    # [step] Click 'Reset view' toolbar button
+    clickButton(waitForObject(":SALOME*.Reset_QToolButton_2"))
+    mouseClick(waitForObject(":SALOME*_OCCViewer_ViewPort3d"), 10, 450, 0, Qt.LeftButton)  # close tool bar extension bar
+
+    # [check] Check that extrusionCut operation has been executed successfully [vp EXTRUSION_CUT]
+    test.vp("EXTRUSION_CUT")
+
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/EXTRUSION_CUT b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/EXTRUSION_CUT
new file mode 100644 (file)
index 0000000..d3159af
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="30" type="negative" width="29" x="367" y="143"/>
+<Rect height="30" type="negative" width="29" x="454" y="291"/>
+<Rect height="55" type="negative" width="49" x="8" y="414"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/INIT b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..e5b775c
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="30" type="negative" width="29" x="368" y="144"/>
+<Rect height="55" type="negative" width="49" x="11" y="412"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/LINES b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/LINES
new file mode 100644 (file)
index 0000000..5bf17e3
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAQTklEQVR4nO3dfahkd33H8d/JbjAEdReNNCSabHOLStNW3ZIUtiHbJKarLVIfavogokRDJQ1Zi6HdCD5RtVux1k1LISktdFP/SFBUdLXE1mSrKCKh3dqsrbK1u3+E2KCGKtLYuMc/zu7s3Lv3zs6dOfNwPuf14kLuTO6ce5gM97zz/Z05U63sP1AAALrvvEXvAABAO2QNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIWQNABBC1gAAIbYuegfacWzf3kXvAgB02Mr+A4vehRZ0JmtGh0td13PbEwDIU1XV6B/oRPcsb9as6RjhAgCzc87j7HD3LG3iLF3WDGpGxwDA8hg+Li9t4ixF1gwPZtQMACy5dRNnGfpmwVnTBI2UAYCOGhzEm75ZbNwsLGsEDQAkaY7pi42bBWSNoAGAVIuNm7lmjaABgD5YVNzMKWsEDQD0zfzjZuZZI2gAoM/mGTezzZpj+/YKGgBgEDczLZsZftSlpgEAhtV1PdOPcZzJtMbCEwCwrrquZ7cg1X7WGNIAACPMbkGq5azRNADAOGYxtmnz3BpNAwCMr67rds+2aWda42QaAGAyzdimlZlNC9OaZkijaQCAybQ1s5k2ayw8AQDTa6VspsoaTQMAtGX6spnh5fgAADZlyrKZPGuMagCA1k1TNhNmjaYBAJbNJFmjaQCA2Zl4YLPprNE0AMCsTVY2m8saTQMAzMcEZeOdUABAiE1kjVENADBPmx3YjJs1mgYAmL9NlY1FKAAgxFhZY1QDACzK+AMb0xoAYNmNWTbnzhqjGgCgE0xrAIAOGGdgc46sMaoBALrCtAYACDEqa4xqAIDlcc51qA2zRtMAAN1iEQoA6IzRAxtZAwCEWD9rrEABAMtpxMDGtAYACCFrAIAQ62SNFSgAYJlttA5lWgMAhJA1AEAIWQMAdM+661Brs8aJNQBAR5nWAAAhZA0AEGJV1liBAgC64uzTa0xrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACHEma1yLDwDoljVX5DOtAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCbF30DixEtfqmq/UAQIIeTmuqUuqqKs3X6XsAgM7rW9Y0TXOmY5QNAMToW9aU4aY5fc9CdgQAaFk/z60ppZTjQ9+fqMryD2wu84ldADBST7Pm+Ll/ZOmc6NRYSYQBMH+9y5q6tuo0D92KsKLDACL0LWvqUqq6bladSjl1MKs68R7vzoVCt3Tr6RVhAOvqW9aUpmyGbnajaUrXjmTdqoTO6dzT261XL9BdPcyasrps/LWdic4dxjoXCt3Suae3cy9goNHPrIG1unUY61wldE63nuFuvXqZJdfQlzXQQZ07jHWrEjqnc09v517AHbHqerN1XTp0lkWLZA0wc507jHUuFLqlW09vR16961xDv59lI2sA1urIkeyUblVC53Tn6a2aS7JdPrh9qmz6RdYAdFu3Iqx0KRToHlkDwFx1q8M6F2HHhwY2PSRrAGBDHYmwqpQzV5ptdGPH29a7T/AGgDhrE6Y+FTW9SxtZAwABzhRMP98D1bAIBQBh+hg0DdMaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQvQ0ay6r6+abE1W12D0BANrS06wBAPLIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAgxJmsWdl/oKqqBe4KAMCmVFW1sv/A4KZpDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQCEqUrp6RVbZA0ABDjTMacvQtfHslmVNX29Il9/qxaACFUp9arb/SibNdfiKz2e1qhaAHKcPZXo45iilK2L3oGFaKp2VdnUdTm7doG2nOjnn1iYl+OL3oElsTZrmnWoug4/uldVNXgFNN+cMLMBoPsuX/QOzM3ZK1Clx4tQAJAsfUCxvn4uQpVyumdN7WA+Luvnn1iYn6oMnU9T13U/z6zoadbU9an/9pcP3dP8czE7BABTqUuphv73oY9NU9ZdhOrB27zrsno6d/pcoj6+AgBIUa/+SrbuiTWlt9MaVQsAeXqbNUXHAECY9d8J1YN1KACgkzZagSre4A0AxJA1AECIDbPGOhQAsGxGrECV0dMaZQMALI/RTVMsQgEAMc6RNQY2AMAyOOeoppjWAAAxzp01BjYAwGKNM6oppjUA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<Mask>
+<Rect height="30" type="negative" width="29" x="365" y="157"/>
+<Rect height="30" type="negative" width="29" x="457" y="311"/>
+<Rect height="55" type="negative" width="49" x="12" y="407"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/PLANE b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/PLANE
new file mode 100644 (file)
index 0000000..4173c00
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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WQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhCiWNSdNvOWz733P3s9vXHNCqbcAAGijWNbcueexjx/7jg2rV7U+effF571h//1LvQUAQBslN6Gu/+19F6w8rvlww+pVB7zudZ/56S8LvgUAwExKZs22B3btfvKpH37srMbD81ce97W77yl4fACANgpfMnz2zdvfdfihZx591M0fPesPjz+xfddDZY8PADCT+QedcnrZIy7cb8EVJ646dPEBJ239ftkjAwC0Uf4L3tftvHeyXv/RH3cXPzIAQBt9uW/Nfyb/+/xLL/fjyAAAM3E7PgAghKwBAELIGgAgxIJ+HHTFDVv7cVgAgDZMawCAEGWy5on1VxY5DgBA10xrAIAQBbJmzz/XV1X112WX934oAICuFcia2qm1qqpqb631figAgK4VyJrlu25YWFs4+bPJ3g8FANA119YAACFkDQAQQtYAACHK3GV4/fz1i963aMn8E1qf3P3kU7ft/ksnL9+05oSv3nVP6zPnrjhmv/nzvnf/74ssDwCYC8pMa5bWli5bsuywxQc2/h15yMEXHL/i2MOWdvjyNy5ZfPtF57Y+8/lTV//tmeeKrA0AmCPKTGs2vbLp6e1PTyzc0nj4rTPf//dnn/viHTs7fPklt+64/7KLNqxedd3Oe6uquvvi83784O479zxWZG0AwBxR/tqai969YvXyN59807ZZveoLd+y88PgVVVVdferqBfPmbfz5r4ovDADIVv4XvK84cVUXUbLj4UfWHjFx16c+edjiA4+49pvFVwUAxCs8rbnv0gtv2fXQTx76cxevvey2Xxy+ZPGux58ouyQAYI4omTW3fOKcx//1/NW339Xdy7/9oQ/849nnjjl06ZqJZQVXBQDMEcWy5sbTb1z++iVnb7ulu5d/8Oij1kwsO/mmbdse2HXNaSeXWhUAMHeUyZq152+9ZOUlK2/8TtdHuOqUE7f+7oGqqr7869+89MorXz9jbZGFAQBzR21i85YeD7Fn4zMvvHDljh2PPvyRt3fy9+vmz3+qXj//K99oPnPTh8940+LFp333B81nHv3cZZ++dcftj+zpcW0AwNxR4JtQl156/KJF+61bd3S1rj7lf7108MF7//3LL754yOTkzqs2/Htycu0115/zzretXr7syNd++2n7rj99ae1JsgYA6FyZaU3jPyY2H9TJ31+76fKb6/UHe35fAIBWBbIGAGAU+AVvACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACDE/wA/Ksr5W/mVjAAAAABJRU5ErkJggg==<Mask>
+<Rect height="55" type="negative" width="49" x="11" y="411"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/PREVIEW_FROM_SIZE b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/PREVIEW_FROM_SIZE
new file mode 100644 (file)
index 0000000..521b2f3
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="30" type="negative" width="29" x="366" y="219"/>
+<Rect height="30" type="negative" width="29" x="457" y="311"/>
+<Rect height="55" type="negative" width="49" x="13" y="410"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/PREVIEW_TO_SIZE b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/PREVIEW_TO_SIZE
new file mode 100644 (file)
index 0000000..635a1cf
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAPB0lEQVR4nO3de6ikdR3H8d+4K4mYu5SSqNXmiYqsrA0NNnHz1nYhKiu7EYkliYlbKK0GdqGbG3ZZi0CjoLX+UAqL2gqtdCuSEKmt3ErZrP4QTVIpkSzb6Y+B03j27Oycmd8zM89nXi/2j53ZM8/58Szsee/398wznYUrthUAgPY7aNoLAACoQ9YAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQYvW0F1DHni2bp70EAGixha3bpr2EClqTNYPDpVu6E1sJAOTpbOkM/oJWdM/sZs2SjhEuANCcA/6c7e+emU2cmcuaxZrRMQAwO/p/Ls9s4sxE1vQPZtQMAMy4ZRNnFvpmylnTCxopAwAttfhDvNc3042bqWWNoAGAJL2f6dONmylkjaABgFTTjZuJZo2gAYB5MK24mVDWCBoAmDeTj5vGs0bQAMA8m2TcNPuZUHu2bO6WrqYBgDnX64GmP+yowazpNU1zxwcA2qXpsmlkE8rGEwCwrG7pNrchVX9aY+MJABiguQ2pytMaG08AwDCaGNvUnNZoGgBgeNXHNnWmNS6mAQBG0xvbVJnZVJjWuJgGABhHrZnNuFlj4wkAGF+VshkrazQNAFDL+GXT7F2GAQCGN2bZjJ41RjUAQHXjlM2IWaNpAIBZM0rWaBoAoDkjD2xWnDWaBgBo2mhls7Ks0TQAwGSMUDbeCQUAhFhB1hjVAACTtNKBzbBZo2kAgMlbUdnYhAIAQgyVNUY1AMC0DD+wMa0BAGbdkGVz4KwxqgEAWsG0BgBogWEGNgfIGqMaAKAtTGsAgBCDssaoBgCYHQfch9pv1mgaAKBdbEIBAK0xeGAjawCAEMtnjR0oAGA2DRjYmNYAACFkDQAQYpmssQMFAMyy/e1DmdYAACFkDQAQQtYAAO2z7D7U0qxxYQ0A0FKmNQBACFkDAIR4XNbYgQIA2mLfy2tMawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAjx/6xxLz4AoF2W3JHPtAYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQq6e9gKnplM60l7AyPogUAAab36wpbQuFdnVYu84tABnmOmvapV2h0K4IK207vQAsS9bQiNZVQrs6rHWnF2AyZA2U0rZQaFeElbadXqC9ZA20T+sqQYcBkyFrgMa1rhLa1WGtO73QHFkDsFS7QqFdEVbadnppF1kD0G6tq4R2dVjrTu+ckzUATFS7QqFdEVbadnqrkzUAsF/tqoTWRVh1PhMKAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAEPObNd3S7ZTOtFcBAFQzv1kDAISRNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBAiP9nzcLWbZ3SmeJSAABWpFM6C1u3LT40rQEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACDE47LGHfkAgLZYci++YloDAMSQNQBAiNVLHi9s3dbZ0umW7lRWA6SywQ3Ute8OVNk3a+aNf2phMvxnCZiAuc4a/84CQBLX1gAAIZbJGm/zBgBm2bIX1hTTGgAghqwBAEIsnzX2oQCA2bS/HahiWgMAxJA1AECI/WaNfSgAYNYM2IEqg6c1ygYAmB2Dm6bYhAIAYhwgawxsAIBZcMBRTTGtAQBiHDhrDGwAgOkaZlRTTGsAgBhDZY2BDQAwLUOOaoppDQAQY9isMbABACZv+FFNWdG0RtkAAJO0oqYpNqEAgBgryxoDGwBgMlY6qikjTGuUDQDQtBGapoy2CaVsAIDmjNY0ZeRra5QNANCEkZumjHPJsLIBAOoap2mKd0IBADHGyhoDGwCgljFHNWX8aY2yAQDGN37TlCqbUL2yETcAwAh6FTF+05RSVo9/iFJKbymdLZ1u6VY5IAAwD2oFTU/NS4ZtSAEAw6vbNKX6O6GUDQAwjOpNU5p4g7dLbQCAASpeTLNEnWtrlnCpDQCwrIaCpqfB2/HZkAIA+jXaNKXpuwzbkAIASpMbT/0a2YTqt7ghVUqxJwUA86Y33Wg6aHoaz5oecQMA82aSQdMzoazpETcAMA8mHzQ9E82aHnEDAKmmFTQ9U8iaHnEDAEmmGzQ9U8uanv646ZE4ANAW/W92nm7Q9Ew5a3r6T8Ri4ugbAJhNizUzCynTbyaypt/iCeof4RSVAwDTs+QWdLNWM4tmLmsWLTllSypnCdEDAOMYfO/cme2YJWY3a5YYfEIHRw8AMFhbwmWw1mTNYBl/GQDAOJr9TCgAgImRNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBAiGpZc9rCMz7wspfu+/ylp55c61sAAAxQLWt+sufut73w+Zds3ND/5C3nn/OUww6r9S0AAAaouQn12Z/d+q4TX7T48JKNG574hCe8/7s/rPgtAAD2p2bWbL991+777v/GW8/qPTz3xBdtveXnFY8PADBA5UuG33Dt9S8+9ujXHf+ca99y1q/vuff6XXfUPT4AwP6setIZr6x7xEMOXn3xKRuOXvPE067+Wt0jAwAMUP8N3lfu/MXebvebv9ld/cgAAAM0ct+a/+z97z8f/XcTRwYA2B+34wMAQsgaACCErAEAQqxu4qDrP391E4cFABjAtAYACFEna+7d/MEqxwEAGJlpDQAQokLW7Pnb5lLKn9a9b/xDAQCMrELWdM7slFI6z+yMfygAgJFVyJrjdn3+kM4he7+3d/xDAQCMzLU1AEAIWQMAhJA1AECIOncZ3rxq86EvP3TtqpP7n9x93/3f2f3HYV5+2aknf+rmn/c/8471Jxy86qCv3varKssDAOZBnWnNUZ2j1q1dd8yaw3u/nn3kEe86af0LjzlqyJc/de2aG897R/8zHzpz458feKjK2gCAOVFnWnPZY5f9/fq/Lxyyrffwi6971V8efOijN+0c8uUX3LDjtovOu2Tjhit3/qKUcsv553zrt7t/sufuKmsDAOZE/WtrznvJ+o3HPf30a7av6FUfuWnnu09aX0r58JkbVx900KXf/1H1hQEA2ep/gvfFp2wYIUp2/P7OTc9auPk97zxmzeHP+vQXqq8KAIhXeVpz64Xvvm7XHd++4w8jvPai7/zg2LVrdt1zb90lAQBzombWXPf2N93zj39++MabR3v5l17/6r8++NAJRx916sK6iqsCAOZEtay56pVXHffktW/Yft1oL3/t8c85dWHd6dds3377rk+84vRaqwIA5kedrNl07tUXnHjBiVd9eeQjXH7GKVf/8vZSysd//NNHH3vsM6/ZVGVhAMD86CxcsW3MQ+y59IGHH/7gjh13/f7Nzxvm689eter+bvfcT35u8Zlr3viap61Z84qvfH3xmbu2XPTeG3bceOeeMdcGAMyPCu+EuvDCkw499OCzzz6+nN1d8kePHnHEvl//70ceOXLv3p2XX/KvvXs3feKzb3rBczcet+7Zj3/30/W7fvexTafJGgBgeHWmNb3fLFzxpGG+/tOXve/abve3Y39fAIB+FbIGAGAW+ARvACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACDE/wAnqLFC38rEdQAAAABJRU5ErkJggg==<Mask>
+<Rect height="30" type="negative" width="29" x="365" y="157"/>
+<Rect height="30" type="negative" width="29" x="457" y="311"/>
+<Rect height="55" type="negative" width="49" x="10" y="408"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/VP1 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_003/verificationPoints/VP1
deleted file mode 100644 (file)
index 617d3c2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="30" type="negative" width="29" x="365" y="157"/><Rect height="30" type="negative" width="29" x="457" y="311"/><Rect height="55" type="negative" width="49" x="15" y="444"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index 5dbbd53b67f15d89eb14c31896ca52c9cebedb52..7079c8f7fdb987bda0bc65c4352c9e08a175485a 100644 (file)
@@ -1,64 +1,84 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Extrusion_004
-    #[Topic] 'Extrusion_Fuse by sizes' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Extrusion_004
+    # [Topic] 'Extrusion_Fuse by sizes' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_extrusion_003.hdf'
+
+    # [step] Open 'for_extrusion_003.hdf'
     open(DATA_PATH + "/for_extrusion_003.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
+
     # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 71, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all
     fit_all()
-    
-    #[step] Features - ExtrusionFuse
+    test.vp("INIT")
+
+    # [step] Features - ExtrusionFuse
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "ExtrusionFuse"))
-    
-    #[step] Select the upper face for sketching
+
+    # [step] Select the upper face for sketching
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 243, 171, 0, Qt.LeftButton)
-    
-    #[step] Draw close contour, consisting from 4 lines
+
+    # [step] Click "Set plane view" in property panel [vp PLANE]
+    clickButton(waitForObject(":Sketcher plane.Set plane view_QPushButton"))
+    test.vp("PLANE")
+
+    # [step] Draw close contour, consisting from 4 lines
     lines_create_in_view([(83, 152), (85, 346), (669, 344), (669, 162), (83, 152)])
-    
-    #[step] Ok
+
+    # [check] Check that lines have been executed successfully [cp LINES]
+    fit_all()
+    test.vp("LINES")
+
+    # [step] Ok
     clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
-    
-    # [step] Define value of 'To size' parameter of ExtrusionFuse, set it equal to 100 
+
+    # [step] Define value of 'To size' parameter of ExtrusionFuse, set it equal to 100
     type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox_3"), "<Ctrl+A>")
     type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox_3"), 100)
+    type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox_3"), "<Return>")
 
-    #[step] Define value of 'From size' parameter of ExtrusionFuse, set it equal to 150 
+    # [check] Check that preview updated [cp PREVIEW_TO_SIZE]
+    fit_all()
+    test.vp("PREVIEW_TO_SIZE")
+
+    # [step] Define value of 'From size' parameter of ExtrusionFuse, set it equal to 150
     type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox_3"), "<Ctrl+A>")
     type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox_3"), 150)
+    type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox_3"), "<Return>")
+
+    # [check] Check that preview updated [cp PREVIEW_FROM_SIZE]
+    fit_all()
+    test.vp("PREVIEW_FROM_SIZE")
 
-    #[step] Ok
+    # [step] Ok
     clickButton(waitForObject(":ExtrusionFuse.property_panel_ok_QToolButton"))
 
-    #[step] Click 'Reset view' toolbar button    
-    clickButton(waitForObject(":SALOME*.Reset_QToolButton"))
+    # [step] Click 'Reset view' toolbar button
+    clickButton(waitForObject(":SALOME*.Reset_QToolButton_2"))
+    mouseClick(waitForObject(":SALOME*_OCCViewer_ViewPort3d"), 10, 450, 0, Qt.LeftButton)  # close tool bar extension bar
+
+    # [check] Check that extrusionCut operation has been executed successfully [vp EXTRUSION_FUSE]
+    test.vp("EXTRUSION_FUSE")
 
-    #[check] Check that ExtrusionFuse operation has been executed successfully  
-    test.vp("VP1")
-   
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/EXTRUSION_FUSE b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/EXTRUSION_FUSE
new file mode 100644 (file)
index 0000000..ab5d932
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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/wPfn/8MAAANZM2+fT8aQti//4T5XxQAwMwayJqn/NLv3X//F7/3vXfN/6IAAGbWQNYAAKQgzvetGTnjPb8e9wAAQDFaz5q1py2FEMI3Q9gXDv2lL24EANrS/hBqX+g/tx9OCOErrf9WAEDNWrytWQtL/Zf1+/v6gzsH4UfCoeNd1QAALWola9a+uNR7Ta//uP7gy4NDX7wuhBC+2cbvAwDwqOaz5iunvToVB8MAAAJ2SURBVKH/k/2Nv9h42n/+1cZfOADATprMmrUnL/V/vN/7Xm/wocGhxxo5AQCdamBl+LrnHPrGN550zz0X9X+8P/js4Gm3/erkprn87MObfuaiM37s5848ff6TAAA1ayBrTj755BNPPPGJT3zilacODn1t90uak0884bZLLxr/mV8856w/+X9/Pf9JAICaNZA1d95559133333SSf9TL//G5e/Yddf/09/67cf90PHvvmsFwz/8Y7XXnzL579wZO2r858EAKhZ79DVTS7B/Mblb/hbvd5XNjaW3vmeCb/sZX/vmde+/CXP+pX3XXHOWec849DhX/t3DZ4BAKhTw1kTQrhoeelV/f4xIfzhYPC2nV/49a/8B8994hNOOuGxz3zXe5s9AABQp+azZujty0un9fvfDeEjg8Fv7vBbfPkXXv/f/+zPz//Qf2jjAABAbdrKmqH3Xf6Gp/R6pxx33Fe/+92Xvu2a8f/r1/7hy075248/+cQT/skttx5d+5P2zgAAVKLdvxPqde98z4nHHPOdweDQD//wXVctj37+lc9+1tmHnvriD9x00933vv3cF7d6BgCgEq3/VZcvvPKXP/ztb9/8rW/91YMP3vzI10n9q5940a//17tDCL/0Xz75wEMPXfuKl7Z9DACgeO0Oobb1gZ95xZNPOOHcf/uh0c98+Rde/89+67dv+59rHZ8EAChJ67c1m5x/2qlnPf2p400TQvjIvf/jbS9d6PgkAEBhItzWAAC0oevbGgCAlsgaAKAQsgYAKISsAQAKIWsAgELIGgCgELIGACiErAEACiFrAIBCyBoAoBCyBgAohKwBAAohawCAQvx/+BPVSxDX7M8AAAAASUVORK5CYII=<Mask>
+<Rect height="30" type="negative" width="29" x="367" y="143"/>
+<Rect height="30" type="negative" width="29" x="454" y="291"/>
+<Rect height="55" type="negative" width="49" x="8" y="414"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/INIT b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..e5b775c
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO3de5RlZXng4e+cbi+jIIgzDBNBAzUCwUvQSCYShFgEMUiQCC4HzyI6ZkBZXkoXuqx2XCLxQqlgLAFxIDiD2LJEwjDqmGkxzU2BpYi04wU1LaMLjZdJAoOzFKFPzR+7ORZV1VWnztn77L2/93n+wO6yu2pX1bn8+nvfqupMzc0nAID269Z9AQAA5ZA1AEAmZA0AkAlZAwBkQtYAAJmQNQBAJmQNAJAJWQMAZELWAACZkDUAQCZkDQCQCVkDAGRC1gAAmZA1AEAmZA0AkImNdV8ArGb77MzyF07NzU/+SgBoPllDnVaslsU2b966/IW93vTqf0v3AMQka5ic5RGzYrWsac2/tbx7hA5ABLKGai1OmdEiZgTL39CS0FE5AFmSNZSvlpRZ3ZLLGFSOvgHIiayhNIOaaUjKrGJwhfoGICeyhnG1qGaW0zcAOZE1jK4ImjbWzHJL+kbcALSRrGEUOQXNEsU7JW4A2kjWsD4ZB81i4gagjWQNwwoSNIuJG4B2kTWsLWDQLCZuANpC1rCa4EGzmLgBaD5Zwy5tn50RNEsM4kbZADSQrGEFDmlWt3nzVsc2AA0ka3gYQTMkMymABpI17CRoRiBuABpF1pCSNZrxWLgBaAhZE51DmrJYuAGonayJS9CUzkwKoF6yJihTp+qIG4C6yJpwHNJMhoUbgMmTNYEImsmzcAMwSbImBEFTIzMpgImRNfmzRtME4gZgAmRNzhzSNI2FG4BKyZo8CZoms3ADUBFZkxtB0wpmUgBVkDVZsUbTLmZSAOWSNZlwSNNeZlIAZZE1rSdoMmAmBVAKWdNigiYz4gZgTLKmrazR5MrCDcDIZE37OKSJwMINwAhkTZsImlDMpADWS9a0hqlTTOIGYHiypgUc0mDhBmAYsqbRBA2LWbgBWJ2saShBw4rMpABWIWuayBoNqxM3ACuSNc3ikIbhWbgBWELWNIWgYTQWbgAGZE39BA1jMpMCKMiamlmjoSxmUgCypjYOaaiCmRQQmaypgaChUmZSQFiyZtJMnZgMcQMEJGsmxyENk2fhBghF1kyCoKFeFm6AIGRNtQQNDWEmBUQgaypkjYamETdA3mRNJRzS0GQWboBcyZqSCRrawsINkB9ZUxpBQ+uYSQGZkTXlsEZDe5lJAdmQNeNySEMezKSADMia0QkaMmMmBbSdrBmFoCFj4gZoL1mzbtZoiMDCDdBGsmYdHNIQjYUboF1kzVAEDWGZSQEtImvWZuoE4gZoBVmzGoc0sJiFG6DhZM3KBA3sioUboLFkzVKCBtZkJgU0k6x5GGs0MDxxAzSNrNnJIQ2MxsIN0ByyRtBACSzcAE0QOmsEDZTITAqoXdyssUYDVTCTAmoUMWsc0kDVzKSAWsTKGkEDE2MmBUxelKwRNFALcQNMUoissUYD9bJwA0xG5lnjkAaaw8INULVss0bQQAOZSQGVyjNrTJ2gycQNUJHcssYhDbSFhRugdPlkjaCBNrJwA5Qoh6wRNNBqZlJAWVqfNdZoIA/iBhhfi7PGIQ3kx8INMI5WZo2ggbxZuAFG07KsETQQhJkUMII2ZY01GojGTApYl3ZkjUMaiMxMChhSC7LGIQ1gJgUMo9FZ45AGWEzcAKtrbtY4pAFWZOEG2JWGZo2mAVZn4QZYrolZo2mAYZhJAUs0Lms0DbAu4gYY6NZ9AQ+jaYDRbN68dfPmrcXXGQBhNei0RtMAY7JwA8E1JWs0DVAKMymIrBFZo2mAcokbiKn+3RpNA1TEwg1E04jTGoDqWLiBOGrOGkc1wASYSUEQ9Q+hACbDTAqyV+dpjaMaYPLMpCBjtWWNpgHqYiYFubIyDAQlbiA/dmuA0CzcQE7qOa0xgQIaxcIN5MEQCiAlMynIgqwB+A1xA61mtwZgKQs30FJOawBWZuEGWkfWAOySmRS0iyEUwBrMpKAtnNYADMVMCppP1gAMy0wKGk7WAKyPuIHGslsDMAoLN9BA9WTNEUccU/xDB6DVirIRN9AQhlAAYzGTguaQNQAlEDfQBLXt1px88ivMoYDMWLiBejmtASiZ73ADdakza0499TW93nRxcguQEzMpqIXTGoCqiBuYsJq/b83pp7/Zhg2QNws3MDH1fzu+mZmzlA2QPd/hBiagEUOoN73pPZZsgOyZSUHV6j+tKWzadK4zGyACMymoTlOyJqV01lnzygYIwkwKqtCIIRRAQGZSULpmZc273nWRJRsgFHEDJWrQEKrw3vde2utNm0YBoVi4gVI067SmcN55l2/cuMGxDRCNn7oAY2pi1hQuuODK4u4tboA4zKRgHM3NmpTSRRddvXHjRsc2QDTiBkbTuN2a5T760c9ZtQECsnAD69Xo05qByy7bYiAFxGThBobXjqwpDO7b4gYIxUwKhtSmrEkPv2+LG2iXb+x18dReP13ywtvunnrur15Wy/W0jriBNbUsawqD+7aygRZ5wYHbjjzg20te+KiND6Y7a7mctho8ACobWK6VWVMwk4J2ufvWCz9x685f37v/OWc859r+Qqd759m1XlRbWbiBFbU4a5KZFLTWSU//ckrpI7ces2fdV9JeZlKwXLuzpiBuoF32/YPX7L3bvbfdfcCed83WfS2tZyYFi7Xg+9YMqfgGD77DDTTcj574V8894M57fvWY797413VfSz6Kb2/jO9xADqc1i1m4gYZ743M/10kLmz73sufWfSWZMZOClF/WJDMpaLAjX3jyxu6Oj331SF/UXRFxQ3D5DKGWMJOCptnr99647x7/9K2f7rvxO++o+1oy56cuEFaGpzWLmUlBcxx70NdTSns95hfP/ONTBy/8x/+3+w9v+XB9F5UzXwROQJlnTTKTgma46dGfOCWllNI+u9+zz+73DF7+0/v2+GFd1xSAmRTR5J81BXEDNdr34A2npFOv+IR9mnqIG+LIdrdmRRZugLAs3BBBlNOaxSzcAGFZuCFvEbMmmUkBgZlJkbGgWVMQNzAB+x68YfCLu+/cUe/FMCBuyFKs3ZoVWbgBwrJwQ2ZCn9YsZuEGCMvCDdmQNb9hJgWEZSZFHuoZQn3xi9fW8naHMZhJGUsB0ZhJ0XZ2a1Zm4QZKMdgXXvG3NFNRNuKGNjKEWo2FGxjT3XfuWJwyvhKqLcykaClZswYLNzCmu+/c0es9b/Pm6+q+ENZN3NA6hlBDMZMCwrJwQ4s4rVkHMykgLF8ETivImvUxkwLCMpOi+WTNKMQNEJa4ocns1ozOwg0QloUbmqmerJmam7/qqv9ay5sune/dB4TlO9zQNIZQJTCTAsIyk6JRZE1pxA0Q1uABUNlQr9p2a6bm5i+//MK63np1LNwAYZlJUTunNZXwHW6AmMykqFedWTM1N3/x7MzMzFk1XkN1zKSAsMQNdfEF3tUykwLC8kXgTF7NWTM1Nz8/f3a91zABvggcCMvCDZNkt2ZCzKSAsMykmJj6s2Zqbv7c2ZlNm86t+0ImQdwAYYkbJqARuzVTc/PnnPOmuq9icizcAGFZuKFSjcialNLU3PzZZ8e6lVu4AcKycENF6h9CDUzNzb9t9oz3vvfSui9kcsykgLDMpKhCg7ImpTQ1N/+Wt/zFeeddXveFTJS4AcISN5SrKUOogam5+TPPPLXuq6iBhRsgLAs3lKVZpzWFqbn5mZmXpZQuuujquq9l0vzUBSCswQOgYxtG1sSsSQ/dps8448WXXPLpuq9l0sykgLDMpBhTQ7OmMDU3f9ppJ6SULrtsS93XMmniBghr8ACobFivRmdNeqjWX/7yY+u+kHoM7tvKBojGTIoRdNpycylWycI+uzu2odV6vedt3nxd3VdBW4kbhtf005qB4gYd9tzCTAoIy8INw2vcF3ivbmpuPvJ35vVF4EBYvgicYbTmtGZgcGyTop5b+CJwICwLN6yufVlTCB43ZlJAWGZSrKKtWVOwcJPEDRCSuGFFLdutWZGFGws3QEwWblii3ac1A8FnUsnCDRCYhRsGMsmagplUit12QFhmUhSyyppCMZNKUZ/axQ0Qlrghw6xJZlJ+6gIQmB8pFVmeWVMQNxZugLAs3MSUc9YULNyk2G0HhGUmFVD+WVOwcJPEDRCSmVQorfkJ3mUJ/pPAU+CDKyA4xzYRhMuaQvC4cWwDhCVu8hY0awrbZ2ciP7WLGyAscZOr0FmTwh/bJDMpIDALN/mJnjWF4HHj2AYIy7FNZmTNb4ibFPjdByITN9mQNUtZuEniBghJ3GRA1qwg+LFNsnADBGbhptVkzS4FjxvHNkBYjm3aS9aswUwqiRsgJHHTRrJmbcGPbZK4AQITN+0ia4YlbizcAGFZuGkLWbM+wePGsQ0QlmObVpA1o7Bwk8QNEJK4aThZM6LgxzZJ3ACBmUk1lqwZi7ixcAPE5NimmWRNCYLHjWMbICxx0zSypjQWbpK4AUISN80ha8oU/NgmmUkBgVm4aQJZU77gcePYBgjLsU3tZE1VxE0K/O4DkYmbGsmaalm4SeIGCEnc1ELWVC74sU2ycAMEZuFmwmTNhASPG8c2QFiObSZJ1kyUmVQSN0BI4mYyZM2kBT+2SeIGCMxMqmqyph7ixsINEJNjm0rJmjoFjxvHNkBY4qYisqZ+Fm6SuAFCEjelkzWNEPzYJplJAYFZuCmRrGmQ4HHj2AYIy7FNWWRN44ibFPjdByITN+OTNQ1l4SaJGyAkcTMOWdNcwY9tkoUbIDALN6ORNU0XPG4c2wBhObYZgaxpBzOpJG6AkMTNusia1gh+bJPEDRCYuBmSrGkZcWPhBgjLws2aZE0rBY8bxzZAWI5tVidrWszCTRI3QEjiZldkTbsFP7ZJ4gYIzExqOVmTA3Fj4QaIybHNErImH8HjxrENEJa4GZA1ubFwk8QNEJK4SbImS8GPbZKZFBBY8IUbWZOt4HHj2AYIK/KxjazJnLhJgd99ILKYcSNrQrBwk8QNEFK0uJE1UQQ/tkkWboDA4izcyJpYgseNYxsgrCDHNrImIjOpJG6AkLKPG1kTVPBjmyRugMAyjhtZE5q4sXADhJXlwo2sIXrcOLYBwsrv2EbWsJOFmyRugJByihtZw28EP7ZJ4gYILI+ZlKxhKXFj4QaIKYNjG1nDyoLHjWMbIKxWx42sYTUWbpK4AUJqadzIGtYQ/NgmmUkBgbVu4UbWMJTgcePYBgirXcc2soZ1EDcp8LsPRNaWYxtZw7pZuEniBoinFcc2soZRBD+2SRZugKgafmwjaxhd8LhxbAPE1ORjG1nDuMykkrgB4mnmsY2soQTBj22SuAFCamDZyBpKI24s3ADRNK1sZA0lCx43jm2AaBpVNrKGSli4SeIGCKM5ZSNrqErwY5skboBIGlI2G+u+ALJV3L4jP7UX77WFG4CJcVrDJAQ/uYncdkAcTTiwkTVMjoWbJG6ArNVeNt0a3zbRTM3N93rTxbN7QJs3b928eWvYdx9gApzWUAMzqRT43QfyVu+BjZVhahB8m3iwSpxCvvsA1XFaQ80s3CRxA+SlxgMbuzXUzMKNhRuAshhCUb/gM6mU0qBsYr77AGUxhKJZzKSSuAHar645lNMamqWYSaWoT+22iQHGIWtoHDMpP3UBYDSyhoYSNxZuANZL1tBog7iJ+dRuJgWwLr7AmxbwReC+CBxgGE5raAczKTMpgDXJGtokeNyYSQGsTtbQPhZukrgBWIndGtrKwo2FG4AlfJdhWm/77EwKfG7h2AZoml5venr6+B88/5jJv2lDKFrPTCqJG4CUkqwhG37qQhI3QHiyhnwE/zqp5KcuAOHZrSFPFm5S4HcfqFGvN/3iF//5Pff8Uy27NbKGnG2fnYn81C5ugAnr9aZf/vLX3XffvXVljSEUObNwk8QNEImsIXMWbizcAJPR602ffvqb77//VzVeg6whBHHjR0oBEcgaAvEdblLstgOq0+tNv+51b7///l/Wexl+eALh+KkLfuoCUK5eb/rNb35P3VeRktMaYjKTMpMCytLrTb/1rec98MD9dV9ISrKGyILHjZkUML5eb/qssz70wAMP1H0hO8kaorNwk8QNMJJeb/pd77qoOU2T7NZAwcKNhRtgXXq96bm5S+u+iqWc1sBOwWdSycINMLReb/q88z7WqHOagqyBhzGTSrHbDlhd8fgwP3/Fgw82rmmSrIEV+akLSdwAy/R60x/5yNUPPrhjx44H676WlckaWJmZlJ+6AAwUD4aXXPLpxgZNQdbAasSNhRug15u+7LItO3Y095BmQNbA2izcpNhtB2G17gskZQ0My8JNEjcQxuI7e4viRtbAOphJWbiBCNp7H5c1sG7ixsIN5Krtd21ZAyOycJPa/wgIDORxd5Y1MBYLNylw20EecnoQkzUwLjMpMylor8z+WSJroBzB48ZMClonyzusrIEyWbhJmT5WQk4yvpPKGiifhZsUuO2gybJ/aJI1UIngM6lk4QaaJ8I/NmQNVMhMKsVuO2iIOHdDWQOVM5NKkR5VoVGi3fVkDUyCmZSFG5i8gPc4WQOTI24s3MBkhL2jyRqYNAs3KfBjLlQt+J1L1kA9LNykwG0HVYj8kDIga6A2ZlJmUlAW/0goyBqoWfC4MZOCMbn7LCZroBEs3CSPzrBO7jLLyRpoEAs3KXDbwfAiP1CsTtZAswSfSSULN7AW6b8KWQNNFDxuzKRgRe4Ua5I10FwWbpLHcUgpuSMMTdZA01m4SYHbDiLf/Ucga6AFgs+kkoUbompv0G/d+tmp5x8z+bcra6A1zKRS7LYjFDf10cgaaBkzqeQRn6y5eY9D1kD7mElZuCFXbtVjkjXQVuLGwg05cWMuhayBdrNwkzwf0HL53YCvvvpjxUPT5MkayIGFmxS47WivyHfbisgayISZlJkU7SLEqyBrICvB48ZMilbI+yZ62WXn1zWBSrIGsmThJuX+zEFLuVlWTdZAtizcpMBtR9MEuTNefPH7azyqSbIG8hZ8JpUs3NAMQfL6/PP/st6mSbIGIjCTSrHbjhq54U2YrIEozKSS5xgmKNqN7f3vf2vtRzVJ1kAoZlIWbpiMaLex97znzCY0TZI1EJC4sXBDdQLetM4++/UNaZokayAsCzcp5DMQ1Yl5c3rb285oTtMkWQPBWbhJUZ+NKFHYm9Ds7F80qmmSrAHMpCzcMI6wt5wzz/zzpjVNkjVAQdxYuGG9It9gZmZOaWDTJFkDLGbhJsV+rmJIwW8kr33tS5rZNEnWAMtZuEmB247VRb5rpJROO+2E9NC/f5pJ1gArMJMyk2K54LH7ylce1+SgKXSaf4lAvbbPzqTAz+7ihhT+ZlC8+60IBlkDDGX77EzYx/QU/lktMp/6Xm+6Rakga4BhBT+2SeFnENEImhYd0gzIGmB9gseNp7oggidsG4OmIGuAUZhJJXGTqeCf3PYGTUHWACMKfmyTwj//5ccntF1rNCuSNcBYxE3waUU2gn8e235IMyBrgBIEjxv/ym+14J++bIKmIGuA0li4SYGfHdso+Kcss6ApyBqgTMGPbVL4Z8q28GnKYI1mRbIGKJ+4Cb6o0XDBPztZHtIMyBqgKsHjxnlAAwX/pOQdNAVZA1TLwk0K/DzaHD4RuU6dlpA1QOWCH9uk8FOPegmaCIc0A7IGmJDgcePJtRbBgzJU0BRkDTBR4iYFfvcnKfiHOmDQFGQNUAMLNynwM27VfHiDrNGsSNYA9Qh+bJPCz0eqIGjCHtIMyBqgTsHjxtNwiYJnoqApyBqgfmZSSdyMIfgHUNAsJmuARgh+bJPCPzePxgct8hrNimQN0CDiJvgkZV2Cf6wc0qxI1gCNEzxunECsKfiHSNCsQtYADWXhJgV+5t6V4B8WQbMmWQM0V/BjmxR+zrJY8KBJ1miGI2uApgseN57OU/i8c0gzPFkDtEPkuCme1VK8d3/wjqd473tB0KzXxrovAGAoxSN72H+1X3HF9d3uhpe+9LnFb7P/IBRP55/61Jf6/R39fv+UU/6o7iuqganTCGQN0CZTc/ORhzJXXfWlbndDt9s98cTfT5l+EIrP7zXXfHnHjh39fr/uy6mHQ5qRyRqgZQbHNinT5/VhfPrTX+12Nxx//KEpow9C8Tn97Ge/1u/3+/0ddV9OPQTNmGQN0EriJqX0t3/79W53w7HHPrX4bUs/DoMFmi1bvrFjh6ARNGORNUCLBV+4KVx77bc7nU63252ePrB4SSs+GoOa+bu/++7CQr/f7y8sBB05JWs05ZE1QOsFX7gZuO66vy/65sgj9y9e0rQPyOKvbLrxxruKlOn3F2q8pNo5pCmXrAFyYCa12E03/aDb7XQ63cMP33fxyyf/kVncMSmlW2750cLCwkNnM6FrJgmaasgaIB9mUkvceuuPOw9JqXPYYXsv+QOlf6CWdMxtt/18YWEhpYWFh3Km3DfXUoKmOrIGyI2Z1K7cdtvPO4uk1Dn00D3LfRN33PHPCwtp0DGOZJazRlMpWQNkyExqSNu23dvppJQ6xX+LFz78153Ff35Rpgx+WVRMGqRM5RfdWg5pJkDWANkSNzSEoJkYWQNkzsINNRI0EyZrgBAs3DB51mgmT9YAUZhJMTEOaeoia4BYxA2VEjT1kjVARBZuqIKpU+1kDRCXhRvK4pCmIWQNEJqZFGMSNI0iawDMpBiFoGkgWQOwk5kUw7NG00yyBuA3zKRYk0OaJpM1AEuJG1YkaJpP1gCszMINA4KmLcrJmlf/wbMf/y8eveSF3/rpz//7t75TyusHqIuFG6zRtEg5WbP3bo/de7fHDn672yMfecT+T7r89m2yBsiAmVRYDmlap5ys+csv3LD4txeceNwP/vmes6+9YVd/HqB1xE0ogqalyt+tOe3fPeuoA5789A9cVPprBqidhZsITJ3aq/ysOfPIw2c/94XSXy1Ac1i4yZVDmrYrOWtuee1//OS2b17zzTvLfbUATWMmlRlBk4cys+aTvZf8+P/ed9bnryvxdQI0mbjJgKDJSWlZ8/Y/PuqAJ+x52IcuKesVArSFhZv2skaTmXKy5oRDDuo96xkHve/8Ul4bQBtZuGkXhzRZKidr3v2C6S3f+fsh//D01P7P3u+33nf9l5a8fPZ5R8xd98VSrgegFmZSrSBoMlZC1pz6rN999CMecdzBTznu4Kcs+b/+7Xs/tPzPb91+1wf+9Nj+wsK5N9w8eOH1r37F1370k/EvBqB2ZlKNJWiyV0LWXH77tstv37auv/KBm27Z9LwjBlnzpqMO3/1Rj3rjZ/7n+BcD0BBmUk1jjSaCen7U5ce+uu1Fhxy0+ZQX9664OqX0ysOe+Y5rr6/lSgCqYybVEA5p4igna3727jP2/k/r+7bCJ11+5Z1vfu2JTz34pKcfcsePf3Lltm+WciUATSNuaiRooikna7rdR4zwt/76y7e/+wVHdzrpkHMvLOUyABrLws2ECZqYuuO/iu2zv0gpfX/TE9b7F8+94eb+wsJVX//W+NcA0ArFwk3xjEt1ijUaTRNQCac1nc4RKaUNG56d0pb1/t0H+jvuu//X418DQFuYSVXKIU1wJWTNhg3/OqW0ceMe478qgCDETekEDamUrHnyu7bc9dZ+v39JSr89/msDiMPCTVl88TaFer7AG4AB3+FmHA5pWKzmrHnWB/9zvRcA0ARmUiMQNCxXedZs338mpZTuTWlDmvq5Gx/ALombIQkadqX605oNqXtIt/+/+unrKe1e+VsDaDsLN6uzRsMqKsya7Wmm+8Jud0O3f0M/7ZWmdncrBBiWhZvlHNKwpkqyZvu3Zzqnd7qP7/a/15/69nxKKd1bxdsByNnimRQOaRhG+Vnz/We8oXtCd+GnC/t/+q9Kf+UA0RTP5aec8kcppauu+lLNVzNxL33pkckJDUMrM2u2P2mme2i386tO/+P9qce5CQKUpnheP/nkP0wpXXPNl+u+nEk46aTnJEHDOpWQNfNPm/rDf/w3d9116rMfPd+/rT/14/n0uNX+/KbnHXHOdV9c/JJTn/W7j9jQ/ehXvjb+xQBkrHiOP/HE308pffazd9R9OVU54YTfS4KGkZSQNfvtt9+ee+65zz77vOO3+pcNcSvcb889Pn/aqc+/5PLBS95+zFGvuuoz418JQATF8/3xxx+aUtqy5Zt1X06ZjjvuGUnQMIbO+Leemcd0Dj/88H847LCpTuf/LCz8h3M+uOZf+crrT/vktm+ee8PNKaXrX/2KW3949+znvjDmZQAEtH12pvjF1q3f7XS6nU6n2+3u/E+nW/xPIaXOEg+9JKW087/Fq3r4rzuL39zCwsKyXy6klBaK/+y0+NfF73f+ot/vP/S//Yd+2+/3F44++sDidQkaxlRC1iz2Xza94V92Ot9fWJhZNW5e+DsHnnf88w9+/wVnHXPUMU+ZOuLDHy3xGgACGvTNjTfe1ZasOfLI/YtXoWYoS8lZk1I6dXbmxG73kSl9ud9/565f+Yde9CdP32fvJ+7xuAPfd365FwAQ2aBvbr757gZmzXOe88TBa1MzlK78rCm8e3bmGd3uL1O6st+/ahdv4ntvef0dP/qHl3z8U1VcAEBwg74pfOUrP6sraw47bO/Ba5AyVKqqrClcsOkNT+50Dtptt7t++ctj33nu4v/rw3/2woP+1RP223OPV/3NZ67b/r+ruwYA0rLKSSndccc9VWTNoYc+fskbkjJMTLVZk1K66R1v2X3jxt02bPjZr399+FlzxQtf9NSD5/7k6N8598K3HX3kcQc/5fALL630GgBYbnnoLPGNb/xiedY87Wm7rf63RAw1qjxrUkqbZmce2+k8c8OG+3bs+PfnfDCldNvM6R+//esfvOnWlNJ1r3r57T/+yZmf2VL1ZQCwLit2j2qhySaRNUtcfPKfPmmPPV5w6ccHL/neW17/mv/2Pz7/3e0TvhIAICfdCb+9lzzjkKMO+O3FTZNSunLbN955rJ/lBgCMpYbTGgCAKkz6tAYAoCKyBgDIhKwBAD3xYmQAAAA3SURBVDIhawCATMgaACATsgYAyISsAQAyIWsAgEzIGgAgE7IGAMiErAEAMiFrAIBMyBoAIBP/H1cFqH4+bJ1ZAAAAAElFTkSuQmCC<Mask>
+<Rect height="30" type="negative" width="29" x="368" y="144"/>
+<Rect height="55" type="negative" width="49" x="11" y="412"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/LINES b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/LINES
new file mode 100644 (file)
index 0000000..5bf17e3
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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QsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQvQ0ay6r6+abE1W12D0BANrS06wBAPLIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAgxJmsWdl/oKqqBe4KAMCmVFW1sv/A4KZpDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQCEqUrp6RVbZA0ABDjTMacvQtfHslmVNX29Il9/qxaACFUp9arb/SibNdfiKz2e1qhaAHKcPZXo45iilK2L3oGFaKp2VdnUdTm7doG2nOjnn1iYl+OL3oElsTZrmnWoug4/uldVNXgFNN+cMLMBoPsuX/QOzM3ZK1Clx4tQAJAsfUCxvn4uQpVyumdN7WA+Luvnn1iYn6oMnU9T13U/z6zoadbU9an/9pcP3dP8czE7BABTqUuphv73oY9NU9ZdhOrB27zrsno6d/pcoj6+AgBIUa/+SrbuiTWlt9MaVQsAeXqbNUXHAECY9d8J1YN1KACgkzZagSre4A0AxJA1AECIDbPGOhQAsGxGrECV0dMaZQMALI/RTVMsQgEAMc6RNQY2AMAyOOeoppjWAAAxzp01BjYAwGKNM6oppjUA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<Mask>
+<Rect height="30" type="negative" width="29" x="365" y="157"/>
+<Rect height="30" type="negative" width="29" x="457" y="311"/>
+<Rect height="55" type="negative" width="49" x="12" y="407"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/PLANE b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/PLANE
new file mode 100644 (file)
index 0000000..4173c00
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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WQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhCiWNSdNvOWz733P3s9vXHNCqbcAAGijWNbcueexjx/7jg2rV7U+effF571h//1LvQUAQBslN6Gu/+19F6w8rvlww+pVB7zudZ/56S8LvgUAwExKZs22B3btfvKpH37srMbD81ce97W77yl4fACANgpfMnz2zdvfdfihZx591M0fPesPjz+xfddDZY8PADCT+QedcnrZIy7cb8EVJ646dPEBJ239ftkjAwC0Uf4L3tftvHeyXv/RH3cXPzIAQBt9uW/Nfyb/+/xLL/fjyAAAM3E7PgAghKwBAELIGgAgxIJ+HHTFDVv7cVgAgDZMawCAEGWy5on1VxY5DgBA10xrAIAQBbJmzz/XV1X112WX934oAICuFcia2qm1qqpqb631figAgK4VyJrlu25YWFs4+bPJ3g8FANA119YAACFkDQAQQtYAACHK3GV4/fz1i963aMn8E1qf3P3kU7ft/ksnL9+05oSv3nVP6zPnrjhmv/nzvnf/74ssDwCYC8pMa5bWli5bsuywxQc2/h15yMEXHL/i2MOWdvjyNy5ZfPtF57Y+8/lTV//tmeeKrA0AmCPKTGs2vbLp6e1PTyzc0nj4rTPf//dnn/viHTs7fPklt+64/7KLNqxedd3Oe6uquvvi83784O479zxWZG0AwBxR/tqai969YvXyN59807ZZveoLd+y88PgVVVVdferqBfPmbfz5r4ovDADIVv4XvK84cVUXUbLj4UfWHjFx16c+edjiA4+49pvFVwUAxCs8rbnv0gtv2fXQTx76cxevvey2Xxy+ZPGux58ouyQAYI4omTW3fOKcx//1/NW339Xdy7/9oQ/849nnjjl06ZqJZQVXBQDMEcWy5sbTb1z++iVnb7ulu5d/8Oij1kwsO/mmbdse2HXNaSeXWhUAMHeUyZq152+9ZOUlK2/8TtdHuOqUE7f+7oGqqr7869+89MorXz9jbZGFAQBzR21i85YeD7Fn4zMvvHDljh2PPvyRt3fy9+vmz3+qXj//K99oPnPTh8940+LFp333B81nHv3cZZ++dcftj+zpcW0AwNxR4JtQl156/KJF+61bd3S1rj7lf7108MF7//3LL754yOTkzqs2/Htycu0115/zzretXr7syNd++2n7rj99ae1JsgYA6FyZaU3jPyY2H9TJ31+76fKb6/UHe35fAIBWBbIGAGAU+AVvACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACDE/wA/Ksr5W/mVjAAAAABJRU5ErkJggg==<Mask>
+<Rect height="55" type="negative" width="49" x="11" y="411"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/PREVIEW_FROM_SIZE b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/PREVIEW_FROM_SIZE
new file mode 100644 (file)
index 0000000..521b2f3
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="30" type="negative" width="29" x="366" y="219"/>
+<Rect height="30" type="negative" width="29" x="457" y="311"/>
+<Rect height="55" type="negative" width="49" x="13" y="410"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/PREVIEW_TO_SIZE b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/PREVIEW_TO_SIZE
new file mode 100644 (file)
index 0000000..635a1cf
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAPB0lEQVR4nO3de6ikdR3H8d+4K4mYu5SSqNXmiYqsrA0NNnHz1nYhKiu7EYkliYlbKK0GdqGbG3ZZi0CjoLX+UAqL2gqtdCuSEKmt3ErZrP4QTVIpkSzb6Y+B03j27Oycmd8zM89nXi/2j53ZM8/58Szsee/398wznYUrthUAgPY7aNoLAACoQ9YAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQQtYAACFkDQAQYvW0F1DHni2bp70EAGixha3bpr2EClqTNYPDpVu6E1sJAOTpbOkM/oJWdM/sZs2SjhEuANCcA/6c7e+emU2cmcuaxZrRMQAwO/p/Ls9s4sxE1vQPZtQMAMy4ZRNnFvpmylnTCxopAwAttfhDvNc3042bqWWNoAGAJL2f6dONmylkjaABgFTTjZuJZo2gAYB5MK24mVDWCBoAmDeTj5vGs0bQAMA8m2TcNPuZUHu2bO6WrqYBgDnX64GmP+yowazpNU1zxwcA2qXpsmlkE8rGEwCwrG7pNrchVX9aY+MJABiguQ2pytMaG08AwDCaGNvUnNZoGgBgeNXHNnWmNS6mAQBG0xvbVJnZVJjWuJgGABhHrZnNuFlj4wkAGF+VshkrazQNAFDL+GXT7F2GAQCGN2bZjJ41RjUAQHXjlM2IWaNpAIBZM0rWaBoAoDkjD2xWnDWaBgBo2mhls7Ks0TQAwGSMUDbeCQUAhFhB1hjVAACTtNKBzbBZo2kAgMlbUdnYhAIAQgyVNUY1AMC0DD+wMa0BAGbdkGVz4KwxqgEAWsG0BgBogWEGNgfIGqMaAKAtTGsAgBCDssaoBgCYHQfch9pv1mgaAKBdbEIBAK0xeGAjawCAEMtnjR0oAGA2DRjYmNYAACFkDQAQYpmssQMFAMyy/e1DmdYAACFkDQAQQtYAAO2z7D7U0qxxYQ0A0FKmNQBACFkDAIR4XNbYgQIA2mLfy2tMawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAjx/6xxLz4AoF2W3JHPtAYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQq6e9gKnplM60l7AyPogUAAab36wpbQuFdnVYu84tABnmOmvapV2h0K4IK207vQAsS9bQiNZVQrs6rHWnF2AyZA2U0rZQaFeElbadXqC9ZA20T+sqQYcBkyFrgMa1rhLa1WGtO73QHFkDsFS7QqFdEVbadnppF1kD0G6tq4R2dVjrTu+ckzUATFS7QqFdEVbadnqrkzUAsF/tqoTWRVh1PhMKAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAEPObNd3S7ZTOtFcBAFQzv1kDAISRNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBAiP9nzcLWbZ3SmeJSAABWpFM6C1u3LT40rQEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACDE47LGHfkAgLZYci++YloDAMSQNQBAiNVLHi9s3dbZ0umW7lRWA6SywQ3Ute8OVNk3a+aNf2phMvxnCZiAuc4a/84CQBLX1gAAIZbJGm/zBgBm2bIX1hTTGgAghqwBAEIsnzX2oQCA2bS/HahiWgMAxJA1AECI/WaNfSgAYNYM2IEqg6c1ygYAmB2Dm6bYhAIAYhwgawxsAIBZcMBRTTGtAQBiHDhrDGwAgOkaZlRTTGsAgBhDZY2BDQAwLUOOaoppDQAQY9isMbABACZv+FFNWdG0RtkAAJO0oqYpNqEAgBgryxoDGwBgMlY6qikjTGuUDQDQtBGapoy2CaVsAIDmjNY0ZeRra5QNANCEkZumjHPJsLIBAOoap2mKd0IBADHGyhoDGwCgljFHNWX8aY2yAQDGN37TlCqbUL2yETcAwAh6FTF+05RSVo9/iFJKbymdLZ1u6VY5IAAwD2oFTU/NS4ZtSAEAw6vbNKX6O6GUDQAwjOpNU5p4g7dLbQCAASpeTLNEnWtrlnCpDQCwrIaCpqfB2/HZkAIA+jXaNKXpuwzbkAIASpMbT/0a2YTqt7ghVUqxJwUA86Y33Wg6aHoaz5oecQMA82aSQdMzoazpETcAMA8mHzQ9E82aHnEDAKmmFTQ9U8iaHnEDAEmmGzQ9U8uanv646ZE4ANAW/W92nm7Q9Ew5a3r6T8Ri4ugbAJhNizUzCynTbyaypt/iCeof4RSVAwDTs+QWdLNWM4tmLmsWLTllSypnCdEDAOMYfO/cme2YJWY3a5YYfEIHRw8AMFhbwmWw1mTNYBl/GQDAOJr9TCgAgImRNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBAiGpZc9rCMz7wspfu+/ylp55c61sAAAxQLWt+sufut73w+Zds3ND/5C3nn/OUww6r9S0AAAaouQn12Z/d+q4TX7T48JKNG574hCe8/7s/rPgtAAD2p2bWbL991+777v/GW8/qPTz3xBdtveXnFY8PADBA5UuG33Dt9S8+9ujXHf+ca99y1q/vuff6XXfUPT4AwP6setIZr6x7xEMOXn3xKRuOXvPE067+Wt0jAwAMUP8N3lfu/MXebvebv9ld/cgAAAM0ct+a/+z97z8f/XcTRwYA2B+34wMAQsgaACCErAEAQqxu4qDrP391E4cFABjAtAYACFEna+7d/MEqxwEAGJlpDQAQokLW7Pnb5lLKn9a9b/xDAQCMrELWdM7slFI6z+yMfygAgJFVyJrjdn3+kM4he7+3d/xDAQCMzLU1AEAIWQMAhJA1AECIOncZ3rxq86EvP3TtqpP7n9x93/3f2f3HYV5+2aknf+rmn/c/8471Jxy86qCv3varKssDAOZBnWnNUZ2j1q1dd8yaw3u/nn3kEe86af0LjzlqyJc/de2aG897R/8zHzpz458feKjK2gCAOVFnWnPZY5f9/fq/Lxyyrffwi6971V8efOijN+0c8uUX3LDjtovOu2Tjhit3/qKUcsv553zrt7t/sufuKmsDAOZE/WtrznvJ+o3HPf30a7av6FUfuWnnu09aX0r58JkbVx900KXf/1H1hQEA2ep/gvfFp2wYIUp2/P7OTc9auPk97zxmzeHP+vQXqq8KAIhXeVpz64Xvvm7XHd++4w8jvPai7/zg2LVrdt1zb90lAQBzombWXPf2N93zj39++MabR3v5l17/6r8++NAJRx916sK6iqsCAOZEtay56pVXHffktW/Yft1oL3/t8c85dWHd6dds3377rk+84vRaqwIA5kedrNl07tUXnHjBiVd9eeQjXH7GKVf/8vZSysd//NNHH3vsM6/ZVGVhAMD86CxcsW3MQ+y59IGHH/7gjh13/f7Nzxvm689eter+bvfcT35u8Zlr3viap61Z84qvfH3xmbu2XPTeG3bceOeeMdcGAMyPCu+EuvDCkw499OCzzz6+nN1d8kePHnHEvl//70ceOXLv3p2XX/KvvXs3feKzb3rBczcet+7Zj3/30/W7fvexTafJGgBgeHWmNb3fLFzxpGG+/tOXve/abve3Y39fAIB+FbIGAGAW+ARvACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACDE/wAnqLFC38rEdQAAAABJRU5ErkJggg==<Mask>
+<Rect height="30" type="negative" width="29" x="365" y="157"/>
+<Rect height="30" type="negative" width="29" x="457" y="311"/>
+<Rect height="55" type="negative" width="49" x="10" y="408"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/VP1 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_004/verificationPoints/VP1
deleted file mode 100644 (file)
index 00eaeb7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="55" type="negative" width="47" x="14" y="443"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index ee3ce87f35121ed9f6e8e1e5cbe8619fcee3839d..2d54903f3391987901518128173b8b744748878b 100644 (file)
@@ -1,63 +1,77 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Extrusion_006
-    #[Topic] 'Extrusion_cut by planes' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Extrusion_006
+    # [Topic] 'Extrusion_cut by planes' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_extrusion_006.hdf'
+
+    # [step] Open 'for_extrusion_006.hdf'
     open(DATA_PATH + "/for_extrusion_006.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
+
     # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 71, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all
     fit_all()
-    
-    #[step] Features - ExtrusionCut
+    test.vp("INIT")
+
+    # [step] Features - ExtrusionCut
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "ExtrusionCut"))
-    
-    #[step] Select the upper face for sketching
+
+    # [step] Select the upper face for sketching
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 243, 171, 0, Qt.LeftButton)
-    
-    #[step] Draw closing contour, consisting from 4 lines
-    lines_create_in_view([(83, 152), (85, 346), (669, 344), (669, 162), (83, 152)])
-    
-    #[step] Ok
+
+    # [step] Click "Set plane view" in property panel [vp PLANE]
+    clickButton(waitForObject(":Sketcher plane.Set plane view_QPushButton"))
+    test.vp("PLANE")
+
+    # [step] Draw closing contour, consisting from 4 lines
+    lines_create_in_view([(110, 150), (110, 320), (640, 320), (640, 150), (110, 155)])
+
+    # [check] Check that lines have been executed successfully [cp LINES]
+    fit_all()
+    test.vp("LINES")
+
+    # [step] Ok
     clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
-    
-    #[step] Select 'By planes aand offsets' method 
+
+    # [step] Select 'By planes and offsets' method
     clickButton(waitForObject(":Extrusion_QToolButton_3"))
     mouseClick(waitForObject(":To_QLineEdit_5"), 46, 15, 0, Qt.LeftButton)
-    
-    #[step] Select Plane_1 as face 'To'
-    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 35, 130, 0, Qt.LeftButton)
-    
-    #[step] Ok
+
+    # [step] Select Plane_1 as face 'To'
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 35, 220, 0, Qt.LeftButton)
+
+    # [check] Check that preview has been updated [cp PREVIEW]
+    fit_all()
+    test.vp("PREVIEW")
+
+    # [step] Ok
     clickButton(waitForObject(":ExtrusionCut.property_panel_ok_QToolButton"))
-    
-    #[step] Click 'Reset view' toolbar button    
-    clickButton(waitForObject(":SALOME*.Reset_QToolButton"))
-    
-    #[check] Check that extrusionCut operation has been executed successfully
-    test.vp("VP1")
-  
+
+    # [step] Click 'Reset view' toolbar button
+    clickButton(waitForObject(":SALOME*.Reset_QToolButton_2"))
+    mouseClick(waitForObject(":SALOME*_OCCViewer_ViewPort3d"), 10, 450, 0, Qt.LeftButton)  # close tool bar extension bar
+
+    # [check] Check that extrusionCut operation has been executed successfully [vp EXTRUSION_FUSE]
+    test.vp("EXTRUSION_CUT")
+
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/EXTRUSION_CUT b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/EXTRUSION_CUT
new file mode 100644 (file)
index 0000000..3192409
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="30" type="negative" width="29" x="365" y="153"/>
+<Rect height="30" type="negative" width="29" x="454" y="291"/>
+<Rect height="55" type="negative" width="49" x="8" y="414"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/INIT b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..74513e7
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="30" type="negative" width="29" x="366" y="155"/>
+<Rect height="55" type="negative" width="49" x="11" y="412"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/LINES b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/LINES
new file mode 100644 (file)
index 0000000..66aac3b
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAO5ElEQVR4nO3df6iddQHH8edxVxyibpSSqLXlDZWs1IUGS1w6bbOQTNN+IYk/SEycoZQ6zKJWS8ycRaBR0Kw/lMKkVkObuhIlRGqZs5Rl8w/RxB+kSJrt6Y+zXc92d+/uvec5O/d+vq8X++OcZ+c85/vHA9833+d7zq2HV66qAABmvj0GPQAAgHbIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAEIMjTzadOWyAY4DAGBqhleu6jwY6j66fO26QQwGAGCKVixdPPLYTSgAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCyBoAIISsAQBCDA16APlWLF086CEAMF0sX7tu0ENIJmtaM1a+NE2zm0cCwLRV1/Xog1qnLbKmVyM1I18A2KWdThYjraNveiRrpkjNANCWkamkey1H4kyBrJkcNQNA/3RPLp3EETeTImsmqhM0agaA3aMz44ibSZE1uyZoABgUcTMpsmY8ggaA6UDcTJCs2TlBA8B0MxI3ymYssmYnVixdLGgAmJ6aprFsMxZ/PGFHmgaAaa5pmqZp/Ir9aFZrtqNpAJgp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AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AEAIWQMAhJA1AECIoe4nK5YuHtQ4AAB6VA+vXDXoMQAAtMBNKAAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAEK0ljUnDb/zSx/64OjjV554fFsfAQAwjtay5p5NT37m6PdesWhh98H7Ljr3bfvs09ZHAACMo82bUDf84cHzjz1m5OkVixbuu9deX/zV2hY/AgBgLG1mzeqHN2x89rmfffqMztPzjj3m2/fd3+L5AQDG0fKW4TNvvf39hxx0+pFH3PqpM/789DO3b3i03fMDAIxl1ltOPrXdM87ec+jyExYeNGffk27+SbtnBgAYR/tf8L5+/QNbmubnf9nY+pkBAMbRl9+t+e+W/7382uv9ODMAwFj8HB8AEELWAAAhZA0AEGKoHyddcOPN/TgtAMA4rNYAACHayZpnll3dynkAAKbMag0AEKKFrNn0r2VVVf1j/mW9nwoAYMpayJr6lLqqqvpdde+nAgCYshay5tANN86uZ2/59ZbeTwUAMGX21gAAIWQNABBC1gAAIdr5leFls5bt/eG95846vvvgxmefu3Pj3yfy9qtOPP5b997ffeScBUftOWuPHz/0p1aGBwCUoJ3VmgPrA+fPnX/wnP06/w4/YP/zj1tw9MEHTvDtb587564Lz+k+8pVTFv3zhZdaGRsAUIh2VmuueuOq529/fnj2qs7T75/+kc0vvvS1u9dP8O0X37HmoUsvvGLRwuvXP1BV1X0XnfuLRzbes+nJVsYGABSi/b01F35gwaJD5y2+ZfWk3vXVu9dfcNyCqqquPWXR0B57XPmb37U+MAAgW/t/wfvyExZOIUrWPPb4ksOG7/385w6es99h132v9VEBAPFaXq158JILbtvw6C8f/dsU3nvpnb89ZO6cDU8/0+6QAIBCtJk1t332rKf//fK1d907tbf/4OMfferFl4466MATh+e3OCoAoBCtZc1Np9506Fvnnrn6tqm9/WNHHnHi8PzFt6xe/fCGFUsXtzUqAKAc7WTNkvNuvvjYi4+96YdTPsM1J59w8x8frqrqG+t+/9obb3zntCWtDAwAKEc9vHJVj6fYdOULr7xy9Zo1Tzz2yfdM5PVnz5r1XNOc983vjhy55ROnvWPOnKU/+unIkSe+fOkX7lhz1+ObehwbAFCOFr4Jdcklx+29955nn31kdXazw3+9tv/+o1//+quvHrBly/prrvjPli1LVtxw1vvevejQ+Ydv/+2n2zf89etLTpI1AMDEtbNa03kwvPItE3n9dVdddmvTPNLz5wIAdGshawAApgN/wRsACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACCFrAIAQsgYACPF/zULHR1pexukAAAAASUVORK5CYII=<Mask>
+<Rect height="30" type="negative" width="29" x="365" y="157"/>
+<Rect height="30" type="negative" width="29" x="457" y="311"/>
+<Rect height="55" type="negative" width="49" x="12" y="407"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/PLANE b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/PLANE
new file mode 100644 (file)
index 0000000..0203043
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="55" type="negative" width="49" x="11" y="411"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/PREVIEW b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/PREVIEW
new file mode 100644 (file)
index 0000000..3c18607
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAOHUlEQVR4nO3dXYycVR3H8TPtEpoGaIMQG0CtXQJEVKCmmFRCLQUXNEQEqW8hEl4iQUIxEKFURCPVQhApGpNiNLHoBY0GiVYtWKBKIIYQrUhRsKJeEJDwEiFEEHe8GNks3e6yO/tsZ/d3Pp/0YubpzjPnYpL57v85M9vqX7e+AADMfLN6vQAAgGbIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAEL0Dd36y+WrergOAIDuHHrt+s6NvuFHv7Blay8WAwDQpWsGVgzddhEKAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAEH29XkC+tQMrer0EAKaLNVu29noJyWRNY0bLl3Zp7+GVADBttQZaIw9qnabImskaqhn5AsAb2u2bxVDr6JtJkjVdUjMANGXorWT4LEfidEHWTIyaAWDqDH9z6SSOuJkQWTNenaBRMwDsGZ13HHEzIbLmjQkaAHpF3EyIrBmLoAFgOhA34yRrdk/QADDdDMWNshmNrNmNtQMrBA0A01O7tI1tRuOPJ+xK0wAwzbVLu13avsV+JNOa19E0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<Mask>
+<Rect height="30" type="negative" width="29" x="366" y="219"/>
+<Rect height="30" type="negative" width="29" x="457" y="311"/>
+<Rect height="55" type="negative" width="49" x="13" y="410"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/VP1 b/test.squish/suite_FEATURE_EXTRUSION/tst_extrusion_006/verificationPoints/VP1
deleted file mode 100644 (file)
index d358003..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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7vvhRw885KqLXvsbrdZct/uBbvezS33w//eal2+48xvvvP3zZvbpV57/7/fcO3vjzb7OAwAAsuLz2/F99MBDzOwVl13xoU5n31brTe32uoteO/yvvO1Tt1/wu8eZ2VufddJ0u03TAACAynxOa/r82eya32+3zeyLnc4li3+WK//o2cf8+sGHHPDIJ76j5H1iAQAARlRj1jjvuui1R7RaD5r9c6fz7FbrpZeV3Cb+jz99zVd/+OMXffgfaz0JAABIW+3vCfUnl11x5l++65fd7tsPOOB39t//AwNrqfee9dx7fj7/1N/49ZNXPqHuwwAAgIQ19FaXF1x2xT3btj24sPAHj3zk+3vK5o9++6iTVz7hlKuvvfZLd156xinNHAYAACSpoawxs7/Zvv1DW7e+7/77D2r/6pNefOqJV/3fL5nZX9zyme27dv31mac3dh4AAJCY2u/WDHH1C8983AEHnHHNh4tf+Y8/fc2FG//1pm9vDnUkAAAQr+amNX1e9JSjTzr8Cb1NY2YfufPrbz99VagjAQCAqIWc1gAAAHgUbFoDAADgF1kDAAASQdYAAIBEkDUAACARZA0AAEgEWQMAABJB1gAAgESQNQAAIBFkDQAASARZAwAAEkHWAACARJA1AAAgEWQNAABIBFkDAAAS8f8BND8TQVqMEBwAAAAASUVORK5CYII=<Mask><Rect height="30" type="negative" width="25" x="369" y="169"/><Rect height="56" type="negative" width="52" x="17" y="445"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index 181b7f49585bf74d54789cb091b0b2aacbc65185..94da0d06b37e7bb489fab69c493358265ff790c7 100644 (file)
@@ -12,6 +12,7 @@ def main():
     activateItem(waitForObjectItem(":Part_QMenu", "Parameter"))
     type(waitForObject(":Parameter_QLineEdit"), "aa")
     type(waitForObject(":Parameter_ExpressionEditor"), "4")
+    type(waitForObject(":Parameter_ExpressionEditor"), "<Return>")
     clickButton(waitForObject(":Parameter.property_panel_ok_QToolButton"))
 
     # check the new parameter
@@ -23,12 +24,13 @@ def main():
     activateItem(waitForObjectItem(":Part_QMenu", "Parameter"))
     type(waitForObject(":Parameter_QLineEdit"), "bb")
     type(waitForObject(":Parameter_ExpressionEditor"), "aa+1")
+    type(waitForObject(":Parameter_ExpressionEditor"), "<Return>")
     clickButton(waitForObject(":Parameter.property_panel_ok_QToolButton"))
 
     # check the new parameter
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1.Parameters (1).bb = 5")
 
-    openContextMenu(waitForObject(":Object browser_QLineEdit"), 10, 10, 0)
+    openContextMenu(waitForObject(":Object browser.Part set_XGUI_ActiveDocLbl"), 10, 10, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
     
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Parameters (1).aa = 4", 10, 10, 0)
index 6d375a47175bd4564323b8ac1bb3ce53571a34f6..b913649f0e4101d9f189bfd534b632280d05bc6e 100644 (file)
@@ -10,6 +10,7 @@ def main():
     clickButton(waitForObject(":SALOME*.Parameter_QToolButton"))
     type(waitForObject(":Parameter_QLineEdit"), "a")
     type(waitForObject(":Parameter_ExpressionEditor"), "3")
+    type(waitForObject(":Parameter_ExpressionEditor"), "<Return>")
     clickButton(waitForObject(":Parameter.property_panel_ok_QToolButton"))
     
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Parameters (1).a = 3", 10, 10, 0)
index f7178ff0874ad1615d5db168976c8f074ecd0b90..72d36e3392bd80ce88e2c6b2759da5cd86c120aa 100644 (file)
@@ -19,10 +19,10 @@ def main():
     test.compare(str(findObject(":Parameter_QFrame").toolTip), "Model_FeatureValidator: Attribute \"expression\" is not initialized.")
     #[step] Check that name tooltip is: Errors:\nvariable - Parameters_VariableValidator: Incorrect variable name.
     waitFor("object.exists(':Parameter_QLineEdit')", 20000)
-    test.compare(str(findObject(":Parameter_QLineEdit").toolTip), "Errors:\nvariable - Parameters_VariableValidator: Incorrect variable name.")
+    test.compare(str(findObject(":Parameter_QLineEdit").toolTip), 'Errors:\nvariable - Parameters_VariableValidator: Attribute "variable" value is empty.')
     #[step] Check that expression tooltip is: Errors:\nexpression - Parameters_ExpressionValidator: Expression is empty.
     waitFor("object.exists(':Parameter_ExpressionEditor')", 20000)
-    test.compare(str(findObject(":Parameter_ExpressionEditor").toolTip), "Errors:\nexpression - Parameters_ExpressionValidator: Expression is empty.")
+    test.compare(str(findObject(":Parameter_ExpressionEditor").toolTip), 'Errors:\nexpression - Parameters_ExpressionValidator: Attribute "expression" is not initialized.')
 
     #[step] Enter variable name 'a'    
     type(waitForObject(":Parameter_QLineEdit"), "a")
@@ -30,19 +30,20 @@ def main():
     
     #[step] Enter variable expression '100+b'
     type(waitForObject(":Parameter_ExpressionEditor"), "100+b")
+    type(waitForObject(":Parameter_ExpressionEditor"), "<Return>")
     
     #[step] Check that expression tooltip is: Errors:\nexpression - Parameters_ExpressionValidator: name 'b' is not defined
     waitFor("object.exists(':Parameter_ExpressionEditor')", 20000)
-    test.compare(str(findObject(":Parameter_ExpressionEditor").toolTip), "Errors:\nexpression - Parameters_ExpressionValidator: name 'b' is not defined")
+    test.compare(str(findObject(":Parameter_ExpressionEditor").toolTip), "Errors:\nexpression - Parameters_ExpressionValidator: Result is empty.")
     #[step] Check that result message is: Error: unexpected EOF while parsing (<string>, line 0)
     waitFor("object.exists(':Parameter.Result_QLabel')", 20000)
     test.compare(str(findObject(":Parameter.Result_QLabel").text), "Error: name 'b' is not defined")
 
     #[step] Check that feature ToolTip is: expression - Parameters_ExpressionValidator: name 'b' is not defined
     waitFor("object.exists(':Parameter_QFrame')", 20000)
-    test.compare(str(findObject(":Parameter_QFrame").toolTip), "expression - Parameters_ExpressionValidator: name 'b' is not defined")
+    test.compare(str(findObject(":Parameter_QFrame").toolTip), "expression - Parameters_ExpressionValidator: Result is empty.")
 
-    #[step] Check that apply button is red [vp VP_APPLY_RED]
-    test.vp("VP_APPLY_RED")
+    #[step] Check that apply button is grey [vp VP_APPLY_GREY]
+    test.vp("VP_APPLY_GREY")
 
     close_application()
diff --git a/test.squish/suite_FEATURE_PARAMETERS/tst_903/verificationPoints/VP_APPLY_GREY b/test.squish/suite_FEATURE_PARAMETERS/tst_903/verificationPoints/VP_APPLY_GREY
new file mode 100644 (file)
index 0000000..05b3830
--- /dev/null
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":Parameter.property_panel_ok_QToolButton" type="PNG">iVBORw0KGgoAAAANSUhEUgAAABcAAAAWCAYAAAArdgcFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAeFJREFUOI3V1c2PGXEcx/H3GJRiUyJWL2ZkxzqMC+r/v3ST7qFbYVPJqtL10BLsJDMMmaceJAQVm8Wh39tk5veazy/f34Mw+D3wuFD5LgVfHPefMtjzPBqNBqJPJHebw+fbznpS8sf6I57nIfgE7j7f7b1/Mz6bz3jRXojH40SjUWzHPh/+8PWBbDYLwHw25yp2dR681+0Ri8UQRRGAbrdLsVQ8ji+XSyzLOgi7rsvTjydSqRQAw+GQG+Vmr5mws1pqtRqGYWDbNrIsk8lk9gZUq1WkjASA4zgYukGxuJ96L/lkMkGWZRRFodftMZ1Otz7WdZ3FYkE4HAag3W5T+lQ6OMst3C/68dzVaSBnZeq1OqZpblJ/26TWdZ34hziR95HX4eVymdbP1vpZURTuv9zjOA6tVotEIoHgEwDo9/qoBfUgDCDsHlzj8Zhms4kkrRJalsXzr2dc1yV3m1vB/T6SJK2beqj2tn8ymWQ+mzP8M+Q6fU0gECD9MU0wGFz/zHbsozAcWOcZKUPwXRBN0wCIRCIEAgEAOp0O5VL5KHwQB1BVFcMwMOebhmqaRjq9mcWbcYBKpcJgMMA0TSzLYjQakc/nXwXDPxq6W67r0vjewFyaFNQCoVDofPgp9f9ec38BgXXGishDpjEAAAAASUVORK5CYII=<Mask/>
+</Verification>
+</VerificationPoint>
index 3443213c5f1f7efec42c889cf95f434d8ebecca3..381b6a82c6b6d03704c3d477b384a77484e396dc 100644 (file)
@@ -1,47 +1,51 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Partition_001
-    #[Topic] 'Partition' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Partition_001
+    # [Topic] 'Partition' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_partition_001.hdf'
+
+    # [step] Open 'for_partition_001.hdf'
     open(DATA_PATH + "/for_partition_001.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
+
     # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 71, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all
     test.vp("VP_AFTER_LOAD")
     fit_all()
     test.vp("VP_FITALL")
-    partition([(291, 188)], (178, 205))
+
+    # [step] Create partition with horizontal plane [vp VP_PARTITION_1]
+    partition([(290, 170)], (270, 200))
     test.vp("VP_PARTITION_1")
-    partition([(275, 173), (255, 323)], (272, 94))
+
+    # [step] Create partition with vertical plane [vp VP_PARTITION_2]
+    partition([(360, 230), (320, 340)], (380, 240))
     test.vp("VP_PARTITION_2")
-    
-    #[step] Hide one of parts obtained in the viewer: select it, call context menu - Hide
+
+    # [step] Hide one of parts obtained in the viewer: select it, call context menu - Hide
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 291, 198, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 291, 198, 0, Qt.RightButton)
     activateItem(waitForObjectItem(":_QtxMenu", "Hide"))
-    
-    #[check] Check that partition has been executed successfully
+
+    # [check] Check that partition has been executed successfully [vp VP_HIDE]
     test.vp("VP_HIDE")
 
     # [step] Close application without saving
index 982330c79df3f3934c9f8316dc63df16b5812cd5..bb373552049c35abf1a73970d303081f3af24b9e 100644 (file)
@@ -1 +1,12 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask/></Verification></VerificationPoint>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="53" type="negative" width="51" x="9" y="413"/>
+<Rect height="25" type="negative" width="27" x="367" y="180"/>
+<Rect height="27" type="negative" width="17" x="408" y="198"/>
+<Rect height="24" type="negative" width="25" x="404" y="238"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
index 982330c79df3f3934c9f8316dc63df16b5812cd5..fac42c06b4f8d1bcd8412f49f0dfa48d4feda06c 100644 (file)
@@ -1 +1,10 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask/></Verification></VerificationPoint>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="59" type="negative" width="47" x="11" y="408"/>
+<Rect height="29" type="negative" width="37" x="695" y="120"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
index d8182e9f42db7f8e506e33dbcc49cf9164a91bbc..634690e36980c7ccc53abf3d3f1bfde3aacaa93e 100644 (file)
@@ -1 +1,10 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="36" type="negative" width="24" x="728" y="123"/><Rect height="64" type="negative" width="48" x="13" y="438"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="36" type="negative" width="24" x="704" y="116"/>
+<Rect height="55" type="negative" width="48" x="11" y="414"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
index ba50d0c774ed6925ce6100fde5ad1c251733b523..ea698290f8c3a2007295a5d9073d1b46489fbb22 100644 (file)
@@ -1,10 +1,13 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?>
-<VerificationPoint version="4" type="Screenshot">
- <Description/>
- <Verification type="PNG" object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d">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<Mask/>
-  <Algorithm description="Simple comparison (pixel by pixel)" name="simplecompare">
-   <Parameter description="Threshold" name="threshold">5</Parameter>
-   <Parameter description="Tolerance" name="tolerance">0</Parameter>
-  </Algorithm>
- </Verification>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="54" type="negative" width="44" x="14" y="412"/>
+<Rect height="43" type="negative" width="28" x="705" y="117"/>
+</Mask>
+<Algorithm description="Simple comparison (pixel by pixel)" name="simplecompare">
+<Parameter description="Threshold" name="threshold">5</Parameter>
+<Parameter description="Tolerance" name="tolerance">0</Parameter>
+</Algorithm>
+</Verification>
 </VerificationPoint>
index 4b55642a98831c81f7bd815ae421f10d744ca7c3..902905bbf1ffc97ab2fba15d590ed21de4027f1f 100644 (file)
@@ -1 +1,10 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask/></Verification></VerificationPoint>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="51" x="11" y="409"/>
+<Rect height="33" type="negative" width="27" x="704" y="117"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
index 342586b772b7e0e95e971d6b3675f086dbf74b41..97a0c2f07e591410cd43bab8f3fd38076f535a83 100644 (file)
@@ -1,24 +1,24 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Revolution_001
-    #[Topic] 'Revolution by angles' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Revolution_001
+    # [Topic] 'Revolution by angles' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_revolution_001.hdf'
+
+    # [step] Open 'for_revolution_001.hdf'
     open(DATA_PATH + "/for_revolution_001.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
 
     # [step] Activate Part_1
@@ -27,64 +27,68 @@ def main():
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
 
-    
-    #[step] Fit all
+    # [step] Fit all [vp INIT]
     fit_all()
-    
+    test.vp("INIT")
 
-    # [step] Execute revolution by angles 
+    # [step] Execute revolution by angles
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "Revolution"))
-    
-    #[step] Click '-OZ' button
+
+    # [step] Click '+OY' button
     clickButton(waitForObject(":SALOME*.+OY_QToolButton"))
-    
-    #[step] Fit all
+
+    # [step] Fit all [vp +OY]
     fit_all()
+    test.vp("+OY")
 
-    # [step] Select skecth for revolution
-    mouseClick(waitForObject(":Revolution.Select a sketch face_QListWidget"), 77, 38, 0, Qt.LeftButton)
-    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 440, 221, 0, Qt.LeftButton)
+    # [step] Select sketch for revolution
+    mouseClick(waitForObject(":Revolution.Select a sketch face_QListWidget"), 10, 10, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 431, 180, 0, Qt.LeftButton)
     # [step] Select vector
-    mouseClick(waitForObject(":Revolution_QLineEdit"), 116, 11, 0, Qt.LeftButton)
-    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"),306, 399, 0, Qt.LeftButton)
-    
-    #[step] Input angle 'To'
+    mouseClick(waitForObject(":Revolution_QLineEdit"), 10, 10, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 311, 282, 0, Qt.LeftButton)
+
+    # [step] Fit all [vp AFTER_SELECTION]
+    fit_all()
+    test.vp("AFTER_SELECTION")
+
+    # [step] Click 'Reset view' toolbar button
+    clickButton(waitForObject(":SALOME*.Reset_QToolButton_2"))
+    mouseClick(waitForObject(":SALOME*_OCCViewer_ViewPort3d"), 10, 450, 0, Qt.LeftButton)  # close tool bar extension bar
+
+    test.vp("AFTER_SELECTION_RESET")
+
+    # [step] Input angle 'To'
     type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox"), 90)
-    
-    #[step] Input angle 'From'
+
+    # [step] Input angle 'From'
     type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox"), 120)
-    
-    #[step] Rotate the model
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 546, 182, -154, 50, 67108866, Qt.RightButton)
-   
-    #[step] Fit all
+    type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox"), "<Return>")
+
+    # [check] Check that preview is updated [cp AFTER_ANGLE_90_120]
     fit_all()
-    
-    #[check] Check that preview is updated
-    test.vp("VP1")
-    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit"), 58, 8, 0, Qt.LeftButton)
+    test.vp("AFTER_ANGLE_90_120")
 
-    # [step] Input new angle 'To'
-    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit"), 58, 8, 0, Qt.LeftButton)
+    # [step] Clear the angle 'To'
+    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit"), 10, 10, 0, Qt.LeftButton)
     type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox"), "<Delete>")
 
-    #[step] Input new angle 'From'
-    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_2"), 52, 12, 0, Qt.LeftButton)
+    # [step] Input new angle 'From': 360
+    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_2"), 10, 10, 0, Qt.LeftButton)
     type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
     type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox"), 360)
+    type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox"), "<Return>")
 
-    #[step] Ok
+    # [step] Apply the feature
     clickButton(waitForObject(":Revolution.property_panel_ok_QToolButton"))
-   
-    #[step] Fit all
+
+    # [check] Check that operation has been executed successfully [cp AFTER_ANGLE_360]
     fit_all()
-    
-    #[check] Check that operation has been executed successfully
-    test.vp("VP2")
-   
+    test.vp("AFTER_ANGLE_360")
+
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/+OY b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/+OY
new file mode 100644 (file)
index 0000000..0b83167
--- /dev/null
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="301" y="-6"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_ANGLE_360 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_ANGLE_360
new file mode 100644 (file)
index 0000000..1d3c79e
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="12" y="407"/>
+<Rect height="28" type="negative" width="26" x="370" y="75"/>
+<Rect height="31" type="negative" width="21" x="624" y="219"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_ANGLE_90_120 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_ANGLE_90_120
new file mode 100644 (file)
index 0000000..6b64e8d
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="12" y="407"/>
+<Rect height="30" type="negative" width="34" x="345" y="52"/>
+<Rect height="37" type="negative" width="27" x="615" y="204"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_SELECTION b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_SELECTION
new file mode 100644 (file)
index 0000000..a4cff62
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nOy9e9wlR13nX9W355lnMplLEiAE+SFRcVHB1eDuIr9ECHdJADHg/lwUlZvoyiogMyC4rmImgChedhXkGve3r2RyAZJAQAQhCCpyCZCAgSiiEFxYSEgyM8853V37R52u/talb+d0n0vX583DSXd1dXWd7ppTn/5+v1XFzz76WgYAAAAAsPlEq64AAACsFxfdflu/BR47cGa/BQIAqoCsAWCp7L/8so9/7MOrrgWo4+gAZR4+chjiBoAlAFkDwDI4/eqrgiAIgjA+9cCFT/z/4jjmnKdpmueZyhMEYRiGnHOaco97nBkEAedBmk53d09OpxOjZM455wHnnJ6oOHDg0L59+4s8LMuy48fvPn78biFyZz1lIc6iJDs7pxw8eHoURTTbnXfeceedd2RZ2vZ2WIRhtG/f/n379stdIQRjLE3Tb37z68eP31V1lswmP204D3Z29u7s7A3DUAgmRC6EuPPOO26//RvOooQQb3rj7/30M/6zcSiOk62t7SiKhcjzPP/f//s2+tSEEFmWGc8xiiIhxHQ6/da3bp9Mds899yFHLz7KIG4AGB6O2BoABmX/5Zft27d/z549UZTs7OyN4ySK4iiKZM/HCjUThmEQhJzz7e09UgCRz0AqmyAIhBBpmjLGOGdFoilrdnZO4TMC7kJqoSxLp9OpLIromXJDfYWdnVNkIsk322WWBhJCnDx53LoNMo+pP7a3d+zTjc0iRQjBqMQRQsgPtaHyxnEchlGR7iSX/1EFCiFe8Cs/9apXvynPhZQvsqgoijjneZ7LxIJMfZ48eUIIkeeZROobqVnTNE3T6XQ6OX787jSdnDhx/AN/eT2UDQCDAlkDwIAcuvKKQ4fO2LNnZ8+enThOkiSJojgMoyiKwzAMw0h9SnETx3GNpgmCgLGZmuEzRVPKmiAIwjAyBE0QlDrGkDWcMyGEFBU00ZA4UmyxUr4oHVJuFPuz/0rR0HhzZAWl1iHZ1a6xMfvM88yWMkrByFM45zRRIXfz3BQ3WZb+xNPO+5////uEyImsmW0wxqSWqVI20+lUCposy7IsVZ9pOs2yNE2nk8lkOp2cOHH85MkT17/ryrMvwa8uAEMBJxQAA7Jnz06SbMVxkiTb29vbURRLQcMYj+M4iiKqaaTc2drakilU0HDOZQccBGEYlonyk/Pgx5/y0FV/141na2tbCh0lbYTIsyzP80xKPJWolE2WZbu7u5wHUseEYZZlYZalaRowNg3lfhiFYcR5kKZplmXn/cjjPvCXz4eyAWAgIGsAGIrTr756z4GDcRzHcRLH8fb2jhQ0nEtNE8dxXGia0mwTRVGSbMdxQtWMEKKwx8wMOVTTBEFw3Ts/qYROEIRxHEdRIm0/0hIju2Flh+CcBQHjvPxTjqfSpKNnCMMoCGLVScu8QuR5nua5tFUsFFsTBFLMRdKEI6NhsizNsjTPp1mWCsHKv5wpUwzTHFKzvzyfmW0KaRgGQVBYa/LpdJqmk+l0Ks0tQojHPfZB29t7pGohyiaT4qW4aZzqm+l0MpmczPM8CIIsC6WRRioZaS2bTqdhyMMwjKI4y7I4TrIs3dnZyxi76Pbb4IoCYAggawAYiiDgW1t7pKaRRhqpQgpNkyhrTaFposJmE8VxEgSlppFiRWmawpCjtA013gRBwIMgjONIKic286Fkec6FyKlSkX9BwJScUf91/gUBC0MWhkzWIc+zPGfyTwjOWLzI7ZLlBwELAh4EUWEPYVnG8jwQItFkTfmnOaKkmjH+CheeVDZsOp0yJhgTQRAolxMrrDUyRZQ2GaVssjzPlbKR2bIsThKeZTMjjRQ3QZAqJ+B0OhUil8omjuMsS7IsfegPP+LoXx2FwQaAIYCsAWAQ9l9+2Z4Dh5IkiWP5NzOcyJBhqnWoqUaKGxlTzBhTRhrZJVuyxq1pVCBOEZjMOM+CYBbqa9tpyF+DrFHKIwxZEEhBI/KcMRYyFtbeD3fIsE0QCHmJPJeChuV5JERUoWlKWeM8qlQOY1LchDKiiDERBGHhURJyXJiy1uRU1RCDjTLtcM6DgOV5LAQjgiYsomrCQnRKZTMRQsRxnKaJzLBnDww2AAwFZA0AgxAEwc7OKVK+SCkTBIF0DClNE8dxEERRpJlqlMFGGWkKU40RShxWa5pyVw5LZixwaxSue5rk/2Q6N51QpoGHs3aCZr67J0VJtZEmZ0KwXEoWwQT1QOWzdPuPsVmQchiGhXCZeZzYzFqjomcEDQouhE2ZwjmXn0TQyKiaMAxTI0A7TSdSy2ZZmmWJ9EMBAIYAsgaAQfi7j35o1VUA3fihh9xr1VUAACwKZA0Ag/D/nvvoe93rPtvbe7a3d/bs2bO9vaPCeKm1xrDTkGibqML3pMw2trWGxtbQsd91vifTYNPlb1CqvU61fxWmGj3mhrqZZhvf+z37bvzU7Za1xjTSUG+UGssthziRod3pdDpN0+l0Op1OJyo8+eTJ4ydOnDh58vjJkyeOXf7GYW8fAL4SrLoCAAAAAAD9AFkDAAAAgJEAWQMAAACAkYDYGgAG4YYPvmfVVdhwuFqVYUk8+EEHlno9AMAAQNYAMAj/7t+fd+aZ37azc4qMF97e3lPMWKNChhM5yzCdsaYY3R1GUcwYdw7tNiYadk5ao4KI5UDx+nHac/3xIAjkLHZDIAuvmo2m8c85KV8xNR9P09RYISHPxfc/+ODHPv41PZDYjBGmEcSMiTSdpqkWKawCh1WYcBEyPJ1OJydPnpBRw8eP3/W2q/9soFsHgOdA1gAwCGmaHj9+VzGV8ESObLIWX8zDMAxDuWxQFoaZ3M3ziPOALgLlkjXmgpe2somiWE5WJzvvpqFP5YqW9fPWBEEQhjHnci6+tN2qloxp61nW5ORBEMl5a7IszfO8ed6aYpLh+oFR8rYwxtN0mqZTqmnkdHwnT540FrmskjVyQprJZJKmmppR4kYNg5IbeZ4piTOdTu6++86F2hYAoBrIGgAG4faLnrrn2mv37t03nU7U3PlCJ89FIWsypW+iKGOMheFUrj2UZel0ynVlo1a7lOO3jSHes40oKpcyUBPm1gzwloJGzchXZaQJwygMAzLLMJcDoXu5aXJNKDrLcJblWZbWmG3UXHwzcVMxwFtNzcwYk1IjTafFQO5cyprd3RPFygl5sTaCFDSlpmFMqGWh0jSdTncLgw0VN1LWlJpGCCFTZOLdd9/Vy+0CANhA1gAwFGk6nUx2C7/SdGsrp0tXMiZNAlGWlQabKMqEiDmfmWRU5jQVNVMM28qm0DQyPoULkdGlAFzuJz6TNbxy/QRppJGCJgxFIWvUXybFwXwUq1GqZaFYngu5eEKW1ZhtypUT1MKXhitK3i5p+crzkDExnaZK2SiDDSusNTUTDatlQOUUw6oQOm+NXPKzsNbMNI0QYrY/nZw8eeLccx/yYfYXWDkBgCGArAFgKCaTyd133xVFcRhO4jjZ3T0RRXEYRrq1JgvDsFA2oeo7sywrTDIBY1wIwVjKOVdWB90JpWmaOI7lKdPp9OTJcnEi2Rmr0BDLA1VYbByyhksnWhgKzjPOM8Ym8jvK/FJDFH1/C1eThvpSjPOcsQnxas28S1nG5PR3ltlGLd+tfHvaUgmFBDTNZEII5Sqi1hoVc0PWhMqlNClWOJ+JHmnISdN0MtlVsibPM2KtmWkaqXIKa8307rvvPHrx0cNHDh9DgDIAAwBZA8BQ3PHUp+255hppsJlOJ4yxJJFupjgMZz2nWsE7y7JiecsT0+muIV+UA4XNPDVlVI2laZIsyzjfLZSMJmuodsnznHNRyphio8jAiZEmYizlPFWyh83CZcqhSryYdViIvL1PKghCzgPGUsaMGB21p0kXaraRSqY4JgqVIze4vF264tFkjWI6ncjYZ2WtURE2hVBjrHDkGXJHuqam00malppGzjssd9N0mmXpZDKRHqjJZPeDH3j34SOHYaoBYCAgawAYkK9ecEHy7vdI31OSbKXpVhzHYRjLtbWn0yAsCGabkb5IgiZr5IYczkO9Tkq+RFFEBIwtaLidIgNgWSltNKtNGIaFXjEFjSVrtN02yiYI6BqZuqrR1Ey5K7eyLGMuS43cCoLQVjIObUPETZqmjLG77rqj0DSl1YZzRtUMCSWmccTK/TRDiDxN5aIK0+l0OpnsTia7u7snd3dPMsagaQAYDsgaAIblS4959MErLt/a2g6CcHt7z87OKUkiF/QOpe1BZlOaRp146NDpJJgm4DyYTndlv6hQ8kUKHHooiuKDB0+feah4QAww/MSJ48eP321X1TDnWEeDQ4dOj+OEERGjNrIsvfPOOyaT3TluUZJs7du3Pwzlz5EhZdh0OvnGN77uDNyhosY+urOzd8+eHSJ4RBE6I775za+n6dTIf9NNn1B5aPrW1nYcbxE7TZbn+Te+8XWVQSkbuSvtW3mepel0MpkcP37X7u7JPM8/dMOfM8bOvuS1c9wiAEBLIGsAGJxv/vhT5cbBK47dfvs3iv6b7d17ipxDhWYOw5my+ed//geVeMYZ95Tv+jK41UYpkipOP/2enLPjx+8+efJkTTZm2V2qOHDg0CmnnHrnnXfceecd3eNpKi++b9/+ffv233XXt26//Rst8jv1jMb29vbOzl4h2Ne//q/1OW+++ZPO9CDgW1vbW1vbX/uaowSlZiTSZqbGOv31R96vDsH3BMAS4GcfxasDAEvl1hc/f9VVAEvi8JHDcgOCBoDlAFkDwOo5dOUV973v2Xv3nrKzc8rOzt6trT1JkiTJVhwnSbIlnVZhKANyZnE5MkCniMiZhebQ3UBHBeiUCfpEwzUb9du9Q+cIbtyu3dDie/Vo3yJCJstkWMx5597/vX/xObUrw2LSGXIIdyqdSpPJrgz+nUwmu7snjh+/+/jxu+6++64rr3gz7DEArBw4oQAYA494+Heuugr9gRV4AQDzAlkDwBh43/s/D2vNgtaa/r8JAGDp4LUIAAAAACMBsgYAANj73v/5R57/3auuBQBgUSBrAAAAADASIGsAAAAAMBIgawAAAAAwEiBrAAAAADASIGsAAAAAMBIgawAAAAAwEiBrAACAMcbe+xefe8yjv2fVtQAALARkDQAAAABGAmQNAAAAAEYCZA0AAAAARgJkDQAAAABGAmQNAAAAAEYCZA0AAMx493tuevzjHrTqWgAA5geyBgAAAAAjAbIGAAAAACMBsgYAAAAAIyFadQUAAOyjf3vDR9kNq67F2rDqt60n/Oi/XXENAADzAlkDwOr54Yc98qyz7rtnzyk7O3t3dvYmyXaSJEmSxPFWkiRxnERRFIZxNCMOwyiKojCMwjAMglB9kl1JGAQB54GBTOGccc6CgMmNYpvT9DafnPd8N/Kc5TkTotWnEEwIQbbL9DzPhcgNSEqW53mWZXmeSeTG4x77fe+45mNZlqZpmmVpmk7TtNyeTieTyWQ6nUwmu5PJZDI5efz43ceP333ixN2XX/aGnm8EAKA7q34tAgAwFseJEh+cB1yKC6kxOGdMbrNiWyoJTU1Y2oKrDLbs4P0pkd41TftiaR7ntrpdKl0vluuZzXOLu6SeQrGlUT61Dl8PADAY+KcIwOpJkmTWOXL5WaKLG0YS7Z7Y/FTY3bmdXrW9QnqqBncKOapy1H1mjF/3zhsvvOAHVTq523IjoA8lCEpT2OEjh49efLSXGgMA5gayBoDVE8dJ4RtyWQRmSkXZD5QdQhly7F2TwsCz7naaThdqKcuM704ETXm7DHWo7mqRudRGFQab9VCCAHgPZA0AK+bAscuoE4p0qJrBRmYmDhHGrM64umt3WCzWxCTTktra1h6z7kOVvYrp91Pdae2uuzSN/Pzc577MGLvo9tu6fC0AQM9A1gCwYuI4iaK4iKqR5hrq/rCtNaUhgdX6m2wLTZU46OSBWqEeqldv9rZ9c6idRm1QJxRJZ/b9d+uaIOA8iGOMwABg9UDWALBiiAcqcHqhiLWGaBvGDCeU6pVJ92xaaFhFf+9ko6w5VZRKpSp0utrupZloikJKPaNuO6KGAVgf8O8QgBUjZQ0dBmV5oJgVWtNgqqm1vmjKyDhUs+cqakAWv5YmAOtGRdmKkKmoGnKIbmvWGiVJETUMwMqBrAFgxRSBNdwIGdZDOmTeMsUwQjgFjcLyvDiPVp6+QlpZlZrqb9i3LLlTdS4VNEzdfNucppRNu+8EABgQ/DsEYMUkSVJomhoPlCZoqKPEcEUp4WIZcuYULO2dVn1R5TjrtXDzRlFdeN07P3nhBT9oeKOKG2iIzpmqgRMKgDUB/w4BWCWHrryCDIMyHRy6s8m0HDBXlyz/qxtmKoNLNosagVVjsKn3xxXpdpQSM1yBzPVsiLIJgiC45ZavMAyGAmClQNYAsEriOA7DyA6sMawCVmyHPNvtQCEqx/Q61SsbenDNNVDH6pm+J1aE19BbVOPO4+V0fGbUcClqgiAMMRgKgBUDWQPAKomiRF+nqdIDpSwudNsOd7U7b4MaY0bXsU9rJX3qhZ1hx3LdFtuRZz4C6vWzDTYIrwFgHcA/QgBWSZIk9IXf6iwZI1YE3bTgcEIpqj0vmv2mUZeslXDpC6JO6K6RQW2TJ+GKGmZMW0oUg6EAWC2QNQCsEjW6W3k0iG3Aaa0hnWxl3KsZSWN05Iuz2gjiqvQqMVcr8pgy3thOKGrVKc01bjB1DQBrAf4RArBKZLwwdy0HpTxKRXdbyhkqXArFQ11RjKSwardL5e6aGGl6r5L9lUuFqDuhrnvnJy+84BzLD1VmoxtqMBScUACsHPwjBGBlnH71VWQuPmfEBu1uGdNtBjVmBrLhdjl1Ugnro3hqonpbZKZSr/Iu2eWTTyoQTWuNNNh8/vNfZRgMBcDqgKwBYGWopaCc8wurbli3EDCqckh/bDqenFTF4mw+pljRDxkOOHVv7XPL205zkkfA9GekDYbiPAhD/KgCsErwLxCAlVGYajgdBqX3mmbQTKltSlONMiFUmSIoVBLRVMd2jZdqfWgy2NR/Wa7LQW58d/3TUDQO25pUNogaBmCFQNYAsDJqFrm0jDSaoGF1rhNl4zHSzfzrzCISynluk1bTDGDWdmmlKW6+qWzoYKj5qw4AWBj8CwRgZSRJUj202wipoS4SZ6ArzTbbI9YIXqNp1tMMY1NVz7nrT80wZZqVaFjFqOgkuidQod9z1gYA0Af4FwjAajh4xeXO0d2asCmtNKWnyXJCqR3DpULtN237fjvbOogezUfWMT8zb4hpzWLM1Dc0v26tYVaEDTXYzJxQn/vcvzBEDQOwIiBrAFgNcZxEUaw8GC47jWYSUNYC3QllGhVqqPfObAxasFGR1vwtODNjj7h+A427qsZ4a6HEhfRxqdBiMFQUxX18TwDAPEDWALAa1LIJUtK4ekrGdL+S8iXpdoVS/dQG1jTuOiN13Lvrj+ummYdU3iobmDqdPgunouEIrwFgPcA/PwBWQxzHhftpJm2oYcaw2RDPhxnlao/ZkUdd7hrdurNY/ZcjdNpfZL76WKqRXpkqHU07UnFDHlCg5A0GQwGwKiBrAFgNcZzQV3ynmrG0ix1AY1kerDgSepae1UpoyrICm80CV7SjZ2oTqTvPvMOWdqQSR1lrOKw1AKwc/PMDYDWQ+YWdIcOM6WrGpW+cYR+twn7bCpQ1C8fh5NNxtEPFlNpTu+o/psfKaTnj1oKXajAUVoYCYIXgnx8AK+C0q65Uq0FVDIOqstxQ+eJ0M5Edl2WCVXT/NZpgjeJqiK5pU6sK35zb2WSZwbiRqNtvHCiDzS23fIVhMBQAqwCyBoAVEMdxFEXEWmN2kxW+DwXVNkbOzpYbGzPPKnRNcz27iTNOdaBL5NGj2i21NaVhudHDa4IgCMIwavEVAQD9A1kDwAqIokT1gpZ3owxKte00pMc1TQuW8caMpzEiSKxDVmKLPJuAK65IHSt9T2qjzKyP8S5dfvI5FJmptaZcC2PALwQAqAb/9gBYATSwpmYYlJI4TJMyZh9cGxurbD+auYJSqVfWSce0r7mRaFtoqm021EhjOKe0Z1Ek2q4o5VXEYCgAVgNkDQAroBjdzY25+KgxQKIHBasCaAZT2XSiq5dqY202Npz8MZdkKXa4pnWMx6SJGgyGAmDV4N8eAMvmwLHLZLywcllYHijDWmPHdjDd+lJmcAbWLKJFlq9jOkX/tLTiGDLRMFzpVixT39C7SgJulKCh3ig1ERG/+eYvMUQNA7B0IGsAWDZxnOiju02IRnFEDeuqxbQrFJj+qW7upyZcUcwrp01tHHE2Tn1DzWOGO0+JGEN6EoMN5zyI42TxrwQA6ApkDQDLRi6boIIwbFlTPQanjPZwdsCsPDz7r7Mj1/O4E3lF+vJpvHRjvDOxppin6L48agnTr6AbwPRoJ8MVpQZD4dcVgBWAf3gALBsZWCMtNUEQ2IGnlh/K6H2ZJmmKI0USc21ozikXVme+XpaY7nSvP9GCapdfe90nnnjhOU6foPHQCmuNml8RUcMArADIGgCWjfRAqTgMZzfJLEOCsuLoDiYzwqZlHdwKZy67yJKZ25tWEXBjGLTcqtHYoErRfGhcDvDGGG8AVgP+4QGwbOI4theDon0k06SMEc/hjrDh1hKYzOqMFe2VwTromLmpqrytAou7x+17WOQpH0HxRIpUrh2SgkYK1mG+FgCgDkyFCcBSufXFz7/1xauuxPojJUG44loonvykH5r73Ituv+3YgTN7rAwAoAbIGgCWxz3e/rYHfPCiJNmSf3GchGEkCcMoDKMoCoMgDIIwDANjQ01fK40B+gYnoceBCvIwUqhpwXKdGJYhZn+60khojxXlwzS7CEUwxoQwU/REIUT5ae6bn0LByI6Rnud5sVduFGk52c8lxYZ4wa88/ZWvelOe53meyc8s0zayLE3TlH5Op5PJZFf+Hb3u6OEjh6FsAFgOkDUALIl7vuMdBw6ermuaMIpCRRSFgYNQ+aoq1vrmnNO4YxqGo6VQ5xRVIZw71YnJShxSnBsCqEwkn6VvTiqYYltLN/xKs4xmmDBnLOCcBQHLc8Y5C4JcptNYGaFk2GzDYVZS9/xHn/DUo9ceZYydfclr578RAIB28LOP4l8aAINzr2uuOXDgUBwnuqaRFprZJ+dBlZ1G2mNe+IKfXvX38JdXvfrNypCT5zMzjb6RSVONstmk6VTZbL7v++5/9OKjUDYADA1kDQCDc+/rrjv11AOGpqGCJgzVat6hlDN0Q3mUXO4nw3ijOZ6MKYxZOZ7K7YIiHihWhCc3OKTUd+zdCVXs1vmhyJ7hgJIeKEa2bTSfVKM36ld++emvevWb1a7yQxFXlNw2HVKTye7urlQ23w5lA8DQIFYfgGE5653vkppma2tra2u7XtPYG7pkKXUM1TNqlDJ3zOhPJ7cxR0gVRx3p9m7LQ73TbogW8bCV98ThbrMhQ7W1u0dueBAEwWt+99IXvfAZhVIMCtFZWtTCUNrYIsMIl8gnv7X1mc/84+Ejh2998fOHulMAAMgaAAbl266//tRT9yfJ1tbWdpJsR1FchNHYmsYRUqPZYco9OuENY0XnTQSK1kmz0tDCqABSGNO3EDOMoYoMepQ2dlHctauZi6xPVvO9ijsxSyc3xy106D1XA7Zf87uXvuiFP0PTqaAJgiCc7UVRFIdhrCub7STZ/sxnvghlA8CgQNYAMBT3ffd7TjnlVOV7UpomDMs4YcOjROw0VNNokcL2KlK2sYEab4rqlPGzcpdrOw3fxSUmFqLTNDlkEryaQ0TmFbeFaQYbmk7ljlvTFHdbM4/9zmsu/dUX/Ywy5Fg2ttKBGEVRGMZK3xTmuq2bbpopG6yCCcAQhIce+bhV1wGAsbH/8svu9eXb9u7d59Q06iU+CELZb7pCatSiUWVITZG59EbZHXPgGtfNCmcTJ+tM6R15mUEfFlQ3xlt9X11wNMbWtMW4iuuoK5nTDDX+NfN8e8gVMwdMMc7Zoz/8pBe98BmP/siTSbHc2mBGoJJ6KIzxr371//zYp55w9OKjz7nu+2/e3lf1BQEAcwBrDQA9c+DY5YcOnb6zc0ocx1TTSPeE+itigc2paIJyFLdpllGBHUEx2Ljwp2hhv9QOQR03xIpDe1/qrDESTVYyxltdnFkay/osM6vvzjR1pd0Wxqg3ygisUYLPkIwB58HvvOatv/qin1ECsniIMz1aPOsgCIJII47jWNpsbr75nx716CcdvfgobDYA9AtkDQB9cujKY4cOnbFnz47SNHHsiKcJw3JuPSNS2FIzjrlqGLN1jNkry/pYgTKqppq0cemVrmaSlWH7oYhxpbxFevgw0++ecYONW6o0zUzEFMrmZ5UVjfNAH5AfKsMbffRRFEeRbBjbe/bsPPoxT4ayAaBf4IQCoDdOu+rKQ4dO39raE0VJkmxvbW3HcSy7N+p+CsOQjtMmAachGfpEulHNnMOrVscsNBDX81ALh9rV+m+ilJjlgWK2maTQQ4M7oWqoqgnd1bVdecjlkNKwvFFq2j16W9ijPvykX33Rz7z3Ye945F890bgDxhcnT0HVYaaQ7vfm73zLm18PbxQAfQFrDQD9cPrVVx06dEaSbCtHg4yeMdxPRTxNoIedKlNNIwG1PSgLhFIpytLA3KYaTjpdlYexSg9Ulbund6XiliB2lbgtQ3RTjVUgNcmYhhz9aKXlRnsA5Nm9+nfe8spXvenI4WeqQ9Rao6Sq/NNtNkkcbyXJ9vb2nsc+7imw2QDQF7DWANADZ7ztbYcOnZ4kCYmnKTUNjRG2ImnobMKczqen1oCikcI13S018BQZtEBg3XlVGm+UEjJsM0w/0yhHfXdLZvRpramPGnZenfqhyBcpa9JoraHYccQyhd6hR/7VEw+/+Oce9VdPpAWSm0lrxZlWt9kAq29/6wPe/KbXffNh1x/6K/wgA7AQsNYAsCj3ePvbDx06PY6TKEqqNI200/tPI2MAACAASURBVNjRweT9XtM0psVAj7BxGhVUOqma2tb1ySyJKUMFM7thB+1Cavr3N1UVrsSW9enMya1vZ9w08166hCNNCeiws1e+6k1HDj9Lf77GOhiBoXHDMIrjWPkrH/+jF2FKGwAWB7IGgIW41zXvOHjwNDnIJUkSOe7J9j3Jno32hTRYuGoBy9l/rAmFqfuJMUYSaU63a4ZrHXvdV+PthMwqqPJDGV/ZdGPpitA4pE4xhCPT7ihJIUuqB5zzV77qjUcOP0ulyxW+iEOqDAxXy7bLwVFFEPHWpz51K5QNAAsCWQPA/Jx57bX7958Wx4n8KzSNGuJbLtBtxPxSm02FpilNAtUTCpcapkihWsRQNuURopCcsSydnD4roJ0XiVt+n9lGrcHGiFXSBGV1yuw5XvLKN77kyLNJ4Lbha1RjowI59FvqmziWmnhra2v705/+BygbABYBsgaAObn3ddft339Qvm3HcSLXRiB2GhomrOJjVE9nrvrEmMMD5ZxQ2PCYGCYEZnXkjKkNThUAcULRQFr7i9b4evrFiIMxL2TXrfg+bepG74lpsCHWL7eDr0nTlM9LKhsaVmzEEZNZbUI1B3GpbRIoGwAWArIGgHmQC1gq35Mc9xRqqCWfZh2eFVVTP/TJESBMzTMK1RkXNptZsjpEQ2hbOKHKfNV5lkpj1LCe0xGiS7Mw3eVkiEX9qDqlWeWQ0W38kle+4SVHnl3oHSPUJqDCNwiCKArlGguFsom3trbVopgYHgVAVzASCoBu7L/8sjO+9C/79u2nvqcieoZOwGbOT6M2aoc+cWPBhCAImN6LuvpUWo7q1dUmSSMduZEuvx1RM9pGscsNkWEpAA1njMti1DqcKjIXX0FLd3myGoxDkqqxUbQi53/owpccedb5H7pAlVMT9FOcyElmfttt/+fHPo0FFgDoDKw1AHTgwLHL9+8/sG/fqYXvKdY1jXI/hVWahrgkNE1jqxOqO5QWMdxPhtOk6LBNU43toKkKqi02DO/VGuI0JukaTM9J1YwRIKxuHdMcUkxPMR+HnUItc0cvecNLX/Ic9dCVWtXX+qYNRs1nM9PKN930xfMfeQGmtAGgE7DWANCWQ1ceO/XUg3v3nqL8BZamCZT7qVrTBIXiMdUMSQkM3WN0pkzbtyezYS5TjWbF0WUQo3qoZqPYXaG1xr5ulbOMUwXjEmqG+rHUUEOtBbMsN3JdTHX6+R+64CVHnv3+c697xA2l2UbVodplVj6UMAzv+8b7v/Utb4DNBoCWQNYA0IrTrrry1FMP7OycIl+m5XQjLjvNLEaYShklU9RAX13ElBuFI0q5n2byQ1ctmoipXypBFzTMKIRpmoZVu6K0MuhtGV7WtJca3Pq0Tze/abVDyjzLoNYVVZ7yyA9d8IgbnvBrL33u+Tc8QT9klKndclrPMAzv+6azoWwAaAmcUAA0c/rVV5166sGdnb267ynUNU1ANY2KFeUzrwQnZhvDymKLm1JzcDKc2/ZAKYsL03pr0wml21oa7BC2qWY+Fjm7MfCl8dzaWBbt/lDXG723VPypkp3i0pnCS+Ua/PbFr3vZrz1PtYeiSWijvstw4lDN1DezCe7Zs/fRj8Fy3wC0AtYaABo4421v27//wPb2ThQlxShcW9OEhqZRXiSSEoYhHd+kxQiTFCp9HOYZzo0utGGpBKb7oog9oJXjiWxwQ17Yfh9tx/ITrQiua7vKDGS/IYOBbblRJ6rSHvHBJ7zs137+ER98Ai1fN8xogoxp958FQXi/t3znW978eiywAEA9sNYAUMc93v72/fsPbm3tkS/OUZQkSWJHBwdk/K41RU1g2Wmc2MHCSoKYHaE6qiuG0rHiithgurNJ6+NbOHcaWZp2qbyQbpupymaasvQStHtbPgpyCU4iiIlopJnLc+nTf8Vv/8nLX/a8igH/tuUvlDYbZbbZ2tp+7OOegiltAKgHsgaASu51zTsOHDi0tbVFfE+JPjmNmk14tjQ31+bON+Zk4zWOJ7orr87dEwqbu6R3ZVZXrSmbWhFTaaohZfVyU3ukoaoV2k47l2ageYiUdNx84p8qj1gpxmNVyuYXyMComfRR4ob+qeFRRNls3XjjF6BsAKgBsgYAN2dee+3+/YdkdLCaosZwPKlPOVmw8QpOO6zaFRLcWDYDh/2G9MSGsuGkV6YbnKgBerSSdiaQugK6n9KqhBpxVpVuyDvr5jCqV+jdphfl1mx+9AFVpShTnVQ2LtUb0hUxqXNTKZsoipMkwdJRANQAWQOAg3tfd52aRFgtj1ClacKwdDg5x3VXaxq3zabJA1JmYFpXbSoYy1Rjax3GSDdviCQ7Z3uGM+20K1m7A3oiow4447bozj7qsHNqTU3FNKmcMoT8t17xx7/+8l8o5I4xE7FzVptIausomolsKBsAqoCsAcDkrHe+a9++/TSsoUnTaFJG90CRFYMsEWN0hEEw+/dYZRJw2W9meZjpcynTnRl0Kv1NNRpiyT6plrYlPX+xSe6JS7oZ2bRbzTSHFCO7Vd6oqhRGxc1vveKPf/3lv1gGjZcD/Mt2RS03YRgaIlstHYXhUQBQ+NlHX7vqOgCwLuD1F2wiZ1+Cn3EAZkSrrgAAa8S55z32tNPO2N7ekyRb6i+K5BrLkVq9MoqiMIyjSIV2BmRx5oBu0Ngae1SU5atyzNFXO2vfzPyi7AeFScDcJdkM/4v5Kc0Qs08rQ9uN2f/1DTkvL2NMWBtkjHTjhvkpCxFMVGVgTAghBBNiNi+w3GVMJqp0e1fkeS5mlBtFmiNFIjfUvpFekOV5nmXZf/rJ8xljb3jjdSolz7M8z9I0y7I0TadZlqZpqj6n0+lksqv+Tp48+YAH3Pvoxc+HsgFAAicUACVyMQRtbIpjVHagZvUl8blUZJAkLRtjZiALLw+44mOcnpcq70+tV6jZfaO5rZbjYOrlKqTCnEgoR8aWUTmav0mdxEmaI8VwYJWZ9MdtOBA555f+2Z+/+S3X/9zP/qjefozGVjbCQCcMwzZfCgB/gKwBYMbpV1+dJAmN87U0jR38y/Q+TEVjlFKGhsjQYFW1QTNTrBSH0GkZ4FKfzeymNx2XkcnMQm5j0z2s0TFGmE6dlKGHdCnMOedvevM7n/lzF1iS2G575vC6IAg+9albGWOIsAFAAlkDwIwkSZJkS7fTlN4fxtS6S7qiMV+yqUxx6hjVz9nqpM4kQE43DpXYcbK1eYrt9RY0/dh02pmr6A00Tm+ypSkVWyllVPtxmff4G9547bOf9UTVhGooJhSYuTiTZOvwkcNHLz46980BYExA1gAwI0m2oigKdGqHZxs6xpQ6zNQxjDFT4hB908rNYWNlbkVLM4951jwnzVlKr1rL1CjO7eqzKu063BwkVSdlrBKMNsNf/6fveO5znqwlVSqboAjeCqMobnMLAPAEyBoAGGPstKuuNEw1FYE1mhAhqoUVKVqfxGpdEkU6ox1nrTeqzlRTz3w6ZvkspZrcuWvcokKUGHncopOkKL1r2+rKBiDLsZXx617/9p9/7lPqlU2gz/QYBMGNN36BwQ8FAGMMsgYASZJsJUlihC/UvzG73FCzLV1/cNKxqQ2z56sI13D0rO2MN+a2XoJfVN2TintoapE2LkJeOXDM7ZMiFzJb0h//ydW/8LyLlIZx2gsN8Q0/FAAKyBoAGGMsSZIoSoiRJgyCsMYV4AqPoE4HplIYY0TBmBKnIlymrdejKptV4LrTyhc05HXq5WC1jtEema5rHVKGthxDHBfHOWPsv/+PK//zLz5NzxlQiWPIGvihAFBA1gDADl15RRwrD5ScjaZxFSdGerJyg/Z2KkViSRwznVapotc0szXt6sfWT+TMUSM+74nMoV06FNPiiZhPsNgwRLCWizqtqEj+wz869vxf+o8Vbc90QgVB8MlPfp7BDwUAZA0AjLE4VmOg6AR6tYqGc1dsBKPBE0Xx5bYucZS+4XqPyC2hY3eHzJlip6+hlFkUomsWkThakeSG13immMtaZoTgqObhlDJGCyFWPSVuyrb0B3942S//l5/kZJlMTdoUElxuJsnWwrcBgDEAWQOADKzZMiIxa2SNkiOayCk3NFcF2dIcE0W6WRlnt+oUOo1n9c8yRVKba1GJQ4RO83mt8lVZwmzdadtg3FLGUk6lRNZl0Gzjtb//v17wKz/1qy/6WVcbDIoWGwZBGMcJwmsAYJA1ABy84liSbBWLGXSIF3YqGkZe3/WwCYdXQnVyxZ8miRjNrqd0+oJ8SZJncNpLERK3RI5YysNOt04xDWn0iOGBUinkeTmkDFUw5KGrFsVJCuec/e7v/dmrXv3mI4efJZukapj2eKhPfOIWBj8U8B7IGuA7cZzIMVDETuPUNLOATWoiIJ2Wc2NGkcj1vq0mMkMpIYcmoX6QKo9JG/+UJ9Tbw5yBTVSIFMrDbTCriLahupaRbKXKIadUiWNOmg2/5JVvfOlLnmu0TGs8VNL57gAwOrDUJfAde3JhaqphjP/6y39x1XUEgDHGXv6y5/3X3/gDqWfy3BwSpfxQWPYS+AxkDfCaA8cuTw6dTiOFdVkTcB785m/9D7lqt1y+m0YWh2Hlwt3FMttB+R9rHW/XslO8zcLdyhhA3uxLD4iy8RTp2i4zrQjNn8okUZ7ISqODbToq89MN5live77VvOf4JEt2G+t4G+t7CyOzjr1qd5lIl/tWK3gX28Ua3tWrecuNYgXv2VLe2WwzzbIsy9LDL35mjbUmDMOPf/xzjLGLbr/t2IEzGQBeAicU8Bo1BopOxNc0tFtpBeVWYGqDag7lDOKt44Vdro1ZTlekiObpqNlWJXdl3D6rFt4o84wye61zkD5H8vTNa9G2ZEcNE5Fq5ShlbimyOcd4KAAga4DfJEkSxwl95a1fAYoxprooo6dh7sAa1YMV+7XxwrZ8IYU5o3BqaMhWH2ezbEEz8PX0+982s6tamrKpiK2xH5kmZXSVU7YrGjXM3HE2mqzhpUlQrnyJ8VAAQNYAj9l/+WVxnERRbJjzOedyve4qeaOLEq53SKp4Q+tw0rOqzyqlYlsF2nT7dXnaBwtze2eMRptay5aWsTrFNq2V9rPi6bNqg00pZJWAKU4slTQ51yFruN52wzD62Mc+yzAeCngMZA3wl8IDZcYoVAsaTroio68qN6i+IX0bo11UsT/7r14v+xWfHOOOo639UA60/O5arDUL6C73bTduICcjoVxWHKpunTWy5azWQnRrjaZdyiRODzlWUaDaJo4xHgp4DWQN8Bc5BqpquhrXi3GpYBhj1A1BuyFW/QbPSN9WlFPZuVo9pSGSzFMWYRMFzQyiIuaTOBVCsOa51D0duqmnlBYXciGqkrUUp7bRdjg3VmZVsgZ+KOAzkDXAX+I4iePYGpdUE1ujXtzNXobpvZAsX5c4ZpfmMqXQDJZ4mVNttDutqyJYT+lDJQ4ROnMW1iQfXbY0M4iHtoja8BpGJU6hmMuNClnDuTUvXxxj2UvgNZA1wFNOu+oqZaoh7qewStMU/QonnSdVKrSXYqQnM0w1mpGGu+KFnb2pS+g4jEAqndTDvb1ZOCve6tvoCtLpttPVZKeKcF4dNWwVbkgZ6pMqNXFRgkMrqwxOYUOb8Y03foEhvAb4CmQN8JQkSZIkKd501cKB9aqG6xLE6HiY4YQiHZXdmTG75yM0dJP1HfAy5cugl1rC96iymTV6o6zMjgdEG4N+OV7o4LKFMFPimJKG7uiiho70DjnHeCjgNZA1wFPiOIljOrlwWB0sbK6ZUO0vUC6HspOrcj3oDggFd3aQi2CUMHd5a2fr6VyhuhNq73MrZVNK14qoYV2saDY8cjqVOCo/N9ItV6kWH4aoYeAzkDXARw5deYWcrqboD9SEZlpXwZgdaqOiO6lGUX0P050OWmgFY1TKlB0VwfQfWdLHZVvQLmgkukpeO3lisroKur1RXAvpVTm5vitzOqVMmcd2R9JmY7cxfcOw1phzSJLprINPfvLzDH4o4CWQNcBH6DpQJFI4cNn4DcliOAsY6ZkY03WMrmw47diqfB+sUDNGd8iK8iqiQypLm/PwejNf5ctb17YA0xtFYqGcWmd2FV27GNKWShntaaoWQiyCpTmQ2gJdGHMUYDwU8BfIGuAjxardWm9QLWjKTZWiewpIjqIbKy5lKh7SP9HesewyjbPUuRU6plUP7Th3s3RNv7W1pGGtoau+Hkpr2lYZsw2Q5qF2VXvgSseQJqEEkZI4jiZX6BrOMXsNAJA1wEMOXnEsjrfIgpSarGGM22O8GWPOjsd6pWZU8TDNVMOY1mXW+JVM74beRzrO6t49V17bM5psWtVGNSOlQtlozYAc1aQt2dCMgoaFpqgS1dmcqHFlegyDIAjD4BOf+HsGPxTwD8ga4B1qDBR1QgUtJuIr3qoZdRMouUM2yhdrPYXuMtJ7KewUR8/a2g/Vgk4lrI8Iqq7JgnWk1rLq21upbHh5Dtdzckvl1FhrSvWsmiIRx87GSWev4XJIFAw2wE8ga4B30FW71eBYU8Iwc7e212H0lZ12YIwx4oMo/lvKI4rbwaEfauy164w6Lc9ZI2xJ1/I83iFzi4JbPazi0m4po/JUGfBcfivO7XZm6ZkiWJgX4nwm1hFeA/wEsgb4xcErLo/jJAyjClNNVYSNYarhdpdTbLOKd/RmA4AdbaMO6Ruu8+f1QzUVvGlwc5uYx9wb7mIsq5nrSu4ieHPUMD1aGmxs3eySznq7ZIa4KVt1GEYf//jnGPxQwDMga4Bf6Kaa5nhhIlwcphqme5qMV3bdeMNIB+ZQMK6wGw29szQ2moVJo8SZU9tw47+bR6PQIU+KPjh5iLseXL3AdRtsdL9kKaC5Hrzl0jSKwGjY8EMBD4GsAX4Rx0kcJ3YHUCNrePFKzRhTG0rfqK6q7LPMwBrTVEN6wkbvhu3aqMm8GK0LW6WCqb52u1o15jKMavbjoLaW4r+l0LGVjfNxc70xUI1iamhqpGGslMKWpjHCazDMG3gKZA3wiAPHLlPLW1InFGO8ZoVLo5tRHYzlHWAuRwN9ced6f1nXZdJCKjSNSRs/1Bw2m801w/SC645V3qRC6dJEt8GmSDFUFD1LtTHTOujUNErZUL0eRdHf/d1nGfxQwCcga4BHEFMNJ1E1TkEjEyvXTLDEjUPHWH4Hpt7LrarV9ZRaqqaiHBlcpXVRJty52ZGVSKEWF2309LUuru4J6sLFTGFm82CF5HUI6OIUZdExMjtkDS/NNmEQhEkCPxTwC8ga4BEqsMaOF3Z1FVTu0DfmUugYgsYVP8FIZmelSheVHW1j+zVqqbiAldzNZjNGc011lJI7WyclypgWc1PVHooNo204GhhpftWKZraQAnVFST9UDD8U8ArIGuAR0lpjRdXQifhMGGOk7+HcepmmG/Vv59TpwK0oVJq/K3MIl4Yr8cYca8Ri1TTPrr513ZQNK597sVehelVIFmkPqoFpxsKiHKOF0qarifUgCKII1hrgF5A1wBdOv/oqfXlL+fMf6l0Ed6mcMqCBdDCqXyo3rG7MOMQY3WqOrSnzcCp8TAOD41ArNkS1rAojRKm1DLUVrfOhU5XD9QKps4npLZDa84xWWugaomnkHpa9BF4BWQN8Qa4DpQ/qrgqsKV+Enb0LFTokJ7MkjvFqbroeCM7eUdM0lmTpR5WMQdsM+x3cT8ppclMpeuYGY16xYcpoopLtxuDWNFTNKLMNxkMBr4CsAb4gA2usod22lDETuMMXUAqdAqeOYeQsdbTRl8H1U1p9O5cfquWZrXItesrCzHfNwm2jJ7rLqnY+NQtK25NlWmVcVhy7zZg5ddlUOqF0GWQrG07drIgaBl4BWQO84LSrrpQeKONd1ugObIlDuhbax5S+p1odYx8yUOVUvvo7rQWWH4ocdl2pUeH0KFSWqXmar6U7ksyD1m1s7cVrpWwMz2NjI1ENqmyALmtNC4yg+PATn7iFwQ8F/ACyBniB9ECpRaAqbTWFmqE6Ru9aNKFDvE6syFP1Il4KoAUDNQZhLt2zmQ6sxlpXCUe3N6q+ZF2YOluFfdGyyRmSmpzlaLRFOtU0s134oYA/QNYALzDGQKnPmhdexpTy4GRDEzqWa4AG1nB1iL5qFzWqczxVpNTTbKQZ1mazEo2z7It2VTalWHE9erf2pY2NShx6lt4ybYeUuUQUVlEA/gBZA8bPoSuvSBJzeUupadQLbpWyMbwAhtCh+obp/VNxce7q1ebpHc0cllKq8KR06fk3x/zSyuQy14k1eYmKpXnqU8pWZJvx9KvQskutrOvpsnVVaxrOrfCaMAyx7CXwBMgaMH6s6WrKQbAV2IfKMBoqdGhPY8RM2Ic4t7tA1tQpsuLtXO0sejeWGWfTJ12r1aRrLIHScGdooIwR/0RTXJdv2TZI8RXtTZ3dUtMos02AZS+BN0DWgPGjZI0rXjggQQlExVQOfdKEDrNeu6sCa1z1UsU6ekeaUnFuPaoHbXuXOpS9kqIGw75FtuCxT6pKsZ9mke6w5NmHbAGkWwdVCdzZblXr1ePHEF4DPAKyBoycg1ccS5IkiiKuxQo3LNlNtYsRT1MUTAWHQ8eQ/knt86o+Ty+5bUqN+6nZJNPVZrNuAqXP+lSWVXs/2z6vGqdklcqxrDWayNa1jtFWqdbRdHwUxR/7GJa9BOMHsgaMnFpTjfaCq+8yqkjoG7NxStlDOTohuw9jxSGKw/Hk0BWtJEt/vf266ZiCtnaqZdBJ2dTF01gqh7a9Ul6TQujRskFamoYuEcXhhwI+wM8++tpV1wGAobj1xc9fdRUAWDvOvgQ/+2C0RKuuAAADcvYlr/22668/ePD07e2dJEmSZEvONSwHRoVhFEVRGEZhGBYbURiGYRiFYRAEoRxEUgwlcaQQ8w9vuW35DniFR8xILCNSndt1hxhjdnrrRDZfgM4wCDH71DYEE90TabqxXXuIkguLPHckFsl5nuctt7Msz/Msz8vPLMuf/p8e+aY3v4umZFmaZVmWpVmWpulsO01TmTKZTCaT3el0MpnsTiaTkyePP+ABZyG8BowbOKHAyJHdEmOCbNdkA2AjadG20cSBF0DWgPFDfvHFLAG/8CPCz4fZ2IaFYKrBtzwFgBEAWQNGj2jq+IS9jQ4ArBW1DdLRgFvkBGCcQNaAkaP6A2fH0F6+2DkhfYBBX01ikXIWbOcAbDqQNWD0CMPntG4/8etTn7WpSA+M6bvMjdG04HwFPgBZA/xBizPQExlbJ3kBxk5VU5uzCep6xdnC0biBL0DWgJGjBugayc68c1+kYzpYDW0DVFod6tqEWjWSltq6XTZt9B9UO/AEyBowejQn1CLBNO2yrV3vsXYVAh3pq9HCCQV8ALIGeELlD3rvQqdrBfo2HYGeafkkFtQMc5/e4kT4oYBHQNaAkSNEOcC7eFvtQeKsHR1rvrlf1Evsx1WfIuiGNW8TAGMGsgaMn+qx2VWBlp1//Zekh9ArbSSLPDa7WbZtqJiSAPgJZA3wlLlM94sb8yuiT9HfrJoVPoGKp7+QTbFrmQCMBsgaMHKoE6r7ueWmfXDeGs0POiUP6RL7VWnIQbAw8AfIGjB+ijHeM1uL7YHqb6RJ98qBUdD10VfMOzDHdRv9UJiZCfgFZA0YPU5rTc2kfPjtByukx+bnaPZHLz56+Mjh/i4BwNoBWQNGTl+vxTVXGK5osFG0myPPkavnJkQvgen4gG9A1oDxQ03xzl/8AS6HXmTczPd0FxptNzutQhW5BvcZ1zIXRwNglEDWgNFDnVCNE9+t7Hd/0cnceqoGWCsW1iFoF8A7IGvAyGlp86/qPzr2K1W50buMmTU3gsAPBbwCsgaMntL23vL3vafhTsYEr8BPBhyIVDEBgcPf6soGwDiBrAEjZ0OERaN3DCyXjb33FWuvbuz3AaAjkDVg9BiBNZVDu5c1BTA6mLVhMx5F81SQVXMKG+ZJhAwDH4CsAeNH/prrP/E1hvrZkV4r0GNhoDubef/1ZrMW81wDsP5A1oCRUzvw1ZlTS+u5NmBDaP/g12ZKpJbDvAEYOZA1YPSIaut7yx9601E1kDEfRp0eWMt72Hpd1QULqTprpnjghAI+AFkDxg8dMLKA18npBejQT6BPGTVzSuSKPHOUNl8GAMYGZA0YOS4ho8UOL+J7glIBvTPfqplykyY7885TIQA2CsgaMH6cJppOnQfkC1gyjU2u/exKmI4PeAVkDfAHc7yrK0dDBjsnTZuzXktj7SvoOTWtro3z1Mijhw/j2QNfgKwBI0cI0dE433sHMEyPgn5qDWiSv6t9SBgTDnwEsgaMn0bLyqLLTPZnuenHTYDOa1jW6P5WzCnszgYnFPAByBowemZG+Ja/6Uv56Uf3shasz2NYrNVVO6jMCf3W5xsDMBSQNWDkCGuiGSuAptVv/fByp9vQFXRQTkZ6WyybjG2lcbVwejpMNcATIGvA+KkYAevOS85qiptAPwEWwHIM9RX8qwWK1codAEYIZA0YOUbIMF0QSib0d6G+SgI903oaosGv0P3Evubl65QNgA0GsgYAxtoNoAXrxTKfTJ/XWnaLousnADB6IGvA6BGtY2hq5h1uLAE9xphZxdNtvqazodaOjUIrBeMHsgaMHOp1WuBtdXl9Q2Ul0SWtGXM3pwEmFGB2E8XClsBPIGuAb9Bf/G6//NZw2aWCPgpUsU6TFwCwYiBrwMi546lPk1HDc/ym93EKehJv6efR96JFpM3yIQ95IGPs2IEzeygRgHUFsgZ4QZuJgPt7l12x+R9erPkY8v4MVHZNG6YxwogXBh4BWQO8oub3fQnRM+hYwKDYDQxNDngHZA0YP/WrXQ73FltbMvqbRdnEO7j40phdm2uXuSgBGAOQNcAL7M5gvvjf5Vjyl+ovQGfXjd7v14IFuj2elprBuCjgC5A1wAdE8ddGMcxhy1kvVQSWQPtH2eMC7/WnWzNo93tRADYDNgJfHwAAIABJREFUyBowftobZux33L6v3pC3dSLwjTniZhafrgmAzQOyBnhBzbKC0A1gbWkywMxyVZ9buQvAWIGsAePHChnu+ouPDgEsyhJVhcOu004eATAGIGuAL9i/7K7felccRLfuoNWrc8+gw1olfboOu0ayt1sWCgCPgKwBPiDajwNpXOcStv3Npv3z6m1632VQoW+EcxuAEQNZA8aPJUQW+X3vFEo8v+2ntz6oqRz0dcui053u2nIwER8AMyBrgD80+5sWK7DHzGD1LPmB0YUOFi+MFIt5a4BfQNYAHyidUFWxCwvEVM7dXaCfGZjVzB89T3l9XKVxODfaG/ACyBowfpxSxhry3eMllk3/F0cPuETmbjw1J2LoE/AWyBrgA+YA78ZJ+erjgmHPB7UsYx68rtMcwwsFPAGyBnhBC9vMmvzor0k1wNriCFpvistBowIeAVkDxg95T+00gmmOzqDVKT0MhkI/5RkVjcFMpdmqtgEYN5A1wBNE7a+8cCXOcY1FS6gqeKByQUd6fBBDieaqU+CEAp4AWQO8oGby1k1cOWEd6wS60xTz2+ZoVdCYqM0GwGiBrAHjp1gTygjkbJIzy4gaXtPOZk2rtVG4WoioPVpX2CIV6aMQADYGyBrgBbWvrW0GSS3HZQCWTven1EaR9OfwaS6opV0HPijgCZA1YPzoK+Ms4XKDXwLMTd8Pp6/yerDHOCPGAPANyBrgCa3mrWkXZyOslK5Xh/QBNQhjMr2ePFZoc8ALIGuAF9jz1tAIm7kiKxtGlvQiXHoYnNUhFdSxPkq0qxdsppIEO3rx0cNHDg9WLwDWAsgaMH6KkGHWcQxU5+t0y90l+/r0qWBBVucGRRsCXgBZA3zBZZJZaDAUACunYlifskFWhd0AMFoga4APtAxW6GdSvoVZfQ3GwYruY/t57watoCl01qBhA7AMIGvA+KlYzXgZP/Mr6EvQe40f15Q4znlytJaPlgG8ALIG+Ib7tdVKdcTiuM6qPNK1WmAjWKcJAuYbzQfAyIGsAT4gqkzwa9AHrL4GYDlUWA3bnFW52/50eKGAJ0DWgPFTNa679blDzea33PlqgYN1uruLKp6WkzMBMG4ga4APNIYXGAO/++0P8J4MWlE7MHuRNT3Q/oBHQNYAL1AzkpGUzmWQT6Nwdzog8FVXoB2b+RjtxmzPNglxDTwBsgaMn5a2+nH87Lf5EqP4oj4wx8PEswW+A1kDfEBIKo6ZCW0KnLsm854INgP3OOtlPXZtUVd9/QRYa4AnQNaA8VNhol/2r/xQ3Qp6K7akmzDcEtlVbaOPNoP2AfwCsgb4AP1lr39rdTikqkfYijbpDTVrsXwPXrPHS6sYdneOyvZWNXAPzQh4AWQN8IJqLYPfeuAFEMfAEyBrwPgRwn5/XdvZ+VaHz9+9YDm+rJ6LE+YGvZDXTRp4CWQN8ATn8OwljIEavFdBt7VODNmSuvg2XbtoKcALolVXAIDB+ejf3rDqKgDWz9Q1vLeSNpRn/twTVl0FANYayBowfs55yMMOHTrjwIFDcZwkyVaSJEmyFcdbcRxHURSGURhGURSFYVhsyL8gCMIgkJ+hvjvbl9uc8yAIOA+KT7prHuI84DrORFcKU3+Mubfrd9W2+3TGWPVZC8N7sRYUM8vN/tQ2E0wwM1HL4Eps3DUOCZPcTsnttFlinud58SnUtvNQnmd5nmdZprbl3jN++jF/+oZr1G6WpVmWpmmaZWmWZcVGmqbpdDqdTncnk93JZDKZ7E6nu7ff/s33vPvqxR8BAGsOnFDAEwSM8MAn7NaO9g+8ALIGeIF6+aZpC+z2CYI6R8PAj3L+Jupq/wCME8gaMH700d0Nw0M2OnwYrCtDPfrqYVCdF6sHYBxA1gBPaPhxb6dm0EN4xpAPvJ3s6DSIqU1RAIwcyBrgHa6VEzq5nJqPDmvwR/dkMfpbUjHVtXMBKrI5+vsCgAVkDfCByt/39t4o9BCbzVyPb6hVvJa+HBmDxgHeAFkDxg8xzyz1lx39yKgZODy4RetxrhbeIg8AYwayBvhA1eJ/5tHqPNY56C42l+WK25WWj1YKvAOyBoyfO576E0LQeWs2oieorMaa1A8YrFDotrHsnHPOAxljxw6cOXx1AFglkDUAzJirW5rjnDWVJWtarXEyuLB2Le8KgBdA1gBfMGYkWysv0lB1MefrAYMyXzSMo5CmcPXKgXuuUX4trwvASICsAV5QLWKMI/1aX9CZAEW7mZFaxXX1f10ARgNkDfCHzoOhTMkz15BvvCiDlbCwXgdgI4GsAb6ge6Bm/22TuX2xYBmM8IbPFdVVuwaUUSxaKfAHyBrgCctburJdBTodBaCSqnga1kK+AzA+IGuAFxQ//fUrG1TG37S/Trdqge6s5y1uNIcsbC9ZMB55PW8bAP0DWQNA3TLIYHw0jCtaEd3VdqtSFzgXgI0EsgZ4gjaRR5HUrYQ+qwNAO1oHqrsjaeQ29DrwB8ga4AUq/mDhd+I5+wf0K+Ni8cfZJlx9kXislQeTAbAaIGuAt7TqFerflXv0XkH3gB5xjfsDwAsga4AnCGuW4YVKW7Q6wAvmbidtbYctJqepN1ICMDYga4A/dJ6OD2wkrie8Hk+9fhj2YkU3FLIeNwCA4YGsAV7Q/ke/ZhaQrtfsoxCwAdS3rnaqpf/WslarngGwNCBrgCcI3QNlDfKda6LX7pWY80QwHD09jEGeaculMbUznCtdQuIAb4CsAf4gHFOWrPWvfffKiZo9MCZ6WzgTgJEBWQO8oOL33RltI6yNBa8yT1FgZaz7s2qz0tP8bRiATQeyBngC7QwWGwSFngL0xBLbElot8AXIGuAL7dVM63ldzfM61WczGON3WgfmikyvXLPMNcxbm3gJWhz4A2QN8IIF3ENLfKEe8lLo1zad9s0DIgb4DGQN8AR71mDTfIPOALA5TCjLaDZzGhrJuWjcwBcga4AvFCpmkXV2BmUdO551rNNm0+GOdnFU1Q3xM+bXBmDcQNYAj3D+uPc+Wxq6kNUy/O3flAe8KfUEoE8ga4AXWPHC3YZDQamA7nRdKqHbmtuNbVJfCRwtGPgCZA3wh8Yf9x7DhzGtK1gSbaauRmsE/gBZA3yh0/LdtRnWV7Ksa702mfW4p22anG6eMTYA8AXIGuAFQjhNNXjBBb2w7LbSMprYJXQAGDmQNcA7Kowtgi0kZWrORI+ywTS4LQd7tguvvarP0Ic2CLwBsgb4Qs0ve/VsH3XlLVSbDjVZfi02h436+nM1M3dJc5x+9OKjh48cnutyAGwSkDXAC1xOqKVMo4bFL0Fr2gT/di8T0/EBv4CsAX5REThcudqO80RnBgDaMYRqMRJ7vAIAGwZkDfAE0eVVeH26hfWpCVhrjOZNY4oxyzDwCsga4A99DszuNFwcrB1LfWQdpjtyp+rjnurbW0UED9oo8AXIGuAFlqlmJnHsPmBgjYLepU9wNwEABpA1wBMaBmA742xaS5wldq+iZm/R0kAnBjL+zXG2tauaNPVJAeAFkDXAF1wuqJbG+UVHXffZ//VWEhiUXh5UwyCmLu0KDQf4AmQN8AK9A1jb1Q/WtFobzGbe0b7a57q2cwAGBLIGeEIPP/DL6STQFY2P+iXG+ii/YWGQtRXyAPQOZA3whXKE95x9zIITwoI1ps/QFv3Yws/fKGGuYVAAeARkDfCCTj/3Lbui+XosvDYDytDtAe0N+AZkDfCEeZbR6XYB9B9esByj3RxXsUfwCedRAMYNZA3wBbkslD2NnkppF38w/wo70D1jYoOephAIrQEeAVkDvMCafK+tgkF/AAZgkVbVSlij3QJvgawBnrCGP/NrWCWwelqHdtkh8LandXDfKwDrBmQN8AdjyKuZMkeBHQtB1wJKel8TvmbMFIw3wB8ga4AX6IsYO3/jW83zge5hHNjLDQxylYpy27ciYxpJ+3jHGgEwfiBrgCfYppp5Thwg//ILBD5QudIZAOMGsgb4Q/NUe2tijOmnGuvxXTaSZd+6xpbZfpZIt0VnTRo2AEsAsgZ4QhlhqVLIMTPzApfpJw/YZPCAAVgZkDXAC2rDJ9EJgSUwSDMjsy65r+iamg+AMQNZA/xBYBo931i3R7eUtoTIYuA1kDXAE4Q+I1/X+TwWXUAKbBBdHmnPj7/GrFh9yAyHt09EKwX+AFkDvMCaZXi2W7ME5uKjcxdc2QesLX1EUDUWsVBLmFe+A7DxQNYAf8Av+6jB4y3BvQD+AlkDPKFhCr7a0Mv6QhwZNsXmvyHVBI24rI6YZRh4CWQN8AJ7luEFfujRRYAaVtA8anypLWa+AWBUQNYAf2jzy97nr3/TzPftz+0VdHBdWcrwpfon7mxLjQ0MRhrgIZA1wAvueOrTik1lqlm2ytHKxWwim8MGPaQqHXPOOQ9kjB07cOZSawPAKoCsAb6wyJtrrZEf+MOCD33R2QSGuRwAowKyBviDcEbVzLEcIGz7oJ4BWkjj2k/uxNaGSQBGAmQN8IiWnU0XD9H6Dn1avxp5TdcW0mOLWsPGCcBwQNYAv6iRLNW//r1MjDY8fvdezd9+Wfen9RNvqYmrDleePocBEoDRAFkDfEGI+jWhFu8Ahh+8hE7KS7oL7jYeKwDGCWQN8Bcyptb+3V/HngBT7XiG+7FVrG6mhdHA8QS8BbIG+IPoOqx6sXla0bGMkw1RDGVr35AKA9APkDXAF6qHhKzpPGbrUAdQS79PCDMwAtADkDXANwwrvXMhhRbhpwv3FOurWta2YmNAnxh4kFtd41oFYPxA1gB/MKzxXY00i3QSNY6ARWYJnP9UMAwreSTVbUuLwgHACyBrgC8sIaCyp2LRC20wS9YQPa08D8B4gKwBwGC+PmBjeo6NqajHUOOeNSk2HiAAdUDWAH8QxCa/FuNg+706uruFGOz2OZ9y3w2vSgYJIeCEAn4BWQO8YvF3XUE+V8xaVAIsRKdnWGnCaSoWLQV4BGQN8IWuq3AXpp32fQkAawEaKvAZyBrgD+bAV9dse8N2CFhOeY1Y0nPo5TJtCrGcT/YmAB4AWQM8omlZKJmnU2mVB9uW0nCJXooBa0THZ9oq97yLZQIwQiBrgC9AIrTEz/vUj1Flne4drDTATyBrgD9UWendGeYrFoyb4aWCcPlGHdlcR6FkAICsAT7h/NWvjqoRFduNV+lWK9A/wy5KMBzD1BstEvgEZA3whYrf9k3pq9AzLcra3MGGtQ4WLgdj94DXQNYAf6A/93NO7GFN+drt9FWx7vVbQzbjljXWco2mWQJgOUDWAK9wRiQUx7TldTq88i7yToz36RGxmtgs1wKuWutFGwNeAVkDfEGIqonkV/6rv/IKgEFZqtyBiAGeA1kDPGTomcrQsWw8czzCofVEY3CYy2wjN9AggUdA1gCv6PoTv/q1dfDyva70+WDmCBamq3rUl4YmBLwCsgb4gnRCtcw7XC1WXQGwMpYpL7BMB/AWyBrgLUKPEe5wYrvSu9YHLJX1fD7Vc/F1rm+NOQeAEQNZA7xizoHcNYcgX0B3FtEo8xR49OKjh48c7npRADYRyBrgDy2npXec2DoRjJllSdh5LtM+1AaAcQNZA3yhepyIkadmgYX25Xc4EfRO73d9uOfYouS6HPWnF0IerRB4BGQN8IpiVuABf+d79y/MXTBYHostzdH78hpoK8BfIGuAPyhN0+OP/vL6D/RUm8zKnh5mGQa+AVkDfEH+vleNLlnu6k7oZ8BCdHFdYTo+4BeQNcArzJ/4mjG0Pb3j9lAK3rY3gSEe0oKxwwD4CGQN8If63/vGSOGN6i42qrJ+0l5/uOYUcEpwUbsLgBdA1gBfEKJVVE3j+t41ebqWCTxhjgYwX5upmGES7Q94BGQN8AdzgSf501/df/Q/THhtCwNLZ+7n556bwJEPLQR4CWQNAKw/jbB4XwVAW1zWR0eA8EDr1AOwnkDWAF/QnVDtx4l0XC8KPQhoYt5GMsdpaI7AOyBrgD80DHRqF44wSD8xT+zFANUA87G2WnZtKwbAcEDWAA9ZjVUefcxGs/Dj62QUrA74auVialsaAOMDsgb4QjEsdlMiDTajlmBoqtYpo1lITjtxUxo8AP0AWQP8QdTMMmzmK7cbsyyD5suh66oCdwYAn4CsAaAt3aXM5vSom1PT9aDN/VrmPXUK8bZDwQEYE5A1wCvswITys9OJ8+YBoJk2AnruSYoBGDeQNcAXrCCDxX/s0V2ABmolxVDtBzoG+AxkDfCTmh/+YRenXM5S4ejX5mGld62iYbSvk+Zy0sPI0ByAR0DWAK+wp65xT2bT5X23ZVboGDAgVbHt1YcAGCeQNcAX2o10XVkPgL7HA/ofQIdmA4ABZA3wkKpX2PnXSUDv4je9PP4e25Axkw1aJ/AIyBrgD0KtANVa0xiZO3UPa9+XrH0FQY1rqSm9DLWB5gZeAVkDfEEFUTplSsuf/upsmz2uCh2fg0WbROvrdNMuAIA6IGuAXyyzC8FbMhgIc66ChpF3aIjAIyBrgD+ITr/vsN37xpo879brdVS6TWszADByIGuAL1T3Co0vvugeRkrtg13KU1/wIo5Zs+0GDH0OvAKyBniE8xd/zCs9gZWx0kipVnYdAMYJZA3whTue+rTeF//bvPfgjavwqFmw/bSYgk8wxs4554GMsWMHzlzoYgBsCJA1wEPaxB/M0+EsOF09XrKHYM1uYu9rplaPzVuzbw7AcoCsAR5RP36kxUJOWlo/dQJzsIH3fgGR0XimnWEDbxAAPQFZA3zDmIC1+/lzGWLmvBjwmMXMLT37WwHYFCBrgI80TSrvlD5zdg9DzuAHxkZVa6lZqUPNTIMxUAAwyBrgFXK1y15/68XmTne2kZVeC4a7c/2XDGUDfAOyBviGwzhvhtygJwDtGLipLBg7LLoXAsDGA1kDAAV9wAYwYPRt/6BFAbBUIGuAR0gnlNwc9DpDFr6kK4Bl0fVZNsS8tx/fB8AogawBQNHG/TToSt3ogpbKCm/3kOPpjGmZ0KiAX0DWAN8QelRN4zjYzgPCF3k/bnkueiqvaNMqaOh633HxAGwSkDXAK/oJB+5YiHvw7fJADzcsy58Nr8MEfdA3wDcga4BHGIOxa9Y6WEoIDvCC+YRFW7td89TYaMPALyBrgKcQiTOHNaVuEQYAammzipORp71BCJMLA9+BrAFeMffKCevdSbSP+xmyFqthjb/Syme1QZAN8BDIGuARQnQa4z1fh9CqswFgPmTjadeEMB0f8BHIGuAVnTVHzVo881x+ZFYi0IrhXJZzWx8BGC2QNcBPMFQErA+9rdeBxgwAZA3wCOmEapt3sR4CHczoWY9HXB9NLLDCGfANyBrgFXa0wZyrCfa0cHc/XQ46rhFRNddA6/PRGoDfQNYAr6kInRmuZ1hKQDE6tvFQ9yyrgt9hoQE+A1kDPKKLE6pDqarwmqPAN2obWkOrWDy0XJUAiQN8A7IGeIUxJsX5i49uYLT49GihZ4CnQNYATxnGuAIH0ujp+QHNIT6qmi50DAAMsgb4h1oqwR7jbbqTiqnP5h8NXpUfPdB46evRti2nui2JYbyuAKw1kDXAI+QUw9bvfNffffQToCtLM+OhcQLfgawBftJ+7cDqIjakB9mQas7JBn27RYKI577mRt0hAHoAsgZ4haj/od8UpVLPKL7EXAw1ym1TwCJQAEDWAJ+oXtB4uHdlsMHM/fyGWAyhZrWymsRxKHUA2gNZAzynPqSyZj7iAbsLdEWgFkf70NuM1m6PXnz08JHDA1cJgHUBsgZ4xaChBmqMFdhYWj++qhl+F79Su7FLI3ekAjA3kDXAIywnVGUPMkzfsGkdzqbVd6RUPYY6ZaNaNlQO8A3IGuAtoiZwwcraNmfj6d1BvwQqadG00H6AX0DWAK8onVAr7w8W9mKAzWLRpbk7Xw+GGuAlkDXAI7qs/9eqS0DHAVZKw/RL1UP/ABgtkDXAL+REw0aanqGhgNrdlofAmBlYSRiR6fUXw3R8wDsga4BXtJyvrGZc9xqwrBqt3zdff6pWoeyltJajn/DcgNdA1gCPcPUuvQyUXWpHgl5rOFZ9byvD2OdeeAFOKOAbkDXAL2qianqM4e2kn5w50Rt5QI8TPNYUhZYE/AKyBniF49d/LgM+uoqxMK4nCTUMAGQNAIq6+N8m78BY+pOxfI+N+yJ9zYc0tgYJQEcga4BH0NlX+/X1tClnqDdp9F/rxOrsJWXT1mU32gfwC8ga4BXusdxt1kYepDbocTaMBVck6BZfNdeJxQlinrMAGAGQNcBPGmavWbz8wTKDjaerKmotu7VZauCNAn4S9VLKc//9OQf3bBuJN//r195+89/3Uj4AvSCKyfisMOF+pxsBYHnUj/1GGwa+0Y+succpe+9xyl61e0qSPOzb73vpx2+ErAFrSIsx3pXHa3fHgGCMr7oOczPC52HRSaZA0wAP6UfW/Lf3foDu/uGTHv9P37z9N/78A1X5AVgbmoRM2ynR3Odyrq7iVgskz5z0IEQ2WsusN51iyXuZf88H8Q1ADf3H1jzr3/3Aeff/f85/3Vt7LxmABRGuFaHqz2hX7HzVaV9spzf0/msyKtbr/sxdm7bKBgYb4Bv9y5oXnPvQl737/b0XC8AAzP+Tj94CdFxcrK8yi3xogQC46FnWfOQXn3nZjTe97abP9VssAP3R3gAz36jaQUoGA7HkJ9Fdi9RNEWmX7LLwobEBv+hT1lz2kxd95Vt3/vp7YKoBa4rugdLmIKkd790plKExPwDLA0Yd4Bu9yZqXP/K8+5924ClvvayvAgEYgj5m3kNHAdYER1OcMyQLgLHQj6y58IEP+MkfeNBDfv/1vZQGwJAI9Vk7rVl/14Ny8oYhTCP1ZVoh8LOGDXEDvKUfWfOKxz7i3X//hV6KAmA4ij7A0DTuFRVGQtXXGdnXrGcjv2wvld7Ibw7AIvQwb83Tf+DB23H8+O/+zsd/93cah77jkt9fvHwAeqQikkbL4jzF3l5PMAfN0Cxm5BtiRHfdHNnr32IB6JceZM2lH7/x0o/fuHg5ACwFw2zffu6yuWc5a1Aai8/ItyBQQutGoxZpGeGOYXfAQ7DUJfCKDmOaunct/YNX7XEzmOxAuwH+0o+s+epvPruXcgAYFD2Ukg0TVTNfKeiHxsoynmxN04UyBr4Baw3wiDue+rQlxNB2XC8TgF5wt6tzzvk3jLFjB85cbmUAWBk9yJpbD/8TY+wfjtxz8aIAWCL+yQv/vvH6sBSrSfs5JAEYLT3IGs4fxRjj/DsWLwqAoSl6l7qwyi49EFbw8YelPcK2wen23JK14fAAeEEPsub+F9+yvc3z/NrFiwJgeOpX0mnIv7quAl1UP2zWfXRNLtDk49ysbwhA3yC2BniIthpUm55us6auAX3S/+MetAHVTTUJgA9A1gC/ULPWtFtte/Feoe9+pWN56NbGhznzkusZQ3wDb+lN1jzhCd/1qz/yw3b64Yc/rK9LANALNSvmdA1NqJ0VrVuV2uac7wL+0deN6jDr4vyXnCO0q3neSCvUBgAv6GGWYcm1197yv654Si7Eqz/wYZX4l899xie+/NXGc488/GEXv/9DNOXpP/DgOAze+NFP9FU9ABhjt774+be+eNWV8Jc+pjLmvs+I/Lyf//FVVwGAtaY3WcMYe80NHzny8IcpWfPC8x66b2vrl6+5vvHEbzuw/z3PevqjX3+pSnn5o857zhXX9Fg3ABhjZ1/y2rPe+c5Dh87Y3t6TJFvFXxLHW1EUR1EUhlEUhWEoNyK5EQRBGIZBEARBWGzPdsNQJoZhGHAeSOQGL/aL3TKNc17scs5n/ylQ6WWKvsvUH2OsZpczxsxDnOZxbzvO6mFthyDgeb6o6UAIoUK8lSnC3maCCWYlMsYYV5mNc+1dPUVeWOS5KCi3hBB5ru2qDHme53leHM/tXZIo1G6WZXme5Wozn+1mWfacZz/pD//o8ixL0zTNsjRNsyxL1W6WpZPJZDqdTCa78u/kyRMPeMBZRy8+uuCdB2CD6DO25q0fu/Hmf/3a//yPPyZ3f/Yh//aSv/xQ/SmS51193cE92y8876Fy9y+f+4wrP33z+279xx7rBoAkTdM0TWWfkedZlsmeIxdC/dn9U9khVW1bHVtedHh2RyjzZ6o7M07MzcLsKhklu3dztUH+hGB5PvsTebld/tEMZDvLxCJ/jLmu1eUvy0SxQRMd2xndzsxylGpx75opxTMun4rRSJyP3sggrKaSG8UWLUp73LR5yIswxvQT89wsSUtK03TV/+AAWDY9hww/5dLLf/A+937S93z3pT/xY5/8ylcvv/Gmlif+1z//wDN/6AcYY7/+qPOiIDj8zvf2WzEAJP964YVZlgqRZ1lOXoUz1TnZL96yb1OCQ+9OTCFC+id3z2eVkFedUggR2lOWcqrUYbm+S44afd6swCYFY2/b4qDrH2NSIjDR/a+QF1LZiDwXaqPNttxQeqVB3Ggp6g5murKhD6lS0OQWqiXou5YwKUszCi9ljav9mNJ8Op1mGWQN8I4+nVCSP/3bj7/isedzzh746j9qf9Z1n73lMd919vuf89Nn7T/1u175B73XCgBFmk6Lt3DVXc1sJ0FgdFF5nvMgmPV/MrKDc5bn0ivDOecynXOe59LJE0jtEgRCiJwxJkQw858IIUROfEl5EIg8D4KA5XnAeR4EXH/TyBnjeR5IN1AQ5NKNQr1Cs111hmCCM861VcFN/9SsvrNdVWDV9qxcZmx0Js/l6byTS0tOlijUf6ocT9WeKRmMo+ZcbOeHKpWE1CGsGH8kZpWw5a9tZSnFKBUigvib5CbRtbnTgKc2GGPVhp/ZpVXbTtNpmqZHLz56+MjhYwfmfm4AbBj9y5pXf+DDP/2D33/1pz/b9cRfevu7Pv/iX/rkl2/rvUoAUNI0JZ6gMo4hzzMhwqI3CpQ0UZqG81yIUsdI0TM7kM+UjRRGjMnrFPMKAAATM0lEQVQTg6JLnnVZnHPGuBCFtCn6eM5FEARS3Mj4GlLfXGqdPDfDXKh2YUTiyB66StYwVly+EDelmmEzVURPocw3skYWIm028uotTzQ0DeseXkMDjDkXQvAWUTXUXeiQNfLDKWiUMCkUhiZBlI5x7tpF2SUzxlqYanIh8ul0mqaw1gAf6V/WMMameXbn7qTrWf/9yT/6pW/e/uB73+vhZ9/v/bd+cYB6AcAYY196zKP3//VHVd8i42vCcNZJBMRio/onqW8Kg81MxzDGlPFGKRshuBCCMSqMBGN5njMt7pdxIaismQXzSoONFEBE3uSMGYYct6axjTRMlzVn3Tse6rY2srPKWbK+clteo4eKXU2XFLImNwSNbrhxCJri3NJvSEWMYWghJ1JTjdMpOZM1RNBk5abu35SaBrE1wEMGkTVz8MTv+e6Hn32/f/PqP/q18899xWPPf+gfvWHVNQJjJk3TMIyEEETQZMpgo+SI7EiIE4pJ4ZLnuZQiQkh9M3MtFcqGSVeU6igZC6Q0EdRQUvqtBOcBY4xzwVjAOSvkjJQ3MoUV4sZwDzFGNA0r1UxpEyGDm8S/fHmXafqqUFnVI6ToFIbksxsHDkR33JGpOu0/NfjWnfXlGALC2G9wPBH300x93vusmaj6ly+LClONsrIYwkJusNIB5RI3uqahphotkobYZoge0X1PRSYqrWZnscIJRUszomryXBSmmuw//IcHf4C9C8t3A69YF1nzskee+yd/8zHG2G/9xQfP/45v/50LHvOCa9696kqB0ZKm0yTZKjqejMaE5nkeBKqTCFQvRYSOMtiwItqGF/YVqXKUK0o6sGauJWqn0SWFabORQkeJGxVhIwWW0w9lGWmEliIYuZw+DpzPalMVWKNrGnXdVuJGfiG5nedSt5W71TjVA9P1Ta0TqrgKZ7Mb9M//ksnE+9ynvH3/+MWcBNNQhVEla5jLKWaQ659leA2xzZi7LkVlRh9LXxgx1ZBNIoPyPEvTyXQ6hakG+EkPsubVD7jvD3/2W7fd9uSrH/xgmZI856e+9wPvffrhw878Tw3Drwnxs7/9uyrldT9+wdfvOv57N/y13H34n7zl8y/+pXf//Rfec8uti1cPAJvP/8i5D/qbvyNdhvRDZSTCRnUSjOkGGxI1rKJtpKARnAuZIgSXRhopbmw7jUohUcMyvIYZQoeIG3V0hstI49pg5VQ0lqwRKsLGVjbyIvqda6lnSlQ1CnPXTNnkuTvIhsgFVq1sZl/fua2VZn2Df/pSrnJ++/1mJpxbPj+hosR2BulVMuokSKjN7HTDVKMZavR4YerqItpG0zSGE4rG1uh2mjzP8+l0qgJrEC8MPKQHWXO/+93vwIEDjLHDp502S/qO7ziHsXPUrs7k+PEz8vwDL3vhyTx/zCtec9GDHnje/e/3AH300+U3fuY3H/MIyBowHKQTyrMsV7E1xDUg8jyXgkZqmiDgROtwbg6D4oXJpjg1EMqK47LTcMaUH4qG19hCJyBOqNIPxerVDNEM3CFrVFXoIc4191N5t5gWL9xyYJQssdQxxbecTWNjVJJVqBiXpaTGTiOvW5qFiisqj1qZ+Qu3plKFfNd3JaoOn7npTioyhF0Dl6zRDTfUVJNT4aJrmhpBU35SJcT0Ad7qbCKP5AComROKMQYPFPCNHmTNDTfcEIbhF7/4xV9+0cvb5H/lkf9yqRCfPvpauXvsUzcf+9TNRp6XXv++l17/vsXrBkAV6mValEOicjI2KlShw3kuGKNRw2zmg7KGQRFlw4vBUHYYiylunOE1zCF0ZqaFlkYaI1GXNdRIQw8JUiVGVYuw7R5NlhspaHQdU1pojF1WoWlYpZnEIWik+4kWKYfE090iv6Zabv7scbX7vd+7T53wsY9/rVbHmLuM2aYaLabGCB/WPV8OV5Rhm2FFbI3LVCOUqWY6nWZZdu65D/kw+4u6JwTAGOFnF/ICAK+45zvecc973juKYrlsQpIkSbIVx0nxF8dxIgNcXvqS56y6sgDM+I3/9ofFUglyhuzyM02nd931rbvuuvOuu7514sTxj3z4fYePHIa1BvjGuoQMA7Bk/vXCC0//8N+EoZyoRshJh8NQGWzCNE3DMOSc/fbFr1PrPdFlntTiUGEYym31KRdyKjKXdhobxrhcK0pfNEpbQEqm8NmiTpqRp9FIU2wof5O7GuoQPZGmUMeTbrmptNgoswnn/D73ib/85VTtnnXv8Cu3ZaQcQS7ESFywPaaaVYXXqEFPes1nn66iNJ+RHU+j3EOuE7XdIpU4lEqbijHlo+k/0mNrlN2ljGGnqz6laZrlqSqBmmqyLJtMdqfT6XQ6SdPpeef90EfY+6BpgIdA1gB/2d09EQRBGEaimJ0vy7IwDPM8T9NUuSrCUIRhpCJsWBlBrA2DktuMMSGE1CJ5Tpe8DIq+1j3MOwiYnNG4GDEUKOeUELnSIqxUJVQwNcqa0vFU7JZRw7rjhp6r1Nhsu8rtZKQXxYniTMEYyzLlcsoZY9NppjSNKId3US3SHDisxA3nWjxNIZhk4LagSqSoqijOlaqlm6xRO3YUDo32JSlltA0J3tJ8T9S7VCuGlEtLKA2UplO5tqWMqplOpwgWBt4CWQP85cSJ43KB7iAIVReSZXkQZIwxxgR5p2dhGDKmooZlwE3Oy5AaOeJJTjUTBAGXmkbGxMhPZXcJAucwbxVeI9e7ZpwLNYlfEcxbZWvhuu6ZfUGyUQbTMEYFTYmhbPhsbDZ36psil1vnqDBhqpmyLFd3lTGWpmkRiayK0DRNcZWZUqyx2VgBNEyInJpk7DgYoyx7NJOyguj2GEaaRJnHHpJtyBoDw1QjhFyezKFmjKkHqL6RG1mWSikzmezu7u5OJpPpFKYa4DWQNcBfvvz4x9/33e+RjqQgCArjf5amnKgZKm5EGArGpL6ZGWykshFCCBHk+Uy4yI08V6YaTd8QK44SN4wM6hZ5zvn/be/cQvU6qji+Zl9OxAcVH6wVUWisF2zlgFLbIPZGUkobrFAfvDyVvlnpm6b4YPuUE5+MlzcTEKxKTR+anNA0adImJhUvkVpbfFALFjHFSqtImu/79p49Pqw9a9ZaM/s7SQgWPOvPYZ+9Z8+emf19B/bv/Nea2c4zWIGSW5NjTSVLplKGAxXmkq6PxhpWyGM9KiDFJ0AFxjE+kiLAiDWJKhTTTB8KGinRDH1fUPJpJMxMUM401pRRRk3JXoI4jGnSLCeWrp6jDH/LJrdqBkymwRc/zeezxWL8ufHGT6ztXtu6x5ImTZtUhjWmTa3ZbDRsKF3G+17+R040k8ONiw5N4PaMixGouEMmTUWHim9i1AknhGt02NCtmbJw+LXAFujjmgg/xV3HUYZKFNa4aO1AjMIFAPjYR98u2r1WHH7kw+/IB/PiS69jv2w7dQgMTQIzY5I3E7RPUzZpcsoh1iGsWTJZiR1O0gyeitEuzOXy0aRZ7tAU9j1m2USmwfATarGYF75jk2kzybDGtKn1j8/dc/X6el3XlA4cwQVkECoVcrhBOmGY4igC5Vh6TWbSVPwUpQNn6TKKKibNmgmswWyeUex6/SFMlyiUgQgxBduG0llitfCHF/9NfHD99e964QVEFhEJItpAWLlu9d3Fr+n5379OQ6PvAMdJKTJhY58mMG8GpgNSLPTI7JvlKMMOeXcadGL8KJTARXk2hX2c/URA0/d913VIM/hz002rZtWYNrkMa0ybXefuvvv9Tz6J05eqqsK1hptmCKENozEDmVUT8B9uxil1DGaNpCL9m6qqlElTJhjyddTUJ1bHRQZSTKMjUFxFHirVUSXlqBPb13wgr6NqeRAqZIk1AAC/+e05bIGawu3qp0bc+dWvX+XIwvsDziDTiCMrgqQcTiwDCNARfwN5tm/Q4nOiAr2TUle6uAgUTuemmn2f3BoMPM3nM4xDWaawyWRYYzLB3+6884NHj6GJgliDT5GmaRFuGM0APo2qyiNMxCiS4/O9i/4NQxYBNCBxgdKKVX2OCxnTlEmFxIJEBQaiC4tZwy7LqpmGA5r65MSdgQOArutiw9qwoQ7ZFiDNyg6nz7yCO5/+zHvx3LMnxRLk/N7jCAMPP8lJTADCpBl4sgvyBqQc4TRCfmGW9pvTDHJMYhQ5HlXR86zhmA7s4/o0PZ3GCjH8tOBWzXNnTmzds9eYxrTJZVhjMgEA/HXH9muOP+Nc1TTNMAwSblb4ZO8QIqpIrOn7qq5H24Z28nwa7+UDP873cQ7QoUF04EwT54ePhyCcm4QlE5OvsfWxizC+85LDVRlx4oWJt8IGhkdIV+itA4D5fCZvWV8Yt4FDieKSY0//EUtu2b4Vm3jq6Et0g3LYsY/S1O7pJX2JaUYEYR9sUG0ChJxsOHzIFYFzoEl3V7Rn2FbbORiK4lbNmdNPm09jMoFhjclEevn2Wz/0zMlh8HXt67oZhjGj0/vBe9+2bQht0aeJMSPX965Ky/TVinKghDJ8y7NhyLNhC/Spw0lvJucbp1fbm2IaBjtVBRpiNmQaap7uiGwbmM9n8p4dGxV7ygN/3mt7g04fPHQ2hOAc3LHz49jrofWzU2RDWFYyZoKMKA0qE1laNVCCGzTwxExs8mDwF6e0Kb4JIWQ043nsSaHPfD6bR53+xTFbUNhkQhnWmExJf771ZgC49tlTTeORb2KapqfF+sg7cYw7JBBooKmqGteqqcb3OhUtDYgVxify9LrDyDSZ9yHFSUNhDWTRKEI05tmkyNTFME0Yc3jzyBpgU7PZheTepERjgWCCa8r5MZx1AAB+fuA0tr/z3k9iIwcefw6kfxMEqghjRi31y0eCtk38JDnNAGOdcXwcONRCNSz4RSrn4ox/aiLwVJgn5b3vusV8PpvNLsxmF4xpTCYuwxqTSetPt3z2muMnmqZFuBmpZvDe+6ZpmHdCiS8iYwbJRsFNKWO3CDeEPgDxvQocnliqDUBCh0m4IVFNPAwhyDEvyTh2DBGWMQ0kyNKGDYxBKFBjwI0KIZV8GlBkwx0ivPzHjx7H/Xu/tO3Rn5xQXfCmyZhRzo2sEwjjYqHYjxO202iGYaDUYMk0IJCGERvFp0a0GTTTeC+MH4w9dd2i6xbz+fyGG66LOcLGNCbTKMMak6mgl2+/7QNPHW3blaYZPZuYatNyqwbJhb/RKYJBH6dHjXWyhF9yXCTURMKAmMCbh6JwhAw+HM2NmjZvnEIKKs2xBk8pUpG8IulGOi4ZrLkYhLrA2CU97OV1ENOTISMb6itBT34hAOzbf/jL990GAD/cd6g4QkgvPSgwTdbjWKjPMe6he+HOClvpWCUJ6UX5SMQ0MYNYODTD4LtugesId91i27ZVYxqTKZdhjclU1it37Hjf4cP4Qm+GNR5hheyTaMmkyBQnF3RrkBa4sxJrFqZ5x3LgqTDMqhnL4imqQu2UDBfh6whwoWFQso6KCylQAY1OgUJUjMbKQaiSxxO4WyNbdjH+xR0ObsBoJKLK3//BYyGE+x/YCQB7v/vT4vfLwUKWC0+FfSaBSEhCTxoMz62R5CcylClQxdqhIBRPEE5r1XjfKaA5BUds3pPJlMuwxmSa1N/vuus9TzzR913brqysrKBtE18jRURSxYSbWpYT29SKabhn42ReCzB7BsfA6ivWGX/LOrqDeCuCq9RtStYBnkfC60DCDg06RWtHdfTmm+dBAA13XERr2bQmAHCcbKTNA5BxEh7u+fZ+gPDg17+4tmdffkcQYUK1w5mmGD/ixJODGvdp2MXEMwOzanTuMKHzMNo1kWi6Rdctuq47eeqIC3AKjux6aNfutTWAB4v3ZTJtZrmta7Yepcm0ga46eBBtm7ZtEQLqum6alqJRUTU9y7mRU2QaSDaMY+YNAHtGssbrkgnDC4pUQxzDfIH4SGavFq8oL5gpPfFLTKMLZewmUOSFzU53WeRqHBP70ASHcRQACPyOqHeFMjn6hACPPPw1APjWw9/Lvlixuoy8KeecIhrl04jwFiMgHocCRn4caAb+dXTdAnvHwQ9DiEyD6wgv3njjnzt23Ly2ew0ALOpkMi2XYY3JdAm6en1dzUVCOFhZ2dK2K7Lu+MhTuFNVlFA8ejz5wxGypyb5QLyD6A/R1qnnLu1nA6OO0sRxlR5EhewS1XCCmGIHOZzx6WN8GZ5IAyG+mDqaF5E5lBelpBhO1SQo2fudRwDgqw98c0jToAhoEg7CUmtKrp7nkbdoJBSEUgjIga3ve+97iTL55xZee+1VLPzd2V/izq6HdgGAMY3JtFyGNSbT5eudj/1sy5a3UcAIAOq6zvhmFCYOZ4U4IbzOT+V8k5MNF/lDsIxpZAchAAQ2wWrEjuWX8KfvRfSQMnhUuK2oQUy9HgJ7xflySbgpDgVCGB4/8KN7Pv8VwhrIcoCm+mIeTPGeaX54SvdWl/d9h+/OVKOiT+n8+f9gIXkzYDRjMl2iDGtMpiumv3zDch1Ml6xQQlqjGZPp8mRYYzKZrrD2b1/FnfuOPb9/+ypt8RQeUoW3apBf+Ne5t6rrooxgTKYrIpsJZTKZrrA4x1xehf+BDCNMpv9L/RdOU3RW0YyTxwAAAABJRU5ErkJggg==<Mask>
+<Rect height="57" type="negative" width="47" x="12" y="407"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_SELECTION_RESET b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/AFTER_SELECTION_RESET
new file mode 100644 (file)
index 0000000..b88c95a
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="12" y="407"/>
+<Rect height="25" type="negative" width="25" x="371" y="76"/>
+<Rect height="31" type="negative" width="34" x="617" y="220"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/INIT b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..cceac6d
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="315" y="-5"/>
+<Rect height="36" type="negative" width="32" x="657" y="186"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/VP1 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/VP1
deleted file mode 100644 (file)
index 6716ac5..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="32" type="negative" width="30" x="337" y="29"/><Rect height="32" type="negative" width="29" x="597" y="325"/><Rect height="54" type="negative" width="44" x="16" y="441"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/VP2 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_001/verificationPoints/VP2
deleted file mode 100644 (file)
index aed58f6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="24" type="negative" width="18" x="618" y="334"/><Rect height="25" type="negative" width="25" x="369" y="44"/><Rect height="53" type="negative" width="54" x="12" y="440"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index df204d791f0468ab1fcee52fc098dc28b0cca7cc..ce2c6e5c152f0f3bf7cd8dd0fb254d6957cf7b29 100644 (file)
@@ -1,73 +1,96 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Revolution_003
-    #[Topic] 'RevolutionCut by angles' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Revolution_003
+    # [Topic] 'RevolutionCut by angles' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_revolution_003.hdf'
+
+    # [step] Open 'for_revolution_003.hdf'
     open(DATA_PATH + "/for_revolution_003.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
+
     # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 71, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all [vp INIT]
     fit_all()
-    
-    #[step] Execute RevolutionFuse operation
+    test.vp("INIT")
+
+    # TODO(spo): remove: workaround for the bug given RevolutionCut sketch created when select axis_object then apply is disabled
+    waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1.Sketch\\_1")
+    clickItem(":Object browser_XGUI_DataTree", "Part\\_1.Sketch\\_1", 10, 10, 0, Qt.LeftButton)
+    openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1.Sketch\\_1", 10, 10, 0)
+    activateItem(waitForObjectItem(":_QMenu", "Edit..."))
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    # [step] Execute RevolutionCut operation
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "RevolutionCut"))
-    
-    #[step] Select sketch face
+
+    # [step] Select sketch face
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 287, 236, 0, Qt.LeftButton)
 
-    # [step] Create 2 circles
-    circle_create_in_view((650, 364), (671, 392))
-    circle_create_in_view((641, 114), (664, 141))
-    
-    #[step] Approve sketching
+    # [step] Click "Set plane view" in property panel [vp PLANE]
+    clickButton(waitForObject(":Sketcher plane.Set plane view_QPushButton"))
+    test.vp("PLANE")
+
+    # [step] Create 2 circles on the plane [vp CIRCLES]
+    activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
+    activateItem(waitForObjectItem(":Sketch_QMenu", "Circle"))
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 650, 350, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 690, 350, 0, Qt.LeftButton)
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
+    activateItem(waitForObjectItem(":Sketch_QMenu", "Circle"))
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 650, 110, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 700, 110, 0, Qt.LeftButton)
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    test.vp("CIRCLES")
+
+    # [step] Approve sketching
     clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
-    
+
     # [step] Select axis for revolution
-    mouseClick(waitForObject(":Revolution_QLineEdit_3"), 103, 11, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":Revolution_QLineEdit_3"), 10, 10, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 750, 237, 0, Qt.LeftButton)
-    
-    #[step] Define angle 'To'
-    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_5"), 61, 9, 0, Qt.LeftButton)
+
+    # [step] Define angle 'To'
+    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_5"), 10, 10, 0, Qt.LeftButton)
     type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox_3"), "<Ctrl+A>")
     type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox_3"), 90)
 
-    #[step] Define angle 'From'
-    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_6"), 104, 13, 0, Qt.LeftButton)
+    # [step] Define angle 'From'
+    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_6"), 10, 10, 0, Qt.LeftButton)
     type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox_3"), "<Ctrl+A>")
     type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox_3"), 90)
+    type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox_3"), "<Return>")
 
-
-    #[step] Ok
+    # [step] Apply the feature
     clickButton(waitForObject(":RevolutionCut.property_panel_ok_QToolButton"))
-    
-    #[step] Rotate the model
-    type(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), "<Control>")
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 558, 413, -33, -137, 67108866, Qt.RightButton)
-    
-    #[check] Check that operation has been executed successfully
-    test.vp("VP1")
+
+    # [step] Click 'Reset view' toolbar button
+    clickButton(waitForObject(":SALOME*.Reset_QToolButton_2"))
+    mouseClick(waitForObject(":SALOME*_OCCViewer_ViewPort3d"), 10, 450, 0, Qt.LeftButton)  # close tool bar extension bar
+
+    # [check] Check that operation has been executed successfully
+    test.vp("REVOLUTION_CUT")
 
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/CIRCLES b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/CIRCLES
new file mode 100644 (file)
index 0000000..ad81c68
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="363" y="173"/>
+<Rect height="36" type="negative" width="32" x="490" y="307"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/INIT b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..627139e
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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caMa2kLGmh0v3Vh/db22p9b669a6w/0lAyiezMPNUjWajiHNzJ49u+O36667RqahU4BYs/lV68566sUPP3zZ6eObW99srXt0c3T4ch9/xblnX3Xnlzt/5bJTTx4bqf/lN741/MUAMLwMCzcLajTztk579+6NhzS7dz9/001/JtPQJcBRl8ccc8yaNWuOOuqo3z++te7Rlf+GHbPmiNt//bLOX/ndCzb88Cc7h78SAAKKCzcpn7g0Pb23/bZ37+7du5/f//bcs8/u2rVr565dTz/xxGMyDYsKEGu2bNmybdu2bS95yS/X69dd8aEVP/7ffuF/rF09/uENZ8bv3vXB933+uw9M7Xh4+CsBIKz2SeCphZv9gWZPnGb27Hluz57nnnsuDjQ7n3rq8R/96If3n3mGTMOiamH/Zlx3xYdeWKv9YG5u41XXLPNhb/75n/vkW964/j995vcu2HDBK9ed/ad/GfAaAEjCjk0bk95JTU5OfPKTN87fOu2Jt07PPffs008/uWPi3EQvgKILHGuiKLps08Z31OuroujrrdZHln7xT7/9F0886kUvOeLwn/v4n4S9AAASsmPTxijJKvHk5MRHP/pncS94ejoONLt3737+6aefeuicsxL6pJRJ+FgTu3LTxpPq9d1RdGur9bdLfIrv/fZvfvtHj1381/8liQsAICHJhZvJyYnf+Z1PTU/vu3l7z57dzzzz9H2/8Nrgn4iySirWxD5zxYdeVqsdd+ihD+/efeFHPtH5W3/6L9583D878pg1R/zrz//dnTt+mNw1AJCE4OFmcnJi06aPt2/e/ulPn9m586kfXnB+qNenCgJUhpfxG1dds2bVqudbrXUHH7z1Dza1f/3tJ6w/d93Lz/vzG27Ytv3Ki85L9BoASEK7TRzwNeNe8M6dTz322P/79mtOkWnoV7KxJoqi1//+x2559tmbd+16embm5v33Sf3H88+59mvboij66B137202P/nWC5O+DACSEOo+qcnJiQ984Ld27dr5+OOPfuPVr/r+uRuCXB5Vk/wJ3lF01fw915//8luffPb5a+75h/jdc6+9/nu//Zu3PfT92//3jhQuBoCwQv1g4ief/PF3z3hNsMuiktKINZ0uPun4Da94+XHz7366dft9H7lwQqwBKK5hws3k5MT5579NpmF4yVaGAaigvtrEk5MT/ktEKGlPawAovR4nN/EHyDQEJNYAkIjOcLPMB0BAllAAQEkkfoM3AEA6xBoAoCTEGgCgJMQaAKAkxBoAoCTEGgCgJMQaAKAkxBoAoCTEGgCgJMQaAKAk/j8Vyg0oWaaQSgAAAABJRU5ErkJggg==<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="352" y="198"/>
+<Rect height="36" type="negative" width="32" x="416" y="308"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/PLANE b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/PLANE
new file mode 100644 (file)
index 0000000..e11416a
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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AELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGoD5YfTY6Oix0V6vAvraQK8XAEATppfNmtVrerIS6EOyBmB+qwsdlcNCZhMKIIemYYEzrQGYr0QM1JE1APODiIE52YQCAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAgxLmsGdq9r1Kp9HApAABNqVQqQ7v31X6a1gAAIWQNABBC1gAAIWQNABBC1gAAIaZkjZehAID5ou41qMK0BgCIIWsAgBCyBgAIUZ81Hq8BAPrf9AdrCtMaACDGDFljYAMA9LMZRzWFaQ0AEGPmrDGwAQD60/lGNYVpDQAQ47xZY2ADAPSbWUY1hWkNABBjtqwxsAEA+sfso5pizmmNsgEA+sGcTVM0sgmlbACA3mqkaQrP1gAAMRrKGgMbAKBXGhzVFI1Pa5QNANB9jTdN0dQmlLIBALqpqaYpimKgqavXyqZarTa3LgCAhk30RlNNUzSbNbUbVCoVZQMAdEKzQ5qaFt+EsiEFAHRCy01TtDCtqbEhBQCUqLWNp8laz5pi0oZUIW4AgFa1HzRnr9P+JSZsv7iyZcuWpUuXlnI1AGAhKCtoJrQ1ral5z8oVd2x+14o994+NbC9MbgCAuZQbNBPKyZpdm2589OlniqnbUoW+AQCmqkVCuUFz9uLtX3Tr6lX3bBie8bWourelVA4ALDR1MdCJmjl3r45evc7EFhUAkKparXazY+p0NWsAADqnxc/x1Tl976dKuQ4AQMvKyRoAgJ4rIWvGRv5cFMUfd17W/qUAAFpWQtZUKhuKoqhUlrV/KQCAlpWQNVd+6eSiRZXx8UPtXwoAoGWerQEAQsgaACBEaVmzefPyz6y9YfrxkXXvKOsWAACzKC1rDh06+ZG3vnnH8PWTDx6+/dbLLrlkznN3TkufratXbbvumrLWBgAsBGVuQt33xC8+PqlFdgxf/6qLLrrrez+c88Q3LFn82Ce3Tj5yz4bhU39/ocS1AQDxysya/UePn/jr89/ecsvEz23XXfPlwz9r5MQ7HnrkNa9cVJv0HL791u8+eeInY38qcW0AQLySHxl+/4GDb7vi8vddfdWBD9/ym2dPHzz++wZP/PyPjnzi7auLovjchuGBCy4Y+f7j5S4MAIg3UPoVv/nrY7s2ra9UipV7v974WY88dXLj8qGf3vax1y9+9fI995e+KgAgXvkveO898vPxavU7vz3R7Il3PvyDK5YsPv7s6dKXBAAsBB35bs1/x//3rxdfavasb9z87r/844VVl79u3dBgBxYFAITrl8/xvffqq9YNDa5/cP/+o8d3bVrf6+UAAPNPv2TN3e9c88CvjhZF8YUfj7748stfuWljr1cEAMwzJTwyvHfFG2946p/PPXfzQ6tWTRx5xW0ffdORx7eOjMz4/w9deOHz1eq2L361duTBD9z0t3+f+doTv5z4ue6Bb/3hs3c++vQzj50ca395AMACUULWDA4OLlmypCiKkUsvPXto2bJri+La2s+pXjpz5rXj40fu3vGf8fGNu+774FtWDl85uGLq208Hj//u3o03yhoAoHGVod372rzE9osra9euPXXq1F0nGvqA3p6dnz5QrT7Z9n0BACYrIWsAAPpBvzwyDADQJlkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBAiP8D0NP+uJz7BhAAAAAASUVORK5CYII=<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="363" y="175"/>
+<Rect height="36" type="negative" width="32" x="491" y="302"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/REVOLUTION_CUT b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/REVOLUTION_CUT
new file mode 100644 (file)
index 0000000..6bc095a
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="33" type="negative" width="31" x="358" y="194"/>
+<Rect height="56" type="negative" width="49" x="14" y="413"/>
+<Rect height="28" type="negative" width="32" x="421" y="318"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/VP1 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_003/verificationPoints/VP1
deleted file mode 100644 (file)
index ab99fdd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="104" type="negative" width="156" x="361" y="201"/><Rect height="56" type="negative" width="49" x="16" y="448"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index d52b00deb8e2a2766fdd4241fb830a6a74771692..fd92a627c0ffedf5e85595e72ad20cfe59dfc8a3 100644 (file)
 def main():
-    #[project] NewGEOM
-    #[Scenario] Revolution_004
-    #[Topic] 'RevolutionFuse by angles' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Revolution_004
+    # [Topic] 'RevolutionFuse by angles' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_revolution_004.hdf'
+
+    # [step] Open 'for_revolution_004.hdf'
     open(DATA_PATH + "/for_revolution_004.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
+
     # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 71, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all [vp INIT]
     fit_all()
-    
-    #[step] Execute RevolutionFuse operation
+    test.vp("INIT")
+
+    # TODO(spo): remove: workaround for the bug given RevolutionCut sketch created when select axis_object then apply is disabled
+    waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1.Sketch\\_1")
+    clickItem(":Object browser_XGUI_DataTree", "Part\\_1.Sketch\\_1", 10, 10, 0, Qt.LeftButton)
+    openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1.Sketch\\_1", 10, 10, 0)
+    activateItem(waitForObjectItem(":_QMenu", "Edit..."))
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    # [step] Execute RevolutionFuse operation
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "RevolutionFuse"))
-    
-    #[step] Select sketch face
+
+    # [step] Select sketch face
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 287, 236, 0, Qt.LeftButton)
 
-    # [step] Create 2 circles
-    circle_create_in_view((650, 364), (671, 392))
-    circle_create_in_view((641, 114), (664, 141))
-    
-    #[step] Approve sketching
+    # [step] Click "Set plane view" in property panel [vp PLANE]
+    clickButton(waitForObject(":Sketcher plane.Set plane view_QPushButton"))
+    test.vp("PLANE")
+
+    # [step] Create 2 circles on the plane [vp CIRCLES]
+    activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
+    activateItem(waitForObjectItem(":Sketch_QMenu", "Circle"))
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 650, 350, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 690, 350, 0, Qt.LeftButton)
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
+    activateItem(waitForObjectItem(":Sketch_QMenu", "Circle"))
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 650, 110, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 700, 110, 0, Qt.LeftButton)
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    test.vp("CIRCLES")
+
+    # [step] Approve sketching
     clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
-    
-    #[step] Select axis for revolution
-    mouseClick(waitForObject(":Revolution_QLineEdit_2"), 44, 14, 0, Qt.LeftButton)
+
+    # [step] Select axis for revolution
+    mouseClick(waitForObject(":Revolution_QLineEdit_2"), 10, 10, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 750, 203, 0, Qt.LeftButton)
-    
-    #[step] Select revolution method 'By angles'
+
+    # [step] Click 'Reset view' toolbar button
+    clickButton(waitForObject(":SALOME*.Reset_QToolButton_2"))
+    mouseClick(waitForObject(":SALOME*_OCCViewer_ViewPort3d"), 10, 450, 0, Qt.LeftButton)  # close tool bar extension bar
+
+    # [step] Select revolution method 'By angles'
     clickButton(waitForObject(":Revolution_QToolButton_2"))
-    
-    #[step] Rotate the model
-    type(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), "<Control>")
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 275, 421, -54, -250, 67108866, Qt.RightButton)
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 701, 177, -272, 109, 67108866, Qt.RightButton)
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 353, 236, -204, -12, 67108866, Qt.RightButton)
-    
-    #[step] Define angle 'To'
-    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_3"), 41, 11, 0, Qt.LeftButton)
-    type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
-    type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox_2"), 60)
-    
-    #[check] Check that  preview is updated
-    test.vp("VP1")
-    
-    #[step] Set angle 'To'=0
-    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_3"), 31, 9, 0, Qt.LeftButton)
+
+    # [step] Set angle 'To': 0
+    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_3"), 10, 10, 0, Qt.LeftButton)
     type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
-    type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox_2"), "<Keypad_0>")
-    
-    #[step] Define angle 'From'
-    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_4"), 26, 13, 0, Qt.LeftButton)
+    type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox_2"), 0)
+#     type(waitForObject(":Revolution.to_angle_ModuleBase_ParamSpinBox_2"), "<Return>")
+
+    # [step] Define angle 'From': 350
+    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_4"), 10, 10, 0, Qt.LeftButton)
     type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
-    type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox_2"),350)
+    type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox_2"), 350)
+    type(waitForObject(":Revolution.from_angle_ModuleBase_ParamSpinBox_2"), "<Return>")
 
-    #[step] Fit all
+    # [check] Check that preview is updated [vp PREVIEW_0_350]
     fit_all()
-    
-    #[check] Check that preview is updated
-    test.vp("VP2")
-    
-    #[step] Approve revolutionFuse operation
+    test.vp("PREVIEW_0_350")
+
+    # [step] Approve revolutionFuse operation
     clickButton(waitForObject(":RevolutionFuse.property_panel_ok_QToolButton"))
-    
-    #[check] Check that operation has been executed successfully
-    test.vp("VP3")
+
+    # [check] Check that operation has been executed successfully [vp REVOLUTION_FUSE]
+    test.vp("REVOLUTION_FUSE")
 
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/CIRCLES b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/CIRCLES
new file mode 100644 (file)
index 0000000..ad81c68
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="363" y="173"/>
+<Rect height="36" type="negative" width="32" x="490" y="307"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/INIT b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..627139e
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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caMa2kLGmh0v3Vh/db22p9b669a6w/0lAyiezMPNUjWajiHNzJ49u+O36667RqahU4BYs/lV68566sUPP3zZ6eObW99srXt0c3T4ch9/xblnX3Xnlzt/5bJTTx4bqf/lN741/MUAMLwMCzcLajTztk579+6NhzS7dz9/001/JtPQJcBRl8ccc8yaNWuOOuqo3z++te7Rlf+GHbPmiNt//bLOX/ndCzb88Cc7h78SAAKKCzcpn7g0Pb23/bZ37+7du5/f//bcs8/u2rVr565dTz/xxGMyDYsKEGu2bNmybdu2bS95yS/X69dd8aEVP/7ffuF/rF09/uENZ8bv3vXB933+uw9M7Xh4+CsBIKz2SeCphZv9gWZPnGb27Hluz57nnnsuDjQ7n3rq8R/96If3n3mGTMOiamH/Zlx3xYdeWKv9YG5u41XXLPNhb/75n/vkW964/j995vcu2HDBK9ed/ad/GfAaAEjCjk0bk95JTU5OfPKTN87fOu2Jt07PPffs008/uWPi3EQvgKILHGuiKLps08Z31OuroujrrdZHln7xT7/9F0886kUvOeLwn/v4n4S9AAASsmPTxijJKvHk5MRHP/pncS94ejoONLt3737+6aefeuicsxL6pJRJ+FgTu3LTxpPq9d1RdGur9bdLfIrv/fZvfvtHj1381/8liQsAICHJhZvJyYnf+Z1PTU/vu3l7z57dzzzz9H2/8Nrgn4iySirWxD5zxYdeVqsdd+ihD+/efeFHPtH5W3/6L9583D878pg1R/zrz//dnTt+mNw1AJCE4OFmcnJi06aPt2/e/ulPn9m586kfXnB+qNenCgJUhpfxG1dds2bVqudbrXUHH7z1Dza1f/3tJ6w/d93Lz/vzG27Ytv3Ki85L9BoASEK7TRzwNeNe8M6dTz322P/79mtOkWnoV7KxJoqi1//+x2559tmbd+16embm5v33Sf3H88+59mvboij66B137202P/nWC5O+DACSEOo+qcnJiQ984Ld27dr5+OOPfuPVr/r+uRuCXB5Vk/wJ3lF01fw915//8luffPb5a+75h/jdc6+9/nu//Zu3PfT92//3jhQuBoCwQv1g4ief/PF3z3hNsMuiktKINZ0uPun4Da94+XHz7366dft9H7lwQqwBKK5hws3k5MT5579NpmF4yVaGAaigvtrEk5MT/ktEKGlPawAovR4nN/EHyDQEJNYAkIjOcLPMB0BAllAAQEkkfoM3AEA6xBoAoCTEGgCgJMQaAKAkxBoAoCTEGgCgJMQaAKAkxBoAoCTEGgCgJMQaAKAk/j8Vyg0oWaaQSgAAAABJRU5ErkJggg==<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="352" y="198"/>
+<Rect height="36" type="negative" width="32" x="416" y="308"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/PLANE b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/PLANE
new file mode 100644 (file)
index 0000000..e11416a
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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AELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGoD5YfTY6Oix0V6vAvraQK8XAEATppfNmtVrerIS6EOyBmB+qwsdlcNCZhMKIIemYYEzrQGYr0QM1JE1APODiIE52YQCAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAgxLmsGdq9r1Kp9HApAABNqVQqQ7v31X6a1gAAIWQNABBC1gAAIWQNABBC1gAAIaZkjZehAID5ou41qMK0BgCIIWsAgBCyBgAIUZ81Hq8BAPrf9AdrCtMaACDGDFljYAMA9LMZRzWFaQ0AEGPmrDGwAQD60/lGNYVpDQAQ47xZY2ADAPSbWUY1hWkNABBjtqwxsAEA+sfso5pizmmNsgEA+sGcTVM0sgmlbACA3mqkaQrP1gAAMRrKGgMbAKBXGhzVFI1Pa5QNANB9jTdN0dQmlLIBALqpqaYpimKgqavXyqZarTa3LgCAhk30RlNNUzSbNbUbVCoVZQMAdEKzQ5qaFt+EsiEFAHRCy01TtDCtqbEhBQCUqLWNp8laz5pi0oZUIW4AgFa1HzRnr9P+JSZsv7iyZcuWpUuXlnI1AGAhKCtoJrQ1ral5z8oVd2x+14o994+NbC9MbgCAuZQbNBPKyZpdm2589OlniqnbUoW+AQCmqkVCuUFz9uLtX3Tr6lX3bBie8bWourelVA4ALDR1MdCJmjl3r45evc7EFhUAkKparXazY+p0NWsAADqnxc/x1Tl976dKuQ4AQMvKyRoAgJ4rIWvGRv5cFMUfd17W/qUAAFpWQtZUKhuKoqhUlrV/KQCAlpWQNVd+6eSiRZXx8UPtXwoAoGWerQEAQsgaACBEaVmzefPyz6y9YfrxkXXvKOsWAACzKC1rDh06+ZG3vnnH8PWTDx6+/dbLLrlkznN3TkufratXbbvumrLWBgAsBGVuQt33xC8+PqlFdgxf/6qLLrrrez+c88Q3LFn82Ce3Tj5yz4bhU39/ocS1AQDxysya/UePn/jr89/ecsvEz23XXfPlwz9r5MQ7HnrkNa9cVJv0HL791u8+eeInY38qcW0AQLySHxl+/4GDb7vi8vddfdWBD9/ym2dPHzz++wZP/PyPjnzi7auLovjchuGBCy4Y+f7j5S4MAIg3UPoVv/nrY7s2ra9UipV7v974WY88dXLj8qGf3vax1y9+9fI995e+KgAgXvkveO898vPxavU7vz3R7Il3PvyDK5YsPv7s6dKXBAAsBB35bs1/x//3rxdfavasb9z87r/844VVl79u3dBgBxYFAITrl8/xvffqq9YNDa5/cP/+o8d3bVrf6+UAAPNPv2TN3e9c88CvjhZF8YUfj7748stfuWljr1cEAMwzJTwyvHfFG2946p/PPXfzQ6tWTRx5xW0ffdORx7eOjMz4/w9deOHz1eq2L361duTBD9z0t3+f+doTv5z4ue6Bb/3hs3c++vQzj50ca395AMACUULWDA4OLlmypCiKkUsvPXto2bJri+La2s+pXjpz5rXj40fu3vGf8fGNu+774FtWDl85uGLq208Hj//u3o03yhoAoHGVod372rzE9osra9euPXXq1F0nGvqA3p6dnz5QrT7Z9n0BACYrIWsAAPpBvzwyDADQJlkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBAiP8D0NP+uJz7BhAAAAAASUVORK5CYII=<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="363" y="175"/>
+<Rect height="36" type="negative" width="32" x="491" y="302"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/PREVIEW_0_350 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/PREVIEW_0_350
new file mode 100644 (file)
index 0000000..d99e4b4
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="50" type="negative" width="46" x="14" y="416"/>
+<Rect height="28" type="negative" width="30" x="335" y="181"/>
+<Rect height="28" type="negative" width="22" x="391" y="272"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/REVOLUTION_FUSE b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/REVOLUTION_FUSE
new file mode 100644 (file)
index 0000000..e67c3f9
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="32" type="negative" width="29" x="331" y="177"/>
+<Rect height="27" type="negative" width="23" x="391" y="274"/>
+<Rect height="43" type="negative" width="45" x="12" y="418"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/VP1 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/VP1
deleted file mode 100644 (file)
index 22d87ff..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAH7CAIAAAAhHuxOAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nO3de5wcVZ338V9V93QyySTBhEu4hwwXJUuACIKgxHAJJJtAEMXHy75U1hsveYy7gpkI+njDSQzuGh/xsq64q6yuoASexIQkIIIuQoRIgHCTIKhcAgRCQmYyfavnj9NdU32Znu6u6qpzqj7vV15xppl0VzJl+pvf73fOsXqXrRQAAADz2VFfAAAAQDCINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICaINQAAICbSUV9AfduWLA7w2XqXrwzw2QAAgJ70ijVumulbuqL2vy7rv6Lu46Na1h9MSCIeAQCgM41izbYli9tLLaMK6mkDiUdkIwAAOkSXWNO5TBOgQK6QbAQAQIdYvcuif4NsJtO03YGKpWX9V/h/ErIRACBmdKnWoCXUjQAAqBV9tYZSjdGoGwEA9EG1Br5QNwIA6CP6WHPRuz647BcUYxKNbAQACETEsebQW9ePP2x646+hA4VmkI0AABHHmp6eCZnMmGivAXCFk436lq6omkkiCQFAICIeGT7pjw9NnrzfxImTli/rC3ZnYUBPdW9pUg4ABCLKas3023897pBpXV2Zrq4xV3/t+1f2f5wEg2SquvO99R4iDgA0L8pY09Mzsasrk8lk0ul0KhX98DLQaU1WH71fQ8QBgOZFGSbGj5/Q1ZXp6sqkUul0OvXta2+4rP/iyr/Q6UAh6epGHPINANQVWaw55q7fjTnw0HKsSaVS6VQqfd2P1l7SP58oA9Tl/l9D5RvCDQBUiSzWqFJN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<Mask><Rect height="97" type="negative" width="81" x="354" y="210"/><Rect height="23" type="negative" width="22" x="267" y="327"/><Rect height="42" type="negative" width="55" x="11" y="466"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/VP2 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/VP2
deleted file mode 100644 (file)
index 6cdae2a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="72" type="negative" width="70" x="312" y="202"/><Rect height="27" type="negative" width="21" x="261" y="285"/><Rect height="44" type="negative" width="46" x="13" y="464"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/VP3 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_004/verificationPoints/VP3
deleted file mode 100644 (file)
index ae27c61..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="73" type="negative" width="59" x="323" y="200"/><Rect height="27" type="negative" width="23" x="262" y="287"/><Rect height="43" type="negative" width="45" x="12" y="464"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index 5af7756c5fe5ad1055457a436c64340f322f28d5..1c11b2f614f8233a9b48295d4899c5efb3eb684f 100644 (file)
 def main():
-    #[project] NewGEOM
-    #[Scenario] Revolution_005
-    #[Topic] 'RevolutionFuse by planes and offsets' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Revolution_005
+    # [Topic] 'RevolutionFuse by planes and offsets' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_revolution_005.hdf'
+
+    # [step] Open 'for_revolution_005.hdf'
     open(DATA_PATH + "/for_revolution_005.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
+
     # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 71, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all [vp INIT]
     fit_all()
-    
-    #[step] Execute RevolutionFuse operation
+    test.vp("INIT")
+
+    # [step] Execute RevolutionFuse operation
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "RevolutionFuse"))
-    
-    #[step] Select sketch face
+
+    # [step] Select sketch face
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 287, 236, 0, Qt.LeftButton)
-    
-    # [step] Create 2 circles
-    circle_create_in_view((523, 154), (539, 168))
-    circle_create_in_view((528, 340), (537, 351))
-    
-    #[step] Approve sketching
+
+    # [step] Click "Set plane view" in property panel [vp PLANE]
+    clickButton(waitForObject(":Sketcher plane.Set plane view_QPushButton"))
+    test.vp("PLANE")
+
+    # [step] Create 2 circles on the plane [vp CIRCLES]
+    activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
+    activateItem(waitForObjectItem(":Sketch_QMenu", "Circle"))
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 400, 340, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 400, 370, 0, Qt.LeftButton)
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
+    activateItem(waitForObjectItem(":Sketch_QMenu", "Circle"))
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 400, 130, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 400, 150, 0, Qt.LeftButton)
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    test.vp("CIRCLES")
+
+    # [step] Approve sketching
     clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
-    
-    #[step] Select axis for revolution  
-    mouseClick(waitForObject(":Revolution_QLineEdit_2"), 128, 12, 0, Qt.LeftButton)
-    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 652, 257, 0, Qt.LeftButton)
-    
-    #[step] Rotate the model
-    clickButton(waitForObject(":Revolution_QToolButton_3"))
-    type(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), "<Control>")
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 456, 470, -61, -138, 67108866, Qt.RightButton)
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 497, 341, -56, -2, 67108868, Qt.MidButton)
-    
-    #[step] Fit all
+
+    # [step] Select axis for revolution
+    mouseClick(waitForObject(":Revolution_QLineEdit_2"), 10, 10, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 651, 219, 0, Qt.LeftButton)
+
+    # [step] Click 'Reset view' toolbar button [vp RESET]
+    clickButton(waitForObject(":SALOME*.Reset_QToolButton_2"))
+    mouseClick(waitForObject(":SALOME*_OCCViewer_ViewPort3d"), 10, 450, 0, Qt.LeftButton)  # close tool bar extension bar
+
     fit_all()
+    test.vp("RESET")
 
-    # [step] Select face 'To' 
-    mouseClick(waitForObject(":To_QLineEdit_3"), 30, 8, 0, Qt.LeftButton)
+    # [step] Select revolution method 'By planes'
     snooze(1)
-    sendEvent("QMouseEvent", waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), QEvent.MouseButtonPress, 694, 187, Qt.LeftButton, 1, 0)
-    sendEvent("QMouseEvent", waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), QEvent.MouseButtonRelease, 694, 187, Qt.LeftButton, 0, 0)
+    clickButton(waitForObject(":Revolution_QToolButton_3"))
 
-    #[step] Fit all
+    # [step] Select face 'To' (biggest one)
+    mouseClick(waitForObject(":To_QLineEdit_3"), 10, 10, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 463, 171, 0, Qt.LeftButton)
+
+    # [step] Fit all
+
+    # [check] Check that preview is updated [vp PLANE_TO]
     fit_all()
-    
-    #[check] Check that preview is updated
-    test.vp("VP1")
-    
-    #[step] Define offset for face 'To' 
-    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_3"), 34, 9, 0, Qt.LeftButton)
+    test.vp("PLANE_TO")
+
+    # [step] Define offset for face 'To'
+    mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_3"), 10, 10, 0, Qt.LeftButton)
     type(waitForObject(":To.to_offset_ModuleBase_ParamSpinBox_3"), "<Ctrl+A>")
     type(waitForObject(":To.to_offset_ModuleBase_ParamSpinBox_3"), 30)
+    type(waitForObject(":To.to_offset_ModuleBase_ParamSpinBox_3"), "<Return>")
 
-    #[step] Fit all
+    # [check] Check that preview is updated [vp PLANE_TO]
     fit_all()
-    
-    #[check] Check that preview is updated
-    test.vp("VP2")
-    
-    #[step] Select face 'From'
-    mouseClick(waitForObject(":From_QLineEdit_3"), 28, 11, 0, Qt.LeftButton)
-
-    #[step] Click '-OX' button
-    clickButton(waitForObject(":SALOME*.-OX_QToolButton"))
-    sendEvent("QMouseEvent", waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), QEvent.MouseButtonPress, 441, 217, Qt.LeftButton, 1, 0)
-    sendEvent("QMouseEvent", waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), QEvent.MouseButtonRelease, 441, 217, Qt.LeftButton, 0, 0)
-    
-    #[step] Rotate the model
-    type(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), "<Control>")
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 576, 380, -99, -156, 67108866, Qt.RightButton)
-    
-    #[step] Fit all
+    test.vp("PLANE_TO_30")
+
+    # [step] Select face 'From' (smallest one)
+    mouseClick(waitForObject(":From_QLineEdit_3"), 10, 10, 0, Qt.LeftButton)
+    sendEvent("QMouseEvent", waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), QEvent.MouseButtonPress, 504, 252, Qt.LeftButton, 1, 0)
+    sendEvent("QMouseEvent", waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), QEvent.MouseButtonRelease, 504, 252, Qt.LeftButton, 0, 0)
+
+    # [check] Check that preview is updated [vp PLANE_FROM]
     fit_all()
-    
-    #[check] Check that preview is updated
-    test.vp("VP3")
-    
-    #[step] Define offset for face 'From'
+    test.vp("PLANE_FROM")
+
+    # [step] Define offset for face 'From'
     mouseClick(waitForObject(":Revolution.qt_spinbox_lineedit_QLineEdit_4"), 38, 4, 0, Qt.LeftButton)
     type(waitForObject(":From.from_offset_ModuleBase_ParamSpinBox_3"), "<Ctrl+A>")
     type(waitForObject(":From.from_offset_ModuleBase_ParamSpinBox_3"), 45)
+    type(waitForObject(":From.from_offset_ModuleBase_ParamSpinBox_3"), "<Return>")
 
-    #[check] Check that preview is updated
-    test.vp("VP4")
-    
-    #[step] Approve sketching    
+    # [check] Check that preview is updated [vp PLANE_FROM_45]
+    fit_all()
+    test.vp("PLANE_FROM_45")
+
+    # [step] Apply the feature
     clickButton(waitForObject(":RevolutionFuse.property_panel_ok_QToolButton"))
-    
-    #[step] Rotate the model
-    type(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), "<Control>")
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 103, 388, 309, -313, 67108866, Qt.RightButton)
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 512, 266, -75, 52, 67108866, Qt.RightButton)
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 555, 60, 33, 113, 67108868, Qt.MidButton)
-    clickButton(waitForObject(":SALOME*.Fit All_QToolButton"))
-
-    #[step] Fit all
+
+    # [step] Fit all
     fit_all()
+    test.vp("REVOLUTION_FUSE")
 
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/CIRCLES b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/CIRCLES
new file mode 100644 (file)
index 0000000..f8219ff
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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4rwXfu+uS+/9+Runn3nv9Yce+8+vFJwbABCvZNbc8eDpR/7ty3/45jeMH950zUs/cP9fbeXCX/z4J77j23ZOVnruf8db//jzj/zl2X8uODcAIF7hW4bfeOfdP/j85/34C6+686fe8HePP3n36Ye3eOGv/sUDb/uhA1VVve/6Q0sXXLD8yfvKTgwAiLdUfMTf/9uHVo4cruvq6tt/d+tXfeLRMzdcsffTb//Z77n0OVd88HeKzwoAiFf+gPftD/z1udHoj/7+ke1e+K4//fPn77r09ONPFp8SADAEC/ncmv89939f/fo3tnvVR17/I6v/9ZX9z/vu6/buWcCkAIBwXfk4vh974VXX7d1z+GN33PHg6ZUjh9ueDgDQP13Jmve8+uBH/+bBqqp+7eSpr3/zm7/5uhvanhEA0DMFbhm+/crdr3j0qSeeeP3H9+8fP/Ost//Mix6478bl5Q1//ycvvPDLo9FNv/5bk2c+9hOv+/evPf3bn/nc+OF1H/2Df/yVd33qi1+698zZ+acHAAxEgazZs2fPrl27qqpavuyybz21b9/Lquplk4fP9I2nn/6uc+ceeM8t/3Pu3A0rH3rTi68+dPmeK595+unu0//w/hteJWsAgK2r9x47PucQN19cX3vttY899ti7H9nSB+h98LZfunM0+vzcrwsAMK1A1gAAdEFXbhkGAJiTrAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACCErAEAQsgaACDE/wPRtq3rsjIhjwAAAABJRU5ErkJggg==<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="341" y="183"/>
+<Rect height="36" type="negative" width="32" x="447" y="285"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/INIT b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..b85abf9
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="335" y="202"/>
+<Rect height="36" type="negative" width="32" x="388" y="290"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE
new file mode 100644 (file)
index 0000000..3a4731c
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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WXPHBec99+JL1933QIVrAgBMUmVZc+1piw+bO+fcNXdUtSAAwB6pJms+ctSRFyw89sRbvlfJagAAU1BN1owMnXrv089UshQAwNRU8Ls1yxcumL3PPmfMP/yM+Yfv9J/m3XBL++sDAExG9Td4AwDUwj91CQCEqCZrtl//+UrWAQCYMrs1AECICrJmy/BfiqL409UHt78UAMCUVZA1ZXl6URRlOa/9pQAApqyCrDns65tnzy7Hxta2vxQAwJT5bg0AEELWAAAhKsuaM8884ktLTp54fXjpKVX9CQCAN1FZ1qxdu/lTx73/qsUnjb/44KUXHrz//rt97dUT0mf5wgUXnXh8VbMBAL2gykOomx96+LPjWuSqxScdMGvWlT9bt9sXvnvOQfd9bvn4K9eevnjrP1+ocDYAIF6VWbPm0dFNf3v+h+ef03x60YnH3/Dgrybzwi/cdffb3jK7tdPz4KUX/vjxTb/c8ucKZwMA4lX8leFzb7/zA4ce8rGj59/+yXN+99z2O0efmOQLv/KLDRd/cGFRFNedvrhvr72G77m/2sEAgHh9la/4/d8+NjI0WJbFUTd9Z/KvuvvJzcuOGHjgks+866ADj7jx25VPBQDEq/4G75s2/Hqs0fjR7zft6Qsv/+nPD51z0Ohz2ysfCQDoBdPyuzX/HfvfS6+8uqev+u7ZH372Xy8sOOSdSwf6p2EoACBcp/wc30ePnr90oH/wtjVrHh0dGRqsexwAoPt0StZcc9qiW3/zaFEUX12/8ZXXXvvGWcvqnggA6DIVfGX4piPfc/KTL27bdvZdCxY0r+x7yaeP2XD/8uHhXf7/n9h77+cbjYu+9s3Wlds+ftbfX97xrYceaT5deusP/vjly+99+pn7Nm9pfzwAoEdUkDX9/f1z5swpimJ47tzXL82bd0JRnNB6+kav7tjxjrGxDddc9Z+xsWUjN5937FGLD+s/8o13P905+ofrl50qawCAySsHVq1uc4kr9iuXLFmydevWKzdN6gf0brz6i7c3Go+3/XcBAMarIGsAADpBp3xlGACgTbIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAELIGAAghawCAEP8HuMMDslxdwdcAAAAASUVORK5CYII=<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="347" y="183"/>
+<Rect height="36" type="negative" width="32" x="448" y="283"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_FROM b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_FROM
new file mode 100644 (file)
index 0000000..4f3f41c
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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k8vWK6/cSrTp/vtnzBjs65tZKLQVCq35fFs+X9Baax26NOPqNK6bWKl4HEop7SKMUirJNC7UuHDjDvjeMk2capKDpKe4swOlGoCDAGINAExGW664YgvRxgcemDPn6Hy+rVBoLRTa2tu7fD9I6jQiLdhord2SxG7NG9eCI6VM9rk0SbixybbePFmfJg4ucQlnD0EHmQbgYIFYAwCT1+bLL99MNPf5Fzo7p+XzrSMj2zs7u9va2qsKNlpHxnhVscZaTwjpdrg0xnJuOTfWcndsLRsfbohTskV47b8LNk8AaADEGgCY7FaduZCI5r340mefbd+xY6Srq7uzs9vthekKNm6dm3SqVDo5XEqVTJJKR6BsptXGWsuT/uJ4DlS2fuPCTVcnSjUABw3EGgA4OKxYcPrMn/98ZOTTnTtHXLgpFNpcwcZtpi2ETPqL400YpIyyLTicCyHioagk6Lh0w43habJhrHpwCgAOFrWJNV897aTOlqDqxRWbNj+4YlVNzg8AQEQfXnghEc167LGdO0d27hzp7Ozu6upWyq1KrKVU6Qp+WusoipTy4oLO2BbjeDsoLpJWm+ywVHW4qQmMQAE0Rm1iTW8h31vIp38teN7CocG73liGWAMANbf+ggvWEw088ui0aT3btnV3dfW0t3flcnmldBJotFKR1l66sE3SiyOyx0IIF26ESAs26bBUHG5mDGAECuBgUptY8z+ffC771x9fftFvtn36zV88t6f3AwBM0MbFF20k6r7/vq6unq6unu7u3ny+1fXc+H6gta+1zsSabMEmm2/cblNxuHE7dSfDUmzcHuEHCKUagIapfW/NH5x6wlmzD5v/w/9d8zMDAFTZcsWVW4iI6PBfPNnbO7B586aenumtre2+H3he4Pu+5/lKeZm1+6oijhhbvMmGGyFEjXINADRK7WPNfz3zjJsffbLmpwUA2It15527jmjw8Se2bPm4t3egt7fflW08z08fSik3NypdnnhcvomfXazRugaxBqUagEYSXedeWMPTvXTDf3xoxar/8/LrNTwnAMA+2n7E8KaZA+WXXxgd3UVExpgoCsOw7B5RFGodGePmg2tjtDFxf7GpiI+ttcd8oTDBxhpkGoAGq2W15mdLrtn42citTzxTw3MCAOyvDy+88EOigUce6e+f1d8/K6nWeNnKjXtFSk8pleyXKav6b5r9PQBgv9Us1vz5uWfNntZx8h1/V6sTAgBMxMbFizcSdd5z98DAYGdnd0fHNN+Pu22qHkp5UqpMvokHqiZ4ASjVADRebWLNpfPmLjnh2Lnfv7MmZwMAqJVtV1+7jYiIBh55pLNzWkfHtM7OaS0t+fHhxvO8NN9IqSYYa5BpAJqiNr0191x/7ZOr1/581Xv78uZFw0PXfPELL65bX/X6zWcvfGHdBxO/GACA8UaOPHLzrJnre6bteP7pkZHtpdKo1jrtvImiMAxD13zjnrWOlrz3tWuuXnDV8q/s7+9CpgFolhpUa64/4YuBUhcdNeeio+ZU/eiI2+4Y//6n17z/w0vON9b+4LlfpS8++9Xfe3PDxxO/GACAvXODU0Q049FH29s7Xf0mlysEQcu4mVPeAZwfmQagiWoQa+56Y9ldbyzbr4/88Jcv3XL2wjTW/OlZZ7T6/n95+LGJXwwAwD7acNFFG4iIaPpDD3V3T3cRJ58vBEEuCFy+qd4T5nMh0wA0V3O2uvzJ0mWXzZv7T1++csn/u4+Ifv/k47/xi2ebciUAAJsuvXRTcjz/5dfa2jra2zvz+dYgyO3XeZBpAJqODX+vBv8R/vY7X+v97/u9rPC7/+2Gmx998qr58wRn1/3zvRO/DACAWjnmpVc7O6e1trbfece3Pnf1miXXLSIiZBqApqtNtYZzdQCf+vtX3/jOBecwRvN+8L9qchkAALXyzumnuINLLv3ykocW7SnZINAATCo1iDVrbt7R3k5rb5k2+7tb9+uDP3juV1858bj7l6+c+DUAANTJigWnDd922pKbFu32pwg0AJNKDWINYwuJSIiTiB7f38+GRo+UyhO/BgCAukJ8ATgo1GAjNyGmE5GU7RM/FQAAAMABq0GsOezbj4+MrCwWvz/xUwEAAAAcsBrEGgAAAIDJoDnr1qRO+NHfNPcCAAAAYMqoe6xZM3QjEdF2IkHDm9FzBwAAAPVS/0EoQXw+p3aitXX/VQAAAHAoq2O1Zg3dyBdzLrh5zlAXDbeiVAMAAAB1VJdYs2bljew/Md7JzWozvPJ2IqLt9fg9AAAAABW1jzVrj/06v5TbTXboob+q+ckBAAAA9qSWsWbN4I38OM6KzPzUDLdhyAkAAAAaqgYtw7cfM7x1a/8bb1zPj+PmdTP0xF/tPdPccvbCqleuP+GLv3/y8RO/EgAAADiU1SDWzJo1q6Ojo6+v7xvzzPDGzy/SzOpof+IPrs++8ufnnbXuk08nfiUAAABwKKtBrHnuueeWLl26dMaMqzn/x1u+/rnv/8P7H+lsCf70rDPcX5/96u/du3zF02ven/iVAAAAwKGMDX+vlk0w/3jL17sZW2vtjd/90V7etvjoI//y4v9w1F/8+NbzzjpvzvDCv/6/NbwGAAAAODTVONYQ0fU333g55x7Rq8Z8a88nv+OyC+f39c5obzvy+3fW9gIAAADg0FT7WON85+Ybj+V8lOhuY+7Zw69YfdOfvLXho2t++q/1uAAAAAA41NQr1jg/vuXrhzE2t1B4f3T0/G/9IPujv75i8dyeabM62v/zvQ8/s2Zd/a4BAAAADhH13RPqhu/+qMPzdhkznMv96ps3p69f9oWjzh4+/Jy//clPli77zgXn1PUaAAAA4BBR960uf+cbt/1sx45/+eyzbWH4L8k8qf9x7pl/88pSIvr2U8+XougvLzm/3pcBAAAAU159B6F262+vvmSwvf2Cf/hp+srqm/7kj+5/5Il/X9PgKwEAAICppO7VmirXHDvvrNmHZzMNEd297J1vnb+owVcCAAAAU0wTqjUAAAAA9dDoag0AAABAnSDWAAAAwBSBWAMAAABTBGINAAAATBGINQAAADBFINYAAADAFIFYAwAAAFMEYg0AAABMEYg1AAAAMEUg1gAAAMAUgVgDAAAAUwRiDQAAAEwRiDUAAAAwRfx/N07rX3p1c+UAAAAASUVORK5CYII=<Mask>
+<Rect height="31" type="negative" width="23" x="374" y="192"/>
+<Rect height="47" type="negative" width="57" x="9" y="418"/>
+<Rect height="32" type="negative" width="23" x="415" y="260"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_FROM_45 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_FROM_45
new file mode 100644 (file)
index 0000000..8f1ef7c
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="31" type="negative" width="25" x="338" y="180"/>
+<Rect height="49" type="negative" width="54" x="10" y="419"/>
+<Rect height="30" type="negative" width="25" x="383" y="240"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_TO b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_TO
new file mode 100644 (file)
index 0000000..d06ef53
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="54" type="negative" width="46" x="11" y="413"/>
+<Rect height="21" type="negative" width="17" x="409" y="229"/>
+<Rect height="21" type="negative" width="19" x="365" y="160"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_TO_30 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/PLANE_TO_30
new file mode 100644 (file)
index 0000000..dd5255e
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="51" type="negative" width="42" x="12" y="415"/>
+<Rect height="17" type="negative" width="20" x="342" y="179"/>
+<Rect height="23" type="negative" width="21" x="375" y="240"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/RESET b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/RESET
new file mode 100644 (file)
index 0000000..232faab
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="333" y="206"/>
+<Rect height="36" type="negative" width="32" x="390" y="286"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/REVOLUTION_FUSE b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/REVOLUTION_FUSE
new file mode 100644 (file)
index 0000000..427594c
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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+HHuuee/971/3e12ut329PRsozFlbWiM441tOMGEYZjN1niv09O5cwWcwbIp65xKkoTIZw8hSEqptTYmSJIkDMNqtbZhw+bZ2c033PCZO+7Y+YpXvGHtvnAAUAiINQDFseET/7c6s7FardXrDd5hL92cxmhtpFTphC+lC5cWwo33PqvXZDvyvepVf3bFFW/vdjvdbqfTaU9Pz5bLFY402fsFQUhEUirvnfeOP4VYOF6KhJBKSWtt/iMvxh/QcAg6+eTTTzjhlD17du/cees999x5zz13/uIXd77+9f//Kn7hAKAoEGsAiqNSqfMjisq5nfeM1jqdoRG5zEGUjvryOHD6Ybz3xGcmeO/PP/8ia5NPfGJbt9vudjvN5nSzOZ21q/gdjDFEg5MWsvCUT05CSKVELgw9GCHIOT07u2l6esPWrcfv3bt77977//Vfb+CLPXvuR8QBgAeCWANQEBs/9amsVMPlmSzTCCEP3iw4G67hWWDOMdlH4zEanqfx3j/72S++7roPdDqdTqc1N7d/0yYeJXZ8urf33pjBOypFQqjsCHCONbxnsdaa0rLQwffPKUopJSU55621zlljTKlU3rhxS6fT3rdv9969u/ft2/3JT16za9fdr371n6/yVxQARg9iDUBBVCq1arXeaExlXad8psliTb5gQ0TeDwJEdlI3ERGlJ3enb3fOPu95L+n1et/+9lfm5g7Mze0/5pgTa7WJJEmcs947a20QBM45rQenRPFAT/4OpVQcbLLPkj04HoWhEoI41nCu4nuz1hljKpXqpk1Hd7udPXvuu+eeu7Zv/5d77rnrFa+4YO2+xACw7iHWABTB5s98pj67udGYCsMod+pTPtPIxb2hAd49L63M2KxgsyTTOOf6/V632zn11EfedNONc3ONubkDxx9/SqPRTJJakiRBECdJEARREIRa8wGZNt0vZ+HfGaVUvibkPXnvpfRSujAMheDF4cS7FfNmObln55w1RlcqlaOPPi5J4k6nvXfv/du3f3zXrruwLBwACLEGoAAmr/tYfXZLozFVrdayOo1SSkqRyzT5AeFBbygboPHeW5s457x3nDq8X4gUzrkkSVqtuV6vF8f9k046PY77t9/+07m5/SeccOqGDZuSZCIMoyAIwzBOkjiLVs45pZxzNtsph4hyKcc756V0UvogkFmmyWJNLtS4tHiTJIn1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<Mask>
+<Rect height="31" type="negative" width="25" x="340" y="182"/>
+<Rect height="53" type="negative" width="54" x="11" y="413"/>
+<Rect height="29" type="negative" width="28" x="385" y="241"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP1 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP1
deleted file mode 100644 (file)
index a5b3e1a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="86" type="negative" width="121" x="325" y="240"/><Rect height="54" type="negative" width="46" x="14" y="446"/><Rect height="17" type="negative" width="14" x="366" y="381"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP2 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP2
deleted file mode 100644 (file)
index 2208e4a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="79" type="negative" width="117" x="323" y="244"/><Rect height="51" type="negative" width="42" x="18" y="450"/><Rect height="14" type="negative" width="14" x="367" y="383"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP3 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP3
deleted file mode 100644 (file)
index abb78a4..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAH7CAIAAAAhHuxOAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4nOzdeXRc130n+N+7976tVmwkAC7igoWgdokSJVm2ZFtK2zlZmDgLcybpNk8iM3MyidjZWlZPTuKcbresZOI59HRmJop7Rm53d5qdTBJllS3J1k5KXMRdFAFwEzeAAIi1qt4+f9yqhwIIkVgKtbz6fk4dqLDWezgW9PX3bkrHN3YTAAAAQO1jlb4AAAAAgNJArAEAAICIQKwBAACAiECsAQAAgIhArAEAAICIQKwBAACAiECsAQAAgIhArAEAAICIQKwBAACAiECsAQAAgIhArAEAAICIQKwBAACAiECsAQAAgIhArAEAAICIQKwBAACAiECsAQAAgIhArAEAAICIQKwBAACAiECsAQAAgIhArAEAAICIQKwBAACAiECsAQAAgIhArAEAAICIQKwBAACAiECsAQAAgIhArAEAAICIQKwBAACAiECsAQAAgIhArAEAIqK+Z3ZV+hIAAJYKsQYA8pBsAKDWiUpfAABUWP9XdxGR8lX53hzJpuMbu8t6QQAAi4VYA1CnZJohohdeeOnmX7lz5zYkGwCoCQr+WgHUlfmnmWI7d2771V995uzZ0/2f/+xyXBUAQEmgrQGoauF8l87nl/r/QGSgWVCaKdbZubm1dVXXx4MXL547/sjWJV4MAMByQKwBqEZhmnnyD79JRK/+wW8t5actMdBIbW1rUqmGhoamFSva1l8Zvnr14oH77lrKDwQAKDnEGoAqMivNLF1JAs3OndteffWUZeVisXg8nkwkUg0NTc3NK9uvDp4/33/0oQdKcqkAAEuHWANQFWSgKVWaoRIFmlAymdZ1Q9dNw4iZZiweT8bjqVQq3dDQvPriwJkzpz967NGSvBAAwFIg1gBUUsnrGSp1oNm5c9upUznHcVRV0zRd13XDMCwrZ5qxWCxumvFkMt3Q0Lz27OWPPjr28Re/UJIXBQBYHMQagApYjjQj9X91V6kCDRHt3Lnt44991/U4V1RVOI4mw42mGbK80XXDNOOmGU+l0k1NLes+7Ht7c2epXh0AYKEQawDKZ/nSDJW6pCGinTu3DQ0Fnkecc84V11U4V4Tgqqqpqq1pMuJoum7ouhGLxU0zEY8nG68O9PefOvnow6W6DACA+UOsASir5Qg0tAwlDRFNTQWeR55HnqdwzjlnnudxLsMNU1VVCFVVNfmQ4cYwDNOMJRLJv//qLuyJBQDlh1gDUPNKnmmCIPA8cl1SFGIsfCieJzgPOPc9z+ecMcaEEEKmG00r9DeGYZiluhgAgAVBrAGobSXMNLKkCYKAiDgjRSXfJ98vTjbEmcI59zzOmMKYwrnCGBNCDR8y4ZTkegAAFgqxBqCGlSrTyEDjecH0hxRiCjFGQTAj1niMFI8UhRRFcM459xhzOWecM84F57K+wR8WAKgM/PUBqFUlyTQy0IyMBIxRJkOMEefTb4OAiIgxmWOmH+GwFGOCMc65yzlnjBfgDwsAVAb++gDUpKVnGhloLl4MGCPbzicVGVk4J86JM2KcGCMKKCBiCikiH2t8rzjlKIypjHFWwDkv0V0CACwMYg1AfZFpJpTLOXKWDGMK56x4vCnsbBgjzoiIAiJFIc5JUYi8GeWNojDGtDDZVObeAKDuIdYARF9xlHn99X45TiTXMHV2Tk/v7e+3OWfF+SZf2CiksOk6hwIiouJGRlHybxVFKApnDG0NAFQGYg1ATer4xu4wrMwajZrVxxDRf/pP/yDXKAkhrl8fEkLVNE0ITQjxzjsXOBdyEVNHh0ZEvb1WGG44V5hHsyoc2dAEASk0Pf+GiJR8vlE2btSwaQ0AVARiDUCtCqPDrByzdetjq1bdZppxeeC2acbOn+/XNN0w5FmVptxAT9M0VdU1TdM0Xcaa9967IoTa1aXLn9PXZxeWOCkzkk2hvCHKr5NSwtdWCACgghBrAGrerGpkmGh45hc0/X9/tX59VyrVkEo1xGIJwzBNM2aaMcOIaZouD7DUNF3XDSHUd975WFVVVdXk+JQsb+RjerZNQL6fr20kTKcBgGqAWAMQfSM/87MjRe/ef/D9hobmxsaWWCwuz3KKxeK6Hh5gaei6rqravn1XVHW6vOnvd4Rgvs9mDUgxJV/SyLnDAAAVhFgDUHcObblXPtn05pttbWuam1ckEqlYLBGPJ2OxuK4bhmHqumkYhhDa3r2X5KBVR4d6+rQlxHRzI8ubQJlZ22AcCgAqB7EGoH599NinPyIiorv27WttXdXcvDIeTyYSqWQyJWfhyHCjabqqagcOXOvu1mnmsJTvE+f5wqY43AAAVARiDQDQsYcf/Jtndm3Z9exdl86vWNGeTjcmEslEImWaccMwDCNmmjFV1fftu6yqmhyW6u21hQg4Z0GgFK+QQrIBgApCrAGAacfSCbInej68sHJlW2NjSyKRSibT8XjCsnKGETNNU1X19967oml6V5dGRH19jhyWKp5tAwBQKYg1ADDbqZbGU77VdfJIW9vq5uaVyWQ6lUqbZs62Y4ZhGkbMdd39+wc1TevsDCfccM4Vud4bAKBSEGsAYG69rS29gXX76eOtrauamlYkk+lkMh2LxR3HNs2457me5x46NCQn3PT12b7PhWBBcMsfDACwXBBrAOBmTjalTzpTd/dea2tb3djYnEo1JpMpx3HkhBvPc/fvH9A0vbNT6+11goA2buTYYhgAKgWxBgBu7WgqdvXwex0dPStXrsrlsqlUQzxuu67jujHP8zzPO3RouKtLrfRlAkC9Q6wBgHkZ7O4eJP/23hPt7WstK2dZDamU67qO57m+7/u+f+DANU3T7747VekrBYD6hVgDQETU/9Vdt/wajK0Q0cmm9OCR97u6bm9rW+04dirV4Pue53mmGQ8CPwj8Sl8gANQ1xBqoU7NyzKxDsOe0c+c2JBsiGurpGSL/vnN9bW2rXddxXdfzPN+XD0wYBoBKQqyB+hKmmfnkGLiJD+J6Z+/J227rcF03HIfyfbQ1AFBJiDVQL2SgQZopob62ldmPjrmu4/u+73u+7wdY3g0AFYVYAxFXqnoGI1BzurRh/dihd++5Z6vvu74f/NIvPYHfEgBUEGINRBbqmfKYvPf+b+3+d7/xG7+HESgAqDjEGoim/q/uKlWg2blzG2EZ1E1t2fXswf/j3//6r/+vlb4QAKh3iDUQNaUtaTD2NH9/+qdfr/QlAEC9Q6yBSClhSUPINAuxZdezQfBc5/P4dQFAJSHWQESUfCYNMg0AQM1BrIEoKHlJQ5hMs3Bbdj3bt3sXChsAqCDEGqh5JZ8d/Nu//e+PHTvYX5KfWGeQbACgshBrAPJ27tz2zW9+d3Dwyrlzff2f/2ylLwcAABYMsQZqW0mqGlnS/Mf/+JfDwwMjI9f233tHKS6tTqGwAYAKQqyBGrb0TCMDzX//729MTIxdvz40Nna9v/8UbVxTogsEAICyQqyBeiTTDBH90z8dzWQmJycnMpnJsbHRgYHL537kycpeWwSgsAGASkGsgfoiA83771+1rFwul81kJm3bymanJibGRkYG993VU+kLBACAxUOsgRr2r/7Vr+/cuW0+41BhPXP06JjjOJaVc13Hti3LsrLZqampibGx0QsXztC69mW+5HqBwgYAKgKxBmpYIpH6oz/6f2VkuTHchFGGiHp7Hc/zenoMz/M9z3Vd13Ec27YtK5fNZiYnx69fHzr1mUfLevUAAFBqiDVQw3TdUFX1O9/5fjrd+FM/9eCsz/b2uoqiEFEQBL7v9/QYR4+OO47tuq7nuY7jOE4YayYuXTpPnbdV4iYiC4UNAJQfYg3UMF03OBecM8bYa6+djsXimqarqiaEyjmXXxMUEJHve57nel5RWWPlMpnJ0dHh049/pqK3suz6ntlFRAgZABBtrNIXALBI9x04rGm6EIIxzhhjTJEYkx0NEZFMM0EQ9PTox46Ne3L8yXUdxy5UNVOTkxPXrl2p5J0ss67X3+h7ZteOHU/v2PG0DDdls2XXs2V+RQCoc4g1UKsSiZSqapwLzjljTFHyuYZImc41hbaGiDzP831PFjZhW5PLZaemJo4/8lDl7mO53Pa9733qxOl/cf7q3XdPD8+VP9kAAJQTYg3UKtOMqarKGC+0NWGsISIqTKoJClXNhO/7nucVFza2ncvlMiMj1yp6HyXW+ncvPXj4xBNnLt1//6c2bOhes2Z9a+vq4i8oc7JBYQMA5YS5NVCrdN0QQpUTa2RVQzRd1QSB/KrpWTW+Px1s5HzhXC6XyUxls5lK3kbp3P3ewebmFYmtjycSKcMwdN38nd/ZUemLAgAoK8QaqEndb7yp3/0g53JiDc9Pq1GoaPSJiCgISFY1ruv4vheu7nZdx3Ec13Vc1xkdHanQTZTGpjffaW1tTyTSyc13G0bMMIzf/d1flp/68z/PL3r/yle2FX/Ljh1P971YvjVKWBIFAGWDWAM1KZlsUFVdiPzEmqIRqOJcExSmDPs0vSTKD4Lp3sayrIs/+sUK3cSS9D2z68tf/vVEIpW8a4tpxg3DeOaZp+SnwjRzE2VONgAA5YFYAzUpHk/IiTWcC8YURWGKwohkYZNPNrKqOXFiyvPcMNP4fiBHo3zfdV3HsrKVvZGl2LChW9cNwzB/8zf/Jc0vzVQKChsAKA/EGqhJmiYn1uTXQIWru2e2NUTTK6GComSTb2scx8nlajLW9D2z60/+5Dtf+9qX5buLCzQYigKA6EGsgdrT/g//oN//qcKONTLZKESkzJxZExSmDRNREFAh1ARhrHFdZ2ysVifW/PZvf7ma6xkAgIrAAm+oPQ0NzbquF7c14dLu4g1riPJ78RWm1OQn1gSBnFjj2rZ1+vHHKnYbS1OSTIPF3gAQMYg1UHsSiaQQGmO8MF9YKU42UhBQT49x8mSm8O6Mqsb3Pdd1LStXoTsAAIBlgVgDtUfXDVUVnHPO5dJuVrSz8OxxqCJ+YRmU3JTPQawhFDYAEC2INVB7VFUtjEDx4qXds85MKH5ePF+4sHtNDU+sAQCAOWHKMNQez/OFUAuZprAI6oYlUIW3xaFGvvU8z7NtO2LHJizId77zraLnRLSLninTS2NJFAAsH8QaqD2+7xER51xRZp2cMMcuw0Wru4s34nMsK8d5ff3vvzjKvPDC7BnHirKN6Ln7n362vBcFAFBK9fVnHaLB8zzf94moeH9huRBKhpsgoM2bzZMnM77vB4EMN/70ljW+57puEAT1E2sUhYi+dWOUKfbCCy/t3Lnt51d1Dg0NXLjQ19fWunzXg8IGAJZJvfxZhygpnFvpy1MRiubWhF8yvbQ7HIQK9xf2PI+IGGNCRP9//zt3bqO5uplP0tm5ua1t9bp1HXdeHx4cvNLXd2Kwe9NyXiAAQClF/886RI/neYVkE4TZ5cbJNVLxrBr5tYwxuTg82m3NQgPNzp3b9u8fsKxcLteUyUytWNHW3r52w4auoaGBM2c+6m1dUdrLQ2EDAMshyn/WIapkpiks2M6HlXy8mS3/UXm4tyIn4zC52w2Paluz0EATSqcbbNuy7Xgikcrlsg0NmUxmRUtLa3v72k1DAxcvnjucMJbhegEASiaaf9Yh2uTcGtnV+MU9zPTOwuHX5keo5PY2xSLZ1iwu0MjvGhgIPI9cV7Ntx7Zt0zRtO5FIWMlkOp1ubGpa0dq6av3wtQsX+g/FtJJcLQobACi5qP1Zh3oQzq0pZBo5ySYozA4OisejChOKWfi2UNhELdbs3LltEQ3Nzp3bXDdwXXJdch1yXVJVVddV1w1s27FtyzTNWCyRSKRSqXRjY0tz88o1166cP99/JGkux10AACxFpP6sQ52Qc2vCXYNvbGskZXqJVCHaMKWorWFC8AreRWktItPIkkYO0nFOuk6uS45DjkOuS66raKrm6JrjmLqeMwwjFkvE48lEIplONzQ3r1wzeOXs2dMnm9JLuWwUNgBQWog1UHsKg1AzRqCms81sShG5yU3U2prFZRrXDdjMbcaFIM5J0/LhxhEkXFJVrqpxXTctK6frhmHETDMej6dSqcbm5pWrLl/Yv//NsbvuKeX9AAAsVkT+rENdCVd33zC3horbGrnkuzjTzMQ1rTRzRCprQZlGNjREdH0kmJoizokzYpyEIMbyvzxFIVUlIfL5xrYVIQIhmKqaum5omq5pumHEYrF4IpFIJFKNjS3nz/e9r829Eu2WUNgAQAkh1kDtKbQ1XtHcmulsEzY2ikJBILcezo9AzUo3hhG77Xvfu/CFL1T0bpZknpkmTDNE1N/vcK5MTgWcK5xT/sGICxKChCBFIUUmHE6KQpyT6ypCkOMoQvhCmDLZaJpuGKaum7FYPJlMrRi4dPLk4bOrVy3iLpBsAKBUEGug9px54nN3XB2dtca7sJZ79iiUMh1sZmQaVdVMM9bc3HqhErdQKnJr4DmTTXGUeeWVD4VQ5RGhHR1q+PH+fkcIJgSbzjechCBVkBDEiEihgJEQxPL5hnEecE6FcKMJoeq6aZqxeDyZTDa0nuvdJ+YYCAQAKA/EGqhJ/rRwHIpmnttNlN94WCkkGxaeISWEkCMpiUSqItdfQjLZ3PjxP/iDb+m6aRimacYuXOjXNEPXdV03X375uKZpqqqpqlYccc6dc1WVz8o3MtDIcMOJFIUYUzjnnDPOfc7jMi1pmqbrhmGYphlPXz7/3HO/u9CzpVDYAEBJINZATcpmp+Yagcp3NsU7Ds+cXqPITKOqmq7rum4kEskK3kWp3Hwc6tVXX2poaG5qWpFMpuPxRCyWMAzTMEzDiL3yyoeydNE0ff16QTP7GzmDOJx/EyoKN8S5JgRXVU0txBvTxMJvAKgYxBqoScPDg+3ta2dOr5nubGZ+rRLOHZY7C8tYI5ONYcS633jr9OOfqchdlMeTT277yle27djx9JUrF8+cOdXRsXnFirbGxmaZckwzbprxeDzxxhtndN0I+5uzZ10hmBBKcX8jmxtiRPm8yBnjjLmcK0KonAshVFVd5ERsFDYAsHSINVCTjmzd0jmStW3bdV3f92a2NcVfWBh/YpwxTwjueVwIVf7XV9MM0zRbWlpPV+guym/jxp4gCAYHrwwOXslkJltbV7W2rk6nG5PJVCyWiMUSr732kaYZhmFs2JAvb1SVy3AjODFOjOVPomAsv36KMcG5PI8iKYQa1SMpAKAm4A8Q1KpMZjKXyzqO7bqu5+XDje/7jE1PHFYUYowFQVC8szDn+cJG07RoTK9ZnFgsMTExPjExns1OrV69buXKVQ0NjfF4Mh5PJhKpN944YximLG/6+mxVFUIocliKsdnhRlEUxjS53IzzxW9yiMIGAJYIsQZq1cTEWC6XdRzLdR3XdcNjvYs25VPkyd5hsskf2y2ELGw0Tdd1Ix5Pdr3+Zu9nH6vs7VSQacZHRoa++c3f37HjN9as2dDS0trQ0CQ3FH799T5dNzs7Nboh3MhMQ5RfBK4QEakyO1b0bgCgrrFbfwlAVRoevmZZWdu2HScfazwvXPLtnzgxtXmzEZ6cwJgch2JhsCme4trWtqbSd1MVstlsb+/Jd9997cSJQ+fP912+/PHAwOWRkWuvv96/b9/lzk5t3TqWy7mWFdg2uS55LgVBoblhcgc/Zhj6Uq5hy65n+57ZVao7AoB6g7YGatWHn36ka2DMti3HsV3XkeNQRedfTo9D5WfXsKAwDsXDya1ymXdDQ9Pmt/d++OlHKnpD1UJR2IULZw8d2nvXXQ+sWbOuqWllMpmaNSx15kx+Nbjcvk8OSxW+vZIXDwB1Dm0N1LBMZtKy5PQap2iGjT9zX75Ze/EVhqGEkONQ8XgilWpoa1tdyTupPi0tbVeuXHz11b8/ceLQxx+fHRi4dO3aldHRkbfeOn/gwODGjWLtWsW2fdsmzyPPy9c2jNGqVcpCN62ZBYUNACwa2hqoYePjY7lc1rYt2dZ4ciDK933fnznDY3qCDefc81g4DiXPbozHE42NzXft23/s4QcrdjNVKZ1uunjx/JkzH23adNeqVbc1NWWTyXQqlX733YumGVu/nvf3O74vwtk2qGoAoLLQ1kANGxm5ls1mbNsqTK9xi07B9I8fn+zpMeR/awub8rFweg3nojC3Rm78n25vxwybuWmacfZs79Gj+8+dOz0wcHFw8Mro6PDExNj+/QMdHepttym27TsOeR75fmleEYUNACwOYg3UsL7PPZ7NylnDtuM4hbYmvx5KjkMFARV25Js+u5tzJufW6LohTxiIx5MNDc33HThc6XuqXhMT47/3e7928uThy5cvDA0NjIxcm5gY27v30uHD19ev55blOQ65bqWvEgDqG2IN1DY5vUaOQ8nCJhyHKkwaDmjGEQoy1+Q3GtY0Xe41HI8nUNjMx1uBfezYwXPnegcHrwwNDY6NjUxMjB84cK2jQ9i2W8JYg8IGABYBsQZq28TEaDabsW05a3h6PVRh4nBIkVvzyUwT7sgnCxt5QJIsbB48fKJiN1P1tm9/6uDu544kze9//297e09cvfrx8PDg6Ojw1NTE++9f7exU160r5eQaJBsAWCjEGqhtHzxwXyYzFS7zltvyeZ7n+0E4vUZuylfYwCa/FIrz/NY1hcOhzLCwuef9Q5W+rWqXuf+B16yJDz88eunS+eHhwZGRocnJ8X37Lh85MlrpSwOAuoZYAzXv0qVzmcyEZeUcR66HkoVNOMNGTq8JCkNQ8vSi6WQjz6+Wh1rH44nGxpY1a9b1f3WXfFT65qqOLGzk8/dUOnbs4IULZ4aGBkZGhiYmxqamJkv7cihsAGBBsMAbat6RrVvaPx6Mx5OGEdM0XVVVIVTOXc657/MTJ6Z6evSPPrIZy4+PhGu/5a59vu9/4Qsds37mCy+8JJ/s3LmNiDq+gVOK5naiMTVx6N277trieW4Q+H6plkIBACwKYg1EwaVL5xsamk0zruu6pulCqHKkiTHP9/OVZBDIwoaI5PmXdO+9CfmpMMTcSH5q585tSDah7dufOrjnuS278nvuXbht7cS7P9i69THf93/u5z69xL34boTzLwFg/hBrIAqOPfxg27kricSMwsZ1HTnkdPz45KZN2unTDuW3HKbOTp1ummaKIdPc0vU77nzllb998sltlb4QAKh3mFsDEXHp0vnx8dFMZjKXy1qWnEGcX+8dBHJkJOjqEp2dvLNTvPDCS/PMNDCn4hk2kv+px76fub5ML4cZNgAwT2hrICJOPvpw+5mL8XjSMMxCYSPksZa+z48fn+zu1hYRZXbu3LZt2y8eX44rjqKSj0ABACwI2hqIjosXpwsbueRbHqpwzz0Nd96ZWGim2blz286d2/74j1/s6rrj/oNHluma5+PVP/itCr76J7mxsFlWKGwAYD7Q1kB0fPTYo+2952fNsHn44Y7FlTQvvXRgampicnLc933GmHHi9Lt3dC/HZX+SMM1gtiwAwDwh1kCkXLp0vrGxJRZL6LqhafpP/uQDiyhpiOhHfuSnTDMmPxIEAWNMVVWj/+MfdKwt/UXPVENpZtaSqOWGJVEAcEuINRApvZ99rO3UGTnD5ld+5ccWlGlkoPn61//v48cP7dr1Ndu25MeDIOCcy6Mxv/jx1YMH37n2Uz9d8iuvoTQDAFC1EGsgai5dOt/U1PKHf/gb8880MtB897uvDgxcOn36+L/9t/+b4zjhZxVFEfIIKVVuSqyffuudU595tFQXLANNjaYZFDYAUFUQayBqzjzxubYTp+f5xTLQfO97J0ZHR65du3L16qXf+Z3/4HkuFQ78JgqPkVI5l+FG0zQ9efj4/nvvXMp1RqaeKXOyAQC4CcQaiKBbzu2VaYaI3nvv6tTUxNjYyMTE6NDQwPHjBzjnShhpiBRF4Xn5c79lbaPrhvnRmTc3bVzotdV6mtm79wePPPL5Cl4AChsAuAnEGoigtS9/b8e/+z/D7HKj06ft7m7t4MGhqanJbHZqampidHTk0qXzf/ZnfxUEpChMUVQiklUNY2GsyecaIYSqaqqqpq8OXr16aUG1TU3/93jv3h/M+XEUNgBQJRBrIII2bbozmWzYs+fNxsaWZDItz4oSQmWMEZHv+11d4vDh69lsxrZz2ezU+PjY0NDA7//+HxNREJCiBIrCiFRFYYxxGWuKwo2sbVQhVF03k8mGlovXzp7tPfWZT93ywmo601QPFDYA8EmwHR9EUEtLaywW1zRDVTV57CVjTI4qBUHg+x4Rua5j21Y2m5mcnBgdHTl/vk9+r6IQYwpjJASbniSsG7puGEbMNGOxWDyZTKdS6cbG5hUrWtvaVq9du/Hee7c+ceZSJe+50rA7HwBUA7Q1EDVdr7+R+tyPx2JxXddVVZUdi6Iwymcaf9Mm/fDh65nMlGXlstmpycnx4eGBb3zjz4hIzqchIs5lbUOMcd/njLlyLErOHpYDUpwLTdMNI2aa8Xg8kUymm0ZHBgYuv7lpQwVvHwCgnqGtgahZs2ZDLBaX2/HJqiac/xsEgTz20nEc27ZyuWwmMzk2dv3ChTNBQPKhKPkHY8R5/iEn02iapuu6YRimGTPNeCKRSiTSqVRDY2Nzc/OKlSvbV626ravr9i8NTz3wwbEK/xYqAYUNAFQc2hqImsbGZl03NM2QS7IZk1WNEgRBEARhVWPblmVlp6YmR0auff3r/5fneUScMQoCYoW0ryhhZ0O+rzCmyqk2cp6NzDq6rtu2pWmGYcQMIxaPJ+LxZCrV2H51cGxs5OLF82ee+FxFfx8AAHUEsQaiJpFI6boRnuAdzqohIt/3ich1HcexLSuXyUyNj48NDFzu7tZPn7YVRVEUFgTk+8QYFRZ4E1E+6/g+KQpjTONczh8Wquo6jiOn39h2ocrJj0mlMpmp1avX9VwaGhoaeP+eOyr2GymdWy7txu58AFBZiDUQKfcd+CD20OOqqskZMIzJWENEFAR+T49++PD1XC4rB6Gy2czExOi//td/+G/+zTe6u7XeXpuIiJjsbORQlBTWNiWsP08AACAASURBVIoiQ49gTHDuep4nhOq6biHZWJqmG4Ypw41l5Swr29y8srV19fqxibGx61eufHz0oQcq9csBAIg8xBqIlJUrV+m6KWcKF/U0ShAEvh8Qke97rus4jpXLZaemJoaGBmzbUhQ6enSsq0s7fdomCoi4/Gmyswlrm6IBKTnzRvi+8DwhhOd5quuGtY0tx6Qcx7JtW4525XK5lpap9vY1ncNj168P/bDztkr9ipYbChsAqCDEGogUOQJVmFXDGFOIZLIJenr0I0fGLCtf1VhWNpudGhu7nstlZOg5cmS0u1s7fdoKAhKCEYUbDZNCREo+2RCRrHN8n3yfOOe+zzxPCKF6niuXhOu6btu26zryYdv5fJPLZZubs62tq9ZOTU5Ojudy2cnJ8YmJ0Q8euK9yvzMAgOhArIHo2PDqa4nHvlC0AIoV1kAFQRAQURD4nud5nuu6ruM42Wzm3LneqalJ3/eDwA+C4PDh693d+kcfWUQB55xIkSu9SSElv6VNfsEUEXFGfj7cKEIonqd4HhdCFcJ1XUfTdM/zCslGvqBdKG9ylpW1LCusc27P5HK5bC6XnZwcGx8f++CBeyv7m1wiFDYAUCmINRAd7e1r5QiUEOGsGoVICQIqxJrA932ZNuSU4V/5ld+anBz3C4LA/+CDkU2bdCLq73eImNwEIZxBHK6Tytc2NF3bMKZwrvi+IgTzPFXmJ1/mKM8tJBvHdV2ZZhzHlh8Mo49tW45j27Z1Zy6fcsJvn/W2Yr9iAIDqhlgD0ZFONxqGWZgvzOS6bhlHenqMY8cmbDsnU40ch5qYGBsaGpBBwfc93/flIvBDh4ZVVe3oUPv68pOI5c8vXh41I9wUjUkFgeJ55PuK7yu+L3w/8DzP83zfdwvpJl/eeJ7rea7rTueV4pTjOI7j2IVL8mUgC/J8ohcq8PtdCBQ2AFARiDUQHYlESp79JEegGJsegiKiIPALVY3rOLZlZYeGrqqqJtOEjB7Ftc3Ro2OdnVpvrx0ERMSoKMHMCDcBBURBQJwXZtswxQ/I95UgIN8PfJ/5Pvm+Wsg3+Qjjea58x89f16xixnVdN8w0s1Twlzx/OP8SAMoPsQaiwzRjqqqFI1CFycIkdxb2/cDz8iNQjmNnMpljD289RvTZ3r6wOymqbfwgCI4cGe3qkgu/AxJcxhf54LywH/FctU34ZYVwQ77PC/nG8zxfhhk5VVm+YiHhzEg5QRDk90bOj6HJZ7URa8oMhQ0AEGINREb7P/yD/uO/UBiByk+sURQlCGjzZvP48UnHsQtljWvb1tTUBCUbiOj1rnUPHzvlOBtd1/V9LwwWsrU5fPh6V5d2+rTl+4EQjPPp80ZkwGCcGCPO8p0NBRTw6VhTnHJ8X/F98n3h+7LFydcwvi8n/cjn+ZeWGWe6aZrxdllizY4dT+/Z863t258q4c9EYQMAZYZYAxGRSKQ4ZzLWMMbkMigikt2GPLi7MADkWJY1Nnad2hrk9+67q2dq3/6Ojs2F2iYMN4GcRNzdrRNRb68tROD7jPP8CqkgIC7TDM+fIZVPNoWryscan/yilCMXTwUBL0o/YayZfh7OdKa50s1yWI5kU04obAAAsQYiIplMyygjz9kumlhDNHMNlOPYuVxmcnKs+NuPPfzgxCuv3XHHvYWZNl4h3Hiu6+7fP6iqaleXRkT9/bbvszDcUGFkSmYazqlo+IvCBCI7m8K04hkDVUFAQaAEgVJU8NwYa2b/wFqBucMAUE6INRARqqqFZz/Jdd3y3c2bjRMnphzHCecL27YllyPN+gnnfuSJyb/56/vue9h1Hc/Lz7axbVsehqBp2oED11RV7ejQiOjMGcf3WRAw38+f8h0mG8byD0UhuR2gQhQUBaAw04QfoWC6zinMyFHCL5BmvbtMar2wAYA6h1gDESGEUJRw4suM//gXrSfy5fThIAgcx77xhwz99JdeIXrk+Idr1qxraJhKpxtjsWQsFrdtyzBiuu5omn7o0JAQ2saNam+v5ftMCB4ESuATm5lpph/K9G5+UrgFTjhi9UkpR97K9M0ENTlbGIUNAJQNYg1EBOdCkWccTFcaN8sAjuN80qf23rmJiD7be7K9fU063ZRKNcTjSZlsDMN0XV3T3A8+GOnq0omor88WggnBeKDI5iY/g5hTeBh4WN7QzHATPqeZyaboFqhwT7OfLx8UNgBQu9itvwSgFsizDoo/MnO8Ztangr7PPX7zH/h617rXX//ns2dPX7788bVrV69fHxofHxkfvz4xMT41NZHJTO3fP3j48PXOTm39emFZnm17th3YNjkOOS45DrkueV7Rw80PP81J7oIj5x1zlh/Y4pwYL3yk0P2w5U82Jbd9+1MHdz9XtpfbsuvZvmd2le3lAKB6oK2BiBBCFE6AmjbdeUx/fHqDvlu68uM/foXo/oMfrFmzvqlpRUNDUzyejMUs244Zhq3rhq4bBw5c0zSto0Mlor4+m3OFczmbWJmOJnKRlEJKkN/Nb/oQzTkzinJDKVPeKIPCBgBqFNoaiAjO58zos+KLUpjXsoA5Koe23PN3renTp49fvHhuYODS8PDg6Ojw2Nj1iYmxycnxTGYyk5k6ePDa4cOjnZ3ahg2qZbmW5VqWl8v5uRzlcmRZZFlkO+S5081N8RO5CLzmVjktCAobACgDtDUQEYWDLeclCHwivqCf/+4d3UT0ub5TK1euamxsTibT8XjSNGOmGdN1QwhVVbX3378qhCrn3FC+vPGLyxuXE2f5HfzCh4xeAZFCM05mqCwUNgBQixBrICIUhc2cgXuzQwYWvaPdDztv63r9zY6OnubmlY2NzfF4KhaLaZqh67qmGZqmqaq2d+8lIVQhRGenJr+rv98uhBsmB6SKY03xu1WSaZYJlkQBwHJDrIGIYHIhdZ7cjXfu+CK3ulv50kuD27Yt4oV6P/tYL9GWQ0dXr16XTKaTyVQsljDNmGGYYb5RVU1VtX37LguhCpHf6qa315KxRlEUxsLHdKyZ9YRoRsopf9ZBYQMANQexBiLCdV25C1/xB+Ww1I2BQAi1uXnl4BJe7uD9dx8kIqLHTh5uaWlNJtOJRDock5IPTdNVVVNVddbglNTfb8utkBkjGXEURQnnFxdPK77xbSy2hEuvKBQ2ALCsEGsgIiYnxz1v9sbBBcW5RhFC1XUjnW4syeu+uWkjEd21b29b25rGxuZEIpVIpEwzZhgxXdd13QgHp9599yLngnPGGGeMywonJFOOnCBUOKaTKB9lpsOZjDtlizUobACgtiDWQEQMD1+zLMt1Hd/35YmQs75AHhclhBBC1TQ9Hk+U8NWPPfzgMSIievDwgdbW1clkOplMx2Jx04wbhqnrhq7rqqoJITgXjHEhxN69FxnLpxzOZ6Sc3l6reLF6vnJa1FDUV76ymIG2ZYXCBgCWD2INRMTJRx/ealtFR3AXjoskIiJFyacHIYQQQtN004wvx2Xsv/dOImr5m7/u6bmnpWWlzDdycEoITYaq8K28HM4F53zv3osy8TDGZg1X3eiWM57DNPPf/tsPVFX7uZ/79KLvaDkKmzInGwCoH4g1EB2WlXMcx3Vd35exJr+KuzBFN59sVFVVVc0wzOW7kqGf/tLbRER0x7t729vXptONsVhczimWA1KapsnZxEUpR5Wpi3P+1lvnFYUKA1FK0RMqzB9qnfN1wzTzX//ra/I2UylNCHX57rQmoLABqB+INRAd2WzGcey52hpFkamGMc7lIJSMNcu+/92JTz10Iv/Uv+/A2w0NzYlEUp4tZRimpulyWvGslMO5UG4Q5psbt+cJ08x/+S+vyEVYqZSmqmrYBi3xLlDYAECtQKyB6MhmpxzHdl2n0NaEI1D5XMM551wO/ai6bvS89eqpzzxatsv74IH7it7z7z/4TkNDc7g4XKYcVdU1TeOcK4rcX5DdPNbIQPPd735/zjQje6Clxxqq/bnDKGwA6gRiDURHJjNp25brukXjUGFboxQaGy6EUFVN0/TGxpYKXu2hLfcWvefff/DdxsZm04ybZkzOsCmYfi7vQFGUb37zu7/1W9uI6C/+4oeqqqZSWjgfWQjBuRpO2eGcM8ZPnpx88cXEjh1PV+pm54S5wwBQcog1EB0TE+O2bTmO43mu7/vFhQ1N9zWMc6Gqqqbpzc0rK3m5Mx3acs9cH/aJ/O433pw1Eec//+c//cu/fKswdSbfPxXqGSGjTNFbxvnCToqYU60XNgBQDxBrIDqGhwctK+e6tud5nucFgR8E/okTk5s3Gx9+mM0P6rDpNd4NDY137n3/+CNbK33ht3D68cdu/GAymZZpZtaKqnx2m4418rbLf9XzgsIGAEqrWv/aASzcx1/8gmXlZk2vkX2NnI9SPL3GNGOJRLq9fW2FL3pROp/f/cUv3h2LJWKxeCwWl7Nz5O44RXsca5rGhVCESmqJ1kLt2PH0nj3fLs3PAgBYBog1ECnhGm/P826YODw9b1jXdcOIxeOJpqZKTq9ZolgsTDMy0OiFff+EqiqqSkKQquYfw8PBiy9+q9KXPIft2586uPu5sr3cll3P9j2zq2wvBwBlhlgDkTI4eMVxbM+b3pQvXMUdhhpVVTXNMAwzFkukUg2fOnG6ste8aJomW5nw/HBVVVkYZYozjaqSpt36B84HChsAqGaINRAp++7qGRsbyeVyjuMUptcUbzTMOOdCaKqq6bpumrFEItXauqqy17xohZ5GVVU+K8oIQZo246HfYuPiSkJhAwClglgDUTMyMjQ1NWFZWTnJxvO848cne3oMRaHCdnz5lVC6bsZiiYaG5s4fvlHpq14MTeOzokxxNzMr02gaEZVmHAqFDQBULcQaiJqzZ3snJ8ez2WxhsbcciiKaUdioqqobhhGLxZPJdEdHT2WveRE6n999223KJ0UZmWPkQ1WJVf2/6ChsAKAkqv6vHcACffjpR65fH8pkJgvThx3f9+SnFCV/5mVY2BiGGY8nW1pab39nX2Uve3FukmlUlThf8Inf84TCBgCqE2INRNDg4JXJyfFcLmvnz/T2jh0b37RJJ6LCgZdCngSp60YsFm9oaNq4cVOlr3oxbuxmNO0T00wQkO9X6XooQmEDAKWAWAMR9FZPx/j4aCYzZdu5cNPh8LPh7jWapuu6YZqxdLqxtXXVYx+dreA1L05xphHiEwebfJ88L/8oFRQ2AFCFEGsgmkZGrk1NTYSFjYw1QRAoCjGmMMZEYeqwYcQSiXRjY8uaNevX/PPLlb7wBeh8freuKzdJM0FAvkeuO51pPLe8l7hAKGwAYIkQayCaLl++MDk5ns1m5MRh13WPHh2T41BE8sxLIQsb04zF44lUqqGlpfW++x6u8HWXQhDk6xnXJbco0LguuS6Nj5dsHGo5CpsyJxsAiBjEGoimI1u3jI6OZDJTljW7sKHCkqjCMm8jFosnEql0urG9fc2nP+yr9LUvUphm8oHGnRFoHJdchxyXHKeUL1rrQ1EobAAiBrEGImtkZLAwcVhuYOMeOzbR3a0piqIoipxeI2cN67opV3o3NrasW9dZ6QtfgM7ndxMpxVNnvKJA4xYCjePMeHLlSvVOHCYMRQHAEiDWQGS93rV+YmK0UNjYruvKld6ytpHJRgihqpphGKYZi8eT6XTjihXtPzkwVulrX5gZw0yFQJOPMs6MJ44T2LZv26WbOVz7hQ0ARAliDUTZhx8eKcwdzsjDvY8dG+/uVonyc4flEVGqml8SFY8nGxqaVq267cmzlyt97fPV+fxuVVVkoMnXM86NmSZwHN9xvPBBRChsQihsACIDsQai7IMH7rt06cLo6MjU1EQ2m5GdDU0XNlR0+KUuD79MJtNNTSvWr+984sylSl/+AnxCPRM4jm/bXvhYv17duFHr7NRPncqW8NVR2ABAlUCsgYj7p9XNg4NXxsZGM5mpXC5j29aRI6Pd3ZrvB0RK8VCUphmmGUskkg0NjStXtm/Y0PX5/o8rffnz5c5dz4QPL0wz8kFEp05lUdiEUNgARIOo9AUALLtz504nEinDMDVNE0LlXBCR7/uMMbnjC+c8yPPlGVKKwogUIgr6Tv2w87bKXv8tdT6/u+8Z5cqVwPdnP7q68id3l7aeudGOHU/v2fOt7dufWtZXAQC4ObQ1EH3v3rHp6tWLo6PDcpKNbVsffDCyaZPm+14QyIOiSO7OF25jI1dFtbau7ujoqZXdh4unzmzYoHZ0aF1dM+qZG6GwKYbCBiAC0NZAXThw4O1kMm2aMVXVhdCEEEeOjHZ1qf39XhAoiqIQkRCcSCU5NKUwJY+IyD1x+N07uit7CzfX+fzuvmem/3Ve7m5mTihsAKDi0NZAXbj8Yz924UL/yMjQ5ORYJjOZy2Vd1yEiz/OCQCEixohzuUGfZhimXBWVSqUbG1va2tbcfvu9Dx09WembuLWbdzOf9C0obEIobABqHWIN1Iu3ejoGBi6Njo5MTU1msxnLyn3wwUh3d34oivLJRlFVoaqqYZimGY/Hk6lUQ1NTS3v72rvueuDJs1W9Nqrz+d09PeYivrGEyQZLogCgshBroI6cOnV0aGhgYmI0k5nM5XK2bR89Ot7ZKXzfnyvZGLFYPB5Phcmmu/vOnx6aWvWP/1jp+6gvKGwAYP4Qa6COnPrMoxcvnr1+fXhycjyTmZR79B07Nt7RwcNkoyjEOakq1zSh63osFovHU6lUY3Pzivb2tRs2dD/xxE88dPTDSt/K3FDYAECdw5RhqC+vd60XfScZY4rCKD87WCEi13WJVEVRCku+SVG4UoQxVtiM2IzF4k0XzvzzmhWVvZf6sX37Uwf3PLdl17Plebktu57t272r8/nd5Xk5ACghtDVQd17dsPrMmY8GBy+PjY1MTIxlMpMHDlzr7tZd1/W8wPeJCp0N50zTVE3TY7FYIpFKpxsaG5tXrGhbvXp9d/ed28edVf/4T5W+m9miWtiUeSgKAGoUYg3Uo5fXrjx79vTg4NXR0ZHJyfFsdurgwWvd3Zrrur4fhKNRQhDniq7L0ah4PJ5KJhsaGpqbm1euWrV2w4buL37xS5/+sK/SdzPbopPNfHznO9W7bKqEMMMGoEYh1kCd+qfVLWfPnr527eroqOxspg4eHOrq0hzH9TySyYZIdjYy2aimacid+tLpxqamla2tq9et67jvvod/9nr2/oNHKno3pYHCBgBqHWIN1K9/XNV07lzvtWtXx8auT06Oh8nGdV3PI98PNyCWk4iZrquGoZtmLJFIpVINjY0tLS1tq1ev6+i4fevWx35mJHv3ewcrfU95y1fYfPnLT8/zK2t97jAKG4BahFgDde3v2xrOn++TnU1hNGqos1N1HNf3Sc6zISLOSQgSgjSNGYYWi5mytmloaGpubl21au1tt3V0dd3x6KNPfGk4c/s7+yp6T0uC3fmKIdkA1BzEGqh3L61MnT/fNzQ0MDaWTzaHDg13dqq27bouhQNSjIXJhjSNm6Yej8eSyXQ63dDUtGLFijYZbjZtuuvxx7/4peHMpjffrux9LesMm3mq9cIGAGoOYg0A/e2K5IUL/UNDA6OjI5OTE5lMmGwc1w3kgJQ8FJNz4lwmG0XOtkkkkqlUQ0NDUxhu1q3r7Om5+4knfuKnh6a633ir0je3YChsiqGwAagt2LcGgIjor5vjP/vxGUVRgiDwfc/z3P37B7u6NCI6e9YNAi5EfqqN3NhGPuGcCaHLk6R03TAMMxaLx+PJRCKVTjc2Nra0t699YHR4eHjw3Lnejx77dJlvqvP53X3PmBU59jKE8y8BoJzQ1gDk/VWjefLk4UuXzl+7dvX69eGJidF9+y4fPnx9wwbhOK7rkuvOqG0KA1JkGMw01Xg8lkwmUyk54WbFypXtq1fftn59Z3f3nffe+/CTT/7kL2WVH714reetdyt9o7eGwqYYChuAGoK2BmDay2tXbj34zubN97a15RzHdhzHdd2DB4c2blT7+mxVFUGghLUN5xQE+beeR55HqipUVWiaruuGYcRMMx6LJW07Z1lWLpfNZqey2Uxn5+atY9eHhwfPnj198tFHlvuOUNgAQF1BrAGY4f177nifnJ/tP7VmzXrHsRzH9jxn//6Bzk6NiM6d84hYEJAQFATEGDFGvj8dboQgz5PHLOi6rpum6bqu49i2bdu2ZVm5onxz+9axkdHRkUxmcnj42sH77670rc9w6lT2xRfNHTvmu5y7zHCcAgDMCbEGYA5/1Wj8i5MfbNjQvWKF5TiO47h7914yzdj69fzMGUfThEw2VDhmQVFmNzeeR6qqua7meYHrup7nzJVvMpaVtW3LsqxH7Fw2m8lkpjKZqYmJsZGRwcMP3r+4i79r3/5kMp1Mpg3D1DT9a1/71te+hsIGAOoCYg3A3L6/rv3BQ3t7eu62rJxtW67reF7xgBT3fSZEvqpR1U8MN56n+L7qearnBa7reZ7nOI7j2I5j27blOLbruq4rP+I4ju26jmXlLMv6tJ3LZDKWlQ2CIAh83/flP/JvCh8JAl/TDF3PPzRNE09uU1VVCFVVVc6FEIv81xyFTTEUNgA1AbEG4BPtv/fO/eR/qf/D1avzA1KO47z/fn5Aqr/fVlUuRD7cCJEPN3J8yvcp8MnzyffJ98jzZb4Rnic8T3Ndw3V913Vd1/V9z/M8z3M9z3Xd/FvHcVw3P7mHKJAofFaEKBBCxhfOuZAP+ZwxzjlnjL333uWHHlpMYVPCZIPCBgDKALEG4Bb+ujn+xMkPNmzYZFmWbVu2bb355lnTjHV0aER05owjBFdVRcYXLkhVSVXz4SafbwKSm9/MzDfkearn+b4f+D75fuD7geeFKSfMOp4MM0R0w9v8U8Z4mGA454xxxhhjTFHkPxnn0fw3HYUNAMwSzT92AKX12sY1t7/z2p13bmltbW9sbEkm0/F48q23zhmGuXGjSkRnzjiqylVVET75vpxYk29uiPL5RkYc+dnCW8X3ucw98lO+r8qIEwTk+4Hn+UHgF6cZmhlu5D9ZkXBzHUVRFEWRTxhTBgeDnh4FhQ0ARBtiDcC8nHz04ZNEW979QWfn7StXtjc2NieT6URChpuYDDdnzzqqyoVQhCDXzW9JHD6I8m+LQsx04il8UCl6S0HAfT9MM9MXEz6XTwo5RiaY/PosphAp+bXocl5zJKGwAYBiSsc38O8nwMI8ePh4R8fmlSvbGxqaU6l0PJ6MxeKGYT7wwEqaGW7CTCOjRphvZpHpJMw3JFNOYQCLAipEmxueEFFACiPOiLF8jsn/wIBIIYVIUUgpZB2ixRQ2RNTTU7K5wy++WPrCZs+eb5ct2Rzc/RxiDUDVQlsDsGD7771zP9FD772+cWPPypVtDQ3Ncljq7bcvGIa5YYNKRP39thBMCCaEkh+Q4hT45HnEpkNGnswi8i1RIbUUZxf5ZXM8m/HFQUAKzShpbrDIoagSqvWhKBQ2ANUMhycALNJ7d9/+Fwn2/vtv9fae/Pjjs1evXhwaunr9+tDbb59///2rHR3aunVi9Wo2NeVMTHiTk8FUhjJZsi1yXfJckseDywVTwQ35pbhiCR9K+CgKLvkv4/mpPFzky6FZmUYOcnneIm8WxykUw3EKAFULbQ3Akuy9c9NeokcPvL1+fdeKFW3pdFMsFjfN2GuvfaTrhqbpGzdq8ivPnCnqbwQJlXghjsiKhWbWNnN1LQtWPAtHdkW5HAobAIgszK0BKJlHjn+0Zs36xsaWVKohHk/EYgnTjOm6aRiGpulbt7bJL5P5hnPGuRLOvCmeXBweEr444UydcGKy7GlchxyXXDdYtYphhs3SYZINQBVCWwNQMnvv3EREFEw88s6B1avXNTW1JJMN8XgyHo+bZvzVV0/J0wzC/kY6e9bhXGFMYUwJg07x+qk5K5zid4MgvyOO/4kPuSmOv369Kr89CHCcAgBEEGINQOkV8s3kw4V8k0o1xONJ2d+8+uopXTeEUDnnnAs5xTh05owt843choZuGmimY00hvgRBIENMENCsn0xEBw9ecxzHti2iDYu4LxynUAxzhwGqEGINwDLad1cPERFNyXzT2LhCjk/J2kZVNSHEK698WHx+06wuZykOHrzmeb7ve77ve57rOPbg4FXbzmWzmRdf/OcdO1DYAEDUINYAlMO+uzYTEdHUQ+8caG9fE48nTTNuGKbMN5qma5qmaboQ6ssvHxMif1AlY5yIFEUpvC16Ov1Wkcdeep5XdLyU53nuwMBl+cRxHHmaZjabmZqamJgYGx0dXtyNoLAphsIGoNog1gCU1Xt3by48nSJr6r53Dq9Y0ZZIJOPxlGmahhGT66dk0OFcyDMQiAr/zD8peqYo8jApz3Nd18mfkuk68mHblm3btm1ZVi6Xyw4PD765aQPpRK0Nf/f87r5nUNgAQKQg1gBU0gcP3Ft46lEwSdnJrftONDevjMeT8XhCHlopD3eSRzsVnhR/kPm+b9u241i2beVyWfkYGxsZHb3+0WOPEhGpRCqjRJxaFjOlZhYUNsVQ2ABUFcQagOry/j13FJ66RO70JwKiuTbT6/jBD33fP/vkE6QQ6US6RmmNKE3UdsvX6lxsYYPzLwGgOmGXYYDa1v/5z5198olKX0V1wabDAHULsQagrnU+v7unx1zEN5bwOIUdO57es+fbJflRAFDnEGsAIIJQ2ADUJ8QagHoX1cKmzMkGAKoBYg0ALD7ZQAiFDUA1QKwBgMVDYQMAVQWxBgCIqqOwqfW5wyhsACoOsQYAlqSEhc1ywNxhgLqCWAMAeShsAKDWIdYAwFKhsCmGwgagghBrAGAaChsAqGmINQBQAihsiqGwAagUxBoAmAGFDQDULsQaACgNFDbFUNgAVARiDQDMhsIGAGoUYg0AlAwKm2IobADKD7EGAOYQ1fMvASDaEGsAoI6gsAGINsQaAJgbChsAqDmINQBQX1DYAEQYYg0AfKKoFjZlTjYAUDaINQBwM9WwqYVkYgAAEVBJREFU2LvWobABKBvEGgBYFihsAKD8EGsA4BaqobCp9bnDKGwAygOxBgCWC3bnK4ZkA1AGiDUAcGsobACgJiDWAMAyQmFTDIUNwHJDrAGAeanPwuZL20792i/ue+izg8UffOoXDvzaL+4r52UAwDwh1gDA8qrpwmYkk/jlra//hx/9i/AjP/Zj/f/zI69uu+PA4l4OhQ3AskKsAYD5qsPC5vVX1hy6uKHByDz1C/kc8+ufelmh4E/e/PGyXQMAzB9iDQAsu5oubHb+8XYvYDseeIOIfvFnjq5ITBy5su77L69f9MuhsAFYPog1ALAAUT1O4eb+6uhDpmp/7Ve/v/Oh14jol7/xP5Xz1QFg/hBrAABuUdj80f/z2XHL/InbDyb03N8cf3DpL4fCBmCZINYAwMLUZ2Hzwr4nA1I8n339z58o5+sCwIIg1gAAEN2qsLk41kREtidK9XIobACWA2INACxYVAsbnH8JUOsQawBgMaphsXetQ2EDUHIlK1QBAObj1Knsiy+aO3Y8vfQftWPH03v2fGv79qeW/qNCbx5643//8oyP/OZ3Xi7hzweAZaV0fGN3pa8BAGpV3zO7Tp3KLvS7enpKE2ukF18sZbL5X575l+Hz8gSag7uf63wef4cBSgODUABQbtW5O9//2PPt/1GYrPPY/Y+XraTBUBRACWEQCgAWr/P53X3PmIsobEpoiUNRYZT5+e1PEdGf0neJ6LE9pbo6ACgrxBoAqIASzrBZnL07fiCf/PxceWj79qcO7nluy65ny3MxW3Y927d7F4aiAJYOsQYAlqS2CpswzTzy4ueX+aIAoAIwtwYAKqPMM2z27vjB3h0/eOTFz8vHLb++zHvYYIYNQEmgrQGAparmwgb1DEBdQawBgIpZvhk2JUkzmGEDUHMQawCgBKqnsLntnzcSuhmAeoXt+ACgNBa3NR+VYne+7xTm6AREpd10mIj27Pl22Qobwu58AEuDtgYASmPRhc1ShqJkoPly4Xt3EJX8OAUAqCGINQBQe8J65svLv/MNZtgA1BAs8AaAkln0sd4LWuz9nRe/9eUdT8vHjZ/dsePpPYWNgwGg3iDWAECNKUNDMwv2sAGoFYg1AFBK5Slsbm45CpsyJxsAWBzEGgAosUUnGwihsAFYHMQaAKgWKGwAYIkQawCg9KqhsKn1ucMobAAWAbEGAKpImc+/XCjMHQaocog1ALAsUNgAQPkh1gBAdUFhUwyFDcCCINYAwHJBYQMAZYZYAwBVB4VNMRQ2APOHWAMAywiFDQCUE2INAFQjFDbFUNgAzBNiDQAsLxQ2AFA2iDUAUKVQ2BRDYQMwH4g1ALDsonr+JQBUG8QaAIBFQmEDUG0QawCgHKJa2OD8S4CqglgDAGVSDXOHax0KG4CbQ6wBgGqHwgYA5gmxBgDKpxoKm1qfO4zCBuAmEGsAoAZgsXcxJBuAT4JYAwBlhcIGAJYPYg0A1AYUNsVQ2ADMCbEGAMoNhQ0ALBPEGgCoGShsiqGwAbgRYg0AVAAKGwBYDog1AFBLUNgUQ2EDMAtiDQBUBgobACg5xBoAqDEobIqhsAEohlgDABUT1fMvAaBSEGsAAEoMhQ1ApSDWAEAlobABgBJCrAEAKD0UNgAVgVgDABUW1cKmzMkGAAixBgCqQTUs9q51KGwACLEGAGoaChsAKIZYAwBVoRoKm1qfO4zCBgCxBgBqG3bnK4ZkA3UOsQYAqgUKGwBYIsQaAKh5KGyKobCBeoZYAwBVBIUNACwFYg0ARAEKm2IobKBuIdYAQHVBYQMAi4ZYAwARgcKmGAobqE+INQBQdVDYAMDiINYAQHSgsCmGwgbqEGINAFSjqJ5/CQDLCrEGACCyUNhAvUGsAYAqFcnCBodfAiwrxBoAgChDYQN1BbEGAKoXChsAWBDEGgCoaljsvXQobKB+INYAQDRV+WLvMkOygTqBWAMA1Q6FDQDME2INAERW1RY2FZleg8IG6gFiDQDUABQ2ADAfiDUAEGVVW9hUBAobiDzEGgCoDShsAOCWEGsAIOKqs7Cp1O41KGwg2hBrAKBmoLABgJtDrAGA6KvOwqZSUNhAhCHWAEAtieRxCgBQKog1AAAAEBGINQBQY1DYAMAnQawBAACAiECsAYDag8IGAOaEWAMANakaFnsDQLVBrAGA+oLCBiDCEGsAoFZVQ2GDZANQVRBrAKDuYHc+gKhCrAGAGobCBgCKIdYAQD1CYQMQSYg1AFDbUNgAQAixBgDqFAobgOhBrAGAmofCBgAkxBoAqF8obAAiBrEGAKIAhQ0AEGINANQ5FDYAUYJYAwARgfMvAQCxBgAAACICsQYAogOFDUCdQ6wBAACAiECsAYBIQWEDUM8QawAgaqphsTcAVARiDQBAHgobgFqHWAMAEVQNhQ2SDUD5IdYAAEzD7nwANQ2xBgCiCYUNQB1CrAEAmAGFDUDtQqwBgMhCYQNQbxBrAABmQ2EDUKMQawAgylDYANQVxBoAgDmgsAGoRYg1ABBxOE4BoH4g1gAAAEBEINYAQPShsAGoE4g1AAAAEBGINQBQF1DYANQDxBoAqBfVsNgbAJYVYg0AwC2gsAGoFYg1AFBHqqGwQbIBWD6INQAAt4bd+QBqAmINANQXFDYAEYZYAwAwLyhsAKofYg0A1J0qKWwqewEAkYRYAwAwXyhsAKocYg0A1KNqKGyI6ODu5yp9CQCRglgDALAAKGwAqhliDQDUqWoobDqf343CBqCEEGsAABYGhQ1A1UKsAYD6VQ3nX6KwASghxBoAAACICMQaAKhrKGwAogSxBgAAACICsQYA6h0KG4DIQKwBAKiKxd4AsHSINQAAi4fCBqCqINYAABBVR2GDZAOwRIg1AABLgt35AKoHYg0AQB4KG4Bah1gD/397dxtbVWEGcPzYFqGCtojiG2RIK1TMhIFv080O0Yk4mc7pjIZIhkYzndVABmyiJhtK3YvW6TKdS5iYbWIYMwSdCIoSFBdFCgqy0YESQXlZofS+9PZe2IdCVytge3pL4dzfL/3Qnt57+nzoh3+ee+65QEdZ2MBhQtYA/J+FDRzRZA1AFljYwOFA1gB8joUNHLlkDUB2WNhAl5M1AK35OAU4QskaACAiZA3AfljYwJFI1gAAESFrAPbPwgaOOLIG4IAOhzd7A20nawCyz8IGuoSsATiYw2Fho2ygjWQNQKdwdz449GQNwJewsIEjhawB6CwWNnCIyRqAL2dhA0cEWQPQiSxs4FCSNQBtYmEDhz9ZA9C5LGzgkJE1AG0VbmGT3R2PhQ0cREFXDwAQTc01s2pVXSaTnjnz+PHj7+rakSDybGsA2qEtC5uyssKyssL336+rrq5dvnxbMhlPJhNLl37k4xSgs9nWAGRHc+5UV+/YvTudySQymUwmk85kMo2Njel0Y9eOB7nAtgagfVotbJp2M2VlhStX7njvve3vvLMlmYwnEolEIhGPx2Kx+vr6ulisLhbbNXv2Egsb6FS2NQBhtLh0Zue+rcze9Uw6nU6nG9PpxqZvGhsbGxtTqVRDKtXw+OPPzZz5AxfZQCeRNQDtVlpZtW5yxYoVtftebErvy5m9NdP0qlNzzaRSDalUKpmMJxKxSZOmz5z5s+zMUFUxomJqx08FkSFrAMIoraxaN7n30qUfZzLplouZprJpUTMNyWQikYjH47F4vL62dvumTR+XVlZ19fgQTbIGILx4vH5/NZNKpRoaGpKJRCyRiMXj8R07ttfWbl990QVB/77B2Wdm669b2EArsgYgpNLKqnWThzz//JKmjmn+SiRiTeuZurodtbXbVp5/TnDq8UFwRmfNoGxgH1kDEF5pZdW6yd984onZqVRDIhFv2s3U1++srd22fMSw4OTiIBjQ1TNCDvEGb4COuuOO6zdv3vjJJxtqaj58++3Fiwb2Wz5i2CH7697sDc1sawA6pOn633UPV+z9fuhZXT0R5C5ZA5AFXfvmJlfYQBMvQgEAESFrAKLAFTYQyBoAIDJkDUBEWNiArAEAIkLWAESHhQ05TtYAABEhawAixcKGXCZrAICIkDUAUWNhQ86SNQARpGzITbIGAIgIWQMQTRY25CBZAwBEhKwBiCwLG3KNrAEAIkLWAESZhQ05RdYAABEhawAizsKG3CFrAICIkDUA0WdhQ46QNQBARITJmqkjv9HqyLjhQ3947teyMQ8AncLChlwQJmv6FxctuHVcyyP3XVa+4b87sjQSAEAYYbLmR3Pn9y7sMan8wqYfF98+fs6q1a/WrM/qYABkmYUNkRfy2poHXnn9lvOGB0Fw/2XlBXl5U15cmNWpAADarSDc0+av+dflg0peu+3m04qOG/Twb1v+6vYLzuld2KPV41d/tvWF1WtDzghAlpRWVq2rqujqKaCzhH8n1F0vvNSvuKh606etjvft1fO0ouOavwafeMKE84YPO+3kjs0JQHaUVlZ19QjQWY4qmRHy//t311w5+MQ+/YuLbpsz77WaDQd62ONXjzmz7wmjnnom5IAAAG0Tclvz3bPKRpYMGPXUM8+8Wz199KgDPezW84eXD/yKpgEADoGQWTPt0ouffPvdIAh+seiNhnT611ddvt+HTbz4wmkvv9aWE15ScvpPvnXRF49P+cI9cgAA9itM1jz1/au21ccfXbKs6ceRT/5p7JDB3x5U0uphb915y3PVH/z9gw/bcs5Xa9bfOOyrzW8ab7L49vEn9eoVYkIAIAe1O2uuO3tI+cABo//4bMuDs6vf//nll7Q88txN122q23X/gjatapr8ZslbE1rcqnhS+YXHdu9+z7x/tHdCACA3hb9k+CDuu7T8qiGDzn3sD+194pxx1yfT6Zv+8rcgCFZPuuOBVxbPrv4g6+MBAJEU5kWolQ9O+/GUA972YOyQwTcNPztE0wRBcO2s2SP6nXr1WWWzbvjeik2fahoAoO3CZM2SXbsqeveeNvXu/f52+uhLXl67LvRAT/9z+fTRo0b0O+XGP88JfRIAIAeFucvw5j179uzZM6awsHjq3RMferTlr8YNH9qjW7cxZWeMKTuj1bNKKx9ry8l/9fqbN48YNnfVmhCDAQC5LEzWLAuCK1OpE7t3v+Dzx2umLJo1I5i1vLqDMzXuzuxqSHXwJABArgnzItTCGVVfv++h6rq6Dclk88GaKUsKCtyQGwDoMuE/E2puJnNSXt4N+64dLij4ZTq99KN7x2ZpMACA9gmfNc/OqNq6e/e1eXlBEKgZAKDL5R9/6RWhn5x85aWR+fnHLHhx3YMDty+YHwT9Tn9wRcdnenLZu29+tLHj5wEAckqYS4abzZ9Rdf1P77kiP//37Xzix9dOyivOO6bomIa6hlOefqgjMwAANAn/IlSTmx98pOdRR0058N35Wlk/9J5PbplcPLD46KOP3vnGTk0DAGRLh7Y1TdZnMuX5+UHmYI/5z4C7u43sVlhU2KuxV+zTWF26LrU0NfDfjx7sOQAA7ZGdz4RaeO/Ed9Lp64JnS2Zsb3m8prCi25XdepzSIz8/P7413vhq48DNUgYA6BRZ2NYEQbA2kzmnoCBI7/2xZm1FwZ0F3Uu79+nVJ7Y1FlsUO331I32y8pcAAA4ga5/gvfDeiek1awZvHNx9WPfCosLkjmRydXL35N0lY92jDwA4FLKzrblm28aiLVt69+7ds2/P+MZ44uFESXFVEASB29kAAIdKdrJm7gn9J3z2WUFBwbz35k1YVh0UZ+WsAADtkJ2sCYLgOy8suGHXlr8e2zdbJwQAaJeO3remJU0DAHShbGYNAEAXkjUAQETIGgAgImQNABARsgYAiAhZAwBEhKwBACJC1gAAESFrAICIkDUAQETIGgAgImQNABARsgYAiAhZAwBEhKwBACJC1gAAESFrAICIkDUAQETIGgAgImQNABARsgYAiAhZAwBExP8A4gPIpy0x7wMAAAAASUVORK5CYII=<Mask><Rect height="31" type="negative" width="23" x="433" y="245"/><Rect height="47" type="negative" width="57" x="8" y="441"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP4 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_005/verificationPoints/VP4
deleted file mode 100644 (file)
index 85adb46..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="31" type="negative" width="25" x="430" y="242"/><Rect height="39" type="negative" width="54" x="10" y="448"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index 8df2f16ef83f87d71c4b09bb157c12be3245c572..144e2918d34d53491cc16689a43465cc10352cae 100644 (file)
@@ -1,80 +1,98 @@
 def main():
-    #[project] NewGEOM
-    #[Scenario] Revolution_006
-    #[Topic] 'RevolutionCut by planes and offsets' functionality
-    #[Tested functionality] 
-    #[Summary description]
-    #[Expected results]
-    #[General comments]
-    
+    # [project] NewGEOM
+    # [Scenario] Revolution_006
+    # [Topic] 'RevolutionCut by planes and offsets' functionality
+    # [Tested functionality]
+    # [Summary description]
+    # [Expected results]
+    # [General comments]
+
     source(findFile("scripts", "common.py"))
-    
-    #[section] Application start
-    #[step] Launch SALOME
+
+    # [section] Application start
+    # [step] Launch SALOME
     startApplication("salome_run.sh")
 
     set_defaults()
-    
-    #[step] Open 'for_revolution_003.hdf'
+
+    # [step] Open 'for_revolution_003.hdf'
     open(DATA_PATH + "/for_revolution_003.hdf")
-    
-    #[step] Activate NewGeom
+
+    # [step] Activate NewGeom
     clickButton(waitForObject(":SALOME*.NewGeom_QToolButton"))
-    
+
     # [step] Activate Part_1
     waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)")
     clickItem(":Object browser_XGUI_DataTree", "Part\\_1 (Not loaded)", 71, 10, 0, Qt.LeftButton)
     openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1 (Not loaded)", 70, 9, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
-    
-    #[step] Fit all
+
+    # [step] Fit all [vp INIT]
     fit_all()
-    
-    #[step] Execute RevolutionFuse operation
+    test.vp("INIT")
+
+    # TODO(spo): remove: workaround for the bug given RevolutionCut sketch created when select axis_object then apply is disabled
+    waitForObjectItem(":Object browser_XGUI_DataTree", "Part\\_1.Sketch\\_1")
+    clickItem(":Object browser_XGUI_DataTree", "Part\\_1.Sketch\\_1", 10, 10, 0, Qt.LeftButton)
+    openItemContextMenu(waitForObject(":Object browser_XGUI_DataTree"), "Part\\_1.Sketch\\_1", 10, 10, 0)
+    activateItem(waitForObjectItem(":_QMenu", "Edit..."))
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    # [step] Execute RevolutionFuse operation
     mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
     mouseClick(waitForObjectItem(":_QMenu", "RevolutionCut"))
-    
-    #[step] Select sketch face
+
+    # [step] Select sketch face
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 287, 236, 0, Qt.LeftButton)
 
-    # [step] Create 2 circles
-    circle_create_in_view((650, 364), (671, 392))
-    circle_create_in_view((641, 114), (664, 141))
-    
-    #[step] Approve sketching
+    # [step] Click "Set plane view" in property panel [vp PLANE]
+    clickButton(waitForObject(":Sketcher plane.Set plane view_QPushButton"))
+    test.vp("PLANE")
+
+    # [step] Create 2 circles on the plane [vp CIRCLES]
+    activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
+    activateItem(waitForObjectItem(":Sketch_QMenu", "Circle"))
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 650, 350, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 690, 350, 0, Qt.LeftButton)
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
+    activateItem(waitForObjectItem(":Sketch_QMenu", "Circle"))
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 650, 110, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 700, 110, 0, Qt.LeftButton)
+    clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
+
+    test.vp("CIRCLES")
+
+    # [step] Approve sketching
     clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
-    
+
     # [step] Select axis for revolution
-    mouseClick(waitForObject(":Revolution_QLineEdit_3"), 103, 11, 0, Qt.LeftButton)
+    mouseClick(waitForObject(":Revolution_QLineEdit_3"), 10, 10, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 750, 237, 0, Qt.LeftButton)
-    
-    #[step] Select method 'by planes and offsets'
+
+    # [step] Select method 'by planes and offsets'
     clickButton(waitForObject(":Revolution_QToolButton_5"))
-    
-    #[step] Select face 'To'
-    mouseClick(waitForObject(":To_QLineEdit_4"), 82, 14, 0, Qt.LeftButton)
+
+    # [step] Select face 'To': front face
+    mouseClick(waitForObject(":To_QLineEdit_4"), 10, 10, 0, Qt.LeftButton)
     mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 334, 352, 0, Qt.LeftButton)
-    
-    #[step] Select face 'From'
+
+    # [step] Select face 'From': back face
     mouseClick(waitForObject(":From_QLineEdit_4"), 117, 10, 0, Qt.LeftButton)
-    type(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), "<Control>")
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 507, 436, -473, -110, 67108866, Qt.RightButton)
-    sendEvent("QMouseEvent", waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), QEvent.MouseButtonPress, 359, 293, Qt.LeftButton, 1, 0)
-    sendEvent("QMouseEvent", waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), QEvent.MouseButtonRelease, 359, 293, Qt.LeftButton, 0, 0)
-    
-    #[step] Ok
+    clickButton(waitForObject(":SALOME*.-OY_QToolButton"))
+    mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 334, 352, 0, Qt.LeftButton)
+
+    # [step] Apply the feature
     clickButton(waitForObject(":RevolutionCut.property_panel_ok_QToolButton"))
-    
-    #[step] Rotate the model
-    type(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), "<Control>")
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 85, 45, 376, 233, 67108866, Qt.RightButton)
-    mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), 202, 241, 75, -75, 67108866, Qt.RightButton)
 
-    #[step] Fit all
+    # [step] Click 'Reset view' toolbar button
+    clickButton(waitForObject(":SALOME*.Reset_QToolButton_2"))
+    mouseClick(waitForObject(":SALOME*_OCCViewer_ViewPort3d"), 10, 450, 0, Qt.LeftButton)  # close tool bar extension bar
+
+    # [check] Check that operation has been executed successfully
     fit_all()
-    
-    #[check] Check that operation has been executed successfully    
-    test.vp("VP1")
+    test.vp("REVOLUTION_CUT")
 
     # [step] Close application without saving
     close_application()
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/CIRCLES b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/CIRCLES
new file mode 100644 (file)
index 0000000..ad81c68
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="363" y="173"/>
+<Rect height="36" type="negative" width="32" x="490" y="307"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/INIT b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/INIT
new file mode 100644 (file)
index 0000000..627139e
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">iVBORw0KGgoAAAANSUhEUgAAAvIAAAHZCAIAAABrekhzAAAAA3NCSVQICAjb4U/gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAcJ0lEQVR4nO3dfZTddX0n8N+9MxMmPCbiulhBxdSSgoA8qBSQyABCfd5akDqLWmt33d2eRk4927Cn2yeloKuWWLeW2lMK9FJg63F3e3ZXqAwENNaHoFGgsBpxdxEqDxIikGTmzp3945fc3LnzdB++v+fX68y53Ekmd37DyRnefD7v33xr667eHAEAFF896wsAAAhDrAEASkKsAQBKQqwBAEpCrAEASkKsAQBKQqwBAEpCrAEASkKsAQBKQqwBAEpiNOsLoIR2bNq41G85rAOA5Ig1hBQHmssu+3fj46vHxw8eH1+9atWqsbEDb5dfPhkJNwAko+Y/MITyyrvuXrv2hQcffMj4+Orx8dUHHTTeEWjGRkfHRkdHR0ZGR0dHf+3X3hIJNwCEZlpDAMd+6Y61a4889MVHx0OadqCJRzWdgWZkZPRXf/UXoyhqNKYmJyci4QaAcExrGNaJ//CNI45YG09oxscPjmcz7TlNZ6AZHR19z3ve2GhMdf5x4QaAUMQaBvfzX966Zs2R4+OrV6+OazQHddZougLNe997YRRFXZmmTbgBYHhiDYP42Tu3rF175MEHH7p/63RQ19apM9C8730XRUsHmk6TkxP+QgIwMLGG/rz877+0Zs2Rhx12xP6t0+rOXvDY2KrOQNOu0fT++sY2AAxMrKEPr/rq1/fXaBa5eTuOMnGmGRkZfe97u2s0vRNuABiAWENP1t/zlTVrjow7NOPjq1etGo9nM3GyGRkZaweaFWs0vRNuAOiLWMMK1k3duXbtCw855NB4QjP/p9GsGhtr94LH+qrR9E7hBoAeiTUsaakzEK666nNxk6azRjMyMvae91wQNtC0GdsA0As/jo9FxIFm+ZuxP/vZz7djTait01LiVxZuAFieaQ3ddmza2OPN2O3nyQWaRT+vv7QALMq0hnl6zDTR/AlKmpy6AMBSTGs4oPdM0yXOGWnObCI7KQAWEGvYZ+BM0ybcAJCtetYXQHk0GlPtDVHKn3Spm7YAqBTTGqIoxKimk7ENAJlQGSa8zjZxauHGTeAAiDUkpZ0z0hzbCDcAVWYJReAN1EKZ7KQiP+EGoHpMa0hcJjupyE+4AagesYaUKNwAkDSxhlQp3ACQHN0aoiiK/vCYE1P+jAo3AAQn1pB4ZXgZfsINAAFZQpElhRsAAnJ4Atlz6gIAQZjWkBftZOMmcAAGI9aQI3ZSAAxDrCF33AQOwGB0a8ipeD2kcANA70xryC+nLgDQF7GGvFO4AaBHYg3FoHADwIp0aygShRsAlmFaQ8Eo3ACwFLGGQlK4AWAhSygKzKkLAHQyraHwnLoAQEysoQzspACIxBrKRLgBqDjdGspG4QagskxrKCeFG4AKEmsoLTspgKoRayg5py4AVIduDZXg1AWAKjCtoSqcugBQemIN1aJwA1BiYg1VpHADUEq6NVSXwg1AyZjWUGkKNwBlItaAwg1ASVhCwT5OXQAoOtMamMepCwDFJdZANzspgIISa2Bxwg1A4ejWwHIUbgAKxLQGVqZwA1AIYg30xE4KIP/EGuiDUxcA8ky3Bvrm1AWAfDKtgUE4dQEgh8QaGJzCDUCuiDUwLIUbgJzQrYEwFG4AMmdaA8Eo3ABkS6yBwBRuALJiCQWJcOoCQPpMayBBTl0ASJNYA8mykwJIjVgDaRBuAFKgWwPpUbgBSJRpDaRN4QYgIWINZMBOCiAJYg1kxqkLAGHp1kDGnLoAEIppDWTPqQsAQYg1kBcKNwBDsoSCfHETOMDATGsgj9wEDjAAsQZyyk4KoF9iDeSacAPQO90aKACFG4BemNZAYSjcACxPrIEisZMCWIZYA8Xj1AWARenWQFE5dQGgi2kNFJhTFwA6iTVQeAo3ADGxBkpC4QZAtwZKReEGqDLTGigbhRugssQaKCeFG6CCLKGgzJy6AFSKaQ2Un1MXgIoQa6AS7KSAKhBroEKEG6DcdGugchRugLIyrYGKUrgBykesgeqykwJKRqyBqnPqAlAaujVAFDl1ASgF0xpgH6cuAEUn1gDzKNwAxSXWAItQuAGKSLcGWJLCDVAspjXAchRugAIRa4CVKdwAhWAJBfTKqQtAzpnWAP1x6gKQW2IN0Dc7KSCfxBpgQMINkDe6NcBQFG6A/DCtAQJQuAHyQKwBwrCTAjIn1gAhOXUByJBuDRCeUxeATJjWAIlw6gKQPrEGSJDCDZAmsQZInMINkA7dGiAlCjdA0kxrgPQo3ACJEmuAtCncAAmxhAKy4dQFIDjTGiBLTl0AAhJrgIzZSQGhiDVALgg3wPB0a4AcUbgBhmFaA+SOwg0wGLEGyCM7KWAAYg2QX05dAPqiWwPknVMXgB6Z1gAF4NQFoBdiDVAYCjfA8iyhgIJxEziwFNMaoJDcBA4sJNYARWUnBXQRa4BiE26ANt0aoAwUboDItAYoE4UbqDixBigVOymoMrEGKCGnLkA16dYApeXUBaga0xqgzJy6AJUi1gDlp3ADFSHWAFWhcAOlp1sDVIvCDZSYaQ1QOQo3UFZiDVBRCjdQPpZQQKU5dQHKxLQGwKkLUBJiDUAU2UlBKYg1AAcIN1BoujUA3RRuoKBMawAWp3ADhSPWACzJTgqKRawBWIFTF6AodGsAeuLUBcg/0xqAXjl1AXJOrAHoj8IN5JZYAzAIhRvIId0agMEp3ECumNYADEXhBvJDrAEIQOEG8sASCiAYpy5AtkxrAAJz6gJkRawBCM9OCjIh1gAkRbiBlOnWACRL4QZSY1oDkAaFG0iBWAOQEjspSJpYA5Aqpy5AcnRrADLg1AVIgmkNQDacugDBiTUAWVK4gYDEGoDsKdxAELo1AHmhcANDMq0ByBGFGxiGWAOQOwo3MBhLKICccuoC9Mu0BiDXnLoAvRNrAPLOTgp6JNYAFINwAyvSrQEoEoUbWIZpDUDxKNzAosQagEKyk4KFxBqAAnPqAnTSrQEoPKcuQMy0BqAMnLoAkVgDUCYKN1ScJRRA2bgJnMoyrQEoJzeBU0FiDUBp2UlRNWINQMkJN1SHbg1AJSjcUAWmNQAVonBDuYk1ANViJ0WJiTUAVeTUBUpJtwagupy6QMmY1gBUmlMXKBOxBgCFG0pCrAFgH4Ubik63BoB5FG4oLtMaALplspOanJy4+eYtl166ITK2YVBiDTCsX3n3eX9z0x1ZXwXhpRZu4k9x66331OsjX/jC1+r1kbe//XTJhgGINcBQTj5jay3rayBRiRZu4kBzyy33jIzU6/WRkZGR+PGLX7zvooteJdnQL7EGGMpTO19/9713RdFs1hdCsoKfurA/0Ny9P80ciDX1er1er99xx0PnnXecZENfxBoAehJwJxXXaDrGM+1MU6/V6m1btvxgw4ZXRKo29EysAaAPQ4abzhpNe+UUj2riKNOONfGTrVsfOfPMo4N/FZSVWANA3wYo3LS3Tvs3TZ2jmu40035Sq9W+9rXHXve6FxvY0AuxBhjc0etHsr4EstRj4Sb+mJtvvrurF9ye0CyaZuKHWq1Wq9W++c3HTz/9RZINKxJrgACOXj/yyINaw1W04k5qfo2m3rl4WjihiZ/X9mmHm1qtVv/Wt35yyikvkGxYnlgDwLAW3Ul11mjm94IXrdHU5mea2oLn0fbtO08+eY1kwzLEGgDCaO+kYh03bx8Y1XQNZjpjzdKZphZFtVotqtVq3/nOrpNOOlyyYSnOhAIG98iDsxtOO+eRB2dtoIjFRzvFz0dHx8bGxvY/jo6Ojo2MjLbf6vXRkZHO4c2Bnk1X52Z+uPHTH1mOWEO07urNKZ9pB5RbHG7e+c5fGB0d60gzC412LqQ6Bzn1+rxpTaf77nvWiZgsRawBIBGNxtRb3nLK6OjoUrFm4XimVqvXaiNLBZq2++9/TrJhUbo1ACSl0Zh64xuPj6Lorrt2dJRpVq7RxPum/U8i6yd6JNYAkKC4avOGN6z7ylf+bzvBzN8x1RcEmqidYzofO91//3MnnHCI7jBdLKGIIvUaIGGNxtRZZ720vXLqaNKMLFOj6RjhQE/EGgDS0GhMnXHGz8y/y2nlGs1SrzY3N6c7zEKWUACkp3M207liWriEWuoV5ubm2o/QxbSGfeyhgKQ1GlOnnfbCBT9NuFar1feXafY9LvUKc3NzUTTXfty+/RkDGzqJNQCkp9GYevWr1w62dZqba83N04oiMxvmEWsASFWjMXXyyUf0GWiWlOaVk39iDQfYQwHpaDSmTjzx8B5udFo+0sy1Wq1t2560h6JNZRiAbCx/5/b+Ak3U8dj5pHMVBfuY1jCPgQ2QjkZj6oQTDln0t1ac0HSYbbXEGg4QawDIi8700hVmOp60urLN1q2P2EMRE2voZmADpGP+wGZu/9Zp+SHNbPyPubnW3Ny+57Ozs1l+GeSJWANAZuJk05Vg5kec7pXTgXdm40jTnJ1tZv11kBdiDYswsAHS1HOTpjPTzJP1V0BeiDUsTrIB0tFoTJ144mFLBJrZjibNbEekac7ONlutZvxkdrZ52233qdcQucEbgDzYt32aN7jpbg23WnNxq6Zdr+kc32T9FZALpjUsycAGSM3yK6f9S6fmgrfZ2dlmsznTbM5k/RWQC2INy5FsgBTEB0W172zqagd3dmg632s2Z5vNmZmZmfgx6y+CXBBrWIFkA6Rj/23bXUOartnMbOeEJs40pjW06dawsjjZNBpTWV8IUGatVquzRtOZbzr7NPtnNvvmOK3W7LvedU7W105emNbQEzMbIFGNxtRrX3vU/BrNQs32yil+vPjis971rnMajSn/30XMtIY+mNkAiZqdnV14o9PcXKtzNhOPai655OwoinxHootYQ6/WXb05kmyAJC0aa9qBpv146aUbfCNiUZZQ9Mc2CkhIozG1YcOxnR3hzl5w/HjxxWfLNCzDtIa+aRADyYnLwPtnMwdGNZdc8vrI1omViDUMoj2z8S0GCCsuC7djTfzchIYeiTUMSNUGSMLMzExHjaZ16aXnRP4Pip6JNQzF2AYIq9ncF2vin0bjewt9EWsYVntsE/kGBAyt2ZxRo2FgYg1hCDdAEJdc8nrfQxiYWENICjfAkHz3YBh+bg3hxYUbP94GgJSZ1pAIOykA0ifWkCDhBoA0iTUkTuEGgHTo1pAShRsAkmZaQ3rspABIlFhD2oQbABIi1pANhRsAgtOtIUsKNwAEZFpDxuykAAhFrCEX7KQAGJ4lFDliJwXAMExryBc7KQAGJtaQR8INAAMQa8gvhRsA+qJbQ94p3ADQI9MaCsBOCoBeiDUUhnADwPLEGgpG4QaApejWUEgKNwAsZFpDUdlJAdBFrKHY7KQAaLOEogzspACITGsoDTspAMQaSkW4AagysYYSUrgBqCbdGkpL4QagakxrKDM7KYBKEWsoP+EGoCLEGqpC4Qag9HRrqBaFG4ASM62hcuykwmo07nz35MRN/k0COSDWUFHCTUA3NabePTkRP8n6WoBKE2uoNIWbUOJAY2wDZEu3BhRugonHNu/2bxLIiGkNRJGdVDjtsU1kJwWkTqyBA+ykQhFugExYQkE3O6lQbmpMtdvEACkwrYFF2EkF5D4pIDViDSxJuAnFTgpIh1gDK1C4CUW4AZKmWwM9UbgJReEGSI5pDfTKTioghRsgCWIN9Ee4CcVOCghOrIFBKNyEItwAAenWwOAUbkJRuAGCMK2BodhJBaRwAwxJrIEAhJtQ7KSAYYg1EIzCTSjtcCPZAH3RrYHAFG5CiXdSCjdA70xrIDw7qVDspIC+iDWQFDupUIQboEeWUJAsO6lQ3AQOrMi0BhJnJxWQm8CBZYg1kBLhJhQ7KWApYg2kSuEmFOEGWEi3BjKgcBOKwg3QybQGsmEnFZDCDRATayBLwk0odlJAJNZAHijchOLUBag43RrIC4WbUJy6AJVlWgM5YicVip0UVJNYA7kj3IQi3EDViDWQUwo3oSjcQHWINZBrceEmMrYZWvsm8Lu3bYmi6JEHZ7O+IiA8sQbyzk4qlJsaU0evH4mfx0+EGygZd0JBMay7enN7ckMo7ZQDlINYA0XiJvAhPfLgbNeERrKBMrGEgoKxkxpeO9nEmebo9SO2UVAOYg0UknATRDvNvOC0y3+y7Y+zvRhgeGINFJibwEORaaAcdGug8BRuAGKmNVAGdlIAkVgDZSLcABUn1kDZKNwAlaVbA+WkcANUkGkNlJadFFA1Yg2UnJ0UUB2WUFAJdlJAFZjWQFXYSQGlJ9ZAtQg3QImJNVBFCjdAKenWQHUp3AAlY1oDlWYnBZSJWAMIN0BJiDXAPgo3QNHp1gDzKNwAxWVaA3SzkwIKSqwBFifcAIUj1gDLUbgBCkS3BliZwg1QCKY1QE/spID8E2uAPthJAXlmCQX0zU4KyCfTGmAQdlJADok1wOCEGyBXxBpgWAo3QE7o1gBhKNwAmTOtAYKxkwKyJdYAgQk3QFbEGiARCjdA+nRrgAQp3ABpMq0BkmUnBaRGrAHSINwAKRBrgPQo3ACJ0q0B0qZwAyTEtAbIgJ0UkASxBsiMnRQQliUUkDE7KSAU0xoge3ZSQBBiDZAXwg0wJLEGyBeFG2BgujVAHincAAMwrQFyyk4K6JdYA+SacAP0TqwBCkDhBuiFbg1QGAo3wPJMa4AisZMCliHWAMUj3ACLEmuAolK4Abro1gDFpnADtJnWAIVnJwXExBqgJOykAEsooFTspKDKTGuAsrGTgsoSa4ByEm6ggsQaoMwUbqBSdGuA8lO4gYowrQEqwU4KqkCsASpEuIFyE2uAylG4gbLSrQEqSuEGyse0BqguOykoGbEGqDo7KSgNSyiAKLKTglIwrQHYx04Kik6sAZhHuIHiEmsAFqFwA0WkWwOwJIUbKBbTGoDl2ElBgYg1ACsTbqAQxBqAXincQM7p1gD0R+EGcsu0BqBvdlKQT2INwICEG8gbsQZgKAo3kB+6NQABKNxAHpjWAIRhJwWZE2sAQrKTggxZQgGEZycFmTCtAUiEnRSkT6wBSJBwA2kSawASp3AD6dCtAUiJwg0kzbQGID12UpAosQYgbcINJESsAciGwg0Ep1sDkCWFGwjItAYgY3ZSEEqYWPPBM05fu3q86xcf+PET/+2Bh4K8PkDpCTcwvDCx5kWHHvKiQw9pv3voqlVnH/vSG+/dLtYA9EXhBoYRJtb84Ze2dL77mXe86f88vfMP/n7LUh8PwDLiwk1kbAN9Ct+t+fXXnbrhFS878VOfDf7KANVhJwUDCB9rfuucMzf9zy8Ff1mACrKTgr4EvsH7q7/xgVu23/9f738w7MsCVJmbwKFHIac1t0xe/Oiun/7e7XcGfE0AIjsp6E2wWPO75294xZFrXvPpz4V6QQC6CDewvDCx5m3HHzd56knHffxPgrwaAMtQuIGlhOnWXHnRxG0Pfb/HD55Yd+y/f8NZC39907lnB7kYgCpQuIGFAkxrLjv15PGxsTetf+Wb1r+y67d+9mOfXvjxUzse/tRbL2zNzX1iy9b2L971wfd960f/NPzFAFSHnRR0CRBrbrx3+433bu/rj3zqnq9ece7Z7Vjz4Q1nHnbQQZf/3ReHvxiAqhFuoC2bE7xv2Lb9gR8/0fiVX4rfff9rTvnYXV/O5EoAymHd1ZvbP5sYKitMrHn8yn/T7x955423nnb0z7zjhPU3XvpL3370n27dfn+QKwGoMoUbKi7MnVD1+tgAf+ovvn7vlRedV6tFx3/iPwe5DADspKiyANOaHZuejaLoB1cc2e8f/MSWra25ub/9zgPDXwMAneykqKYA05pa7ewoikZGTo+i2/r9szOt2Z/unR7+GgBYqCIngUtvtAWINSMj/zyKotHRI4Z/KQDCKv1OanJy4vrrb5+dbb7//W/K+lrIXoBY87KP3vbwf2i1Wp+LopcP/2oABFfKcBN/Oddd97+mp/fOzjazvhxyIeRRlwDkWWlOXYgDzV/91Rebzeb09N5msynWEMs41px6zbXZXgBA1RS6cBNf+fXX39YZaJrNmcsv/5dxaKPiEo81O47dGEVR9EwUjUTrnvB3DiB7Bd1JTU5O3HDD7fMDTXNmZnpmxq0n7JP8tGYkqh9fb323FX0nig5L/LMB0KMChZvOGk070DSbM9PT02INnRKMNTuijfU31+sj9daWVvSCaN1hRjUAuZPzwk27RjM724yrwXGgmZmZnpmJH6f/6I8+bANFLJFYs+MfN9b+Va2+tt76XmvdP26Ooih6JonPA0AYOSzctGs0caDp2jrFb9PT03v2PJ/1lZIj4WPND076UP1t9bkfzx373/84+IsDkJBc7aQWrdF0bp1mZqb37Nm9Z8/z1177caMa2kLGmh0v3Vh/db22p9b669a6w/0lAyiezMPNUjWajiHNzJ49u+O36667RqahU4BYs/lV68566sUPP3zZ6eObW99srXt0c3T4ch9/xblnX3Xnlzt/5bJTTx4bqf/lN741/MUAMLwMCzcLajTztk579+6NhzS7dz9/001/JtPQJcBRl8ccc8yaNWuOOuqo3z++te7Rlf+GHbPmiNt//bLOX/ndCzb88Cc7h78SAAKKCzcpn7g0Pb23/bZ37+7du5/f//bcs8/u2rVr565dTz/xxGMyDYsKEGu2bNmybdu2bS95yS/X69dd8aEVP/7ffuF/rF09/uENZ8bv3vXB933+uw9M7Xh4+CsBIKz2SeCphZv9gWZPnGb27Hluz57nnnsuDjQ7n3rq8R/96If3n3mGTMOiamH/Zlx3xYdeWKv9YG5u41XXLPNhb/75n/vkW964/j995vcu2HDBK9ed/ad/GfAaAEjCjk0bk95JTU5OfPKTN87fOu2Jt07PPffs008/uWPi3EQvgKILHGuiKLps08Z31OuroujrrdZHln7xT7/9F0886kUvOeLwn/v4n4S9AAASsmPTxijJKvHk5MRHP/pncS94ejoONLt3737+6aefeuicsxL6pJRJ+FgTu3LTxpPq9d1RdGur9bdLfIrv/fZvfvtHj1381/8liQsAICHJhZvJyYnf+Z1PTU/vu3l7z57dzzzz9H2/8Nrgn4iySirWxD5zxYdeVqsdd+ihD+/efeFHPtH5W3/6L9583D878pg1R/zrz//dnTt+mNw1AJCE4OFmcnJi06aPt2/e/ulPn9m586kfXnB+qNenCgJUhpfxG1dds2bVqudbrXUHH7z1Dza1f/3tJ6w/d93Lz/vzG27Ytv3Ki85L9BoASEK7TRzwNeNe8M6dTz322P/79mtOkWnoV7KxJoqi1//+x2559tmbd+16embm5v33Sf3H88+59mvboij66B137202P/nWC5O+DACSEOo+qcnJiQ984Ld27dr5+OOPfuPVr/r+uRuCXB5Vk/wJ3lF01fw915//8luffPb5a+75h/jdc6+9/nu//Zu3PfT92//3jhQuBoCwQv1g4ief/PF3z3hNsMuiktKINZ0uPun4Da94+XHz7366dft9H7lwQqwBKK5hws3k5MT5579NpmF4yVaGAaigvtrEk5MT/ktEKGlPawAovR4nN/EHyDQEJNYAkIjOcLPMB0BAllAAQEkkfoM3AEA6xBoAoCTEGgCgJMQaAKAkxBoAoCTEGgCgJMQaAKAkxBoAoCTEGgCgJMQaAKAk/j8Vyg0oWaaQSgAAAABJRU5ErkJggg==<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="352" y="198"/>
+<Rect height="36" type="negative" width="32" x="416" y="308"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/PLANE b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/PLANE
new file mode 100644 (file)
index 0000000..e11416a
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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AELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGoD5YfTY6Oix0V6vAvraQK8XAEATppfNmtVrerIS6EOyBmB+qwsdlcNCZhMKIIemYYEzrQGYr0QM1JE1APODiIE52YQCAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAghKwBAELIGgAgxLmsGdq9r1Kp9HApAABNqVQqQ7v31X6a1gAAIWQNABBC1gAAIWQNABBC1gAAIaZkjZehAID5ou41qMK0BgCIIWsAgBCyBgAIUZ81Hq8BAPrf9AdrCtMaACDGDFljYAMA9LMZRzWFaQ0AEGPmrDGwAQD60/lGNYVpDQAQ47xZY2ADAPSbWUY1hWkNABBjtqwxsAEA+sfso5pizmmNsgEA+sGcTVM0sgmlbACA3mqkaQrP1gAAMRrKGgMbAKBXGhzVFI1Pa5QNANB9jTdN0dQmlLIBALqpqaYpimKgqavXyqZarTa3LgCAhk30RlNNUzSbNbUbVCoVZQMAdEKzQ5qaFt+EsiEFAHRCy01TtDCtqbEhBQCUqLWNp8laz5pi0oZUIW4AgFa1HzRnr9P+JSZsv7iyZcuWpUuXlnI1AGAhKCtoJrQ1ral5z8oVd2x+14o994+NbC9MbgCAuZQbNBPKyZpdm2589OlniqnbUoW+AQCmqkVCuUFz9uLtX3Tr6lX3bBie8bWourelVA4ALDR1MdCJmjl3r45evc7EFhUAkKparXazY+p0NWsAADqnxc/x1Tl976dKuQ4AQMvKyRoAgJ4rIWvGRv5cFMUfd17W/qUAAFpWQtZUKhuKoqhUlrV/KQCAlpWQNVd+6eSiRZXx8UPtXwoAoGWerQEAQsgaACBEaVmzefPyz6y9YfrxkXXvKOsWAACzKC1rDh06+ZG3vnnH8PWTDx6+/dbLLrlkznN3TkufratXbbvumrLWBgAsBGVuQt33xC8+PqlFdgxf/6qLLrrrez+c88Q3LFn82Ce3Tj5yz4bhU39/ocS1AQDxysya/UePn/jr89/ecsvEz23XXfPlwz9r5MQ7HnrkNa9cVJv0HL791u8+eeInY38qcW0AQLySHxl+/4GDb7vi8vddfdWBD9/ym2dPHzz++wZP/PyPjnzi7auLovjchuGBCy4Y+f7j5S4MAIg3UPoVv/nrY7s2ra9UipV7v974WY88dXLj8qGf3vax1y9+9fI995e+KgAgXvkveO898vPxavU7vz3R7Il3PvyDK5YsPv7s6dKXBAAsBB35bs1/x//3rxdfavasb9z87r/844VVl79u3dBgBxYFAITrl8/xvffqq9YNDa5/cP/+o8d3bVrf6+UAAPNPv2TN3e9c88CvjhZF8YUfj7748stfuWljr1cEAMwzJTwyvHfFG2946p/PPXfzQ6tWTRx5xW0ffdORx7eOjMz4/w9deOHz1eq2L361duTBD9z0t3+f+doTv5z4ue6Bb/3hs3c++vQzj50ca395AMACUULWDA4OLlmypCiKkUsvPXto2bJri+La2s+pXjpz5rXj40fu3vGf8fGNu+774FtWDl85uGLq208Hj//u3o03yhoAoHGVod372rzE9osra9euPXXq1F0nGvqA3p6dnz5QrT7Z9n0BACYrIWsAAPpBvzwyDADQJlkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBACFkDAISQNQBAiP8D0NP+uJz7BhAAAAAASUVORK5CYII=<Mask>
+<Rect height="57" type="negative" width="47" x="10" y="411"/>
+<Rect height="30" type="negative" width="31" x="363" y="175"/>
+<Rect height="36" type="negative" width="32" x="491" y="302"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/REVOLUTION_CUT b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/REVOLUTION_CUT
new file mode 100644 (file)
index 0000000..8071194
--- /dev/null
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<VerificationPoint type="Screenshot" version="4">
+<Description/>
+<Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask>
+<Rect height="33" type="negative" width="31" x="358" y="194"/>
+<Rect height="56" type="negative" width="49" x="14" y="413"/>
+<Rect height="28" type="negative" width="32" x="421" y="318"/>
+</Mask>
+<Algorithm description="Strict mode" name="strict"/>
+</Verification>
+</VerificationPoint>
diff --git a/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/VP1 b/test.squish/suite_FEATURE_REVOLUTION/tst_revolution_006/verificationPoints/VP1
deleted file mode 100644 (file)
index dc563e6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><VerificationPoint type="Screenshot" version="4"><Description/><Verification object=":SALOME*.3D View Operations_OCCViewer_ViewPort3d" type="PNG">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<Mask><Rect height="33" type="negative" width="31" x="283" y="171"/><Rect height="49" type="negative" width="56" x="5" y="460"/></Mask><Algorithm description="Strict mode" name="strict"/></Verification></VerificationPoint>
\ No newline at end of file
index 5e486755f7e7809015e859064387399efdfd3cfd..831e98e974703776830c896c93e5a420d59999de 100644 (file)
@@ -14,7 +14,7 @@ def main():
     set_defaults()
     
     activate_newgeom()
-    
+
     sketch_create(help_points("XY_plane"), lambda: sketch_circle())
     sketch_create(help_points("XY_plane"), lambda: sketch_lines())
     test.vp("VP_SKETCHES")
index 2382e05d723a0029e2191ae98c3b20cb13b70add..41dda7783cca112d69ac5f439cc177c1351c282d 100644 (file)
@@ -96,13 +96,13 @@ def main():
     test.compare(False, findMenuItem(waitForObject(":_QMenu"), "Activate").enabled, "Activate is disabled on active Part")
 
     #[step] Deactivate part by context menu on PartSet 
-    openContextMenu(waitForObject(":Object browser_QLineEdit"), 10, 10, 0)
+    openContextMenu(waitForObject(":Object browser.Part set_XGUI_ActiveDocLbl"), 10, 10, 0)
     activateItem(waitForObjectItem(":_QMenu", "Activate"))
     
     checkPartDeactivatedState("Part deactivation by context menu on PartSet")
 
     #[step] Check that Activate is disabled in PartSet context menu  
-    openContextMenu(waitForObject(":Object browser_QLineEdit"), 10, 10, 0)
+    openContextMenu(waitForObject(":Object browser.Part set_XGUI_ActiveDocLbl"), 10, 10, 0)
     test.compare(False, findMenuItem(waitForObject(":_QMenu"), "Activate").enabled, "Activate is disabled on active PartSet")
 
     #[step] Activate part by context menu on Part
index 6efa84ba3d0c802fc7dde6ea2a1b4d3c62a3e8e5..f62ab8adc369138b85efe31481fb107bbddb52dd 100755 (executable)
@@ -54,7 +54,7 @@ TESTCASES="${TESTCASES} --testcase tst_common_1"
 TESTCASES="${TESTCASES} --testcase tst_crash_1"
 TESTCASES="${TESTCASES} --testcase tst_DISTANCE"
 TESTCASES="${TESTCASES} --testcase tst_RADIUS"
-squishrunner-run suite_STANDALONE "${TESTCASES}"
+#squishrunner-run suite_STANDALONE "${TESTCASES}"
 
 TESTCASES=""
 TESTCASES="${TESTCASES} --testcase tst_679"
@@ -75,34 +75,34 @@ TESTCASES=""
 #squishrunner-run suite_ISSUES_SALOME "${TESTCASES}"
 
 TESTCASES=""
-#TESTCASES="${TESTCASES} --testcase tst_boolean_001"
-#TESTCASES="${TESTCASES} --testcase tst_boolean_002"
-#TESTCASES="${TESTCASES} --testcase tst_boolean_003"
-#squishrunner-run suite_FEATURE_BOOLEAN "${TESTCASES}"
+TESTCASES="${TESTCASES} --testcase tst_boolean_001"
+TESTCASES="${TESTCASES} --testcase tst_boolean_002"
+TESTCASES="${TESTCASES} --testcase tst_boolean_003"
+squishrunner-run suite_FEATURE_BOOLEAN "${TESTCASES}"
 
 TESTCASES=""
-#TESTCASES="${TESTCASES} --testcase tst_construction_001"
-#squishrunner-run suite_FEATURE_CONSTRUCTION "${TESTCASES}"
+TESTCASES="${TESTCASES} --testcase tst_construction_001"
+squishrunner-run suite_FEATURE_CONSTRUCTION "${TESTCASES}"
 
 TESTCASES=""
 TESTCASES="${TESTCASES} --testcase tst_extrusion_001"
-#TESTCASES="${TESTCASES} --testcase tst_extrusion_002"
-#TESTCASES="${TESTCASES} --testcase tst_extrusion_003"
-#TESTCASES="${TESTCASES} --testcase tst_extrusion_004"
-#TESTCASES="${TESTCASES} --testcase tst_extrusion_006"
-#squishrunner-run suite_FEATURE_EXTRUSION "${TESTCASES}"
+TESTCASES="${TESTCASES} --testcase tst_extrusion_002"
+TESTCASES="${TESTCASES} --testcase tst_extrusion_003"
+TESTCASES="${TESTCASES} --testcase tst_extrusion_004"
+TESTCASES="${TESTCASES} --testcase tst_extrusion_006"
+squishrunner-run suite_FEATURE_EXTRUSION "${TESTCASES}"
 
 TESTCASES=""
-#TESTCASES="${TESTCASES} --testcase tst_partition_001"
-#squishrunner-run suite_FEATURE_PARTITION "${TESTCASES}"
+TESTCASES="${TESTCASES} --testcase tst_partition_001"
+squishrunner-run suite_FEATURE_PARTITION "${TESTCASES}"
 
 TESTCASES=""
-#TESTCASES="${TESTCASES} --testcase tst_revolution_001"
-#TESTCASES="${TESTCASES} --testcase tst_revolution_003"
-#TESTCASES="${TESTCASES} --testcase tst_revolution_004"
-#TESTCASES="${TESTCASES} --testcase tst_revolution_005"
-#TESTCASES="${TESTCASES} --testcase tst_revolution_006"
-#squishrunner-run suite_FEATURE_REVOLUTION "${TESTCASES}"
+TESTCASES="${TESTCASES} --testcase tst_revolution_001"
+TESTCASES="${TESTCASES} --testcase tst_revolution_003"
+TESTCASES="${TESTCASES} --testcase tst_revolution_004"
+TESTCASES="${TESTCASES} --testcase tst_revolution_005"
+TESTCASES="${TESTCASES} --testcase tst_revolution_006"
+squishrunner-run suite_FEATURE_REVOLUTION "${TESTCASES}"
 
 TESTCASES=""
 #TESTCASES="${TESTCASES} --testcase tst_sketch_001"