CGMES_3_0_0
Loading...
Searching...
No Matches
Location.hpp
1#ifndef Location_H
2#define Location_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 CoordinateSystem;
21 class PositionPoint;
23 class StreetAddress;
24
26 class Location : public IdentifiedObject
27 {
28 public:
29 /* constructor initialising all attributes to null */
30 Location();
31 ~Location() override;
32
35
37 std::list<CIMPP::PositionPoint*> PositionPoints;
38
41
44
45 static const char debugName[];
46 const char* debugString() const override;
47
48 const std::list<std::string>& getAttributeNames() const override;
49
50 const std::string& getClassNamespaceUrl() const override;
51 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
52
53 const std::list<CGMESProfile>& getPossibleProfiles() const override;
54 const CGMESProfile& getRecommendedProfile() const override;
55 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
56 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
57
58 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
59 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
60 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
61 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
62 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
63 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
64
65 bool isAssignableFrom(BaseClass* otherObject) const override;
66 static const BaseClassDefiner declare();
67
68 protected:
69 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
70 };
71
72 BaseClass* Location_factory();
73}
74#endif
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
Coordinate reference system.
Definition CoordinateSystem.hpp:25
CIMPP::PowerSystemResource * PowerSystemResources
All power system resources at this location. Default: nullptr.
Definition Location.hpp:40
CIMPP::CoordinateSystem * CoordinateSystem
Coordinate system used to describe position points of this location. Default: nullptr.
Definition Location.hpp:34
CIMPP::StreetAddress * mainAddress
Main address of the location. Default: nullptr.
Definition Location.hpp:43
std::list< CIMPP::PositionPoint * > PositionPoints
Sequence of position points describing this location, expressed in coordinate system Location....
Definition Location.hpp:37
Set of spatial coordinates that determine a point, defined in the coordinate system specified in 'Loc...
Definition PositionPoint.hpp:26
A power system resource (PSR) can be an item of equipment such as a switch, an equipment container co...
Definition PowerSystemResource.hpp:26
General purpose street and postal address information.
Definition StreetAddress.hpp:27