1 # Copyright (C) 2014-2019 CEA/DEN, EDF R&D
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
24 testSettings.logScreenshotOnError = True
25 testSettings.logScreenshotOnFail = True
26 # RESULTS_PATH = "/dn48/SHAPER/eso/sources/test.squish/shared/testresults/"
27 DATA_PATH = os.getenv('TEST_DATA_DIR')
28 TMP_DIR = os.path.join(DATA_PATH, 'tmp')
30 g_points = {"XY_plane": (332, 250), "XZ_plane": (355, 207)} # one of the construction planes
31 def help_points(name):
34 #---------------------------------------------------------------------------------------------
36 def findMenuItem(menuObject, item):
37 for child in object.children(menuObject):
38 if child.text == item:
42 #---------------------------------------------------------------------------------------------
43 # Tools for Property Panel
44 def getPropertyPanelRealName():
45 return "{name='property_panel_dock' type='XGUI_PropertyPanel' visible='1' window=':SALOME*_STD_TabDesktop'}"
47 def getSpinBoxRealName(name):
48 return "{container=%s name='%s' type='ModuleBase_ParamSpinBox' visible='1'}" % (getPropertyPanelRealName(), name)
50 #---------------------------------------------------------------------------------------------
56 if os.path.exists(TMP_DIR):
57 shutil.rmtree(TMP_DIR)
59 #---------------------------------------------------------------------------------------------
61 waitForObject(":SALOME*_STD_TabDesktop").resize(1024, 768)
64 def activate_SHAPER():
65 clickButton(waitForObject(":SALOME*.Shaper_QToolButton"))
66 clickButton(waitForObject(":Activate module.New_QPushButton"))
68 def close_application():
69 sendEvent("QCloseEvent", waitForObject(":SALOME*_STD_TabDesktop"))
70 clickButton(waitForObject(":Exit.Ok_QPushButton"))
71 clickButton(waitForObject(":Close active study.Close w/o saving_QPushButton"))
75 def close_application_wo_saving():
76 sendEvent("QCloseEvent", waitForObject(":SALOME*_STD_TabDesktop"))
77 clickButton(waitForObject(":Exit.Ok_QPushButton"))
78 clickButton(waitForObject(":Close active study.Close w/o saving_QPushButton"))
82 activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Part"))
83 activateItem(waitForObjectItem(":Part_QMenu", "New part"))
85 def sketch_create(point, actions):
86 clickButton(waitForObject(":SALOME*.Sketch_QToolButton"))
87 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
88 activateItem(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
92 clickButton(waitForObject(":Sketch.property_panel_ok_QToolButton"))
94 def point_create_in_view(point, aux=0):
95 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
96 mouseClick(waitForObjectItem(":Sketch_QMenu", "Point"))
99 clickButton(waitForObject(":Point.Auxiliary_QCheckBox"))
101 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
102 clickButton(waitForObject(":Point.property_panel_cancel_QToolButton"))
104 def point_create(point, aux=0):
105 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
106 mouseClick(waitForObjectItem(":Sketch_QMenu", "Point"))
109 clickButton(waitForObject(":Point.Auxiliary_QCheckBox"))
111 type(waitForObject(":Point.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
112 type(waitForObject(":Point.X _ModuleBase_ParamSpinBox"), point[0])
114 type(waitForObject(":Point.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
115 type(waitForObject(":Point.Y _ModuleBase_ParamSpinBox"), point[1])
117 clickButton(waitForObject(":Point.property_panel_ok_QToolButton"))
119 def line_create_in_view(start_point, end_point, aux=0):
120 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
121 mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
124 clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
126 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
127 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
129 clickButton(waitForObject(":Line.property_panel_cancel_QToolButton"))
131 def closing_line_create_in_view(start_point, end_point, aux=0):
132 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
133 mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
136 clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
138 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
139 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
141 def lines_create_in_view(points, aux=0):
142 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
143 mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
146 clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
149 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
152 clickButton(waitForObject(":Line.property_panel_cancel_QToolButton"))
154 def line_create(start_point, end_point, aux=0): # Set aux=1 to create auxiliary line
155 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
156 mouseClick(waitForObjectItem(":Sketch_QMenu", "Line"))
159 clickButton(waitForObject(":Line.Auxiliary_QCheckBox"))
161 type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
162 type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox"), start_point[0])
164 type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
165 type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox"), start_point[1])
167 type(waitForObject(":End point.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
168 type(waitForObject(":End point.X _ModuleBase_ParamSpinBox"), end_point[0])
170 type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
171 type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox"), end_point[1])
173 clickButton(waitForObject(":Line.property_panel_ok_QToolButton"))
175 def circle_create_in_view(center, radius, aux=0):
176 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
177 mouseClick(waitForObjectItem(":Sketch_QMenu", "Circle"))
180 clickButton(waitForObject(":Circle.Auxiliary_QCheckBox"))
182 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), center[0], center[1], 0, Qt.LeftButton)
183 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), radius[0], radius[1], 0, Qt.LeftButton)
185 clickButton(waitForObject(":Circle.property_panel_cancel_QToolButton"))
187 def circle_create(center, radius, aux=0):
188 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
189 mouseClick(waitForObjectItem(":Sketch_QMenu", "Circle"))
192 clickButton(waitForObject(":Circle.Auxiliary_QCheckBox"))
194 type(waitForObject(":Center.X _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
195 type(waitForObject(":Center.X _ModuleBase_ParamSpinBox"), center[0])
197 type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox"), "<Ctrl+A>")
198 type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox"), center[1])
200 type(waitForObject(":Circle.CircleRadius_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
201 type(waitForObject(":Circle.CircleRadius_ModuleBase_ParamSpinBox"), radius)
203 clickButton(waitForObject(":Circle.property_panel_ok_QToolButton"))
205 def arc_create(center, start_point, end_point, aux=0):
206 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
207 mouseClick(waitForObjectItem(":Sketch_QMenu", "Arc"))
210 clickButton(waitForObject(":Arc.Auxiliary_QCheckBox"))
212 type(waitForObject(":Center.X _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
213 type(waitForObject(":Center.X _ModuleBase_ParamSpinBox_2"), center[0])
215 type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
216 type(waitForObject(":Center.Y _ModuleBase_ParamSpinBox_2"), center[1])
218 type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
219 type(waitForObject(":Start point.X _ModuleBase_ParamSpinBox_2"), start_point[0])
221 type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
222 type(waitForObject(":Start point.Y _ModuleBase_ParamSpinBox_2"), start_point[1])
224 type(waitForObject(":End point.X _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
225 type(waitForObject(":End point.X _ModuleBase_ParamSpinBox_2"), end_point[0])
227 type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox_2"), "<Ctrl+A>")
228 type(waitForObject(":End point.Y _ModuleBase_ParamSpinBox_2"), end_point[1])
230 clickButton(waitForObject(":Arc.property_panel_ok_QToolButton"))
232 def arc_create_in_view(center, start_point, end_point, aux=0):
233 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
234 mouseClick(waitForObjectItem(":Sketch_QMenu", "Arc"))
237 clickButton(waitForObject(":Arc.Auxiliary_QCheckBox"))
239 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), center[0], center[1], 0, Qt.LeftButton)
240 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
241 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
243 clickButton(waitForObject(":Arc.property_panel_cancel_QToolButton"))
246 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "File"))
247 mouseClick(waitForObjectItem(":_QMenu", "Save As..."))
249 type(waitForObject(":fileNameEdit_QLineEdit"), filename)
250 clickButton(waitForObject(":Save File.Save_QPushButton"))
252 def extrusion(point, to_size, from_size):
253 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
254 mouseClick(waitForObjectItem(":_QMenu", "Extrusion"))
256 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
258 type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
259 type(waitForObject(":Extrusion.to_size_ModuleBase_ParamSpinBox"), to_size)
261 type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
262 type(waitForObject(":Extrusion.from_size_ModuleBase_ParamSpinBox"), from_size)
264 clickButton(waitForObject(":Extrusion.property_panel_ok_QToolButton"))
267 clickButton(waitForObject(":SALOME*.Open_QToolButton"))
268 waitForObject(":fileNameEdit_QLineEdit_2").setText(filename)
269 type(waitForObject(":fileNameEdit_QLineEdit_2"), "<Return>")
271 def point_fixe(point):
272 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
273 mouseClick(waitForObjectItem(":Sketch_QMenu", "Fixed"))
274 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
275 clickButton(waitForObject(":Fixed.property_panel_cancel_QToolButton"))
278 def distance(start_point, end_point, annotation_point):
279 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
280 mouseClick(waitForObjectItem(":Sketch_QMenu", "Distance"))
281 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), start_point[0], start_point[1], 0, Qt.LeftButton)
282 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), end_point[0], end_point[1], 0, Qt.LeftButton)
283 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), annotation_point[0], annotation_point[1], 0, Qt.LeftButton)
286 # type(waitForObject(":_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
287 # type(waitForObject(":_ModuleBase_ParamSpinBox"), length)
289 clickButton(waitForObject(":Distance.property_panel_cancel_QToolButton"))
291 def change_distance(point, value):
292 doubleClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
293 type(waitForObject(":Distance.ConstraintValue_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
294 type(waitForObject(":Distance.ConstraintValue_ModuleBase_ParamSpinBox"), value)
295 clickButton(waitForObject(":Distance.property_panel_ok_QToolButton"))
297 def parallel(point_1, point_2):
298 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
299 mouseClick(waitForObjectItem(":Sketch_QMenu", "Parallel"))
300 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
301 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
302 clickButton(waitForObject(":Parallel.property_panel_cancel_QToolButton_2"))
304 def perpendicular(point_1, point_2):
305 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
306 mouseClick(waitForObjectItem(":Sketch_QMenu", "Perpendicular"))
308 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
309 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
311 clickButton(waitForObject(":Perpendicular.property_panel_cancel_QToolButton"))
313 def coincident(point_1, point_2):
314 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
315 mouseClick(waitForObjectItem(":Sketch_QMenu", "Coincident"))
316 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
317 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
318 clickButton(waitForObject(":Coincident.property_panel_cancel_QToolButton"))
320 def equal(point_1, point_2):
321 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
322 mouseClick(waitForObjectItem(":Sketch_QMenu", "Equal"))
323 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
324 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
325 clickButton(waitForObject(":Equal.property_panel_cancel_QToolButton"))
328 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
329 mouseClick(waitForObjectItem(":Sketch_QMenu", "Vertical"))
330 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
331 clickButton(waitForObject(":Vertical.property_panel_cancel_QToolButton"))
333 def horizontal(point):
334 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
335 mouseClick(waitForObjectItem(":Sketch_QMenu", "Horizontal"))
336 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
337 clickButton(waitForObject(":Horizontal.property_panel_cancel_QToolButton"))
340 clickButton(waitForObject(":SALOME*.Fit All_QToolButton"))
342 def boolean_select_operation_type(type):
343 real_name = "{container=':property_panel_dock.Operation type_QGroupBox' toolTip='%s' type='QToolButton' unnamed='1' visible='1'}" % type
344 clickButton(waitForObject(real_name))
346 def boolean_cut(main_object, tool_object):
347 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
348 mouseClick(waitForObjectItem(":_QMenu", "Boolean"))
350 boolean_select_operation_type("Cut")
352 mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton)
353 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton)
355 mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton)
356 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
358 clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
360 def boolean_fuse(main_object, tool_object):
361 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
362 mouseClick(waitForObjectItem(":_QMenu", "Boolean"))
364 boolean_select_operation_type("Fuse")
366 mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton)
367 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton)
369 mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton)
370 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
372 clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
374 def boolean_common(main_object, tool_object):
375 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
376 mouseClick(waitForObjectItem(":_QMenu", "Boolean"))
378 boolean_select_operation_type("Common")
380 mouseClick(waitForObject(":Boolean.Main objects_QListWidget"), 89, 62, 0, Qt.LeftButton)
381 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 0, Qt.LeftButton)
383 mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 98, 87, 0, Qt.LeftButton)
384 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
386 clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
388 def length(point, annotation_point):
389 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
390 mouseClick(waitForObjectItem(":Sketch_QMenu", "Length"))
392 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
393 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), annotation_point[0], annotation_point[1], 0, Qt.LeftButton)
395 clickButton(waitForObject(":Length.property_panel_cancel_QToolButton"))
397 def change_length(point, value):
398 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
400 type(waitForObject(":Length.ConstraintValue_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
401 type(waitForObject(":Length.ConstraintValue_ModuleBase_ParamSpinBox"), value)
403 clickButton(waitForObject(":Length.property_panel_ok_QToolButton"))
405 def radius(point, annotation_point):
406 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
407 mouseClick(waitForObjectItem(":Sketch_QMenu", "Radius"))
409 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
410 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), annotation_point[0], annotation_point[1], 0, Qt.LeftButton)
412 clickButton(waitForObject(":Radius.property_panel_cancel_QToolButton"))
414 def change_radius(point, value):
415 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
417 type(waitForObject(":Radius.ConstraintValue_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
418 type(waitForObject(":Radius.ConstraintValue_ModuleBase_ParamSpinBox"), value)
420 clickButton(waitForObject(":Radius.property_panel_ok_QToolButton"))
422 def tangent(point_1, point_2):
423 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Sketch"))
424 mouseClick(waitForObjectItem(":Sketch_QMenu", "Tangent"))
426 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0], point_1[1], 0, Qt.LeftButton)
427 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0], point_2[1], 0, Qt.LeftButton)
429 clickButton(waitForObject(":Tangent.property_panel_cancel_QToolButton"))
431 def partition(main_objects, tool_object):
432 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Features"))
433 mouseClick(waitForObjectItem(":_QMenu", "Partition"))
435 for main_object in main_objects:
436 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), main_object[0], main_object[1], 33554432, Qt.LeftButton)
438 mouseClick(waitForObject(":Boolean.Tool object_QListWidget"), 83, 132, 0, Qt.LeftButton)
439 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), tool_object[0], tool_object[1], 0, Qt.LeftButton)
440 clickButton(waitForObject(":Boolean.property_panel_ok_QToolButton"))
442 def plane(point, distance):
443 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Construction"))
444 mouseClick(waitForObjectItem(":_QMenu", "Plane"))
446 mouseClick(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point[0], point[1], 0, Qt.LeftButton)
448 type(waitForObject(":Plane.distance_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
449 type(waitForObject(":Plane.distance_ModuleBase_ParamSpinBox"), 100)
450 type(waitForObject(":Plane.distance_ModuleBase_ParamSpinBox"), "<Return>")
452 clickButton(waitForObject(":Plane.property_panel_ok_QToolButton"))
455 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Construction"))
456 mouseClick(waitForObjectItem(":_QMenu", "Point"))
458 type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
459 type(waitForObject(":Point.x_ModuleBase_ParamSpinBox"), x)
461 type(waitForObject(":Point.y_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
462 type(waitForObject(":Point.y_ModuleBase_ParamSpinBox"), y)
464 type(waitForObject(":Point.z_ModuleBase_ParamSpinBox"), "<Ctrl+A>")
465 type(waitForObject(":Point.z_ModuleBase_ParamSpinBox"), z)
466 type(waitForObject(":Point.z_ModuleBase_ParamSpinBox"), "<Return>")
468 clickButton(waitForObject(":Point.property_panel_ok_QToolButton"))
470 def axis(point_1, point_2):
471 mouseClick(waitForObjectItem(":SALOME*_QMenuBar", "Construction"))
472 mouseClick(waitForObjectItem(":_QMenu", "Axis"))
474 mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_1[0] - 40, point_1[1] - 40, 80, 80, 1, Qt.LeftButton)
475 mouseDrag(waitForObject(":SALOME*.3D View Operations_OCCViewer_ViewPort3d"), point_2[0] - 40, point_2[1] - 40, 80, 80, 1, Qt.LeftButton)
477 clickButton(waitForObject(":Axis.property_panel_ok_QToolButton"))