src/linetypes/quadrilateral.h

Thu, 19 Mar 2020 21:06:06 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Thu, 19 Mar 2020 21:06:06 +0200
changeset 86
4bec0525ef1b
parent 81
62373840e33a
child 87
93ec4d630346
permissions
-rw-r--r--

PolygonObjectEditor can now modify the object properly

#pragma once
#include "object.h"

namespace ldraw
{
	class Quadrilateral;
}

class ldraw::Quadrilateral : public ColoredObject
{
public:
	Quadrilateral() = default;
	Quadrilateral(
		const glm::vec3 &point_1,
		const glm::vec3 &point_2,
		const glm::vec3 &point_3,
		const glm::vec3 &point_4,
		Color colorIndex = ldraw::mainColor);
	Quadrilateral(const std::array<glm::vec3, 4>& vertices, const Color color);
	QVariant getProperty(Property id) const override;
	QString textRepresentation() const override;
	void getPolygons(std::vector<gl::Polygon>& polygons, GetPolygonsContext* context) const override;
	void invert() override;
	int numPoints() const override;
	const glm::vec3& getPoint(int index) const override;
	glm::vec3 points[4] = {{}};
protected:
	void setProperty(SetPropertyResult* result, const PropertyKeyValue& pair) override;
};

mercurial