OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
EntityBlock.h
Go to the documentation of this file.
1#pragma once
2#include "EntityBase.h"
3#include "OTCore/CoreTypes.h"
4#include "OTCore/Point2D.h"
7
8#include "Connector.h"
9
14
15class __declspec(dllexport) EntityBlock : public EntityBase
16{
17public:
18 EntityBlock(ot::UID ID, EntityBase* parent, EntityObserver* obs, ModelState* ms, ClassFactoryHandler* factory, const std::string& owner);
19 virtual ~EntityBlock();
20
21 virtual std::string getClassName(void) override { return "EntityBlock"; };
22 virtual entityType getEntityType(void) override { return TOPOLOGY; }
23 virtual bool getEntityBox(double& xmin, double& xmax, double& ymin, double& ymax, double& zmin, double& zmax) override { return false; };
24 virtual void addVisualizationNodes(void) override;
25
26 ot::UID getCoordinateEntityID() const { return _coordinate2DEntityID; }
27 const std::string& getBlockTitle() const { return _blockTitle; }
28 void SetGraphicsScenePackageName(const std::string& name) { _graphicsScenePackage = name; }
29 void SetServiceInformation(const ot::BasicServiceInformation& info) { _info = info; }
30 void setCoordinateEntityID(ot::UID coordinateEntityID) { _coordinate2DEntityID = coordinateEntityID; };
31
32 const std::map<std::string,ot::Connector>& getAllConnectorsByName() const { return _connectorsByName; }
33 const bool hasConnector(const std::string& connectorName) const { return _connectorsByName.find(connectorName) != _connectorsByName.end(); }
34 const std::list<ot::UID>& getAllConnections() const { return _connectionIDs; }
35
36 void AddConnector(const ot::Connector& connector);
37 void RemoveConnector(const ot::Connector& connector);
38
39 void AddConnection(const ot::UID id);
40 void RemoveConnection(const ot::UID idForRemoval);
41
42 virtual ot::GraphicsItemCfg* CreateBlockCfg() = 0;
43
44 std::string CreateBlockHeadline();
45
46protected:
47 std::string _blockTitle = "";
48 ot::UID _coordinate2DEntityID = 0;
50 std::string _graphicsScenePackage;
51 std::string _navigationOldTreeIconName = "";
52 std::string _navigationOldTreeIconNameHidden = "";
53
54 std::map<std::string,ot::Connector> _connectorsByName;
55 //std::map<std::string, ot::BlockConnection> _connectionsByConnectionKey;
56 std::list<ot::UID> _connectionIDs;
57
58
59 void AddStorageData(bsoncxx::builder::basic::document& storage) override;
60 void readSpecificDataFromDataBase(bsoncxx::document::view& doc_view, std::map<ot::UID, EntityBase*>& entityMap) override;
61
62 void CreateNavigationTreeEntry();
63 void CreateBlockItem();
64 void AddConnectors(ot::GraphicsFlowItemBuilder& flowBlockBuilder);
65};
The BasicServiceInformation class is used to hold a service name and type. The BasicServiceInformatio...
Definition BasicServiceInformation.h:21
Definition GraphicsFlowItemBuilder.h:103
The GraphicsItemCfg is the base class for all graphics item configurations.
Definition GraphicsItemCfg.h:33
unsigned long UID
Unique identifier (32 bit unsigned integer)
Definition CoreTypes.h:27