75 const std::string& prefix =
"visu.");
84 const std::string& tabName);
92 Eigen::Isometry3f getCalibrationOffset(
const std::string& sensorFrame)
const;
93 void createOrUpdateCalibrationTab();
96 std::optional<DebugObserverHelper> debugObserver;
101 bool uniformColor =
false;
102 bool colorByIntensity =
true;
103 float frequencyHz = 5;
104 int maxRobotAgeMs = 100;
105 int pointSizeInPixels = 3;
112 std::map<std::string, std::pair<VirtualRobot::RobotPtr, DateTime>> robots;
117 void visualizeScan(
const std::vector<ScanPoint>& points,
118 const std::string& sensorName,
119 const std::string& agentName,
122 std::map<std::string, armem::laser_scans::LaserScanStamped> getCurrentLaserScans();
128 struct SensorCalibrationData
138 std::map<std::string, std::array<armarx::RemoteGui::Client::FloatSpinBox, 3>> sensors;
142 std::string remoteGuiTabName_;
144 mutable std::mutex sensorMutex_;
145 std::set<std::string> knownSensorFrames_;
146 std::map<std::string, SensorCalibrationData> calibrationData_;
148 CalibrationTab calibrationTab_;
149 std::atomic<bool> needsTabRebuild_{
false};