25 #include <VisionX/gui-plugins/AffordancePipelineGui/ui_AffordancePipelineGuiWidget.h>
32 #include <RobotAPI/interface/core/RobotState.h>
34 #include <VisionX/interface/core/PointCloudProviderInterface.h>
35 #include <VisionX/interface/components/PointCloudSegmenter.h>
36 #include <VisionX/interface/components/PointCloudFilter.h>
37 #include <VisionX/interface/components/PrimitiveMapper.h>
38 #include <VisionX/interface/components/AffordanceExtraction.h>
39 #include <VisionX/interface/components/AffordancePipelineVisualization.h>
46 class AffordancePipelineGuiConfigDialog;
84 void loadSettings(QSettings* settings)
override;
89 void saveSettings(QSettings* settings)
override;
91 QPointer<QDialog> getConfigDialog(QWidget* parent = 0)
override;
93 void configured()
override;
101 return "VisionX.AffordancePipelineGui";
104 QPointer<QWidget> getCustomTitlebarWidget(QWidget* parent = 0)
override;
109 void onInitComponent()
override;
114 void onConnectComponent()
override;
115 void onDisconnectComponent()
override;
118 void updatePipelineStatus();
119 void startPipeline();
120 void pausePipeline();
122 void croppingSelected(
int index);
123 void pointCloudSourceSelected(
int index);
124 void segmentationSetupSelected(
int index);
125 void visualizationOptionsChanged(
bool prm =
false);
130 QString formatTimestamp(
long timestamp);
136 Ui::AffordancePipelineGuiWidget widget;
137 QPointer<AffordancePipelineGuiConfigDialog> configDialog;
139 QToolBar* customToolbar;
141 std::vector<std::string> pointCloudProviderNames;
142 std::vector<std::string> filteredPointCloudProviderNames;
143 std::vector<std::string> pointCloudProviderDisplayNames;
145 std::vector<std::string> pipelineConfigFiles;
147 std::string pointCloudSegmenterName;
148 std::string primitiveExtractorName;
149 std::string affordanceExtractionName;
150 std::string pipelineVisualizationName;
151 std::string robotStateComponentName;
152 std::string platform;
154 std::vector<visionx::CapturingPointCloudProviderInterfacePrx> pointCloudProviders;
155 std::vector<armarx::PointCloudFilterInterfacePrx> filteredPointCloudProviders;
156 unsigned int currentPointCloudProvider;
158 visionx::PointCloudSegmenterInterfacePrx pointCloudSegmenter;
159 visionx::PrimitiveMapperInterfacePrx primitiveExtractor;
160 AffordanceExtractionInterfacePrx affordanceExtraction;
161 AffordancePipelineVisualizationInterfacePrx pipelineVisualization;