1 // File: PartSet_OperationFeatureBase.h
2 // Created: 20 Apr 2014
3 // Author: Natalia ERMOLAEVA
5 #ifndef PARTSET_OPERATIONFEATUREBASE_H
6 #define PARTSET_OPERATIONFEATUREBASE_H
10 #include <PartSet_OperationSketchBase.h>
11 #include <PartSet_Constants.h>
15 class GeomDataAPI_Point2D;
20 \class PartSet_OperationFeatureBase
21 * \brief The operation for the sketch feature creation
23 class PARTSET_EXPORT PartSet_OperationFeatureBase : public PartSet_OperationSketchBase
29 /// \param theId the feature identifier
30 /// \param theParent the operation parent
31 /// \param theSketch the parent feature
32 PartSet_OperationFeatureBase(const QString& theId, QObject* theParent, CompositeFeaturePtr theSketch);
34 virtual ~PartSet_OperationFeatureBase();
36 /// Returns the operation sketch feature
37 /// \returns the sketch instance
38 virtual CompositeFeaturePtr sketch() const;
40 /// Gives the current selected objects to be processed by the operation
41 /// \param theEvent the mouse event
42 /// \param theView a viewer to have the viewer the eye position
43 /// \param theSelected the list of selected presentations
44 /// \param theHighlighted the list of highlighted presentations
45 virtual void mouseReleased(QMouseEvent* theEvent, ModuleBase_IViewer* theViewer,
46 ModuleBase_ISelection* theSelection);
49 /// Return a widget value point by the selection and the viewer position
50 /// \param thePrs the presentation
51 /// \param theViewer a viewer to have the viewer the eye position
52 /// \param theX the horizontal coordinate
53 /// \param theY the vertical coordinate
54 /// \return true if the point exits in the selection
55 virtual bool getViewerPoint(ModuleBase_ViewerPrs thePrs,
56 ModuleBase_IViewer* theViewer,
57 double& theX, double& theY);
60 CompositeFeaturePtr mySketch; ///< the sketch of the feature