diff --git a/src/SaxParser.cpp b/src/SaxParser.cpp index c54b7a771e699205d30b0674a63e975d8830d893..79e55bdc0728c3bcaf2abb304bd1d96f1d336b9c 100644 --- a/src/SaxParser.cpp +++ b/src/SaxParser.cpp @@ -633,7 +633,7 @@ void SaxParser::clearPoints() /// provided for convenience and will be removed in the next version bool SaxParser::parseGeometryJPS(QString fileName, GeometryFactory& geoFac) -{ +{ double captionsColor=0;//red if(!fileName.endsWith(".xml",Qt::CaseInsensitive)) return false; QString wd; @@ -649,15 +649,20 @@ bool SaxParser::parseGeometryJPS(QString fileName, GeometryFactory& geoFac) if(!building->InitGeometry()) return false; // create the polygons + int room_id = -1; + int subroom_id = -1; for(auto&& itr_room: building->GetAllRooms()) { + room_id++; for(auto&& itr_subroom: itr_room.second->GetAllSubRooms()) { + subroom_id++; + string room_caption = itr_room.second->GetCaption() + "_RId_" + QString::number(itr_room.first).toStdString(); + string subroom_caption = itr_subroom.second->GetCaption()+ "_RId_" + QString::number(itr_room.first).toStdString(); auto geometry= shared_ptr<FacilityGeometry>( - new FacilityGeometry(itr_subroom.second->GetType(), itr_room.second->GetCaption(),itr_subroom.second->GetCaption() + new FacilityGeometry(itr_subroom.second->GetType(), room_caption, subroom_caption ) ); - int currentFloorPolyID=0; int currentObstPolyID=0; @@ -783,9 +788,9 @@ bool SaxParser::parseGeometryJPS(QString fileName, GeometryFactory& geoFac) double pos[3]= {p._x*FAKTOR,p._y*FAKTOR,z1*FAKTOR}; geometry->addObjectLabel(pos,pos,"door_"+QString::number(tr->GetID()).toStdString()+ +"_"+ QString::number(tr->GetUniqueID()).toStdString(),captionsColor); - } + } - geoFac.AddElement(itr_subroom.second->GetRoomID(),itr_subroom.second->GetSubRoomID(),geometry); + geoFac.AddElement(room_id,subroom_id,geometry); } }