(input-shape-line-polyline)=
# Straight
For this type, the basic idea is to provide key points for a chain of straight lines.
The direction of a base line is defined by the order of the point list.
There are three ways defining a base line of this type:

1. Use a comma-separated list of two or more points to define a polyline (i, ii).
```xml
...
a,z
a,b,c,z
a,b,c,z,a
...
```
2. Use two points separated by a colon to represent a range of points (iii). The first two methods can be used in combination.
```xml
...
a:z
a:z,b,c
...
```
3. Use a point and an incline angle to define a straight line (iv).
In this case, PreVABS will calculate the second key point (a') and generate the base line.
The PreVABS-computed second key point will always be "not lower" than the user-provided key point, which means the base line will always be pointing to the upper left or upper right, or to the right if it is horizontal.
```xml
...
a
theta
...
```
```{note} Note
Use `type="straight"` for splines.
```
**Specification**
- ``: Names of points defining the base line, separated by commas (explicit list), or colons (range). Blanks are not allowed between points names.
- ``: Name of a point.
- ``: Incline angle of the line. The positive angle (degree) is defined from the positive z₂ axis, counter-clockwise.
The ``+`` form accepts an optional `loc` attribute on the `` to control whether the user-provided point is the line's midpoint (`loc="inner"`, default) or its starting endpoint (`loc="end"`).