Labels shown in the GUI (added also "Label current location..." action in Detection menu)

This commit is contained in:
matlabbe
2015-07-26 15:50:39 -04:00
parent a15ae81651
commit b358ffd45d
12 changed files with 277 additions and 48 deletions

View File

@@ -151,6 +151,15 @@ public:
void removeGraph(const std::string & id);
void removeAllGraphs();
void addOrUpdateText(
const std::string & id,
const std::string & text,
const Transform & position,
double scale,
const QColor & color);
void removeText(const std::string & id);
void removeAllTexts();
bool isTrajectoryShown() const;
unsigned int getTrajectorySize() const;
void setTrajectoryShown(bool shown);
@@ -198,7 +207,7 @@ public slots:
void setCloudVisibility(const std::string & id, bool isVisible);
void setCloudOpacity(const std::string & id, double opacity = 1.0);
void setCloudPointSize(const std::string & id, int size);
virtual void clear() {removeAllClouds(); clearTrajectory();}
virtual void clear();
signals:
void configChanged();
@@ -234,6 +243,7 @@ private:
QMenu * _menu;
std::set<std::string> _graphes;
std::set<std::string> _coordinates;
std::set<std::string> _texts;
pcl::PointCloud<pcl::PointXYZ>::Ptr _trajectory;
unsigned int _maxTrajectorySize;
unsigned int _gridCellCount;

View File

@@ -147,6 +147,7 @@ private slots:
void dumpThePrediction();
void sendGoal();
void cancelGoal();
void label();
void downloadAllClouds();
void downloadPoseGraph();
void clearTheCache();
@@ -162,6 +163,7 @@ private slots:
void processRtabmapEventInit(int status, const QString & info);
void processRtabmapEvent3DMap(const rtabmap::RtabmapEvent3DMap & event);
void processRtabmapGlobalPathEvent(const rtabmap::RtabmapGlobalPathEvent & event);
void processRtabmapLabelErrorEvent(int id, const QString & label);
void changeImgRateSetting();
void changeDetectionRateSetting();
void changeTimeLimitSetting();
@@ -195,6 +197,7 @@ signals:
void rtabmapEventInitReceived(int status, const QString & info);
void rtabmapEvent3DMapReceived(const rtabmap::RtabmapEvent3DMap & event);
void rtabmapGlobalPathEventReceived(const rtabmap::RtabmapGlobalPathEvent & event);
void rtabmapLabelErrorReceived(int id, const QString & label);
void imgRateChanged(double);
void detectionRateChanged(double);
void timeLimitChanged(float);
@@ -205,7 +208,13 @@ signals:
private:
void update3DMapVisibility(bool cloudsShown, bool scansShown);
void updateMapCloud(const std::map<int, Transform> & poses, const Transform & pose, const std::multimap<int, Link> & constraints, const std::map<int, int> & mapIds, bool verboseProgress = false);
void updateMapCloud(
const std::map<int, Transform> & poses,
const Transform & pose,
const std::multimap<int, Link> & constraints,
const std::map<int, int> & mapIds,
const std::map<int, std::string> & labels,
bool verboseProgress = false);
void createAndAddCloudToMap(int nodeId, const Transform & pose, int mapId);
void createAndAddScanToMap(int nodeId, const Transform & pose, int mapId);
void drawKeypoints(const std::multimap<int, cv::KeyPoint> & refWords, const std::multimap<int, cv::KeyPoint> & loopWords);
@@ -266,6 +275,7 @@ private:
std::map<int, Transform> _currentPosesMap; // <nodeId, pose>
std::multimap<int, Link> _currentLinksMap; // <nodeFromId, link>
std::map<int, int> _currentMapIds; // <nodeId, mapId>
std::map<int, std::string> _curentLabels; // <nodeId, label>
std::map<int, pcl::PointCloud<pcl::PointXYZRGB>::Ptr > _createdClouds;
std::map<int, pcl::PointCloud<pcl::PointXYZ>::Ptr > _createdScans;
std::map<int, std::pair<cv::Mat, cv::Mat> > _projectionLocalMaps; // <ground, obstacles>

View File

@@ -140,6 +140,7 @@ public:
bool isPosteriorGraphView() const;
bool isGraphsShown() const;
bool isLabelsShown() const;
bool isCloudMeshing() const;
bool isCloudsShown(int index) const; // 0=map, 1=odom
double getCloudVoxelSize(int index) const; // 0=map, 1=odom