CGMES_3_0_0
Loading...
Searching...
No Matches
VoltageLevel.hpp
1#ifndef VoltageLevel_H
2#define VoltageLevel_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 "EquipmentContainer.hpp"
13#include "BaseClassDefiner.hpp"
14#include "CGMESProfile.hpp"
15#include "CimClassDetails.hpp"
16
17#include "Voltage.hpp"
18
19namespace CIMPP
20{
21 class BaseVoltage;
22 class Bay;
23 class Substation;
24
26 class VoltageLevel : public EquipmentContainer
27 {
28 public:
29 /* constructor initialising all attributes to null */
30 VoltageLevel();
31 ~VoltageLevel() override;
32
35
37 std::list<CIMPP::Bay*> Bays;
38
41
43 CIMPP::Voltage highVoltageLimit;
44
46 CIMPP::Voltage lowVoltageLimit;
47
48 static const char debugName[];
49 const char* debugString() const override;
50
51 const std::list<std::string>& getAttributeNames() const override;
52
53 const std::string& getClassNamespaceUrl() const override;
54 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
55
56 const std::list<CGMESProfile>& getPossibleProfiles() const override;
57 const CGMESProfile& getRecommendedProfile() const override;
58 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
59 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
60
61 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
62 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
63 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
64 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
65 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
66 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
67
68 bool isAssignableFrom(BaseClass* otherObject) const override;
69 static const BaseClassDefiner declare();
70
71 protected:
72 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
73 };
74
75 BaseClass* VoltageLevel_factory();
76}
77#endif
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
Defines a system base voltage which is referenced.
Definition BaseVoltage.hpp:28
A collection of power system resources (within a given substation) including conducting equipment,...
Definition Bay.hpp:24
A collection of equipment for purposes other than generation or utilization, through which electric e...
Definition Substation.hpp:26
CIMPP::Substation * Substation
The substation of the voltage level. Default: nullptr.
Definition VoltageLevel.hpp:40
std::list< CIMPP::Bay * > Bays
The bays within this voltage level. Default: {}.
Definition VoltageLevel.hpp:37
CIMPP::BaseVoltage * BaseVoltage
The base voltage used for all equipment within the voltage level. Default: nullptr.
Definition VoltageLevel.hpp:34
Electrical voltage, can be both AC and DC.
Definition Voltage.hpp:14