27 #include <pcl/point_types.h>
29 #include <pcl/common/transforms.h>
31 #include <pcl/filters/filter.h>
32 #include <pcl/filters/passthrough.h>
33 #include <pcl/filters/approximate_voxel_grid.h>
34 #include <pcl/filters/crop_hull.h>
41 #include <ArmarXGui/interface/RemoteGuiInterface.h>
44 #include <RobotAPI/interface/core/PoseBase.h>
45 #include <RobotAPI/interface/core/RobotState.h>
49 #include <VisionX/interface/components/PointCloudFilter.h>
57 class CoordinateFrame;
58 template <
class Po
intT>
83 virtual public armarx::PointCloudFilterInterface,
91 virtual std::string
getReferenceFrame(
const Ice::Current& = Ice::emptyCurrent)
override;
94 const std::string& frame,
const Ice::Current& = Ice::emptyCurrent)
override;
111 virtual void process()
override;
126 template <
typename Po
intT>
128 const std::string& role,
const std::string& frame);
131 void remoteGuiCreate();
145 std::string pointCloudFormat;
146 std::string providerSourceFrameName;
151 std::string sourceFrameName;
152 std::string targetFrameName;
155 bool croppingEnabled;
156 Eigen::Vector3f croppingMinPoint;
157 Eigen::Vector3f croppingMaxPoint;
158 Eigen::Vector3f croppingRPY;
159 std::string croppingFrameName;
171 bool downsamplingEnabled;
175 bool applyCollisionModelFilter;
177 bool reportCloudOutsideOfCroppingArea =
false;
182 std::mutex parametersMutex;
183 Parameters parameters;
188 armarx::RemoteGuiInterfacePrx remoteGui;