#ifndef UIREADER_H #define UIREADER_H //#include #include #include #include #include #include #include #include #include class total { public: QString ID; QString description; QString name; int flag; std::vector Terminal_res; int island; }; class List { public: QString ID; QString name; int no; int flag; }; class AC_kind { public: QString GIS_ID; int quantity; int calculateTimes; }; class Substation:public total { public: std::vector MemberOf_SubControlArea_res; QString GIS_type; }; class Terminal:public total { public: std::vector ConductingEquipment_res; std::vector ConnectivityNode_res; }; class BaseVoltage:public total { public: double nominalVoltage; std::vector BasePower_res; }; class BasePower:public total { public: double basePower; }; class ConnectivityNode:public total { public: std::vector MemberOf_EquipmentContainer_res; }; class ACLineSegment:public total { public: double LongLength; double secLength; //每节段长度 int foreheadI; //上一节段是第i号线路 double depth; //节段的深度 QString Model; std::vector BaseVoltage_res; int link_from; int link_to; std::vector MemberOf_EquipmentContainer_res; double r; double x; double UB; QString GIS_ID; QString foreheadLine; }; class LoadBreakSwitch:public total { public: QString normalOpen; std::vector MemberOf_EquipmentContainer_res; std::vector BaseVoltage_res; std::vector Circuits_res; }; class BusbarSection:public total { public: QString Normal_Voltage; std::vector MemberOf_EquipmentContainer_res; std::vector BaseVoltage_res; double PG; double QG; double PL; double QL; double UB; int busSequence; }; class Disconnector:public total { public: QString normalOpen; std::vector MemberOf_EquipmentContainer_res; std::vector BaseVoltage_res; std::vector Circuits_res; }; class PowerTransformer:public total { public: std::vector MemberOf_EquipmentContainer_res; std::vector Circuits_res; std::vector BaseVoltage_res; QString Serial_Number; int link_1; int link_2; int link_3; int low; double ratedMVA; double APower; double BPower; double CPower; QString Model; double r; double x; double Pk; double Uk; double UB; double AReactivePower; double BReactivePower; double CReactivePower; double g; double b; double P0; double I0; bool isPublic; QString foreheadLine; QString type; }; class TransformerWinding:public total { public: std::vector MemberOf_PowerTransformer_res; std::vector BaseVoltage_res; }; class GroundDisconnector:public total { public: QString normalOpen; std::vector Circuits_res; std::vector BaseVoltage_res; std::vector MemberOf_EquipmentContainer_res; }; class CompositeSwitch:public total { public: QString CompositeSwitchType; std::vector Circuits_res; }; class Circuit:public total { public: std::vector Substations_res; }; class Bay:public total { public: std::vector MemberOf_Substation_res; std::vector BaseVoltage_res; }; class Connector:public total { public: std::vector MemberOf_EquipmentContainer_res; int link_from; int link_to; }; class Fuse:public total { public: QString normalOpen; std::vector BaseVoltage_res; std::vector Circuits_res; }; class Pole:public total { public: std::vector BaseVoltage_res; std::vector Circuits_res; }; class Breaker:public total { public: int GIS_ID; std::vector BaseVoltage_res; std::vector MemberOf_EquipmentContainer_res; }; class vector_finder //得到与ID号相对应的索引 { public: vector_finder(QString a):m_i_a(a){} bool operator ()(const std::vector::value_type &value) { return value.ID == m_i_a; } private: QString m_i_a; }; class ac_finder { public: ac_finder(QString a):m_i_a(a){} bool operator ()(const std::vector::value_type &value) { return value.GIS_ID == m_i_a; } private: QString m_i_a; }; class bus_finder { public: bus_finder(int a):m_i_a(a){} bool operator ()(const std::vector::value_type &value) { return value.low == m_i_a; } private: int m_i_a; }; class DisSubstation { public: QString Name; QString CIMID; QString Description; QString MemberOf; }; class DisLine { public: QString Name; QString CIMID; QString Owner; QString MemberOf; }; class DisSecNode { public: QString Name; QString ID; QString FatherID; QString LineType; QString LineID; double Depth; double UnitR; double SecLong; double G; double B; }; class DisTrans { public: QString ID; QString Name; QString SecNode; double Ps; double P0; double Up; double Ip; double RunRate; QString Type; QString UserType; QString LineID; double S; }; #endif