tsc_IGnssMonitor

This interface is used to handle GNSS related Survey Core global events.  Any class may subclass of this interface, in addition to any other monitor interfaces plus any regular base class.

See the Event handling page for more information on global events and event handling using the Monitor classes.

Public methods

void Start();
Call this method (use the tsc_IGnssMonitor::Start() syntax) to start global events flowing into the monitor's event handlers.  The thread that calls this method will be the same thread on which the event handlers are called.  It is not an error to call Start more than once.  When Start is called and an instrument is already connected then you will get an event straight away to reflect the current state.

void Stop();
This method stops event handlers from being called.  Use the tsc_IGnssMonitor::Stop() syntax.  The effect will be immediate.  It is not an error to call Stop more than once, and destruction of the monitor will also call Stop automatically.

Event handlers

Any of the following event handlers may be implemented.  Note that most of these handlers do not supply information about the event.  This is a performance consideration; the event sender does not know what the handler wishes to do and therefore does not waste time setting up interfaces that may never be used.  Rather, the event handler should "pull" the information it needs, when it needs it.

virtual void OnInitialisationMethodChanged();
Called when a survey changes initialization method (e.g. from RTK to PPK).  This is not the initialisation status.

virtual void OnCoordinateSystemChanged();
Called when the the current job coordinate system has changed which will affect GNSS coordinate representation in grid.

virtual void OnNewGnssStreamedObservation(
const double& latitude,
const double& longitude,
const double& height);
Called when the a new position has become available.  You may receive a double_Null height when the antenna height is double_Null.
Note: Even during tilted measurements this code will provide a ground position with the assumption that the antenna pole is vertical.

virtual void OnGnssSurveyStarted();
Called when a GNSS survey has successfully started, initialisation may not have been gained yet.

virtual void OnGnssSurveyEnded();
Called when a GNSS survey is ended.

virtual void OnGnssConnected();
Called when a GNSS receiver successfully connects.

virtual void OnGnssDisconnected();
Called when a GNSS receiver connection is lost.

virtual void OnAntennaHeightChanged(const double& newReducedHeight);
Called when the current environment antenna is changed; this antenna is not necessarily in the database though it will be stored before the next point is stored.  The new (reduced) height in meters is supplied.  Note that while the reduced height may not have changed the measured height and measurement method potentially have.

virtual void OnNewStreamedTilt (const double& tiltX, const double& tiltY);
A new streamed tilt value has been received.  This will only be available on receivers that support this feature that are currently calibrated.
Only override the default handler if you wish to use this event, as it may occur at up to 10Hz.

virtual void OnNewRtkBase(
const char*   newBaseName,
const double& latitude,
const double& longitude,
const double& height);
The survey has started or switched to a new base.  A point with this name will exist in the current job and its's WGS84 position is given by the latitude, longitude and height.

The event will occur at the start of an RTK survey as well, in this case it represents the first base and will be signalled before the survey has fully started.