Add new trajectory shape "Bezier"
Describe the feature
Currently OpenSCENARIO 1.1 supports three curve formats: Polyline, Clothoid, NURBS
The standard states
By using nurbs, most relevant paths may be expressed either directly or with arbitrary approximation: Nurbs curves form a strict superset of the curves expressible as Bézier curves, piecewise Bézier curves, or non-rational B-Splines, which can be mapped to corresponding nurbs curves. Because nurbs curves directly support the expression of conic sections, such as circles and ellipses) approximation of, for example clothoids using arc spline approaches, is feasible.
This sounds intriguing at the first look. However, there is a problem when using OpenSCENARIO in an iterative/bidirectional way: It is problematic to convert a NURBS curve back to a Bezier curve when loading the OpenSCENARIO file back into an editing tool. Since NURBS are a superset it would be necessary to find out if the NURBS is also a Bezier curve. On the other hand Bezier curves are often very useful for modeling due to the property of the control points lying on the curve. That is also why many tools are supporting both NURBS and Bezier. This allows modellers to decide based on the exact use-case which primitive to use.
Therefore I propose to add an additional shape type for Bezier curves. This would allow all tools to clearly distinguish between the two curve types and map them to the correct internal tooling during loading. Meta information loss during Bezier to NURBS conversion could be avoided. It would also be easier to add and interpret timing information on a Bezier curve since the control points are on the curve and the timing can be interpreted similar to a polyline.
Describe the solution you would like
<xsd:complexType name="Shape">
<xsd:choice>
<xsd:element name="Polyline" type="Polyline" minOccurs="0"/>
<xsd:element name="Clothoid" type="Clothoid" minOccurs="0"/>
<xsd:element name="Nurbs" type="Nurbs" minOccurs="0"/>
<xsd:element name="Points" type="Bezier" minOccurs="0"/>
</xsd:choice>
</xsd:complexType>
Describe alternatives you have considered
Unknown.
Describe the backwards compatibility
It should be backwards compatible.