30 #include <QColorDialog>
31 #include <QListWidgetItem>
34 #include <pcl/point_types.h>
35 #include <pcl/visualization/pcl_visualizer.h>
38 #include <Ice/BuiltinSequences.h>
46 #include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
52 #include <VisionX/gui-plugins/PointCloudViewer/ui_Widget.h>
90 using PointT = pcl::PointXYZRGBL;
100 void loadSettings(QSettings* settings)
override;
103 void saveSettings(QSettings* settings)
override;
109 return "VisionX.PointCloudViewer";
113 void onInitPointCloudProcessor()
override;
117 void onConnectPointCloudProcessor()
override;
119 void onDisconnectPointCloudProcessor()
override;
122 void onExitPointCloudProcessor()
override;
126 void process()
override;
128 void postDocking()
override;
130 void onLockWidget()
override;
131 void onUnlockWidget()
override;
135 void newPointCloudReceived(QString providerName,
CoinPointCloud* cloud);
140 void refreshProviderList();
141 void showPointCloudInfo(QListWidgetItem* item);
142 void pointCloudChecked(QListWidgetItem* item);
144 void savePointCloud();
145 void processPointCloud(QString providerName,
CoinPointCloud* cloud);
148 void updateProviderList(IceGrid::ObjectInfoSeq objects);
153 void setPointSize(
double value);
158 template <
class Po
intCloudT>
159 void getPointCloudAs(
const std::string& providerName,
PointCloudT& targetPointCloud);
160 template <
class Po
intCloudT>
164 QPointer<QWidget> m_widget;
173 QColorDialog colorDialog;
180 std::atomic<float> pointSize{1};