31#include <pcl/common/transforms.h>
32#include <pcl/filters/approximate_voxel_grid.h>
33#include <pcl/filters/crop_hull.h>
34#include <pcl/filters/filter.h>
35#include <pcl/filters/passthrough.h>
36#include <pcl/point_types.h>
41#include <ArmarXGui/interface/RemoteGuiInterface.h>
44#include <RobotAPI/interface/core/PoseBase.h>
45#include <RobotAPI/interface/core/RobotState.h>
50#include <VisionX/interface/components/PointCloudFilter.h>
54 class CoordinateFrame;
55 template <
class Po
intT>
78 virtual public armarx::PointCloudFilterInterface,
85 virtual std::string
getReferenceFrame(
const Ice::Current& = Ice::emptyCurrent)
override;
88 const armarx::Vector3BasePtr&
max,
89 const std::string& frame,
90 const Ice::Current& = Ice::emptyCurrent)
override;
106 virtual void process()
override;
108 template <
typename Po
intType>
121 template <
typename Po
intT>
123 const std::string& role,
124 const std::string& frame);
127 void remoteGuiCreate();
139 std::string pointCloudFormat;
140 std::string providerSourceFrameName;
145 std::string sourceFrameName;
146 std::string targetFrameName;
149 bool croppingEnabled;
150 Eigen::Vector3f croppingMinPoint;
151 Eigen::Vector3f croppingMaxPoint;
152 Eigen::Vector3f croppingRPY;
153 std::string croppingFrameName;
166 bool downsamplingEnabled;
170 bool applyCollisionModelFilter;
172 bool reportCloudOutsideOfCroppingArea =
false;
174 Eigen::Matrix4f providerFrameTransformation = Eigen::Matrix4f::Identity();
177 std::mutex parametersMutex;
178 Parameters parameters;
183 armarx::RemoteGuiInterfacePrx remoteGui;
The DebugDrawerTopic wraps a DebugDrawerInterfacePrx and provides a more useful interface than the Ic...
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
IceUtil::Handle< RunningTask< T > > pointer_type
Shared pointer type for convenience.
A point cloud which keeps track of its reference coordinate frame and allows changing frames using ar...
PointCloudFilterPropertyDefinitions(std::string prefix)
Brief description of class PointCloudFilter.
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
virtual void process() override
virtual void onExitPointCloudProcessor() override
virtual std::string getReferenceFrame(const Ice::Current &=Ice::emptyCurrent) override
virtual void onConnectPointCloudProcessor() override
virtual void onDisconnectPointCloudProcessor() override
virtual void setCroppingParameters(const armarx::Vector3BasePtr &min, const armarx::Vector3BasePtr &max, const std::string &frame, const Ice::Current &=Ice::emptyCurrent) override
virtual void onInitPointCloudProcessor() override
virtual std::string getDefaultName() const override
Properties of PointCloudProcessor.
The PointCloudProcessor class provides an interface for access to PointCloudProviders via Ice and sha...
std::shared_ptr< class Robot > RobotPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
::IceInternal::ProxyHandle<::IceProxy::armarx::RobotStateComponentInterface > RobotStateComponentInterfacePrx