src/linetypes/triangle.cpp

Wed, 09 Mar 2022 14:07:58 +0200

author
Teemu Piippo <teemu@hecknology.net>
date
Wed, 09 Mar 2022 14:07:58 +0200
changeset 176
cd9d6bf6f649
parent 158
5bd755eaa5a8
child 177
f69d53c053df
permissions
-rw-r--r--

Simplify parsing (removed header parsing)
Removed ldraw::Comment (MetaCommand handles line type 0)

#include "triangle.h"

QString ldraw::Triangle::textRepresentation() const
{
	return utility::format("%1 %2 %3",
		utility::vertexToStringParens(points[0]),
		utility::vertexToStringParens(points[1]),
		utility::vertexToStringParens(points[2]));
}

void ldraw::Triangle::getPolygons(
	std::vector<gl::Polygon>& polygons,
	GetPolygonsContext* context) const
{
	Q_UNUSED(context)
	polygons.push_back(gl::triangle(
		this->points[0],
		this->points[1],
		this->points[2],
		this->colorIndex,
		this->id));
}

void ldraw::Triangle::invert()
{
	//    0 1 2
	// -> 1 0 2
	std::swap(this->points[0], this->points[1]);
}

ldraw::Object::Type ldraw::Triangle::typeIdentifier() const
{
	return Type::Triangle;
}

QString ldraw::Triangle::toLDrawCode() const
{
	return utility::format(
		"3 %1 %2 %3 %4",
		this->colorIndex.index,
		utility::vertexToString(this->points[0]),
		utility::vertexToString(this->points[1]),
			utility::vertexToString(this->points[2]));
}

QString ldraw::Triangle::iconName() const
{
	return ":/icons/linetype-triangle.png";
}

mercurial