feature/projected_point

The initial commits of this PR adds a distance::detail::projected_point_ax strategy returning 2-component Point/Segment distance.

The intention is to use it as a parameter of the Douglas-Peucked simplify() strategy in order to remove unneeded Points based on the parallel and perpendicular distances of the projected Point instead of the default Point/Segment distance.

The ATD (along track distance) is parallel to the Segment and is a distance between Point projected into a line defined by a Segment and the nearest Segment's endpoint. If the projected Point intersects the Segment the ATD is equal to 0.

The XTD (cross track distance) is perpendicular to the Segment and is a distance between input Point and its projection.


Yes, in the case of simple types, this would be value initialization, but for other ones this would be a default ctor which could not set the internals to 0. David some time ago reported that in some cases he was surprised that BG doesn't set the values explicitly. However AFAIR he had Points in mind. We could talk about it on the list since here is not a good place for it.