29 #include <pcl/point_types.h>
30 #include <pcl/point_cloud.h>
32 #include <RobotAPI/interface/visualization/DebugDrawerInterface.h>
34 #include <VisionX/interface/core/DataTypes.h>
40 template <
typename Po
intT>
43 return visionx::ePoints;
46 template <> visionx::PointContentType getPointContentType<pcl::PointXYZ>();
47 template <> visionx::PointContentType getPointContentType<pcl::PointXYZI>();
48 template <> visionx::PointContentType getPointContentType<pcl::PointXYZL>();
49 template <> visionx::PointContentType getPointContentType<pcl::PointNormal>();
50 template <> visionx::PointContentType getPointContentType<pcl::PointXYZRGBA>();
51 template <> visionx::PointContentType getPointContentType<pcl::PointXYZRGBL>();
52 template <> visionx::PointContentType getPointContentType<pcl::PointXYZRGBNormal>();
56 std::string
toString(visionx::PointContentType pointContent);
60 bool isColored(visionx::PointContentType type);
62 bool isLabeled(visionx::PointContentType type);
78 void convertToPCL(
void**
source, visionx::MetaPointCloudFormatPtr pointCloudFormat, pcl::PointCloud<pcl::PointXYZ>::Ptr targetPtr);
80 void convertToPCL(
const visionx::ColoredPointCloud&
source, pcl::PointCloud<pcl::PointXYZRGBA>::Ptr targetPtr);
81 void convertFromPCL(
const pcl::PointCloud<pcl::PointXYZRGBA>::Ptr sourcePtr, visionx::ColoredPointCloud&
target);
84 void convertToPCL(
void**
source, visionx::MetaPointCloudFormatPtr pointCloudFormat, pcl::PointCloud<pcl::PointXYZRGBA>::Ptr targetPtr);
87 void convertToPCL(
void**
source, visionx::MetaPointCloudFormatPtr pointCloudFormat, pcl::PointCloud<pcl::PointXYZL>::Ptr targetPtr);
90 void convertToPCL(
void**
source, visionx::MetaPointCloudFormatPtr pointCloudFormat, pcl::PointCloud<pcl::PointXYZI>::Ptr targetPtr);
94 void convertToPCL(
void**
source, visionx::MetaPointCloudFormatPtr pointCloudFormat, pcl::PointCloud<pcl::PointXYZRGBL>::Ptr targetPtr);
97 void convertToPCL(
void**
source, visionx::MetaPointCloudFormatPtr pointCloudFormat, pcl::PointCloud<pcl::PointXYZRGBNormal>::Ptr targetPtr);
100 void convertToPCL(
void**
source, visionx::MetaPointCloudFormatPtr pointCloudFormat, pcl::PointCloud<pcl::PointXYZRGB>::Ptr targetPtr);
120 template <
typename VisionXPo
intT,
typename PclPo
intT>
122 std::vector<VisionXPointT>&
target);
134 template <
typename VisionXPo
intT,
typename PclPo
intT>
139 template <
typename PclPo
intT,
typename VisionXPo
intT>
141 pcl::PointCloud<PclPointT>&
target);
154 template <
typename PclPo
intT,
typename VisionXPo
intT>
155 typename pcl::PointCloud<PclPointT>::Ptr
convertToPCL(
const std::vector<VisionXPointT>&
source);
161 template <
typename PclPo
intT,
typename VisionXPo
intT>
164 p.CONVERSION_BETWEEN_THESE_POINT_TYPES_IS_NOT_IMPLEMENTED(
v);
168 template <
typename PclPo
intT,
typename VisionXPo
intT>
171 p.CONVERSION_BETWEEN_THESE_POINT_TYPES_IS_NOT_IMPLEMENTED(
v);
180 template <
typename SourceT,
typename TargetT>
189 template <
typename SourceT,
typename TargetT>
199 template <
typename SourceT,
typename TargetT>
232 template <
typename VisionXPo
intT,
typename PclPo
intT>
234 std::vector<VisionXPointT>&
target)
237 for (std::size_t i = 0; i <
source.size(); ++i)
244 template <
typename VisionXPo
intT,
typename PclPo
intT>
247 std::vector<VisionXPointT>
target;
253 template <
typename PclPo
intT,
typename VisionXPo
intT>
255 pcl::PointCloud<PclPointT>&
target)
258 for (std::size_t i = 0; i <
source.size(); ++i)
265 template <
typename PclPo
intT,
typename VisionXPo
intT>
268 typename pcl::PointCloud<PclPointT>::Ptr
target(
new pcl::PointCloud<PclPointT>);