Skip to content

Commit 72778b4

Browse files
weissdavidpmai
authored andcommitted
Introduce reference line type enum
The type of a reference line will determine how S and T coordinates have to be calculated. Type POLYLINE is equal to the previous ST definition. A new type POLYLINE_WITH_T_AXIS is introduced for improved ST handling. Signed-off-by: Weiss David <david.weiss@in-tech.com> Signed-off-by: Reinhard Biegel <reinhard.biegel@in-tech.com>
1 parent c3fb715 commit 72778b4

File tree

1 file changed

+33
-7
lines changed

1 file changed

+33
-7
lines changed

osi_referenceline.proto

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,21 @@ message ReferenceLine
3131
//
3232
optional Identifier id = 1;
3333

34+
optional Type type = 3;
35+
36+
enum Type
37+
{
38+
// ReferenceLine is a polyline, where the coordinates of points are
39+
// calculated by projection onto the nearest point on the line.
40+
//
41+
POLYLINE = 0;
42+
43+
// ReferenceLine is a polyline, where the coordinates of points are
44+
// calculated using the t axis definition.
45+
//
46+
POLYLINE_WITH_T_AXIS = 1;
47+
}
48+
3449
// Points comprising the polyline.
3550
//
3651
// At least 2 points must be given.
@@ -88,13 +103,22 @@ message ReferenceLine
88103
//
89104
// To describe points that are not directly on the polyline, a T coordinate
90105
// is added. T is the signed 2D distance between the point to describe (P)
91-
// and a projected point (P_proj) on the polyline. The T axis (projecting
92-
// axis) is the line going through P and the intersection point (I). I is
93-
// defined as the intersection of both T axes of two consecutive
94-
// ReferenceLinePoints (see example and image below for illustration). If
95-
// both T axes of the neighboring ReferenceLinePoint are parallel (so no
96-
// intersection point exists), the resulting T axis direction is equal to
97-
// the T axis of these ReferenceLinePoints.
106+
// and a projected point (P_proj) on the polyline. There are two ways of
107+
// defining this point, depending on the ReferenceLine type.
108+
//
109+
// ## Nearest point (Type POLYLINE)
110+
//
111+
// The projection point is the nearest point on the polyline (this point might
112+
// either be on a line segment or at an edge between two line segments).
113+
//
114+
// ## T axis definition (Type POLYLINE_WITH_T_AXIS)
115+
//
116+
// The T axis (projecting axis) is the line going through P and the
117+
// intersection point (I). I is defined as the intersection of both
118+
// T axes of two consecutive ReferenceLinePoints (see example and
119+
// image below for illustration). If both T axes of the neighboring
120+
// ReferenceLinePoint are parallel (so no intersection point exists), the
121+
// resulting T axis direction is equal to the T axis of these ReferenceLinePoints.
98122
// The T coordinate of the point in question is then defined as
99123
// <code>hypot(P.X-P_proj.X,P.Y-P_proj.Y)</code>. The projected point P_proj
100124
// might either be on a line segment or at an edge between two line segments.
@@ -228,6 +252,8 @@ message ReferenceLine
228252
//
229253
// Also see image "S, T coordinates" at #poly_line for reference.
230254
//
255+
// \note This field is only set if the type of the reference line is POLYLINE_WITH_T_AXIS.
256+
//
231257
optional double t_axis_yaw = 3;
232258
}
233259
}

0 commit comments

Comments
 (0)