In an application, you often need to make these calculations:
Calculate the distance between two points
Calculate the azimuth to go from one point to another.
Calculate a point from a given start point, azimuth and distance.
These calculations depend on the used coordinate system and on the interpretation of a line. You need to create them for a specific combination of a coordinate system and interpretation of the line type.