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

Last change on this file since 382 was 340, checked in by Sanahuja Guillaume, 5 years 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.