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 
36 namespace visionx
37 {
38 
39  /**
40  * @class SegmentAABBShapesProviderPropertyDefinitions
41  * @brief Property definitions of `SegmentAABBShapesProvider`.
42  */
45  {
46  public:
48  };
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
armarx::DebugDrawerTopic
The DebugDrawerTopic wraps a DebugDrawerInterfacePrx and provides a more useful interface than the Ic...
Definition: DebugDrawerTopic.h:151
visionx::SegmentAABBShapesProviderPropertyDefinitions::SegmentAABBShapesProviderPropertyDefinitions
SegmentAABBShapesProviderPropertyDefinitions(std::string prefix)
Definition: SegmentAABBShapesProvider.cpp:39
visionx
ArmarX headers.
Definition: OpenPoseStressTest.h:38
visionx::SegmentAABBShapesProvider::getDefaultName
std::string getDefaultName() const override
Definition: SegmentAABBShapesProvider.cpp:61
visionx::SegmentAABBShapesProvider::onInitPointCloudProcessor
void onInitPointCloudProcessor() override
Definition: SegmentAABBShapesProvider.cpp:67
armarx::PropertyDefinitionContainer::prefix
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
Definition: PropertyDefinitionContainer.h:345
visionx::SegmentAABBShapesProvider::process
void process() override
Definition: SegmentAABBShapesProvider.cpp:95
visionx::SegmentAABBShapesProvider::onConnectPointCloudProcessor
void onConnectPointCloudProcessor() override
Definition: SegmentAABBShapesProvider.cpp:76
visionx::SegmentAABBShapesProvider::onExitPointCloudProcessor
void onExitPointCloudProcessor() override
Definition: SegmentAABBShapesProvider.cpp:90
DebugDrawerTopic.h
visionx::PointCloudProcessor
The PointCloudProcessor class provides an interface for access to PointCloudProviders via Ice and sha...
Definition: PointCloudProcessor.h:177
visionx::PointCloudProcessorPropertyDefinitions
Properties of PointCloudProcessor.
Definition: PointCloudProcessor.h:166
PointCloudProcessor.h
Component.h
visionx::SegmentAABBShapesProvider::createPropertyDefinitions
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Definition: SegmentAABBShapesProvider.cpp:154
IceUtil::Handle< class PropertyDefinitionContainer >
IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface >
visionx::SegmentAABBShapesProvider::onDisconnectPointCloudProcessor
void onDisconnectPointCloudProcessor() override
Definition: SegmentAABBShapesProvider.cpp:85
visionx::SegmentAABBShapesProviderPropertyDefinitions
Property definitions of SegmentAABBShapesProvider.
Definition: SegmentAABBShapesProvider.h:43
visionx::SegmentAABBShapesProvider
Brief description of class SegmentAABBShapesProvider.
Definition: SegmentAABBShapesProvider.h:61