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,
86 virtual std::string
getReferenceFrame(
const Ice::Current& = Ice::emptyCurrent)
override;
89 const armarx::Vector3BasePtr&
max,
90 const std::string& frame,
91 const Ice::Current& = Ice::emptyCurrent)
override;
107 virtual void process()
override;
109 template <
typename Po
intType>
122 template <
typename Po
intT>
124 const std::string& role,
125 const std::string& frame);
128 void remoteGuiCreate();
140 std::string pointCloudFormat;
141 std::string providerSourceFrameName;
146 std::string sourceFrameName;
147 std::string targetFrameName;
150 bool croppingEnabled;
151 Eigen::Vector3f croppingMinPoint;
152 Eigen::Vector3f croppingMaxPoint;
153 Eigen::Vector3f croppingRPY;
154 std::string croppingFrameName;
167 bool downsamplingEnabled;
171 bool applyCollisionModelFilter;
173 bool reportCloudOutsideOfCroppingArea =
false;
175 Eigen::Matrix4f providerFrameTransformation = Eigen::Matrix4f::Identity();
178 std::mutex parametersMutex;
179 Parameters parameters;
184 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
static std::string GetDefaultName()
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
std::string getDefaultName() const override
Retrieve default name of component.
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