1 #ifndef TLMBUSCONNECTOR_H
2 #define TLMBUSCONNECTOR_H
6 #include "OMSimulator/Types.h"
9 #include "../../OMTLMSimulator/common/Plugin/PluginImplementer.h"
15 #include <pugixml.hpp>
42 std::vector<int>
c = {2,3,4,5,6,7,8,9,10,11};
43 std::vector<int>
t = {12,13,14,15,16,17,18,19,20,21};
48 std::vector<int>
x = {0,1};
49 std::vector<int>
phi = {2};
50 std::vector<int>
v = {3,4};
51 std::vector<int>
w = {5};
52 std::vector<int>
f = {6,7,8};
56 std::vector<int>
x = {0,1,2};
57 std::vector<int>
A = {3,4,5,6,7,8,9,10,11};
58 std::vector<int>
v = {12,13,14};
59 std::vector<int>
w = {15,16,17};
60 std::vector<int>
f = {18,19,20,21,22,23};
64 std::vector<int>
x = {0,1,2};
65 std::vector<int>
A = {3,4,5,6,7,8,9,10,11};
66 std::vector<int>
v = {12,13,14};
67 std::vector<int>
w = {15,16,17};
68 std::vector<int>
c = {18,19,20,21,22,23};
74 std::vector<int>
x = {0,1,2};
75 std::vector<int>
A = {3,4,5,6,7,8,9,10,11};
76 std::vector<int>
v = {12,13,14};
77 std::vector<int>
w = {15,16,17};
78 std::vector< std::vector<int> >
c = { {18,28,38,48,58,68},
87 {27,37,47,57,67,77} };
88 std::vector<int>
t = { 78,79,80,81,82,83,84,85,86,87};
102 oms_status_enu_t
exportToSSD(pugi::xml_node& root)
const;
111 void setReal(
int i,
double value);
112 void getReal(
int i,
double &value);
113 void setReals(std::vector<int> i, std::vector<double> values);
114 void getReals(std::vector<int> i, std::vector<double>& values);
123 void setDelay(
double delay) { this->delay = delay; }
126 std::vector<oms::ComRef>
getConnectors(std::vector<int> ids)
const;
139 static std::vector<std::string>
getVariableTypes(oms_tlm_domain_t domain,
int dimensions, oms_tlm_interpolation_t interpolation);
140 static std::vector<std::string>
getVariableDescriptions(oms_tlm_domain_t domain,
int dimensions, oms_tlm_interpolation_t interpolation);
ComRef - component reference.
Definition: ComRef.h:47
Definition: Component.h:60
TLMBusConnector.
Definition: TLMBusConnector.h:97
static std::vector< std::string > getVariableDescriptions(oms_tlm_domain_t domain, int dimensions, oms_tlm_interpolation_t interpolation)
Definition: TLMBusConnector.cpp:412
const std::string getDomainString() const
Definition: TLMBusConnector.cpp:181
const oms::ComRef getName() const
Definition: TLMBusConnector.h:117
std::vector< oms::ComRef > getConnectors(std::vector< int > ids) const
Definition: TLMBusConnector.cpp:201
std::map< std::string, oms::ComRef > connectors
Definition: TLMBusConnector.h:147
void setReals(std::vector< int > i, std::vector< double > values)
Definition: TLMBusConnector.cpp:152
void setReal(int i, double value)
Definition: TLMBusConnector.cpp:136
~TLMBusConnector()
Definition: TLMBusConnector.cpp:33
static std::vector< std::string > getVariableTypes(oms_tlm_domain_t domain, int dimensions, oms_tlm_interpolation_t interpolation)
Definition: TLMBusConnector.cpp:364
oms::TLMBusConnector * getActualBus()
Definition: TLMBusConnector.cpp:322
oms_causality_enu_t causality
Definition: TLMBusConnector.h:146
void setRealInputDerivatives(int i, int order, double value)
Definition: TLMBusConnector.cpp:176
int getId() const
Definition: TLMBusConnector.h:134
void updateConnectors()
Definition: TLMBusConnector.cpp:566
const int getDimensions() const
Definition: TLMBusConnector.h:120
std::vector< std::string > variableTypes
Definition: TLMBusConnector.h:149
int id
Definition: TLMBusConnector.h:154
void sortConnectors()
Definition: TLMBusConnector.cpp:240
void getReal(int i, double &value)
Definition: TLMBusConnector.cpp:144
oms_status_enu_t addConnector(const oms::ComRef &cref, std::string vartype)
Definition: TLMBusConnector.cpp:210
void getReals(std::vector< int > i, std::vector< double > &values)
Definition: TLMBusConnector.cpp:164
System * parentSystem
Definition: TLMBusConnector.h:150
oms_status_enu_t registerToSockets(TLMPlugin *plugin)
Definition: TLMBusConnector.cpp:250
Component * component
Definition: TLMBusConnector.h:151
oms_tlm_domain_t getDomain() const
Definition: TLMBusConnector.h:118
TLMBusConnector & operator=(const TLMBusConnector &rhs)
Definition: TLMBusConnector.cpp:93
std::vector< oms::ComRef > sortedConnectors
Definition: TLMBusConnector.h:148
oms::ComRef getConnector(int id) const
Definition: TLMBusConnector.cpp:196
void setName(const oms::ComRef &name)
Definition: TLMBusConnector.cpp:114
double getDelay()
Definition: TLMBusConnector.h:124
TLMBusConnector(const oms::ComRef &name, oms_tlm_domain_t domain, const int dimensions, const oms_tlm_interpolation_t interpolation, System *parentSystem=nullptr, Component *component=nullptr)
Definition: TLMBusConnector.cpp:9
const oms::ssd::ConnectorGeometry * getGeometry() const
Definition: TLMBusConnector.h:127
void setDelay(double delay)
Definition: TLMBusConnector.h:123
const oms_tlm_interpolation_t getInterpolation() const
Definition: TLMBusConnector.h:122
oms::Component * getComponent()
Recursively find component (i.e. FMU) connected to the TLM bus. Return NULL if not found.
Definition: TLMBusConnector.cpp:311
TLMBusConnector * actualBus
Definition: TLMBusConnector.h:152
const oms_causality_enu_t getCausality() const
Definition: TLMBusConnector.h:121
oms_status_enu_t deleteConnector(const oms::ComRef &cref)
Definition: TLMBusConnector.cpp:227
oms_status_enu_t exportToSSD(pugi::xml_node &root) const
Definition: TLMBusConnector.cpp:49
void setGeometry(const oms::ssd::ConnectorGeometry *newGeometry)
Definition: TLMBusConnector.cpp:124
Definition: ConnectorGeometry.h:46
const char * system
Definition: Tags.cpp:57
struct oms::oms_tlm_sigrefs_1d_fg_t oms_tlm_sigrefs_1d_fg_t
struct oms::oms_tlm_sigrefs_2d_t oms_tlm_sigrefs_2d_t
struct oms::oms_tlm_sigrefs_1d_t oms_tlm_sigrefs_1d_t
struct oms::oms_tlm_sigrefs_3d_fg_t oms_tlm_sigrefs_3d_fg_t
struct oms::oms_tlm_sigrefs_3d_cg_t oms_tlm_sigrefs_3d_cg_t
struct oms::oms_tlm_sigrefs_1d_cg_t oms_tlm_sigrefs_1d_cg_t
struct oms::oms_tlm_sigrefs_signal_t oms_tlm_sigrefs_signal_t
struct oms::oms_tlm_sigrefs_3d_t oms_tlm_sigrefs_3d_t
Definition: TLMBusConnector.h:32
int Z
Definition: TLMBusConnector.h:36
int x
Definition: TLMBusConnector.h:33
int c
Definition: TLMBusConnector.h:35
int v
Definition: TLMBusConnector.h:34
Definition: TLMBusConnector.h:39
std::vector< int > c
Definition: TLMBusConnector.h:42
int Z
Definition: TLMBusConnector.h:44
std::vector< int > t
Definition: TLMBusConnector.h:43
int x
Definition: TLMBusConnector.h:40
int v
Definition: TLMBusConnector.h:41
Definition: TLMBusConnector.h:26
int x
Definition: TLMBusConnector.h:27
int f
Definition: TLMBusConnector.h:29
int v
Definition: TLMBusConnector.h:28
Definition: TLMBusConnector.h:47
std::vector< int > x
Definition: TLMBusConnector.h:48
std::vector< int > phi
Definition: TLMBusConnector.h:49
std::vector< int > w
Definition: TLMBusConnector.h:51
std::vector< int > f
Definition: TLMBusConnector.h:52
std::vector< int > v
Definition: TLMBusConnector.h:50
Definition: TLMBusConnector.h:63
std::vector< int > A
Definition: TLMBusConnector.h:65
std::vector< int > v
Definition: TLMBusConnector.h:66
std::vector< int > c
Definition: TLMBusConnector.h:68
int Zr
Definition: TLMBusConnector.h:70
std::vector< int > w
Definition: TLMBusConnector.h:67
int Zt
Definition: TLMBusConnector.h:69
std::vector< int > x
Definition: TLMBusConnector.h:64
Definition: TLMBusConnector.h:73
std::vector< int > A
Definition: TLMBusConnector.h:75
std::vector< int > x
Definition: TLMBusConnector.h:74
int Zt
Definition: TLMBusConnector.h:89
std::vector< int > t
Definition: TLMBusConnector.h:88
std::vector< std::vector< int > > c
Definition: TLMBusConnector.h:78
std::vector< int > v
Definition: TLMBusConnector.h:76
int Zr
Definition: TLMBusConnector.h:90
std::vector< int > w
Definition: TLMBusConnector.h:77
Definition: TLMBusConnector.h:55
std::vector< int > w
Definition: TLMBusConnector.h:59
std::vector< int > f
Definition: TLMBusConnector.h:60
std::vector< int > A
Definition: TLMBusConnector.h:57
std::vector< int > v
Definition: TLMBusConnector.h:58
std::vector< int > x
Definition: TLMBusConnector.h:56
Definition: TLMBusConnector.h:22
int y
Definition: TLMBusConnector.h:23