src/linetypes/subfilereference.cpp

Fri, 13 Dec 2019 15:55:56 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Fri, 13 Dec 2019 15:55:56 +0200
changeset 17
a5111f4e6412
parent 14
20d2ed3af73d
child 18
918b6c0f8b5b
permissions
-rw-r--r--

added teapot rendering

#include "subfilereference.h"

linetypes::SubfileReference::SubfileReference(
	const Vertex& position,
	const Matrix3x3& transformation,
	const QString& referenceName,
	const Color color) :
	ColoredObject{color},
	position{position},
	transformation{transformation},
	referenceName{referenceName}
{
}

QVariant linetypes::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 ColoredObject::getProperty(property);
	}
}

auto linetypes::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 ColoredObject::setProperty(property, value);
	}
}

QString linetypes::SubfileReference::textRepresentation() const
{
	return referenceName + " " + vertexToStringParens(this->position);
}

mercurial