70 lines
1.7 KiB
C++
70 lines
1.7 KiB
C++
#ifndef GRAIROBJECT_H
|
|
#define GRAIROBJECT_H
|
|
|
|
#include <QGraphicsItem>
|
|
#include <QGraphicsColorizeEffect>
|
|
#include <QPainter>
|
|
#include <QPixmap>
|
|
#include <QBitmap>
|
|
#include <cmath>
|
|
|
|
enum grAirObjType {
|
|
targetUnknown=0,
|
|
targetEnemy,
|
|
targetOwn,
|
|
targetSpecial
|
|
};
|
|
|
|
class grAirObject : public QGraphicsItem
|
|
{
|
|
public:
|
|
grAirObject(QWidget *parent = 0);
|
|
QRectF boundingRect() const;
|
|
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
|
|
|
|
qreal cX, cY, cH;
|
|
qreal lX, lY;
|
|
qreal v0, vX, vY;
|
|
|
|
|
|
qreal rX,rY,rH,rVx,rVy, rV0;
|
|
|
|
qreal oldLX, oldLY;
|
|
int alt, aType, gType;
|
|
QPixmap pic;
|
|
qreal scIndex;
|
|
qreal wid, hei;
|
|
bool exist;
|
|
int numb;
|
|
QGraphicsColorizeEffect *coler;
|
|
QPolygon altPoly[4];
|
|
int viewSettings;
|
|
int count;
|
|
|
|
void setCoord(qreal cx, qreal cy, qreal ch);
|
|
void setCoord(qreal cx, qreal cy);
|
|
void setSpeed(qreal vx, qreal vy);
|
|
void moveByTime(qreal time);
|
|
QPointF speeds(int d=0) { if (d) return QPointF(rVx, rVy); else return QPointF(vX, vY);}
|
|
QPointF coords(int d=0) { if (d) return QPointF(rX, rY); else return QPointF(cX, cY);}
|
|
QPointF coordsL() {return QPointF(lX, lY);} //äëÿ ãðàôèêè
|
|
|
|
void setInfoForRocket(qreal cX, qreal cY, qreal cH, qreal vx, qreal vy);
|
|
|
|
void setAType(int d);
|
|
void setGType(int d);
|
|
// void setWidth(qreal w) { if (wid!=w) {prepareGeometryChange();wid=w;}}
|
|
// void setHeight(qreal h) { if (hei!=h) {prepareGeometryChange();hei=h;}}
|
|
void setScaleIndex(qreal s);
|
|
|
|
void setNull();
|
|
public slots:
|
|
void setViewSettings(int d);
|
|
|
|
protected:
|
|
void setPic();
|
|
|
|
};
|
|
|
|
#endif // GRAIROBJECT_H
|