tsc_PointObservation

This is the base class for point observations with various coordinate types, such as Grid, WGS84, etc.  

A tsc_PointObservation represents a point, which is a complete set of writable properties, that can be appended to a job database.  Contrast this with a tsc_Point, which is a reference to a point object that already exists in a job database.  After writing an observation to a database using tsc_JobPoints::Append(), calling the tsc_JobPoints::Snapshot() method will return a list containing a reference to the new point.

tsc_PointObservation itself is a reference (smart pointer) to an internal object.  It should not be new'ed but instead just specified as an instance and also passed as an instance.  Copies of the class will point to the same observation; changes in one will affect the other.

All the properties other than the coordinate itself are described in this class; see the subclasses for details about the various coordinate types.  Each property has two methods of the same name; a getter and a setter.

Appending observations to the database

To add a point observation to the database, fill in the properties of a tsc_PointObservation subclass of the required type, and pass it to tsc_JobPoints::Append() to store the new point.  The job database is append-only. Some subclasses, notably tsc_CircleObservation, may require other conditions to be correctly set up in the database for the observations to produce usable coordinates.  These conditions are described with the subclass.

Properties

tsc_Classification Classification () const;
void Classification (tsc_Classification pointClass);
Gets or sets the database classification of the point.  The classification is an important property of a point; it controls many aspects of the way in which Survey Core treats the point observation.

tsc_PointMethod Method () const;
void Method (tsc_PointMethod pointMethod);
Gets or sets the database method of the point.

virtual tsc_CoordType  CoordType () const;
Gets the coordinate type of the point.  The type cannot be changed; it is determined by the subclass type.