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 
30 #include <ArmarXCore/interface/observers/ObserverInterface.h>
32 
33 #include <VisionX/interface/libraries/SemanticObjectRelations/ShapesTopic.h>
35 
36 
37 namespace visionx
38 {
39 
40  /**
41  * @class SegmentAABBShapesProviderPropertyDefinitions
42  * @brief Property definitions of `SegmentAABBShapesProvider`.
43  */
46  {
47  public:
49  };
50 
51 
52  /**
53  * @defgroup Component-SegmentAABBShapesProvider SegmentAABBShapesProvider
54  * @ingroup VisionX-Components
55  * A description of the component SegmentAABBShapesProvider.
56  *
57  * @class SegmentAABBShapesProvider
58  * @ingroup Component-SegmentAABBShapesProvider
59  * @brief Brief description of class SegmentAABBShapesProvider.
60  *
61  * Detailed description of class SegmentAABBShapesProvider.
62  */
64  virtual public visionx::PointCloudProcessor
65  {
66  /// The used point type.
67  using PointT = pcl::PointXYZRGBL;
68 
69  public:
70 
71  /// @see armarx::ManagedIceObject::getDefaultName()
72  std::string getDefaultName() const override;
73 
74 
75  protected:
76 
77  /// @see visionx::PointCloudProcessor::onInitPointCloudProcessor()
78  void onInitPointCloudProcessor() override;
79 
80  /// @see visionx::PointCloudProcessor::onConnectPointCloudProcessor()
81  void onConnectPointCloudProcessor() override;
82 
83  /// @see visionx::PointCloudProcessor::onDisconnectPointCloudProcessor()
84  void onDisconnectPointCloudProcessor() override;
85 
86  /// @see visionx::PointCloudProcessor::onExitPointCloudProcessor()
87  void onExitPointCloudProcessor() override;
88 
89 
90  /// @see visionx::PointCloudProcessor::process()
91  void process() override;
92 
93 
94  /// @see PropertyUser::createPropertyDefinitions()
96 
97 
98  private:
99 
100  armarx::DebugObserverInterfacePrx debugObserver;
101  armarx::DebugDrawerTopic debugDrawer;
102 
103  armarx::semantic::ShapesTopicPrx shapesTopic;
104 
105  };
106 }
107 
armarx::DebugDrawerTopic
The DebugDrawerTopic wraps a DebugDrawerInterfacePrx and provides a more useful interface than the Ic...
Definition: DebugDrawerTopic.h:152
visionx::SegmentAABBShapesProviderPropertyDefinitions::SegmentAABBShapesProviderPropertyDefinitions
SegmentAABBShapesProviderPropertyDefinitions(std::string prefix)
Definition: SegmentAABBShapesProvider.cpp:40
visionx
ArmarX headers.
Definition: OpenPoseStressTest.h:38
visionx::SegmentAABBShapesProvider::getDefaultName
std::string getDefaultName() const override
Definition: SegmentAABBShapesProvider.cpp:58
visionx::SegmentAABBShapesProvider::onInitPointCloudProcessor
void onInitPointCloudProcessor() override
Definition: SegmentAABBShapesProvider.cpp:64
armarx::PropertyDefinitionContainer::prefix
std::string prefix
Prefix of the properties such as namespace, domain, component name, etc.
Definition: PropertyDefinitionContainer.h:333
visionx::SegmentAABBShapesProvider::process
void process() override
Definition: SegmentAABBShapesProvider.cpp:91
visionx::SegmentAABBShapesProvider::onConnectPointCloudProcessor
void onConnectPointCloudProcessor() override
Definition: SegmentAABBShapesProvider.cpp:73
visionx::SegmentAABBShapesProvider::onExitPointCloudProcessor
void onExitPointCloudProcessor() override
Definition: SegmentAABBShapesProvider.cpp:86
DebugDrawerTopic.h
visionx::PointCloudProcessor
The PointCloudProcessor class provides an interface for access to PointCloudProviders via Ice and sha...
Definition: PointCloudProcessor.h:186
visionx::PointCloudProcessorPropertyDefinitions
Properties of PointCloudProcessor.
Definition: PointCloudProcessor.h:173
PointCloudProcessor.h
Component.h
visionx::SegmentAABBShapesProvider::createPropertyDefinitions
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
Definition: SegmentAABBShapesProvider.cpp:146
IceUtil::Handle< class PropertyDefinitionContainer >
IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface >
visionx::SegmentAABBShapesProvider::onDisconnectPointCloudProcessor
void onDisconnectPointCloudProcessor() override
Definition: SegmentAABBShapesProvider.cpp:82
visionx::SegmentAABBShapesProviderPropertyDefinitions
Property definitions of SegmentAABBShapesProvider.
Definition: SegmentAABBShapesProvider.h:44
visionx::SegmentAABBShapesProvider
Brief description of class SegmentAABBShapesProvider.
Definition: SegmentAABBShapesProvider.h:63