]> SALOME platform Git repositories - modules/shaper.git/blob - src/PartSet/PartSet_OperationSketchBase.h
Salome HOME
7ca7fd2d3ac30aa4a1cfaf37ad690c4fe6cdcb99
[modules/shaper.git] / src / PartSet / PartSet_OperationSketchBase.h
1 // File:        PartSet_OperationSketchBase.h
2 // Created:     20 Apr 2014
3 // Author:      Natalia ERMOLAEVA
4
5 #ifndef PartSet_OperationSketchBase_H
6 #define PartSet_OperationSketchBase_H
7
8 #include "PartSet.h"
9
10 #include <TopoDS_Shape.hxx>
11 #include <NCollection_List.hxx>
12
13 #include <ModuleBase_PropPanelOperation.h>
14 #include <QObject>
15
16 /*!
17   \class PartSet_OperationSketchBase
18   * \brief The base operation for the sketch features.
19   *  Base class for all sketch operations. It provides an access to the feature preview
20 */
21 class PARTSET_EXPORT PartSet_OperationSketchBase : public ModuleBase_PropPanelOperation
22 {
23   Q_OBJECT
24 public:
25   /// Constructor
26   /// \param theId an feature index
27   /// \param theParent the object parent
28   PartSet_OperationSketchBase(const QString& theId, QObject* theParent);
29   /// Destructor
30   virtual ~PartSet_OperationSketchBase();
31
32   /// Returns the feature preview shape
33   const TopoDS_Shape& preview() const;
34
35   /// Returns the operation local selection mode
36   /// \return the selection mode
37   virtual int getSelectionMode() const = 0;
38
39   /// Gives the current selected objects to be processed by the operation
40   /// \param a list of interactive selected objects
41   virtual void setSelectedShapes(const NCollection_List<TopoDS_Shape>& theList) = 0;
42
43 signals:
44   void viewerProjectionChange(double theX, double theY, double theZ);
45 };
46
47 #endif