CGMES_3_0_0
Loading...
Searching...
No Matches
Curve.hpp
1#ifndef Curve_H
2#define Curve_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 "CurveStyle.hpp"
18#include "UnitSymbol.hpp"
19
20namespace CIMPP
21{
22 class CurveData;
23
25 class Curve : public IdentifiedObject
26 {
27 public:
28 /* constructor initialising all attributes to null */
29 Curve();
30 ~Curve() override;
31
33 std::list<CIMPP::CurveData*> CurveDatas;
34
37
40
43
46
47 static const char debugName[];
48 const char* debugString() const override;
49
50 const std::list<std::string>& getAttributeNames() const override;
51
52 const std::string& getClassNamespaceUrl() const override;
53 const std::string& getAttributeNamespaceUrl(const std::string& attrName) const override;
54
55 const std::list<CGMESProfile>& getPossibleProfiles() const override;
56 const CGMESProfile& getRecommendedProfile() const override;
57 const std::list<CGMESProfile>& getPossibleAttributeProfiles(const std::string& attrName) const override;
58 const std::list<CGMESProfile>& getPossibleProfilesIncludingAttributes() const override;
59
60 static void addConstructToMap(std::unordered_map<std::string, BaseClass* (*)()>& factory_map);
61 static void addPrimitiveAssignFnsToMap(std::unordered_map<std::string, assign_function>& assign_map);
62 static void addClassAssignFnsToMap(std::unordered_map<std::string, class_assign_function>& assign_map);
63 void addPrimitiveGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
64 void addClassGetFnsToMap(std::map<std::string, class_get_function>& get_map) const override;
65 void addEnumGetFnsToMap(std::map<std::string, get_function>& get_map) const override;
66
67 bool isAssignableFrom(BaseClass* otherObject) const override;
68 static const BaseClassDefiner declare();
69
70 protected:
71 std::map<std::string, AttrDetails> allAttrDetailsMap() const override;
72 };
73
74 BaseClass* Curve_factory();
75}
76#endif
Definition BaseClass.hpp:22
Definition BaseClassDefiner.hpp:12
Multi-purpose data points for defining a curve. The use of this generic class is discouraged if a mor...
Definition CurveData.hpp:25
Style or shape of curve.
Definition CurveStyle.hpp:14
CIMPP::UnitSymbol y2Unit
The Y2-axis units of measure. Default: 0.
Definition Curve.hpp:45
std::list< CIMPP::CurveData * > CurveDatas
The point data values that define this curve. Default: {}.
Definition Curve.hpp:33
CIMPP::CurveStyle curveStyle
The style or shape of the curve. Default: 0.
Definition Curve.hpp:36
CIMPP::UnitSymbol y1Unit
The Y1-axis units of measure. Default: 0.
Definition Curve.hpp:42
CIMPP::UnitSymbol xUnit
The X-axis units of measure. Default: 0.
Definition Curve.hpp:39
The derived units defined for usage in the CIM. In some cases, the derived unit is equal to an SI uni...
Definition UnitSymbol.hpp:14