Sun, 26 Jan 2020 14:29:30 +0200
replaced matrix and vertex classes with glm
#include "edge.h" linetypes::Edge::Edge( const glm::vec3& point_1, const glm::vec3& point_2, const Color color_index) : ColoredObject{color_index}, point_1{point_1}, point_2{point_2} {} linetypes::Edge::Edge(const QVector<glm::vec3>& vertices, const Color color) : ColoredObject{color}, point_1{vertices[0]}, point_2{vertices[1]} { } QVariant linetypes::Edge::getProperty(Property property) const { switch (property) { case Property::Point1: return QVariant::fromValue(point_1); case Property::Point2: return QVariant::fromValue(point_2); default: return BaseClass::getProperty(property); } } auto linetypes::Edge::setProperty(Property property, const QVariant& value) -> SetPropertyResult { switch (property) { case Property::Point1: point_1 = value.value<glm::vec3>(); return SetPropertyResult::Success; case Property::Point2: point_2 = value.value<glm::vec3>(); return SetPropertyResult::Success; default: return BaseClass::setProperty(property, value); } } QString linetypes::Edge::textRepresentation() const { return utility::format("%1 %2", utility::vertexToStringParens(point_1), utility::vertexToStringParens(point_2)); } void linetypes::Edge::getPolygons( std::vector<gl::Polygon>& polygons, GetPolygonsContext* context) const { Q_UNUSED(context) polygons.push_back(gl::edgeLine(this->point_1, this->point_2, this->colorIndex, this->id)); }