#include "blackmisc/coordinatened.h" using namespace BlackMisc::Math; namespace BlackMisc { namespace Geo { bool CCoordinateNed::operator ==(const CCoordinateNed &other) const { if (this == &other) return true; if (!CVector3DBase::operator ==(other)) return false; return TupleConverter::toTuple(*this) == TupleConverter::toTuple(other); } /* * Marshall */ void CCoordinateNed::marshallToDbus(QDBusArgument &argument) const { CVector3DBase::marshallToDbus(argument); argument << TupleConverter::toTuple(*this); } /* * Unmarshall */ void CCoordinateNed::unmarshallFromDbus(const QDBusArgument &argument) { CVector3DBase::unmarshallFromDbus(argument); argument >> TupleConverter::toTuple(*this); } /* * Hash */ uint CCoordinateNed::getValueHash() const { QList hashs; hashs << CVector3DBase::getValueHash(); hashs << qHash(TupleConverter::toTuple(*this)); return BlackMisc::calculateHash(hashs, "CCoordinateNed"); } /* * Compare */ int CCoordinateNed::compareImpl(const CValueObject &otherBase) const { const auto &other = static_cast(otherBase); int result = compare(TupleConverter::toTuple(*this), TupleConverter::toTuple(other)); return result == 0 ? CVector3DBase::compareImpl(otherBase) : result; } } }