WimaMeasurementAreaData.cc 3.26 KB
Newer Older
1
#include "WimaMeasurementAreaData.h"
2
#include "SnakeTile.h"
3 4 5 6

const char *WimaMeasurementAreaData::typeString = "WimaMeasurementAreaData";

WimaMeasurementAreaData::WimaMeasurementAreaData(QObject *parent)
7
    : WimaAreaData(parent) {}
8

9 10 11 12
WimaMeasurementAreaData::WimaMeasurementAreaData(
    const WimaMeasurementAreaData &other, QObject *parent)
    : WimaAreaData(parent) {
  *this = other;
13 14
}

15 16 17 18
WimaMeasurementAreaData::WimaMeasurementAreaData(
    const WimaMeasurementArea &other, QObject *parent)
    : WimaAreaData(parent) {
  *this = other;
19 20
}

21 22 23 24 25 26 27 28 29 30 31 32
bool WimaMeasurementAreaData::
operator==(const WimaMeasurementAreaData &other) const {
  return this->WimaAreaData::operator==(other) &&
         this->_tileData == other.tileData() &&
         this->center() == other.center();
}

bool WimaMeasurementAreaData::
operator!=(const WimaMeasurementAreaData &other) const {
  return !(*this == other);
}

33 34 35 36 37
/*!
 * \overload operator=();
 *
 * Assigns \a other to the invoking object.
 */
38 39 40
WimaMeasurementAreaData &WimaMeasurementAreaData::
operator=(const WimaMeasurementAreaData &other) {
  assign(other);
41

42
  return *this;
43 44 45 46 47 48 49
}

/*!
 * \overload operator=();
 *
 * Assigns \a other to the invoking object.
 */
50 51 52
WimaMeasurementAreaData &WimaMeasurementAreaData::
operator=(const WimaMeasurementArea &other) {
  assign(other);
53

54
  return *this;
55 56
}

57 58
QString WimaMeasurementAreaData::type() const { return this->typeString; }

59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
QmlObjectListModel *WimaMeasurementAreaData::tiles() {
  return &this->_tileData.tiles;
}

const QmlObjectListModel *WimaMeasurementAreaData::tiles() const {
  return &this->_tileData.tiles;
}

const QVariantList &WimaMeasurementAreaData::tileCenterPoints() const {
  return this->_tileData.tileCenterPoints;
}

QVariantList &WimaMeasurementAreaData::tileCenterPoints() {
  return this->_tileData.tileCenterPoints;
}

const TileData &WimaMeasurementAreaData::tileData() const {
76
  return this->_tileData;
77 78
}

79
TileData &WimaMeasurementAreaData::tileData() { return this->_tileData; }
80 81 82 83 84 85 86

const QVector<int> &WimaMeasurementAreaData::progress() const {
  return this->_progress;
}

QVector<int> &WimaMeasurementAreaData::progress() { return this->_progress; }

87 88
void WimaMeasurementAreaData::assign(const WimaMeasurementAreaData &other) {
  WimaAreaData::assign(other);
89 90
  this->_tileData = other._tileData;
  this->_progress = other._progress;
91 92
}

93 94 95
void WimaMeasurementAreaData::assign(const WimaMeasurementArea &other) {
  WimaAreaData::assign(other);
  if (other.ready()) {
96
    this->_tileData = other.tileData();
97
    this->_progress = other.progress();
98 99 100 101
  } else {
    qWarning()
        << "WimaMeasurementAreaData::assign(): WimaMeasurementArea not ready.";
  }
102
}
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124

bool operator==(const WimaMeasurementAreaData &m1,
                const WimaMeasurementArea &m2) {
  return operator==(*static_cast<const WimaAreaData *>(&m1),
                    *static_cast<const WimaArea *>(&m2)) &&
         m1.tileData() == m2.tileData() && m1.progress() == m2.progress();
}

bool operator!=(const WimaMeasurementAreaData &m1,
                const WimaMeasurementArea &m2) {
  return !(m1 == m2);
}

bool operator==(const WimaMeasurementArea &m1,
                const WimaMeasurementAreaData &m2) {
  return m2 == m1;
}

bool operator!=(const WimaMeasurementArea &m1,
                const WimaMeasurementAreaData &m2) {
  return m2 != m1;
}