|
@@ -3039,12 +3039,45 @@ bool OpenDriveXmlWriter::WriteJunctionsurfaceCRG(TiXmlElement *node, Junctionsur
|
|
|
|
|
|
bool OpenDriveXmlWriter::WriteJunctionGroup(TiXmlElement *node, JunctionGroup *junctionGroup)
|
|
|
{
|
|
|
+ std::string id,type,name;
|
|
|
+ id = junctionGroup->Getid();
|
|
|
+ type = junctionGroup->Gettype();
|
|
|
+
|
|
|
+ TiXmlElement *nodeJunctionGroup = new TiXmlElement("junctionGroup");
|
|
|
+
|
|
|
+ node->LinkEndChild(nodeJunctionGroup);
|
|
|
+
|
|
|
+ nodeJunctionGroup->SetAttribute("id",id);
|
|
|
+ nodeJunctionGroup->SetAttribute("type",type);
|
|
|
+
|
|
|
+ if(junctionGroup->Getname(name) == 1)
|
|
|
+ {
|
|
|
+ nodeJunctionGroup->SetAttribute("name",name);
|
|
|
+ }
|
|
|
+
|
|
|
+ unsigned int JunctionGroupReferenceCount = junctionGroup->GetjunctionReferenceCount();
|
|
|
+ for(unsigned int i=0;i<JunctionGroupReferenceCount;i++)
|
|
|
+ {
|
|
|
+
|
|
|
+ JunctionGroupReference * pJunctionGroupReference = junctionGroup->GetjunctionReference(i);
|
|
|
+ WriteJunctionGroupReference(nodeJunctionGroup,pJunctionGroupReference);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return true;
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|
|
|
bool OpenDriveXmlWriter::WriteJunctionGroupReference(TiXmlElement *node, JunctionGroupReference *junctionGroupReference)
|
|
|
{
|
|
|
+ TiXmlElement * nodeJunctionGroupReference = new TiXmlElement("junctionReference");
|
|
|
+
|
|
|
+ node->LinkEndChild(nodeJunctionGroupReference);
|
|
|
|
|
|
+ nodeJunctionGroupReference->SetAttribute("junction",junctionGroupReference->Getjunction());
|
|
|
+
|
|
|
+ return true;
|
|
|
}
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
@@ -3087,6 +3120,12 @@ bool OpenDriveXmlWriter::WriteFile(std::string fileName)
|
|
|
WriteController(rootNode,mOpenDrive->GetController(i));
|
|
|
}
|
|
|
|
|
|
+ unsigned int junctionGroupCount = mOpenDrive->GetJunctionGroupCount();
|
|
|
+ for(unsigned int i=0;i<junctionGroupCount; i++)
|
|
|
+ {
|
|
|
+ WriteJunctionGroup(rootNode,mOpenDrive->GetJunctionGroup(i));
|
|
|
+ }
|
|
|
+
|
|
|
// Saves the XML structure to the file
|
|
|
return doc.SaveFile( fileName );
|
|
|
|