src/linetypes/quadrilateral.h

Tue, 28 Jan 2020 23:34:49 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Tue, 28 Jan 2020 23:34:49 +0200
changeset 34
1de2b8d64e9f
parent 33
4c41bfe2ec6e
child 35
98906a94732f
permissions
-rw-r--r--

added some sort of lighting

#pragma once
#include "object.h"

namespace linetypes
{
	class Quadrilateral;
}

class linetypes::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 = colors::main);
	Quadrilateral(const QVector<glm::vec3>& vertices, const Color color);
	QVariant getProperty(Property id) const override;
	SetPropertyResult setProperty(Property id, const QVariant& value) override;
	QString textRepresentation() const override;
	void getPolygons(std::vector<gl::Polygon>& polygons, GetPolygonsContext* context) const override;
	void invert() override;
private:
	glm::vec3 points[4] = {{}};
};

mercurial