29#include <pcl/point_cloud.h>
30#include <pcl/point_types.h>
32#include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
34#include <VisionX/interface/core/DataTypes.h>
39 template <
typename Po
intT>
40 visionx::PointContentType
43 return visionx::ePoints;
63 std::string
toString(visionx::PointContentType pointContent);
77 void convertFromPCL(pcl::PointCloud<pcl::PointXYZ>::Ptr sourcePtr,
void** target);
86 visionx::MetaPointCloudFormatPtr pointCloudFormat,
87 pcl::PointCloud<pcl::PointXYZ>::Ptr targetPtr);
90 pcl::PointCloud<pcl::PointXYZRGBA>::Ptr targetPtr);
92 visionx::ColoredPointCloud& target);
94 void convertFromPCL(pcl::PointCloud<pcl::PointXYZRGBA>::Ptr sourcePtr,
void** target);
96 visionx::MetaPointCloudFormatPtr pointCloudFormat,
97 pcl::PointCloud<pcl::PointXYZRGBA>::Ptr targetPtr);
99 void convertFromPCL(pcl::PointCloud<pcl::PointXYZL>::Ptr sourcePtr,
void** target);
101 visionx::MetaPointCloudFormatPtr pointCloudFormat,
102 pcl::PointCloud<pcl::PointXYZL>::Ptr targetPtr);
104 void convertFromPCL(pcl::PointCloud<pcl::PointXYZI>::Ptr sourcePtr,
void** target);
106 visionx::MetaPointCloudFormatPtr pointCloudFormat,
107 pcl::PointCloud<pcl::PointXYZI>::Ptr targetPtr);
110 void convertFromPCL(pcl::PointCloud<pcl::PointXYZRGBL>::Ptr sourcePtr,
void** target);
112 visionx::MetaPointCloudFormatPtr pointCloudFormat,
113 pcl::PointCloud<pcl::PointXYZRGBL>::Ptr targetPtr);
115 void convertFromPCL(pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr& sourcePtr,
void** target);
117 visionx::MetaPointCloudFormatPtr pointCloudFormat,
118 pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr targetPtr);
120 void convertFromPCL(pcl::PointCloud<pcl::PointXYZRGB>::Ptr sourcePtr,
void** target);
122 visionx::MetaPointCloudFormatPtr pointCloudFormat,
123 pcl::PointCloud<pcl::PointXYZRGB>::Ptr targetPtr);
133 armarx::DebugDrawer24BitColoredPointCloud& target,
135 float pointSize = 3);
137 armarx::DebugDrawer24BitColoredPointCloud& target,
139 float pointSize = 3);
141 armarx::DebugDrawer24BitColoredPointCloud& target,
143 float pointSize = 3);
145 armarx::DebugDrawer24BitColoredPointCloud& target,
147 float pointSize = 3);
154 template <
typename VisionXPo
intT,
typename PclPo
intT>
156 std::vector<VisionXPointT>& target);
168 template <
typename VisionXPo
intT,
typename PclPo
intT>
169 std::vector<VisionXPointT>
convertFromPCL(
const pcl::PointCloud<PclPointT>& source);
173 template <
typename PclPo
intT,
typename VisionXPo
intT>
174 void convertToPCL(
const std::vector<VisionXPointT>& source, pcl::PointCloud<PclPointT>& target);
187 template <
typename PclPo
intT,
typename VisionXPo
intT>
188 typename pcl::PointCloud<PclPointT>::Ptr
convertToPCL(
const std::vector<VisionXPointT>& source);
193 template <
typename PclPo
intT,
typename VisionXPo
intT>
197 p.CONVERSION_BETWEEN_THESE_POINT_TYPES_IS_NOT_IMPLEMENTED(v);
201 template <
typename PclPo
intT,
typename VisionXPo
intT>
205 p.CONVERSION_BETWEEN_THESE_POINT_TYPES_IS_NOT_IMPLEMENTED(v);
214 template <
typename SourceT,
typename TargetT>
224 template <
typename SourceT,
typename TargetT>
235 template <
typename SourceT,
typename TargetT>
239 target.label = source.label;
256 void convertPointFromPCL(
const pcl::PointXYZRGBA& source, visionx::ColoredPoint3D& target);
258 void convertPointToPCL(
const visionx::ColoredPoint3D& source, pcl::PointXYZRGBA& target);
264 void convertPointToPCL(
const visionx::LabeledPoint3D& source, pcl::PointXYZL& target);
269 visionx::ColoredLabeledPoint3D& target);
271 void convertPointToPCL(
const visionx::ColoredLabeledPoint3D& source, pcl::PointXYZRGBL& target);
276 template <
typename VisionXPo
intT,
typename PclPo
intT>
278 convertFromPCL(
const pcl::PointCloud<PclPointT>& source, std::vector<VisionXPointT>& target)
280 target.resize(source.size());
281 for (std::size_t i = 0; i < source.size(); ++i)
288 template <
typename VisionXPo
intT,
typename PclPo
intT>
289 std::vector<VisionXPointT>
292 std::vector<VisionXPointT> target;
298 template <
typename PclPo
intT,
typename VisionXPo
intT>
300 convertToPCL(
const std::vector<VisionXPointT>& source, pcl::PointCloud<PclPointT>& target)
302 target.resize(source.size());
303 for (std::size_t i = 0; i < source.size(); ++i)
310 template <
typename PclPo
intT,
typename VisionXPo
intT>
311 typename pcl::PointCloud<PclPointT>::Ptr
314 typename pcl::PointCloud<PclPointT>::Ptr target(
new pcl::PointCloud<PclPointT>);