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

Last change on this file was 340, checked in by Sanahuja Guillaume, 23 months ago

add servos

File size: 2.1 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 {
19namespace core {
20class FrameworkManager;
21class Matrix;
22}
23namespace gui {
24class Tab;
25class TabWidget;
26class GroupBox;
27class Layout;
28class RangeFinderPlot;
29}
30}
31
32namespace flair {
33namespace sensor {
34/*! \class LaserRangeFinder
35*
36* \brief Classe generique intégrant les telemetres laser
37*/
38class LaserRangeFinder : public core::IODevice {
39public:
40  /*!
41  * \brief Constructor
42  *
43  * Construct a Laser Range Finder.
44        * It will be child of the FrameworkManager
45  *
46  * \param name name
47  */
48  LaserRangeFinder(std::string name);
49 
50  /*!
51  * \brief Destructor
52  *
53  */
54  ~LaserRangeFinder();
55
56  /*!
57  * \brief Use default plot
58  *
59  */
60  void UseDefaultPlot(void);
61
62  /*!
63  * \brief Plot
64  *
65  * \return DataPlot1D
66  */
67  gui::RangeFinderPlot *GetPlot(void) const;
68
69  /*!
70  * \brief Setup Layout
71  *
72  * \return a Layout available
73  */
74  gui::Layout *GetLayout(void) const;
75
76  /*!
77  * \brief Plot tab
78  *
79  * \return plot Tab
80  */
81  gui::Tab *GetPlotTab(void) const;
82
83  /*!
84  * \brief Value
85  *
86  * \return output value
87  */
88  float Value(void) const;
89
90protected:
91  /*!
92      * \brief Output matrix
93      *
94      * \return output matrix
95      */
96  core::Matrix *output;
97
98  /*!
99  * \brief Setup GroupBox
100  *
101  * \return a GroupBox available
102  */
103  gui::GroupBox *GetGroupBox(void) const;
104
105private:
106  /*!
107  * \brief Update using provided datas
108  *
109  * Reimplemented from IODevice.
110  *
111  * \param data data from the parent to process
112  */
113  void UpdateFrom(const core::io_data *data){};
114
115  gui::Tab *main_tab;
116  gui::TabWidget *tab;
117  gui::GroupBox *setup_groupbox;
118  gui::Tab *sensor_tab;
119  gui::RangeFinderPlot *plot;
120  gui::Tab *plot_tab;
121};
122} // end namespace sensor
123} // end namespace flair
124#endif // LASERRANGEFINDER_H
Note: See TracBrowser for help on using the repository browser.