source: flair-src/branches/sanscv/lib/FlairSensorActuator/src/LaserRangeFinder.h@ 427

Last change on this file since 427 was 324, checked in by Sanahuja Guillaume, 5 years ago

removing opencv dependency

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 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 * \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::Matrix *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 flair
132#endif // LASERRANGEFINDER_H
Note: See TracBrowser for help on using the repository browser.