CGMES_3_0_0
Loading...
Searching...
No Matches
Diagram.hpp
1#ifndef Diagram_H
2#define Diagram_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 "Float.hpp"
18#include "OrientationKind.hpp"
19
20namespace CIMPP
21{
22 class DiagramObject;
23 class DiagramStyle;
24
26 class Diagram : public IdentifiedObject
27 {
28 public:
29 /* constructor initialising all attributes to null */
30 Diagram();
31 ~Diagram() override;
32
34 std::list<CIMPP::DiagramObject*> DiagramElements;
35
38
41
44
47
50
53
54 static const char debugName[];
55 const char* debugString() const override;
56
57 const std::list<std::string>& getAttributeNames() const override;
58
59 const std::string& getClassNamespaceUrl() const override;
60 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
61
62 const std::list<CGMESProfile>& getPossibleProfiles() const override;
63 const CGMESProfile& getRecommendedProfile() const override;
64 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
65 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
66
67 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
68 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
69 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
70 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
71 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
72 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
73
74 bool isAssignableFrom(BaseClass* otherObject) const override;
75 static const BaseClassDefiner declare();
76
77 protected:
78 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
79 };
80
81 BaseClass* Diagram_factory();
82}
83#endif
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
An object that defines one or more points in a given space. This object can be associated with anythi...
Definition DiagramObject.hpp:32
The diagram style refers to a style used by the originating system for a diagram. A diagram style des...
Definition DiagramStyle.hpp:24
CIMPP::Float x1InitialView
X coordinate of the first corner of the initial view. Default: 0.0.
Definition Diagram.hpp:43
CIMPP::OrientationKind orientation
Coordinate system orientation of the diagram. A positive orientation gives standard right-hand orient...
Definition Diagram.hpp:40
CIMPP::Float y2InitialView
Y coordinate of the second corner of the initial view. Default: 0.0.
Definition Diagram.hpp:52
CIMPP::Float y1InitialView
Y coordinate of the first corner of the initial view. Default: 0.0.
Definition Diagram.hpp:49
CIMPP::DiagramStyle * DiagramStyle
A Diagram may have a DiagramStyle. Default: nullptr.
Definition Diagram.hpp:37
std::list< CIMPP::DiagramObject * > DiagramElements
A diagram is made up of multiple diagram objects. Default: {}.
Definition Diagram.hpp:34
CIMPP::Float x2InitialView
X coordinate of the second corner of the initial view. Default: 0.0.
Definition Diagram.hpp:46
A floating point number. The range is unspecified and not limited.
Definition Float.hpp:14
The orientation of the coordinate system with respect to top, left, and the coordinate number system.
Definition OrientationKind.hpp:14