src/linetypes/circularprimitive.h

changeset 200
ca23936b455b
parent 199
6988973515d2
child 201
5d201ee4a9c3
equal deleted inserted replaced
199:6988973515d2 200:ca23936b455b
1 #pragma once
2 #include "compoundobject.h"
3 #include "propertygenerics.h"
4
5 namespace ldraw
6 {
7 class CircularPrimitive;
8 }
9
10 class ldraw::CircularPrimitive : public CompoundObject
11 {
12 public:
13 using BaseClass = CompoundObject;
14 CircularPrimitive() = default;
15 CircularPrimitive(CircularPrimitiveType type, int segments, int divisions);
16 QVariant getProperty(Property property) const override;
17 QString textRepresentation() const override;
18 static QString circularPrimitiveTypeName(CircularPrimitiveType type);
19 Type typeIdentifier() const override;
20 QDataStream& serialize(QDataStream& stream) const override;
21 QDataStream& deserialize(QDataStream& stream) override;
22 QString toLDrawCode() const override;
23 QString iconName() const override;
24 QString typeName() const override;
25 void getPolygons(std::vector<gl::Polygon>& polygons, GetPolygonsContext*) const override;
26 float fraction() const;
27 CircularPrimitiveType type = Circle;
28 int segments = 16;
29 int divisions = 16;
30 };
31

mercurial