33 #include <RobotAPI/interface/core/RobotState.h>
35 #include <VisionX/gui-plugins/AffordancePipelineGui/ui_AffordancePipelineGuiWidget.h>
36 #include <VisionX/interface/components/AffordanceExtraction.h>
37 #include <VisionX/interface/components/AffordancePipelineVisualization.h>
38 #include <VisionX/interface/components/PointCloudFilter.h>
39 #include <VisionX/interface/components/PointCloudSegmenter.h>
40 #include <VisionX/interface/components/PrimitiveMapper.h>
41 #include <VisionX/interface/core/PointCloudProviderInterface.h>
45 class AffordancePipelineGuiConfigDialog;
82 void loadSettings(QSettings* settings)
override;
87 void saveSettings(QSettings* settings)
override;
89 QPointer<QDialog> getConfigDialog(QWidget* parent = 0)
override;
91 void configured()
override;
100 return "VisionX.AffordancePipelineGui";
103 QPointer<QWidget> getCustomTitlebarWidget(QWidget* parent = 0)
override;
108 void onInitComponent()
override;
113 void onConnectComponent()
override;
114 void onDisconnectComponent()
override;
117 void updatePipelineStatus();
118 void startPipeline();
119 void pausePipeline();
121 void croppingSelected(
int index);
122 void pointCloudSourceSelected(
int index);
123 void segmentationSetupSelected(
int index);
124 void visualizationOptionsChanged(
bool prm =
false);
135 Ui::AffordancePipelineGuiWidget widget;
136 QPointer<AffordancePipelineGuiConfigDialog> configDialog;
138 QToolBar* customToolbar;
140 std::vector<std::string> pointCloudProviderNames;
141 std::vector<std::string> filteredPointCloudProviderNames;
142 std::vector<std::string> pointCloudProviderDisplayNames;
144 std::vector<std::string> pipelineConfigFiles;
146 std::string pointCloudSegmenterName;
147 std::string primitiveExtractorName;
148 std::string affordanceExtractionName;
149 std::string pipelineVisualizationName;
150 std::string robotStateComponentName;
151 std::string platform;
153 std::vector<visionx::CapturingPointCloudProviderInterfacePrx> pointCloudProviders;
154 std::vector<armarx::PointCloudFilterInterfacePrx> filteredPointCloudProviders;
155 unsigned int currentPointCloudProvider;
157 visionx::PointCloudSegmenterInterfacePrx pointCloudSegmenter;
158 visionx::PrimitiveMapperInterfacePrx primitiveExtractor;
159 AffordanceExtractionInterfacePrx affordanceExtraction;
160 AffordancePipelineVisualizationInterfacePrx pipelineVisualization;