// %flair:license{ // This file is part of the Flair framework distributed under the // CECILL-C License, Version 1.0. // %flair:license} // created: 2013/07/29 // filename: GeoCoordinate.cpp // // author: Guillaume Sanahuja // Copyright Heudiasyc UMR UTC/CNRS 7253 // // version: $Id: $ // // purpose: Class defining a point by its lla coordinates // // /*********************************************************************/ #include "GeoCoordinate.h" using std::string; namespace flair { namespace core { GeoCoordinate::GeoCoordinate(const Object *parent, string name, const GeoCoordinate *point, int n) : io_data(parent, name, n) { if (n > 1) Warn("n>1 not supported\n"); CopyFrom(point); } GeoCoordinate::GeoCoordinate(const Object *parent, string name, double latitude, double longitude, double altitude, int n) : io_data(parent, name, n) { this->latitude = latitude; this->longitude = longitude; this->altitude = altitude; } GeoCoordinate::~GeoCoordinate() {} void GeoCoordinate::CopyFrom(const GeoCoordinate *point) { double latitude, longitude, altitude; point->GetCoordinates(&latitude, &longitude, &altitude); GetMutex(); this->latitude = latitude; this->longitude = longitude; this->altitude = altitude; ReleaseMutex(); } void GeoCoordinate::SetCoordinates(double latitude, double longitude, double altitude) { GetMutex(); this->latitude = latitude; this->longitude = longitude; this->altitude = altitude; ReleaseMutex(); } void GeoCoordinate::GetCoordinates(double *latitude, double *longitude, double *altitude) const { GetMutex(); *latitude = this->latitude; *longitude = this->longitude; *altitude = this->altitude; ReleaseMutex(); } void GeoCoordinate::RawRead(char *ptr) const { Warn("a ecrire"); } } // end namespace core } // end namespace flair