TCoordinate Class Reference

class TCoordinate

TCoordinate is used to hold the basic coordinates of a location (latitude, longitude and altitude).

Public Member Functions
TCoordinate()
TCoordinate(const TReal64 &, const TReal64 &)
TCoordinate(const TReal64 &, const TReal64 &, TReal32)
IMPORT_C TReal32Altitude()
IMPORT_C TIntBearingTo(const TCoordinate &, TReal32 &)
IMPORT_C TPositionDatumIdDatum()
IMPORT_C TIntDistance(const TCoordinate &, TReal32 &)
IMPORT_C TReal64Latitude()
IMPORT_C TReal64Longitude()
IMPORT_C TIntMove(TReal32, TReal32)
IMPORT_C voidSetCoordinate(const TReal64 &, const TReal64 &)
IMPORT_C voidSetCoordinate(const TReal64 &, const TReal64 &, TReal32)
IMPORT_C voidSetDatum(TPositionDatumId)
Private Member Functions
voidNormalizeCoordinate()
Protected Attributes
TReal32 iAltitude
TPositionDatumId iDatum
TReal64 iLatitude
TReal64 iLongitude
TUint8 iReserved

Constructor & Destructor Documentation

TCoordinate()

IMPORT_CTCoordinate()

Default constructor for TCoordinate. Sets the member data to default values (NaN).

TCoordinate(const TReal64 &, const TReal64 &)

IMPORT_CTCoordinate(const TReal64 &aLatitude,
const TReal64 &aLongitude
)

Constructor for TCoordinate. Allows the client to set just latitude and longitude, and sets the altitude to its default value (NaN).

Parameters

const TReal64 & aLatitudespecifies an initial value for latitude.
const TReal64 & aLongitudespecifies an initial value for longitude.

TCoordinate(const TReal64 &, const TReal64 &, TReal32)

IMPORT_CTCoordinate(const TReal64 &aLatitude,
const TReal64 &aLongitude,
TReal32aAltitude
)

Constructor for TCoordinate. Allows the client to set the latitude, longitude and altitude.

Parameters

const TReal64 & aLatitudespecifies an initial value for latitude.
const TReal64 & aLongitudespecifies an initial value for longitude.
TReal32 aAltitudespecifies an initial value for altitude.

Member Functions Documentation

Altitude()

IMPORT_C TReal32Altitude()const

Accessor for altitude. The altitude is represented in meters.

BearingTo(const TCoordinate &, TReal32 &)

IMPORT_C TIntBearingTo(const TCoordinate &aTargetCoordinate,
TReal32 &aBearing
)const

This method calculates the bearing from this coordinate to the supplied coordinate.

Parameters

const TCoordinate & aTargetCoordinateis the supplied target coordinate.
TReal32 & aBearingupon successful completion, this is set to the bearing from this coordinate to aTargetCoordinate, in degrees counting clockwise relative to true north.

Datum()

IMPORT_C TPositionDatumIdDatum()const

Accessor for the datum.

Distance(const TCoordinate &, TReal32 &)

IMPORT_C TIntDistance(const TCoordinate &aCoordinate,
TReal32 &aDistance
)const

This method calculates the distance between this coordinate and the supplied coordinate.

Parameters

const TCoordinate & aCoordinateis another point to use in the calculation.
TReal32 & aDistanceupon successful completion, this is set to the distance between this coordinate and aCoordinate, in metres.

Latitude()

IMPORT_C TReal64Latitude()const

Accessor for latitude. The latitude is represented in degrees.

Longitude()

IMPORT_C TReal64Longitude()const

Accessor for longitude. The longitude is represented in degrees.

Move(TReal32, TReal32)

IMPORT_C TIntMove(TReal32aBearing,
TReal32aDistance
)

This method moves this coordinate aDistance in the direction specified by aBearing

Parameters

TReal32 aBearingis the direction to move this coordinate, in degrees counting clockwise relative to true north.
TReal32 aDistanceis the distance to move this coordinate, in metres.

NormalizeCoordinate()

voidNormalizeCoordinate()[private]

This method ensures the coordinates are within coordinate boundaries. It will ensure latitude is between -90 and 90 degrees, and longitude is between -180 (not inclusive) and 180 degrees.

If latitude wraps around to the other side of the globe, longitude is shifted by 180 degrees.

SetCoordinate(const TReal64 &, const TReal64 &)

IMPORT_C voidSetCoordinate(const TReal64 &aLatitude,
const TReal64 &aLongitude
)

This method assigns a new latitude and longitude to the object. The altitude is set to its default value.

Parameters

const TReal64 & aLatitudespecifies a new latitude. The latitude is represented in degrees.
const TReal64 & aLongitudespecifies a new longitude. The longitude is represented in degrees.

SetCoordinate(const TReal64 &, const TReal64 &, TReal32)

IMPORT_C voidSetCoordinate(const TReal64 &aLatitude,
const TReal64 &aLongitude,
TReal32aAltitude
)

This method assigns a new latitude, longitude and altitude to the object.

Parameters

const TReal64 & aLatitudespecifies a new latitude. The latitude is represented in degrees.
const TReal64 & aLongitudespecifies a new longitude. The longitude is represented in degrees.
TReal32 aAltitudespecifies a new altitude. The altitude is represented in meters.

SetDatum(TPositionDatumId)

IMPORT_C voidSetDatum(TPositionDatumIdaDatum)

This method assigns a new datum to the object.

Parameters

TPositionDatumId aDatumspecifies a new datum.

Member Data Documentation

TReal32 iAltitude

TReal32 iAltitude[protected]

Altitude, defaults to WGS-84 format. Represented in meters.

TPositionDatumId iDatum

TPositionDatumId iDatum[protected]

The ID of the datum the coordinate is in, defaults to WGS-84 format.

TReal64 iLatitude

TReal64 iLatitude[protected]

Latitude, defaults to WGS-84 format. Represented in degree.

TReal64 iLongitude

TReal64 iLongitude[protected]

Longitude, defaults to WGS-84 format. Represented in degree.

TUint8 iReserved

TUint8 iReserved[protected]

Unused variable for future expansion.