CGMES_3_0_0
Loading...
Searching...
No Matches
DiagramObject.hpp
1#ifndef DiagramObject_H
2#define DiagramObject_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 "AngleDegrees.hpp"
18#include "Boolean.hpp"
19#include "Float.hpp"
20#include "Integer.hpp"
21
22namespace CIMPP
23{
24 class Diagram;
27 class IdentifiedObject;
28 class VisibilityLayer;
29
31 class DiagramObject : public IdentifiedObject
32 {
33 public:
34 /* constructor initialising all attributes to null */
35 DiagramObject();
36 ~DiagramObject() override;
37
40
42 std::list<CIMPP::DiagramObjectPoint*> DiagramObjectPoints;
43
46
49
51 std::list<CIMPP::VisibilityLayer*> VisibilityLayers;
52
55
58
61
64
67
68 static const char debugName[];
69 const char* debugString() const override;
70
71 const std::list<std::string>& getAttributeNames() const override;
72
73 const std::string& getClassNamespaceUrl() const override;
74 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
75
76 const std::list<CGMESProfile>& getPossibleProfiles() const override;
77 const CGMESProfile& getRecommendedProfile() const override;
78 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
79 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
80
81 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
82 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
83 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
84 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
85 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
86 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
87
88 bool isAssignableFrom(BaseClass* otherObject) const override;
89 static const BaseClassDefiner declare();
90
91 protected:
92 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
93 };
94
95 BaseClass* DiagramObject_factory();
96}
97#endif
Definition BaseClass.hpp:22
Measurement of angle in degrees.
Definition AngleDegrees.hpp:14
Definition BaseClassDefiner.hpp:12
Definition Boolean.hpp:13
A point in a given space defined by 3 coordinates and associated to a diagram object....
Definition DiagramObjectPoint.hpp:27
A reference to a style used by the originating system for a diagram object. A diagram object style de...
Definition DiagramObjectStyle.hpp:24
std::list< CIMPP::VisibilityLayer * > VisibilityLayers
A diagram object can be part of multiple visibility layers. Default: {}.
Definition DiagramObject.hpp:51
CIMPP::Float offsetY
The offset in the Y direction. This is used for defining the offset from centre for rendering an icon...
Definition DiagramObject.hpp:63
CIMPP::DiagramObjectStyle * DiagramObjectStyle
A diagram object has a style associated that provides a reference for the style used in the originati...
Definition DiagramObject.hpp:45
CIMPP::Boolean isPolygon
Defines whether or not the diagram objects points define the boundaries of a polygon or the routing o...
Definition DiagramObject.hpp:57
CIMPP::Diagram * Diagram
A diagram object is part of a diagram. Default: nullptr.
Definition DiagramObject.hpp:39
CIMPP::IdentifiedObject * IdentifiedObject
The domain object to which this diagram object is associated. Default: nullptr.
Definition DiagramObject.hpp:48
CIMPP::Integer drawingOrder
The drawing order of this element. The higher the number, the later the element is drawn in sequence....
Definition DiagramObject.hpp:54
std::list< CIMPP::DiagramObjectPoint * > DiagramObjectPoints
A diagram object can have 0 or more points to reflect its layout position, routing (for polylines) or...
Definition DiagramObject.hpp:42
CIMPP::AngleDegrees rotation
Sets the angle of rotation of the diagram object. Zero degrees is pointing to the top of the diagram....
Definition DiagramObject.hpp:66
CIMPP::Float offsetX
The offset in the X direction. This is used for defining the offset from centre for rendering an icon...
Definition DiagramObject.hpp:60
The diagram being exchanged. The coordinate system is a standard Cartesian coordinate system and the ...
Definition Diagram.hpp:27
A floating point number. The range is unspecified and not limited.
Definition Float.hpp:14
This is a root class to provide common identification for all classes needing identification and nami...
Definition IdentifiedObject.hpp:25
Definition Integer.hpp:13
Layers are typically used for grouping diagram objects according to themes and scales....
Definition VisibilityLayer.hpp:25