DiagramDesigner/diagramCavas/include/graphicsDataModel/baseModel.h

33 lines
1.0 KiB
C
Raw Normal View History

2025-02-06 16:36:50 +08:00
#pragma once
#include <QMap>
#include <QSet>
#include <QVector>
#include <QtCore/QJsonObject>
#include <QtCore/QObject>
#include <QtCore/QVariant>
#include <QUuid>
#include "global.h"
class GraphicsBaseItem;
2025-02-06 16:36:50 +08:00
class BaseModel : public QObject
{
Q_OBJECT
public:
void createTopoTerminalsByItem(GraphicsBaseItem*,ModelFunctionType funType = ModelFunctionType::ProjectModel); //通过图形对象创建port接线点(新建)
QPointF calculateBusPortPos(GraphicsBaseItem* pBus,GraphicsBaseItem* item); //计算母线上接线点位置
template<typename TypeLine> void establishConnection(GraphicsBaseItem*,GraphicsBaseItem*,TypeLine*,ModelFunctionType); //在两个item之间建立连接
2025-08-28 10:59:04 +08:00
double distanceBetweenItems(QGraphicsItem* item1, QGraphicsItem* item2) {
QPointF center1 = item1->mapToScene(item1->boundingRect().center());
QPointF center2 = item2->mapToScene(item2->boundingRect().center());
QPointF diff = center1 - center2;
return qSqrt(diff.x() * diff.x() + diff.y() * diff.y());
}
2025-02-06 16:36:50 +08:00
};