DiagramDesigner/diagramCavas/include/baseModelItem/electricBaseModelLineItem.h

35 lines
1.1 KiB
C
Raw Normal View History

#ifndef ELECTRIBASEMODELLINEITEM_H
#define ELECTRIBASEMODELLINEITEM_H
#include <QPainterPath>
#include <QUuid>
#include "graphicsItem/graphicsBaseItem.h"
//基模导线
class ElectricBaseModelLineItem : public GraphicsBaseModelItem
{
public:
ElectricBaseModelLineItem(QGraphicsItem *parent = 0);
2025-09-26 18:50:21 +08:00
ElectricBaseModelLineItem(const ElectricBaseModelLineItem&);
virtual ~ElectricBaseModelLineItem();
2025-09-26 18:50:21 +08:00
virtual ElectricBaseModelLineItem* clone() const override;
void setStartPoint(const QPointF& p);
void setEndPoint(const QPointF& p);
void calculatePath();
void resetCurLine(){_curLine = QPoint();}
protected:
virtual QPainterPath shape() const override;
virtual QRectF boundingRect() const override;
virtual void paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) override;
private:
QPainterPath m_points;
QPainterPath m_pointsBoundingRect; //包裹点的矩形集合
QList<QPointF> m_lstPoints;
QPoint _curLine; //参数1用点序号表示的当前线段起始点,参数2表示线段方向
};
#endif