32 #include <pcl/common/transforms.h>
33 #include <pcl/filters/filter.h>
34 #include <pcl/io/pcd_io.h>
35 #include <pcl/point_types.h>
37 #include <VirtualRobot/Robot.h>
44 #include <RobotAPI/interface/core/RobotState.h>
46 #include <VisionX/interface/components/FakePointCloudProviderInterface.h>
72 virtual public FakePointCloudProviderInterface,
130 bool loadPointCloud(
const std::string& fileName);
131 bool loadPointCloudDirectory(
const std::string& directoryName);
132 bool loadCalibrationFile(std::string fileName, visionx::CameraParameters& calibration);
134 template<
typename Po
intT>
135 bool processAndProvide(
const pcl::PCLPointCloud2Ptr& pointCloud);
136 bool processRGBImage(
const pcl::PCLPointCloud2Ptr& pointCloud);
143 std::string pointCloudFileName;
145 std::string sourceFrameName;
147 std::string targetFrameName;
148 std::string providedPointCloudFormat;
149 std::string robotStateComponentName;
151 std::mutex pointCloudMutex;
152 std::vector<pcl::PCLPointCloud2Ptr> pointClouds;
154 std::atomic_int counter = 0;
156 std::atomic_bool rewind =
false;
157 std::atomic_bool removeNAN =
false;
158 std::atomic<float> scaleFactor = 0;
159 std::atomic_bool freezeImage =
false;
160 std::atomic_int freezeImageIdx = 0;
162 StereoCalibration calibration;
163 CByteImage** rgbImages =
nullptr;