Make ReferencePoint's Point3D copy constructor explicit. This implied
the following changes:
* Stock::get_reference_point(ReferencePoint&) becomes
get_reference_point(Point3D&). Reference points were always
retrieved by their coordinates only in the Stock anyway.
* Stock::find_create_reference_point(Point3D&) was added, since it can
have a different outcome than its (ReferencePoint&) counterpart.
* The unit tests for Stock were improved.
Fix a few missing includes that prevented building on BSD systems.
* Client: the proper way to get MAXHOSTNAMELEN is from <sys/param.h>,
not from <rpc/types.h>.
* Positioner/Direction: std::hash is declared in <functional>.
* Positioner/OutputNetworkSocket: get struct sockaddr from
<sys/socket.h>, not from <netinet/in.h>.
If not building against the source from the Git repository, the date
can't be retrieved with Git; in that case we use the current date in the
documentation.
owlps-aggcheck uses the timestamp alone to identify requests, which
causes problem in case two requests have the same timestamp. This commit
allows the script to detect duplicated timestamps, and documents the
bug.
The new option positioning.filter.max-speed-cp allows to set an
alternative maximum speed when the mobile is found to be within
cp-reset-distance, instead of completely disabling the filter.
The new option positioning.filter.cp-reset-distance allows to disable
the filter when the unfiltered location of the mobile terminal is found
to be close enough to a capture point.
The new configuration option positioning.filter.max-speed allows to
specify the maximum speed at which the mobile terminals can travel; the
distance between two results for a given mobile will be limited to the
distance that it could have travelled, according to the two requests'
timestamps.
The last request transmitted by (received from) a mobile is now stored
along with last_results instead of relying on last_results.request which
is not guaranteed to be a valid pointer.
Add Point3D::interpolate(point, speed, duration), that returns a single
interpolated point computed according to speed and duration of the
mobile's movement.