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>
48 #include <VisionX/interface/components/FakePointCloudProviderInterface.h>
71 virtual public FakePointCloudProviderInterface,
121 const ::Ice::Current& = Ice::emptyCurrent)
override;
127 bool loadPointCloud(
const std::string& fileName);
128 bool loadPointCloudDirectory(
const std::string& directoryName);
129 bool loadCalibrationFile(std::string fileName, visionx::CameraParameters& calibration);
131 template <
typename Po
intT>
132 bool processAndProvide(
const pcl::PCLPointCloud2Ptr& pointCloud);
133 bool processRGBImage(
const pcl::PCLPointCloud2Ptr& pointCloud);
140 std::string pointCloudFileName;
142 std::string sourceFrameName;
144 std::string targetFrameName;
145 std::string providedPointCloudFormat;
146 std::string robotStateComponentName;
148 std::mutex pointCloudMutex;
149 std::vector<pcl::PCLPointCloud2Ptr> pointClouds;
151 std::atomic_int counter = 0;
153 std::atomic_bool rewind =
false;
154 std::atomic_bool removeNAN =
false;
155 std::atomic<float> scaleFactor = 0;
156 std::atomic_bool freezeImage =
false;
157 std::atomic_int freezeImageIdx = 0;
159 StereoCalibration calibration;
160 CByteImage** rgbImages =
nullptr;