//! compare two labels and fill in missing labels void ShadeShapeMatch::fillMissingLabels(Labels &upLabels, Labels &dbLabels) { map<String,pair<int,float> > &upMap = upLabels.getMap(); map<String,pair<int,float> > &dbMap = dbLabels.getMap(); map<String,int> &upShadeLevelMap = upLabels.getShadeLevelMap(); map<String,int> &dbShadeLevelMap = dbLabels.getShadeLevelMap(); map<String,int> &upShapeNumMap = upLabels.getShapeMap(); map<String,int> &dbShapeNumMap = dbLabels.getShapeMap(); for(auto it=upMap.begin(); it!=upMap.end(); it++) { String label = it->first; if(dbMap.find(label)==dbMap.end()) { dbMap[label] = std::make_pair(0,0.0); dbShadeLevelMap[label] = upLabels.getShadeLevel(label); dbShapeNumMap[label] = upLabels.getShapeNum(label); } } for(auto it=dbMap.begin(); it!=dbMap.end(); it++) { String label = it->first; if(upMap.find(label)==upMap.end()) { upMap[label] = std::make_pair(0,0.0); upShadeLevelMap[label] = dbLabels.getShadeLevel(label); upShapeNumMap[label] = dbLabels.getShapeNum(label); } } }