source: flair-src/branches/sanscv/demos/OpticalFlow/uav/src/DemoOpticalFlow.h @ 326

Last change on this file since 326 was 326, checked in by Sanahuja Guillaume, 2 years ago

using pimpl

File size: 2.1 KB
Line 
1//  created:    2011/05/01
2//  filename:   DemoOpticalFlow.h
3//
4//  author:     Guillaume Sanahuja
5//              Copyright Heudiasyc UMR UTC/CNRS 7253
6//
7//  version:    $Id: $
8//
9//  purpose:    demo optical flow
10//
11//
12/*********************************************************************/
13//------------
14
15#ifndef DEMOOPTICALFLOW_H
16#define DEMOOPTICALFLOW_H
17
18#include <UavStateMachine.h>
19
20namespace flair {
21    namespace core {
22        class Matrix;
23    }
24    namespace gui {
25        class GroupBox;
26        class DoubleSpinBox;
27        class PushButton;
28    }
29    namespace filter {
30        class OpticalFlow;
31        class OpticalFlowCompensated;
32        class OpticalFlowSpeed;
33        class LowPassFilter;
34        class EulerDerivative;
35        class CvtColor;
36    }
37    namespace sensor {
38        class TargetController;
39    }
40}
41
42class DemoOpticalFlow : public flair::meta::UavStateMachine {
43
44    public:
45        DemoOpticalFlow(flair::sensor::TargetController *controller);
46        ~DemoOpticalFlow();
47
48    protected:
49        void SignalEvent(Event_t event);
50        void ExtraCheckJoystick(void);
51    void ExtraCheckPushButton(void);
52    void ExtraSecurityCheck(void);
53        const flair::core::AhrsData *GetReferenceOrientation(void);
54
55        flair::gui::GroupBox* opticalFlowGroupBox;
56        flair::gui::DoubleSpinBox *maxXSpeed,*maxYSpeed;
57        flair::core::Matrix *opticalFlowReference;
58        flair::filter::Pid *u_x, *u_y;
59        flair::filter::CvtColor* greyCameraImage;
60        flair::core::AhrsData *customReferenceOrientation;
61        flair::core::Matrix *opticalFlowRealSpeed,*opticalFlowRealAcceleration;
62
63    private:
64        flair::filter::OpticalFlow *opticalFlow;
65        flair::filter::OpticalFlowCompensated *opticalFlowCompensated;
66        flair::filter::OpticalFlowSpeed *opticalFlowSpeedRaw;
67        flair::filter::EulerDerivative *opticalFlowAccelerationRaw;
68        flair::gui::PushButton *startOpticalflow,*stopOpticalflow;
69        void StartOpticalFlow(void);
70        flair::filter::LowPassFilter* opticalFlowSpeed;
71        flair::filter::LowPassFilter* opticalFlowAcceleration;
72        bool flagCameraLost;
73};
74
75#endif // DEMOOPTICALFLOW_H
Note: See TracBrowser for help on using the repository browser.