source: flair-src/trunk/lib/FlairSensorActuator/src/LaserRangeFinder.h @ 3

Last change on this file since 3 was 3, checked in by Sanahuja Guillaume, 6 years ago

sensoractuator

File size: 3.2 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5/*!
6 * \file LaserRangeFinder.h
7 * \brief Classe generique des telemetres laser
8 * \author César RICHARD, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2014/07/22
10 * \version 1.0
11 */
12
13#ifndef LASERRANGEFINDER_H
14#define LASERRANGEFINDER_H
15
16#include <IODevice.h>
17
18namespace flair
19{
20    namespace core
21    {
22        class FrameworkManager;
23        class cvmatrix;
24
25    }
26    namespace gui
27    {
28        class Tab;
29        class TabWidget;
30        class GroupBox;
31        class Layout;
32        class RangeFinderPlot;
33    }
34}
35
36namespace flair
37{
38namespace sensor
39{
40    /*! \class LaserRangeFinder
41    *
42    * \brief Classe generique intégrant les telemetres laser
43    */
44    class LaserRangeFinder : public core::IODevice
45    {
46        public:
47            /*!
48            * \brief Constructor
49            *
50            * Construct a Laser Range Finder.
51            *
52            * \param parent parent
53            * \param name name
54            */
55            LaserRangeFinder(const core::FrameworkManager* parent,std::string name);
56            /*!
57            * \brief Constructor
58            *
59            * Construct a UsRangeFinder. Simulation part.
60            *
61            * \param parent parent
62            * \param name name
63            */
64            LaserRangeFinder(const core::IODevice* parent,std::string name);
65            /*!
66            * \brief Destructor
67            *
68            */
69            ~LaserRangeFinder();
70
71            /*!
72            * \brief Use default plot
73            *
74            */
75            void UseDefaultPlot(void);
76
77            /*!
78            * \brief Plot
79            *
80            * \return DataPlot1D
81            */
82            gui::RangeFinderPlot* GetPlot(void) const;
83
84            /*!
85            * \brief Setup Layout
86            *
87            * \return a Layout available
88            */
89            gui::Layout* GetLayout(void) const;
90
91            /*!
92            * \brief Plot tab
93            *
94            * \return plot Tab
95            */
96            gui::Tab* GetPlotTab(void) const;
97
98            /*!
99            * \brief Value
100            *
101            * \return output value
102            */
103            float Value(void) const;
104
105        protected:
106        /*!
107            * \brief Output matrix
108            *
109            * \return output matrix
110            */
111            core::cvmatrix *output;
112
113            /*!
114            * \brief Setup GroupBox
115            *
116            * \return a GroupBox available
117            */
118            gui::GroupBox* GetGroupBox(void) const;
119
120        private:
121            /*!
122            * \brief Update using provided datas
123            *
124            * Reimplemented from IODevice.
125            *
126            * \param data data from the parent to process
127            */
128            void UpdateFrom(const core::io_data *data){};
129
130            gui::Tab* main_tab;
131            gui::TabWidget *tab;
132            gui::GroupBox* setup_groupbox;
133            gui::Tab* sensor_tab;
134            gui::RangeFinderPlot* plot;
135            gui::Tab* plot_tab;
136
137    };
138} // end namespace sensor
139} // end namespace framewor
140#endif // LASERRANGEFINDER_H
Note: See TracBrowser for help on using the repository browser.