74 const std::string& prefix =
"visu.");
80 const std::string& tabName);
88 Eigen::Isometry3f getCalibrationOffset(
const std::string& sensorFrame)
const;
89 void createOrUpdateCalibrationTab();
92 std::optional<DebugObserverHelper> debugObserver;
97 bool uniformColor =
false;
98 bool colorByIntensity =
true;
99 float frequencyHz = 5;
100 int maxRobotAgeMs = 100;
101 int pointSizeInPixels = 3;
108 std::map<std::string, std::pair<VirtualRobot::RobotPtr, DateTime>> robots;
113 void visualizeScan(
const std::vector<ScanPoint>& points,
114 const std::string& sensorName,
115 const std::string& agentName,
118 std::map<std::string, armem::laser_scans::LaserScanStamped> getCurrentLaserScans();
124 struct SensorCalibrationData
134 std::map<std::string, std::array<armarx::RemoteGui::Client::FloatSpinBox, 3>> sensors;
138 std::string remoteGuiTabName_;
140 mutable std::mutex sensorMutex_;
141 std::set<std::string> knownSensorFrames_;
142 std::map<std::string, SensorCalibrationData> calibrationData_;
144 CalibrationTab calibrationTab_;
145 std::atomic<bool> needsTabRebuild_{
false};