src/linetypes/circularprimitive.h

Mon, 16 May 2022 01:40:49 +0300

author
Teemu Piippo <teemu@hecknology.net>
date
Mon, 16 May 2022 01:40:49 +0300
changeset 187
30204975694a
parent 186
922662adb72a
permissions
-rw-r--r--

work on circle tool

#pragma once
#include "compoundobject.h"
#include "propertygenerics.h"

namespace ldraw
{
	class CircularPrimitive;
}

class ldraw::CircularPrimitive : public CompoundObject
{
public:
	using BaseClass = CompoundObject;
	CircularPrimitive() = default;
	CircularPrimitive(CircularPrimitiveType type, int segments, int divisions);
	QVariant getProperty(Property property) const override;
	QString textRepresentation() const override;
	static QString circularPrimitiveTypeName(CircularPrimitiveType type);
	Type typeIdentifier() const override;
	QDataStream& serialize(QDataStream& stream) const override;
	QDataStream& deserialize(QDataStream& stream) override;
	QString toLDrawCode() const override;
	QString iconName() const override;
	QString typeName() const override;
	void getPolygons(std::vector<gl::Polygon>& polygons, GetPolygonsContext*) const override;
	float fraction() const;
	CircularPrimitiveType type = Circle;
	int segments = 16;
	int divisions = 16;
};

mercurial