Describe the bug
There seems to be a general problem, if scenarios are parsed and written again with the OpenScenarioXMLExporter, they are changed regarding double attributes with value 0. The exporter assumes if the value is 0 that is wasn't set in the original scenario and removes it in the export. But 0 is a valid value. With the introduction of the IsSet...() methods this problem can be solved, so that the exporter can distinguish, the two cases that:
an attribute was set with value 0
an attribute was not set
To Reproduce
Parse a scenario with a FollowTrajectoryAction, which includes a Polygon with a vertex with time="0"
write the scenario with OpenScenarioXMLExporter
compare the original scenario with the exported scenario
Expected behavior
Vertex still contains attribute time="0"
Describe the bug There seems to be a general problem, if scenarios are parsed and written again with the OpenScenarioXMLExporter, they are changed regarding double attributes with value 0. The exporter assumes if the value is 0 that is wasn't set in the original scenario and removes it in the export. But 0 is a valid value. With the introduction of the IsSet...() methods this problem can be solved, so that the exporter can distinguish, the two cases that:
To Reproduce
Expected behavior Vertex still contains attribute time="0"
Observed behavior Vertex doesn't contain attribute "time" anymore
Additional context Example scenario snippet: