CGMES_3_0_0
Loading...
Searching...
No Matches
TopologicalNode.hpp
1#ifndef TopologicalNode_H
2#define TopologicalNode_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
18namespace CIMPP
19{
20 class BaseVoltage;
21 class ConnectivityNode;
23 class ReportingGroup;
24 class SvInjection;
25 class SvVoltage;
26 class Terminal;
28
30 class TopologicalNode : public IdentifiedObject
31 {
32 public:
33 /* constructor initialising all attributes to null */
34 TopologicalNode();
35 ~TopologicalNode() override;
36
39
42
45
47 std::list<CIMPP::ConnectivityNode*> ConnectivityNodes;
48
51
54
57
59 std::list<CIMPP::Terminal*> Terminal;
60
63
64 static const char debugName[];
65 const char* debugString() const override;
66
67 const std::list<std::string>& getAttributeNames() const override;
68
69 const std::string& getClassNamespaceUrl() const override;
70 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
71
72 const std::list<CGMESProfile>& getPossibleProfiles() const override;
73 const CGMESProfile& getRecommendedProfile() const override;
74 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
75 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
76
77 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
78 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
79 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
80 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
81 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
82 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
83
84 bool isAssignableFrom(BaseClass* otherObject) const override;
85 static const BaseClassDefiner declare();
86
87 protected:
88 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
89 };
90
91 BaseClass* TopologicalNode_factory();
92}
93#endif
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
Defines a system base voltage which is referenced.
Definition BaseVoltage.hpp:28
A base class for all objects that may contain connectivity nodes or topological nodes.
Definition ConnectivityNodeContainer.hpp:25
Connectivity nodes are points where terminals of AC conducting equipment are connected together with ...
Definition ConnectivityNode.hpp:27
A reporting group is used for various ad-hoc groupings used for reporting.
Definition ReportingGroup.hpp:25
The SvInjection reports the calculated bus injection minus the sum of the terminal flows....
Definition SvInjection.hpp:26
State variable for voltage.
Definition SvVoltage.hpp:26
An AC electrical connection point to a piece of conducting equipment. Terminals are connected at phys...
Definition Terminal.hpp:35
An electrically connected subset of the network. Topological islands can change as the current networ...
Definition TopologicalIsland.hpp:24
CIMPP::BaseVoltage * BaseVoltage
The base voltage of the topological node. Default: nullptr.
Definition TopologicalNode.hpp:41
CIMPP::ReportingGroup * ReportingGroup
The reporting group to which the topological node belongs. Default: nullptr.
Definition TopologicalNode.hpp:50
CIMPP::TopologicalIsland * AngleRefTopologicalIsland
The island for which the node is an angle reference. Normally there is one angle reference node for e...
Definition TopologicalNode.hpp:38
std::list< CIMPP::Terminal * > Terminal
The terminals associated with the topological node. This can be used as an alternative to the connect...
Definition TopologicalNode.hpp:59
CIMPP::TopologicalIsland * TopologicalIsland
A topological node belongs to a topological island. Default: nullptr.
Definition TopologicalNode.hpp:62
CIMPP::SvVoltage * SvVoltage
The state voltage associated with the topological node. Default: nullptr.
Definition TopologicalNode.hpp:56
std::list< CIMPP::ConnectivityNode * > ConnectivityNodes
The connectivity nodes combine together to form this topological node. May depend on the current stat...
Definition TopologicalNode.hpp:47
CIMPP::SvInjection * SvInjection
The injection flows state variables associated with the topological node. Default: nullptr.
Definition TopologicalNode.hpp:53
CIMPP::ConnectivityNodeContainer * ConnectivityNodeContainer
The connectivity node container to which the topological node belongs. Default: nullptr.
Definition TopologicalNode.hpp:44