Sat, 05 Mar 2022 13:38:22 +0200
Render draw tool preview as a line when we only have 2 points
#include "quadrilateral.h" QString ldraw::Quadrilateral::textRepresentation() const { return utility::format("%1 %2 %3 %4", utility::vertexToStringParens(this->points[0]), utility::vertexToStringParens(this->points[1]), utility::vertexToStringParens(this->points[2]), utility::vertexToStringParens(this->points[3])); } void ldraw::Quadrilateral::getPolygons( std::vector<gl::Polygon>& polygons, GetPolygonsContext* context) const { Q_UNUSED(context) polygons.push_back(gl::quadrilateral( this->points[0], this->points[1], this->points[2], this->points[3], this->colorIndex, this->id)); } void ldraw::Quadrilateral::invert() { // 0 1 2 3 // -> 2 1 0 3 std::swap(this->points[0], this->points[2]); } ldraw::Object::Type ldraw::Quadrilateral::typeIdentifier() const { return Type::Quadrilateral; } QString ldraw::Quadrilateral::toLDrawCode() const { return utility::format( "4 %1 %2 %3 %4 %5", this->colorIndex.index, utility::vertexToString(this->points[0]), utility::vertexToString(this->points[1]), utility::vertexToString(this->points[2]), utility::vertexToString(this->points[3])); } QString ldraw::Quadrilateral::iconName() const { return ":/icons/linetype-quadrilateral.png"; }