OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
CopyInformation.h
Go to the documentation of this file.
1
4// ###########################################################################################################################################################################################################################################################################################################################
5
6#pragma once
7
8// OpenTwin header
11
12// std header
13#include <string>
14
15#pragma warning(disable:4251)
16
17namespace ot {
18
20 public:
21 static std::string getCopyVersionJsonKey(void);
22
24 CopyInformation(const ConstJsonObject& _jsonObject);
27 ~CopyInformation() = default;
28
29 CopyInformation& operator = (const CopyInformation&) = default;
30 CopyInformation& operator = (CopyInformation&&) = default;
31
32 virtual void addToJsonObject(ot::JsonValue& _object, ot::JsonAllocator& _allocator) const override;
33 virtual void setFromJsonObject(const ot::ConstJsonObject& _object) override;
34
35 int getCopyVersion(void) const { return 1; };
36
37 void setProjectName(const std::string& _projectName) { m_projectName = _projectName; };
38 const std::string& getProjectName(void) const { return m_projectName; };
39
40 void setViewName(const std::string& _name) { m_viewName = _name; };
41 const std::string& getViewName(void) const { return m_viewName; };
42
43 void setViewOwner(const BasicServiceInformation& _owner) { m_serviceInfo = _owner; };
44 const BasicServiceInformation& getViewOwner(void) const { return m_serviceInfo; };
45
46 void addEntity(UID _uid, const std::string& _name, const std::string& _rawData = std::string());
47 void addEntity(const CopyEntityInformation& _entityInfo) { m_entities.push_back(_entityInfo); };
48 void setEntities(const std::list<CopyEntityInformation>& _entities) { m_entities = _entities; };
49 std::list<CopyEntityInformation>& getEntities(void) { return m_entities; };
50 const std::list<CopyEntityInformation>& getEntities(void) const { return m_entities; };
51
52 void setScenePos(const Point2DD& _pos) { m_scenePos = _pos; m_scenePosSet = true; };
53 const Point2DD& getScenePos(void) const { return m_scenePos; };
54 bool getScenePosSet(void) const { return m_scenePosSet; };
55
56 virtual bool isValid(void) const;
57
58 private:
59 std::string m_projectName;
60
61 std::string m_viewName;
62 BasicServiceInformation m_serviceInfo;
63
64 Point2DD m_scenePos;
65 bool m_scenePosSet;
66
67 std::list<CopyEntityInformation> m_entities;
68 };
69
70}
#define OT_CORE_API_EXPORT
Dll import.
Definition CoreAPIExport.h:8
The BasicServiceInformation class is used to hold a service name and type. The BasicServiceInformatio...
Definition BasicServiceInformation.h:21
Definition CopyEntityInformation.h:21
Definition CopyInformation.h:19
void setProjectName(const std::string &_projectName)
Definition CopyInformation.h:37
int getCopyVersion(void) const
Definition CopyInformation.h:35
const Point2DD & getScenePos(void) const
Definition CopyInformation.h:53
std::list< CopyEntityInformation > & getEntities(void)
Definition CopyInformation.h:49
void setScenePos(const Point2DD &_pos)
Definition CopyInformation.h:52
const std::string & getViewName(void) const
Definition CopyInformation.h:41
CopyInformation(CopyInformation &&)=default
void setViewOwner(const BasicServiceInformation &_owner)
Definition CopyInformation.h:43
bool getScenePosSet(void) const
Definition CopyInformation.h:54
void setEntities(const std::list< CopyEntityInformation > &_entities)
Definition CopyInformation.h:48
~CopyInformation()=default
void setViewName(const std::string &_name)
Definition CopyInformation.h:40
CopyInformation(const CopyInformation &)=default
const std::string & getProjectName(void) const
Definition CopyInformation.h:38
const std::list< CopyEntityInformation > & getEntities(void) const
Definition CopyInformation.h:50
void addEntity(const CopyEntityInformation &_entityInfo)
Definition CopyInformation.h:47
const BasicServiceInformation & getViewOwner(void) const
Definition CopyInformation.h:44
2D Point with double values
Definition Point2D.h:188
The Serializable class is the default interface of serializable objects.
Definition Serializable.h:17
Definition Connector.h:8
unsigned long UID
Unique identifier (32 bit unsigned integer)
Definition CoreTypes.h:27
rapidjson::Value JsonValue
Writable JSON value.
Definition JSON.h:27
rapidjson::GenericObject< true, rapidjson::GenericValue< rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > > > ConstJsonObject
Read only JSON Object.
Definition JSON.h:35
rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > JsonAllocator
Allocator used for writing to JSON values.
Definition JSON.h:30