#include "gate.h" namespace germanairlinesva_simdata { Gate::Gate(std::string designator, double latitude, double longitude, std::uint8_t radius) { this->designator = designator; this->center = {latitude, longitude}; this->radius = radius; file = std::vector(1 + this->designator.length() + 1 + sizeof(center) + sizeof(radius), 0); std::uint8_t *bufPtr = file.data(); std::memset(bufPtr, static_cast(this->designator.length()), sizeof(std::uint8_t)); bufPtr++; std::memcpy(bufPtr, this->designator.c_str(), this->designator.length()); bufPtr += this->designator.length() + 1; std::memcpy(bufPtr, &this->center, sizeof(this->center)); bufPtr += sizeof(this->center); std::memcpy(bufPtr, &this->radius, sizeof(this->radius)); } // From database Gate::Gate(std::string designator, germanairlinesva_geodata::point center, std::uint8_t radius) { this->designator = designator; this->center = center; this->radius = radius; file = std::vector(1 + this->designator.length() + 1 + sizeof(center) + sizeof(radius), 0); std::uint8_t *bufPtr = file.data(); std::memset(bufPtr, static_cast(this->designator.length()), sizeof(std::uint8_t)); bufPtr++; std::memcpy(bufPtr, this->designator.c_str(), this->designator.length()); bufPtr += this->designator.length() + 1; std::memcpy(bufPtr, &this->center, sizeof(this->center)); bufPtr += sizeof(this->center); std::memcpy(bufPtr, &this->radius, sizeof(this->radius)); } } // namespace germanairlinesva_simdata