src/linetypes/subfilereference.h

Sat, 05 Mar 2022 12:47:10 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Sat, 05 Mar 2022 12:47:10 +0200
changeset 159
1a04364d20b5
parent 158
5bd755eaa5a8
child 177
f69d53c053df
permissions
-rw-r--r--

fix crash when loading a file
`object` is moved so we cannot access it after moving

#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(const ModelId callingModelId, DocumentManager* documents) const;
	Type typeIdentifier() const override;
	QDataStream& serialize(QDataStream& stream) const override;
	QDataStream& deserialize(QDataStream& stream) override;
	QString toLDrawCode() const override;
	QString iconName() const override;
	glm::mat4 transformation;
	QString referenceName;
	bool isInverted = false;
protected:
	void setProperty(SetPropertyResult* result, const PropertyKeyValue& pair) override;
};

mercurial