Salome HOME
Sources formated according to the codeing standards
[modules/shaper.git] / src / PartSet / PartSet_TestOCC.h
1 // File:        PartSet_TestOCC.h
2 // Created:     28 Apr 2014
3 // Author:      Natalia ERMOLAEVA
4
5 #ifndef PartSet_TestOCC_H
6 #define PartSet_TestOCC_H
7
8 #include "PartSet.h"
9
10 class XGUI_Workshop;
11 class Handle_AIS_InteractiveContext;
12 class Handle_V3d_View;
13
14 /*!
15  \class PartSet_TestOCC
16  * \brief The operation to test OCC viewer work
17  */
18 class PARTSET_EXPORT PartSet_TestOCC
19 {
20  public:
21   PartSet_TestOCC()
22   {
23   }
24   ;
25
26   /// Creates a line feature, select it, modify the line. Check whether the highlight is correct.
27   /// \param the workshop to provide an access to the application information
28   static void testSelection(XGUI_Workshop* theWorkshop);
29
30   /// Creates row OCC presentation, activate in the local context, modify it and check selection
31   /// BUG: The result contains the selection from the first presentation
32   /// \param theContext a viewer interactive context
33   /// \param theContext a view
34   static void local_selection_change_shape(Handle_AIS_InteractiveContext theContext,
35                                            Handle_V3d_View theView);
36
37   /// Creates row OCC presentation, activate in the local context, select it, erase the presentation
38   /// BUG: The selected shape are in the viewer even after erase
39   /// \param theContext a viewer interactive context
40   /// \param theContext a view
41   static void local_selection_erase(Handle_AIS_InteractiveContext theContext,
42                                     Handle_V3d_View theView);
43
44  private:
45
46   /// Creates a temporary line
47   /// \param the workshop to get the operation manager and the displayer
48   static void createTestLine(XGUI_Workshop* theWorkshop);
49
50   /// Changes a temporary line
51   /// \param the workshop to get the operation manager and the displayer
52   static void changeTestLine(XGUI_Workshop* theWorkshop);
53
54   /// Emulates the mouse moving in the viewer
55   static void moveMouse(Handle_AIS_InteractiveContext theContext, Handle_V3d_View theView);
56 };
57
58 #endif