SegmentAABBShapesProvider.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @package VisionX::ArmarXObjects::SegmentAABBShapesProvider
17 * @author Rainer Kartmann ( rainer dot kartmann at kit dot edu )
18 * @date 2019
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22
23#pragma once
24
25
26#include <pcl/point_types.h>
27
29#include <ArmarXCore/interface/observers/ObserverInterface.h>
30
32
34#include <VisionX/interface/libraries/SemanticObjectRelations/ShapesTopic.h>
35
36namespace visionx
37{
38
39 /**
40 * @class SegmentAABBShapesProviderPropertyDefinitions
41 * @brief Property definitions of `SegmentAABBShapesProvider`.
42 */
49
50 /**
51 * @defgroup Component-SegmentAABBShapesProvider SegmentAABBShapesProvider
52 * @ingroup VisionX-Components
53 * A description of the component SegmentAABBShapesProvider.
54 *
55 * @class SegmentAABBShapesProvider
56 * @ingroup Component-SegmentAABBShapesProvider
57 * @brief Brief description of class SegmentAABBShapesProvider.
58 *
59 * Detailed description of class SegmentAABBShapesProvider.
60 */
62 {
63 /// The used point type.
64 using PointT = pcl::PointXYZRGBL;
65
66 public:
67 /// @see armarx::ManagedIceObject::getDefaultName()
68 std::string getDefaultName() const override;
69
70
71 protected:
72 /// @see visionx::PointCloudProcessor::onInitPointCloudProcessor()
73 void onInitPointCloudProcessor() override;
74
75 /// @see visionx::PointCloudProcessor::onConnectPointCloudProcessor()
76 void onConnectPointCloudProcessor() override;
77
78 /// @see visionx::PointCloudProcessor::onDisconnectPointCloudProcessor()
79 void onDisconnectPointCloudProcessor() override;
80
81 /// @see visionx::PointCloudProcessor::onExitPointCloudProcessor()
82 void onExitPointCloudProcessor() override;
83
84
85 /// @see visionx::PointCloudProcessor::process()
86 void process() override;
87
88
89 /// @see PropertyUser::createPropertyDefinitions()
91
92
93 private:
95 armarx::DebugDrawerTopic debugDrawer;
96
97 armarx::semantic::ShapesTopicPrx shapesTopic;
98 };
99} // namespace visionx
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.
The PointCloudProcessor class provides an interface for access to PointCloudProviders via Ice and sha...
Brief description of class SegmentAABBShapesProvider.
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
::IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface > DebugObserverInterfacePrx
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
ArmarX headers.