]> SALOME platform Git repositories - modules/shaper.git/blob - src/PartSet/PartSet_OperationSketchBase.h
Salome HOME
Merge branch 'master' of newgeom:newgeom
[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
12 #include <ModuleBase_PropPanelOperation.h>
13 #include <QObject>
14
15 class AIS_ListOfInteractive;
16
17 /*!
18   \class PartSet_OperationSketchBase
19   * \brief The base operation for the sketch features.
20   *  Base class for all sketch operations. It provides an access to the feature preview
21 */
22 class PARTSET_EXPORT PartSet_OperationSketchBase : public ModuleBase_PropPanelOperation
23 {
24   Q_OBJECT
25 public:
26   /// Constructor
27   /// \param theId an feature index
28   /// \param theParent the object parent
29   PartSet_OperationSketchBase(const QString& theId, QObject* theParent);
30   /// Destructor
31   virtual ~PartSet_OperationSketchBase();
32
33   /// Returns the feature preview shape
34   const TopoDS_Shape& preview() const;
35
36   /// Returns the operation local selection mode
37   /// \return the selection mode
38   virtual int getSelectionMode() const = 0;
39
40   /// Gives the current selected objects to be processed by the operation
41   /// \param a list of interactive selected objects
42   virtual void setSelectedObjects(const AIS_ListOfInteractive& aList) = 0;
43 };
44
45 #endif