| 1192 | } |
| 1193 | // |
| 1194 | int LocalSearch::insertObjects(const hadmap::txObjects& objects) { |
| 1195 | hadmap::tx_object_vec t_object; |
| 1196 | hadmap::tx_od_object_vec t_od_object; |
| 1197 | hadmap::tx_object_geom_vec t_geoms_vecs; |
| 1198 | hadmap::tx_object_geom_rel_vec t_rel_geom_objects_vec; |
| 1199 | int _id = 0; |
| 1200 | int index = 0; |
| 1201 | for (auto it = objects.begin(); it != objects.end(); it++) { |
| 1202 | t_object.push_back((*it)->getTxData()); |
| 1203 | t_od_object.push_back((*it)->getOdData()); |
| 1204 | int nGeomSize = (*it)->getGeomSize(); |
| 1205 | for (int i = 0; i < nGeomSize; i++) { |
| 1206 | auto itGeom = (*it)->getGeom(i); |
| 1207 | |
| 1208 | t_geoms_vecs.push_back(itGeom->getTxData()); |
| 1209 | } |
| 1210 | } |
| 1211 | dbPtr->insertObjects(t_object); |
| 1212 | dbPtr->insertOdObjects(t_od_object); |
| 1213 | dbPtr->insertObjectGeoms(t_geoms_vecs); |
| 1214 | for (auto it = objects.begin(); it != objects.end(); it++) { |
| 1215 | int nGeomSize = (*it)->getGeomSize(); |
| 1216 | for (int i = 0; i < nGeomSize; i++) { |
| 1217 | auto itGeom = (*it)->getGeom(i); |
| 1218 | tx_object_geom_rel_t object_rel; |
| 1219 | object_rel.geom_pkid = t_geoms_vecs.at(index).pkid; |
| 1220 | index++; |
| 1221 | object_rel.object_pkid = (*it)->getId(); |
| 1222 | t_rel_geom_objects_vec.push_back(object_rel); |
| 1223 | } |
| 1224 | } |
| 1225 | dbPtr->insertObjectGeomRels(t_rel_geom_objects_vec); |
| 1226 | return TX_HADMAP_OK; |
| 1227 | } |
| 1228 | |
| 1229 | int LocalSearch::updateObjects(const hadmap::txObjects& objects) { |
| 1230 | deleteObjects(objects); |
no test coverage detected