CGMES_3_0_0
Loading...
Searching...
No Matches
BaseVoltage.hpp
1#ifndef BaseVoltage_H
2#define BaseVoltage_H
3/*
4Generated from the CGMES files via cimgen: https://github.com/sogno-platform/cimgen
5*/
6
7#include <list>
8#include <map>
9#include <string>
10#include <unordered_map>
11
12#include "IdentifiedObject.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
16
17#include "Voltage.hpp"
18
19namespace CIMPP
20{
22 class TopologicalNode;
23 class TransformerEnd;
24 class VoltageLevel;
25
27 class BaseVoltage : public IdentifiedObject
28 {
29 public:
30 /* constructor initialising all attributes to null */
31 BaseVoltage();
32 ~BaseVoltage() override;
33
35 std::list<CIMPP::ConductingEquipment*> ConductingEquipment;
36
38 std::list<CIMPP::TopologicalNode*> TopologicalNode;
39
41 std::list<CIMPP::TransformerEnd*> TransformerEnds;
42
44 std::list<CIMPP::VoltageLevel*> VoltageLevel;
45
47 CIMPP::Voltage nominalVoltage;
48
49 static const char debugName[];
50 const char* debugString() const override;
51
52 const std::list<std::string>& getAttributeNames() const override;
53
54 const std::string& getClassNamespaceUrl() const override;
55 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
56
57 const std::list<CGMESProfile>& getPossibleProfiles() const override;
58 const CGMESProfile& getRecommendedProfile() const override;
59 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
60 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
61
62 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
63 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
64 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
65 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
66 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
67 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
68
69 bool isAssignableFrom(BaseClass* otherObject) const override;
70 static const BaseClassDefiner declare();
71
72 protected:
73 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
74 };
75
76 BaseClass* BaseVoltage_factory();
77}
78#endif
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
std::list< CIMPP::VoltageLevel * > VoltageLevel
The voltage levels having this base voltage. Default: {}.
Definition BaseVoltage.hpp:44
std::list< CIMPP::TopologicalNode * > TopologicalNode
The topological nodes at the base voltage. Default: {}.
Definition BaseVoltage.hpp:38
std::list< CIMPP::TransformerEnd * > TransformerEnds
Transformer ends at the base voltage. This is essential for PU calculation. Default: {}...
Definition BaseVoltage.hpp:41
std::list< CIMPP::ConductingEquipment * > ConductingEquipment
All conducting equipment with this base voltage. Use only when there is no voltage level container us...
Definition BaseVoltage.hpp:35
The parts of the AC power system that are designed to carry current or that are conductively connecte...
Definition ConductingEquipment.hpp:26
For a detailed substation model a topological node is a set of connectivity nodes that,...
Definition TopologicalNode.hpp:31
A conducting connection point of a power transformer. It corresponds to a physical transformer windin...
Definition TransformerEnd.hpp:31
A collection of equipment at one common system voltage forming a switchgear. The equipment typically ...
Definition VoltageLevel.hpp:27
Electrical voltage, can be both AC and DC.
Definition Voltage.hpp:14