source: flair-dev/trunk/include/FlairSensorActuator/LaserRangeFinder.h @ 13

Last change on this file since 13 was 13, checked in by Bayard Gildas, 5 years ago

formatting script + include reformatted

File size: 2.3 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 cvmatrix;
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  *
45  * \param parent parent
46  * \param name name
47  */
48  LaserRangeFinder(const core::FrameworkManager *parent, std::string name);
49  /*!
50  * \brief Constructor
51  *
52  * Construct a UsRangeFinder. Simulation part.
53  *
54  * \param parent parent
55  * \param name name
56  */
57  LaserRangeFinder(const core::IODevice *parent, std::string name);
58  /*!
59  * \brief Destructor
60  *
61  */
62  ~LaserRangeFinder();
63
64  /*!
65  * \brief Use default plot
66  *
67  */
68  void UseDefaultPlot(void);
69
70  /*!
71  * \brief Plot
72  *
73  * \return DataPlot1D
74  */
75  gui::RangeFinderPlot *GetPlot(void) const;
76
77  /*!
78  * \brief Setup Layout
79  *
80  * \return a Layout available
81  */
82  gui::Layout *GetLayout(void) const;
83
84  /*!
85  * \brief Plot tab
86  *
87  * \return plot Tab
88  */
89  gui::Tab *GetPlotTab(void) const;
90
91  /*!
92  * \brief Value
93  *
94  * \return output value
95  */
96  float Value(void) const;
97
98protected:
99  /*!
100      * \brief Output matrix
101      *
102      * \return output matrix
103      */
104  core::cvmatrix *output;
105
106  /*!
107  * \brief Setup GroupBox
108  *
109  * \return a GroupBox available
110  */
111  gui::GroupBox *GetGroupBox(void) const;
112
113private:
114  /*!
115  * \brief Update using provided datas
116  *
117  * Reimplemented from IODevice.
118  *
119  * \param data data from the parent to process
120  */
121  void UpdateFrom(const core::io_data *data){};
122
123  gui::Tab *main_tab;
124  gui::TabWidget *tab;
125  gui::GroupBox *setup_groupbox;
126  gui::Tab *sensor_tab;
127  gui::RangeFinderPlot *plot;
128  gui::Tab *plot_tab;
129};
130} // end namespace sensor
131} // end namespace framewor
132#endif // LASERRANGEFINDER_H
Note: See TracBrowser for help on using the repository browser.