#include "RadioCalibrationData.h" RadioCalibrationData::RadioCalibrationData() { data = new QVector >(6); (*data).insert(AILERON, QVector(3)); (*data).insert(ELEVATOR, QVector(3)); (*data).insert(RUDDER, QVector(3)); (*data).insert(GYRO, QVector(2)); (*data).insert(PITCH, QVector(5)); (*data).insert(THROTTLE, QVector(5)); } RadioCalibrationData::RadioCalibrationData(const QVector &aileron, const QVector &elevator, const QVector &rudder, const QVector &gyro, const QVector &pitch, const QVector &throttle) { data = new QVector >(); (*data) << aileron << elevator << rudder << gyro << pitch << throttle; } RadioCalibrationData::RadioCalibrationData(const RadioCalibrationData &other) :QObject() { data = new QVector >(*other.data); } RadioCalibrationData::~RadioCalibrationData() { delete data; } const float* RadioCalibrationData::operator [](int i) const { if (i < data->size()) { return (*data)[i].constData(); } return NULL; } const QVector& RadioCalibrationData::operator ()(const int i) const throw(std::out_of_range) { if ((i < data->size()) && (i >=0)) { return (*data)[i]; } throw std::out_of_range("Invalid channel index"); } QString RadioCalibrationData::toString(RadioElement element) const { QString s; foreach (float f, (*data)[element]) { s += QString::number(f) + ", "; } return s.mid(0, s.length()-2); }