#include "diagramEditor/diagramEditorBaseBlock.h" #include "diagramEditor/diagramEditorStructContainer.h" DiagramEditorBaseBlock::DiagramEditorBaseBlock(QObject *parent) : QObject(parent) ,_curContainer(nullptr) { nType = 0; nContainerLevel = 0; bEditState = false; } DiagramEditorBaseBlock::~DiagramEditorBaseBlock() { } void DiagramEditorBaseBlock::addConnect(QUuid uid) { if(_lstCon.contains(uid)) return; _lstCon.append(uid); } void DiagramEditorBaseBlock::removeConnect(QUuid uid) { _lstCon.removeOne(uid); } DiagramEditorBlockInfo DiagramEditorBaseBlock::getBlockInfo() { DiagramEditorBlockInfo info; info.sName = sName; if(_curContainer) info.sContainerId = _curContainer->getId(); info.nType = nType; info.nContainerLevel = nContainerLevel; info.uid = uid; info._lstCon = _lstCon; info._lstSub = _lstSub; info.recSize = recSize; info.sceneDelta = sceneDelta; info.bEditState = bEditState; info.fVoltage = fVoltage; info.nBusType = nBusType; info.nIndex = nIndex; info.nBayType = nBayType; info.bayInfo = bayInfo; info.nTransType = nTransType; info.transInfo = transInfo; return info; } /***************************划分后的分段bus单元****************************/ DiagramEditorBusBlock::DiagramEditorBusBlock(QObject *parent) :DiagramEditorBaseBlock(parent) { fVoltage = 0.0; nBusType = 0; nIndex = 0; } DiagramEditorBusBlock::~DiagramEditorBusBlock() { } /***************************bay单元****************************/ DiagramEditorBayBlock::DiagramEditorBayBlock(QObject *parent) :DiagramEditorBaseBlock(parent) { nBayType = BayType::busSectionBay; } DiagramEditorBayBlock::~DiagramEditorBayBlock() { } /***************************transformer单元****************************/ DiagramEditorTransformerBlock::DiagramEditorTransformerBlock(QObject *parent) :DiagramEditorBaseBlock(parent) { nTransType = TransformerType::twoWinding; } DiagramEditorTransformerBlock::~DiagramEditorTransformerBlock() { }