00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 #ifndef QOCCCMDCIRCLE2PT_H
00026 #define QOCCCMDCIRCLE2PT_H
00027 
00028 #include <QtCore/QObject>
00029 #include "qocc.h"
00030 #include "qoccapplication.h"
00031 #include "qocccommand.h"
00032 
00033 class QOCC_DECLSPEC QoccDlgCircle2Pt : public QObject
00034 {
00035         Q_OBJECT
00036 
00037 public:
00038 
00039     QoccDlgCircle2Pt( );
00040     ~QoccDlgCircle2Pt( );
00041 
00042 private: 
00043 
00044         
00045 };
00046 
00047 class QOCC_DECLSPEC QoccCmdCircle2Pt : public QoccCommand
00048 {
00049         Q_OBJECT
00050 
00051 public: 
00052         enum CircleParameter
00053         {
00054                 Centre, Radius, Done
00055         };
00056 
00057 public: 
00058 
00059     QoccCmdCircle2Pt( QAction* startingAction = NULL, QWidget* parent = NULL );
00060     ~QoccCmdCircle2Pt( );
00061 
00062         virtual void clickEvent(Qocc3dWidget* widget, QMouseEvent* e);
00063         virtual void moveEvent(Qocc3dWidget*  widget, QMouseEvent* e);
00064 
00065 protected: 
00066 
00067         QoccDocument*           myDocument;
00068         Handle(GEOM_Object) myCentre;
00069         Handle(GEOM_Object) myVector;
00070         Handle(GEOM_Object) myCircle;
00071         Standard_Real           myRadius;
00072         CircleParameter         myParameter;
00073         gp_Pnt                          myStartPoint;
00074         gp_Pnt                          myCurrentPoint;
00075 
00076 };
00077 
00078 
00079 #endif // QOCCCMDCIRCLE2PT_H