18 #ifndef GZ_GUI_PLUGINS_POINTCLOUD_HH_
19 #define GZ_GUI_PLUGINS_POINTCLOUD_HH_
23 #include <gz/msgs/float_v.pb.h>
24 #include <gz/msgs/pointcloud_packed.pb.h>
30 class PointCloudPrivate;
58 READ PointCloudTopicList
59 WRITE SetPointCloudTopicList
60 NOTIFY PointCloudTopicListChanged
67 WRITE SetFloatVTopicList
68 NOTIFY FloatVTopicListChanged
76 NOTIFY MinColorChanged
84 NOTIFY MaxColorChanged
92 NOTIFY MinFloatVChanged
100 NOTIFY MaxFloatVChanged
108 NOTIFY PointSizeChanged
118 public:
void LoadConfig(const
tinyxml2::XMLElement *_pluginElem) override;
122 public:
void OnPointCloud(const msgs::PointCloudPacked &_msg);
127 public:
void OnPointCloudService(const msgs::PointCloudPacked &_msg,
136 public: Q_INVOKABLE
void SetPointCloudTopicList(
140 signals:
void PointCloudTopicListChanged();
144 public: Q_INVOKABLE
void OnPointCloudTopic(const
QString &_topicName);
148 public:
void OnFloatV(const msgs::Float_V &_msg);
153 public:
void OnFloatVService(const msgs::Float_V &_msg,
bool _result);
161 public: Q_INVOKABLE
void SetFloatVTopicList(
165 signals:
void FloatVTopicListChanged();
169 public: Q_INVOKABLE
void OnFloatVTopic(const
QString &_topicName);
173 public: Q_INVOKABLE
QColor MinColor() const;
177 public: Q_INVOKABLE
void SetMinColor(const
QColor &_minColor);
180 signals:
void MinColorChanged();
184 public: Q_INVOKABLE
QColor MaxColor() const;
188 public: Q_INVOKABLE
void SetMaxColor(const
QColor &_maxColor);
191 signals:
void MaxColorChanged();
195 public: Q_INVOKABLE
float MinFloatV() const;
199 public: Q_INVOKABLE
void SetMinFloatV(
float _minFloatV);
202 signals:
void MinFloatVChanged();
206 public: Q_INVOKABLE
float MaxFloatV() const;
210 public: Q_INVOKABLE
void SetMaxFloatV(
float _maxFloatV);
213 signals:
void MaxFloatVChanged();
217 public: Q_INVOKABLE
float PointSize() const;
221 public: Q_INVOKABLE
void SetPointSize(
float _pointSize);
224 signals:
void PointSizeChanged();
228 public: Q_INVOKABLE
void Show(
bool _show);
231 public: Q_INVOKABLE
void OnRefresh();
235 private:
std::unique_ptr<PointCloudPrivate> dataPtr;