src/linetypes/polygon.h

changeset 14
20d2ed3af73d
parent 13
6e838748867b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/linetypes/polygon.h	Sun Nov 03 18:13:38 2019 +0200
@@ -0,0 +1,43 @@
+#include <array>
+#include "object.h"
+
+namespace linetypes
+{
+	class Triangle;
+	class Quadrilateral;
+}
+
+class linetypes::Triangle : public ColoredObject
+{
+public:
+	Triangle() = default;
+	Triangle(
+		const Vertex &point_1,
+		const Vertex &point_2,
+		const Vertex &point_3,
+		Color colorIndex = colors::main);
+	Triangle(const QVector<Vertex>& vertices, const Color color);
+	QVariant getProperty(Property id) const override;
+	SetPropertyResult setProperty(Property id, const QVariant& value) override;
+	QString textRepresentation() const override;
+private:
+	Vertex points[3] = {{}};
+};
+
+class linetypes::Quadrilateral : public ColoredObject
+{
+public:
+	Quadrilateral() = default;
+	Quadrilateral(
+		const Vertex &point_1,
+		const Vertex &point_2,
+		const Vertex &point_3,
+		const Vertex &point_4,
+		Color colorIndex = colors::main);
+	Quadrilateral(const QVector<Vertex>& vertices, const Color color);
+	QVariant getProperty(Property id) const override;
+	SetPropertyResult setProperty(Property id, const QVariant& value) override;
+	QString textRepresentation() const override;
+private:
+	Vertex points[4] = {{}};
+};

mercurial