30 #include <QListWidgetItem>
31 #include <QColorDialog>
34 #include <pcl/point_types.h>
35 #include <pcl/visualization/pcl_visualizer.h>
38 #include <Ice/BuiltinSequences.h>
43 #include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
49 #include <VisionX/gui-plugins/PointCloudViewer/ui_Widget.h>
89 using PointT = pcl::PointXYZRGBL;
100 void loadSettings(QSettings* settings)
override;
103 void saveSettings(QSettings* settings)
override;
108 return "VisionX.PointCloudViewer";
112 void onInitPointCloudProcessor()
override;
116 void onConnectPointCloudProcessor()
override;
118 void onDisconnectPointCloudProcessor()
override;
121 void onExitPointCloudProcessor()
override;
125 void process()
override;
127 void postDocking()
override;
129 void onLockWidget()
override;
130 void onUnlockWidget()
override;
134 void newPointCloudReceived(QString providerName,
CoinPointCloud* cloud);
139 void refreshProviderList();
140 void showPointCloudInfo(QListWidgetItem* item);
141 void pointCloudChecked(QListWidgetItem* item);
143 void savePointCloud();
144 void processPointCloud(QString providerName,
CoinPointCloud* cloud);
147 void updateProviderList(IceGrid::ObjectInfoSeq objects);
152 void setPointSize(
double value);
158 template <
class Po
intCloudT>
159 void getPointCloudAs(
const std::string& providerName,
PointCloudT& targetPointCloud);
160 template <
class Po
intCloudT>
165 QPointer<QWidget> m_widget;
174 QColorDialog colorDialog;
181 std::atomic<float> pointSize {1};