src/linetypes/subfilereference.h

Tue, 28 Sep 2021 22:14:00 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Tue, 28 Sep 2021 22:14:00 +0300
changeset 143
7b62c52835a1
parent 141
185eb297dc1e
child 148
e1ced2523cad
permissions
-rw-r--r--

Fix memory corruption involving document tools.
I don't think that the metaobject-initialization had anything to do with this
but it is a lot simpler without it anyway.

#pragma once
#include "object.h"

class Model;

namespace ldraw
{
	class SubfileReference;
}

class ldraw::SubfileReference : public ColoredObject
{
public:
	SubfileReference() = default;
	SubfileReference(
		const glm::mat4& transformation,
		const QString &referenceName,
		const Color color = ldraw::MAIN_COLOR);
	QVariant getProperty(Property property) const override;
	QString textRepresentation() const override;
	void getPolygons(std::vector<gl::Polygon>& polygons, GetPolygonsContext* context) const override;
	glm::vec3 position() const;
	void invert() override;
	Model* resolve(DocumentManager* documents) const;
	Type typeIdentifier() const override;
	QDataStream& serialize(QDataStream& stream) const override;
	QDataStream& deserialize(QDataStream& stream) override;
	QString toLDrawCode() const override;
	glm::mat4 transformation;
	QString referenceName;
	bool isInverted = false;
protected:
	void setProperty(SetPropertyResult* result, const PropertyKeyValue& pair) override;
};

mercurial