tsc_RawCircle
class tsc_RawCircle : public tsc_Coordinate
This class represents a raw measurement from a Total station, before any corrections have been made (other than any that may have been applied within the instrument itself, such as collimation). Together with the environment, it contains all the data needed to represent a total station measurement. (also see tsc_TsEnvironment). As usual, all distances are in metres, all angles in radians.
All fields are optional. HorzCircle, VertCircle, and EDMDistance comprise the raw observation; all the other fields hold supplemental information about the measurement; these will be missing if the instrument did not supply them or if the coordinate was converted from some other form such as a grid. If the measurement was angles-only, the EDMDistance will be empty (ie, HasDistance returns false).
While it is possible to construct a tsc_RawCircle object in a plugin, it is more common to obtain one either by performing a Total Station measurement, or from a job database tsc_Point object that was originally measured by a total station.
const double HorzCircle; // Horizontal angle
const double VertCircle; // Vertical angle
const double EDMDistance; // Distance measured by the EDM
const tsc_Face Face; // Which instrument face was used (VA also implies the face)
const bool Face2Uncorrected; // Face 2 VA requires extra correction for non-coaxial instrument.
const double HorzCircleStdErr; // The instrument's specified HA precision in radians.
const double VertCircleStdErr; // The instrument's specified VA precision in radians.
const double EdmDistanceStdErr; // The instrument's specified EDM precision in metres.
const tsc_EdmMode EdmMeasurementMode; // The instrument measurement mode used.
virtual tsc_CoordType Type() const { return tsct_RawCircle; }
Returns the coordinate type.
The following methods can be used to test which parts of the coordinate are present.
bool IsEmpty () const;
bool HasVertical () const;
bool HasHorizontal() const;
bool HasDistance () const;
Resets the coordinate.
void SetEmpty ();
The constructor initializes all fields:
tsc_RawCircle (const double& horizontalAngle,
const double& verticalAngle,
const double& edmDistance,
const double& horizontalAngleStandardError,
const double& verticalAngleStandardError,
const double& edmStandardError,
tsc_Face face,
bool face2Uncorrected,
tsc_EdmMode edmMode);
Returns a new measurement adjusted to a new or desired face.
tsc_RawCircle ChangeFace() const;
tsc_RawCircle ToFace (tsc_Face desiredFace) const;
This function returns a tsc_RawCircle given a tsc_Grid coordinate - note that a properly configured observation (known station and target in the current database) is needed to allow complete conversion. Some assumptions will be made and information such as the face and the EDM mode are not able to be determined. The result returned is one which, if converted back to a grid coordinate using the same environment, would return the original values to a reasonable precision.
static tsc_RawCircle FromGrid (const tsc_Grid& grid, class tsc_TsEnvironment& environment);
A tsc_RawCircle can be calculated from a source tsc_RawCircle and a set of offsets. Please see tsc_DistanceOffsetObservation and tsc_AngleOffsetObservation for important details as to how these offsets are applied.
static tsc_RawCircle ApplyDistanceOffsets(const tsc_RawCircle& circle,
const double& leftRightOffset,
const double& inOutOffset,
const double& downUpOffset,
class tsc_TsEnvironment& environment,
enum tsc_OffsetPerspectiveMode offsetPerspectiveMode = tsof_OffsetFromInstrument);
static tsc_RawCircle ApplyAngleOffsets(const tsc_RawCircle& firstCircle,
const tsc_RawCircle& secondCircle,
class tsc_TsEnvironment& environment,
enum tsc_AngleOffsetType type = taot_AngleOffset);