21 #ifndef MOUSEMOVESELECTION_H 22 #define MOUSEMOVESELECTION_H 24 #include <tulip/GlCircle.h> 25 #include <tulip/GLInteractor.h> 26 #include <tulip/GlComplexPolygon.h> 27 #include <tulip/GlRect.h> 32 class BooleanProperty;
37 class TLP_QT_SCOPE MouseSelectionEditor :
public GLInteractorComponent {
40 MouseSelectionEditor();
41 ~MouseSelectionEditor()
override;
42 void clear()
override;
43 bool compute(GlMainWidget *glMainWidget)
override;
44 bool draw(GlMainWidget *)
override;
45 bool eventFilter(QObject *, QEvent *)
override;
63 enum OperationTarget { COORD = 0, SIZE, COORD_AND_SIZE };
65 GlMainWidget *glMainWidget;
66 DoubleProperty *_rotation;
68 void initProxies(GlMainWidget *glMainWidget);
76 GlComposite *composite;
77 GlCircle _controls[8];
78 GlComplexPolygon _advControls[6];
83 bool computeFFD(GlMainWidget *);
84 void getOperation(GlEntity *select);
87 EditOperation operation;
93 LayoutProperty *_layout;
94 BooleanProperty *_selection;
96 Coord editLayoutCenter;
98 virtual void mMouseTranslate(
double,
double, GlMainWidget *);
99 virtual void mMouseRotate(
double,
double, GlMainWidget *);
100 virtual void mMouseStretchAxis(
double,
double, GlMainWidget *);
101 virtual void mAlign(EditOperation operation, GlMainWidget *);