96 void createRemoteGuiTab();
101 void RemoteGui_update() override;
113 void drawBoxes(const Properties& p, viz::Client& arviz);
116 void runPeriodically();
122 static const std::string defaultName;
130 int taskPeriodMs = 100;
135 std::string providerName =
"LaserScannerFeatureExtraction";
136 std::string name =
"global";
137 } laserScannerFeatures;
146 std::string providerName =
"CartographerMappingAndLocalization";
147 std::string name =
"";
149 float freespaceThreshold = 0.45F;
150 float occupiedThreshold = 0.55;
156 std::string providerName =
"AzureKinectPointCloudProvider";
160 Properties properties;
169 struct RemoteGuiTab : armarx::RemoteGui::Client::Tab
171 armarx::RemoteGui::Client::LineEdit boxLayerName;
172 armarx::RemoteGui::Client::IntSpinBox numBoxes;
174 armarx::RemoteGui::Client::Button drawBoxes;
183 std::mutex arvizMutex;
186 std::optional<ArVizDrawer> arvizDrawer;
191 template <
typename T>
194 ReaderWriterPlugin<armem::human::client::Reader>* humanPoseReaderPlugin =
nullptr;
196 ReaderWriterPlugin<memory::client::laser_scanner_features::Reader>*
197 laserScannerFeaturesReaderPlugin =
nullptr;
199 ReaderWriterPlugin<armem::robot_state::VirtualRobotReader>* virtualRobotReaderPlugin =
202 ReaderWriterPlugin<memory::client::costmap::Reader>* costmapReaderPlugin =
nullptr;
204 ReaderWriterPlugin<armem::vision::occupancy_grid::client::Reader>*
205 occupancyGridReaderPlugin =
nullptr;
207 ReaderWriterPlugin<memory::client::human::Writer>* humanWriterPlugin =
nullptr;
208 ReaderWriterPlugin<memory::client::laser_scanner_features::Writer>*
209 laserScannerFeaturesWriterPlugin =
nullptr;