-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHolePolygon.h
37 lines (25 loc) · 1.05 KB
/
HolePolygon.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef HOLEPOLYGON_H
#define HOLEPOLYGON_H
#include "Polygon.h"
class HolePolygon : public Polygon
{
public:
explicit HolePolygon(QObject *parent = nullptr);
virtual QMap<int,QList<Edge> > gengerateET(); //生成ET,返回生成的ET
//virtual QVector<SimpleEdge> generateEdges(); //返回所有Edge组成的QVector,剔除斜率为0的Edge
private:
QVector<Polygon*> holes; //洞的边界也是多边形
public slots:
void addHole(Polygon* polygon);
//virtual QVector<QVector2D> getVerticesTransformed(const QVector<QVector2D>& vertices);
virtual void setPosition(QVector2D pos);
virtual void setAngle(float angle);
virtual void setScale(float k);
virtual void setScale(QVector2D scale);
virtual void setScale(float xScale,float yScale);
virtual void setZoom(float x, float y);
virtual void addAngle(float angle);
virtual void addScale(QVector2D scale); //在已有基础上,施加scale
virtual void addZoom(QVector2D zoom);
};
#endif // HOLEPOLYGON_H