void MapG2OReflector::copyEstimatesFromG2O(){ for (std::map<MapNode*, g2o::VertexSE3*>::iterator it=_nm2g.begin(); it!=_nm2g.end(); it++){ MapNode* n = it->first; g2o::VertexSE3* v = it->second; n->setTransform(v->estimate()); } }
void GlobalMapViewer::updateCallback(const MapUpdateMsgConstPtr& msg) { for (size_t i = 0; i<msg->updates.size(); i++){ const MapNodeUpdateMsg& update = msg->updates[i]; boss::Identifiable* o = _context->getById(update.node_id); if (! o) continue; MapNode* n = dynamic_cast<MapNode*>(o); if (!n) { throw std::runtime_error("invalid type"); } n->setTransform(pose2eigen(update.transform)); } }