Sun, 03 Nov 2019 13:18:55 +0200
added matrix conversions and datastream operators
#include "subfilereference.h" modelobjects::SubfileReference::SubfileReference( const Vertex& position, const Matrix3x3& transformation, const QString& referenceName, const Color color) : ColoredBaseObject{color}, position{position}, transformation{transformation}, referenceName{referenceName} { } QVariant modelobjects::SubfileReference::getProperty(Property property) const { switch (property) { case Property::Position: return this->position; case Property::Transformation: return QVariant::fromValue(this->transformation); case Property::ReferenceName: return this->referenceName; default: return ColoredBaseObject::getProperty(property); } } auto modelobjects::SubfileReference::setProperty( Property property, const QVariant& value) -> SetPropertyResult { switch (property) { case Property::Position: this->position = value.value<Vertex>(); return SetPropertyResult::Success; case Property::Transformation: this->transformation = value.value<Matrix3x3>(); return SetPropertyResult::Success; case Property::ReferenceName: this->referenceName = value.toString(); return SetPropertyResult::Success; default: return ColoredBaseObject::setProperty(property, value); } } QString modelobjects::SubfileReference::textRepresentation() const { return referenceName + " " + vertexToStringParens(this->position); }