-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathranks_instances.h
111 lines (90 loc) · 3.82 KB
/
ranks_instances.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#include "cluster_node.h"
#include "cluster_architecture.h"
#include <QQuick3DInstancing>
QT_FORWARD_DECLARE_CLASS(QRandomGenerator)
class Ranks_Instances : public QQuick3DInstancing
{
Q_OBJECT
Q_PROPERTY(int instanceCount READ instanceCount WRITE setInstanceCount NOTIFY instanceCountChanged)
Q_PROPERTY(int outerCubeLength READ outerCubeLength WRITE setOuterCubeLength NOTIFY outerCubeLengthChanged)
Q_PROPERTY(int innerCubeCount READ innerCubeCount WRITE setInnerCubeCount NOTIFY innerCubeCountChanged)
Q_PROPERTY(double innerCubeSpacing READ innerCubeSpacing WRITE setInnerCubeSpacing NOTIFY innerCubeSpacingChanged)
Q_PROPERTY(int rowsColumns READ rowsColumns WRITE setRowsColumns NOTIFY rowsColumnsChanged)
Q_PROPERTY(double innerCubeScale READ innerCubeScale WRITE setInnerCubeScale NOTIFY innerCubeScaleChanged)
Q_PROPERTY(long send_datasize READ send_datasize WRITE set_sendDatasize NOTIFY send_datasizeChanged)
Q_PROPERTY(bool p2p_show READ p2p_show WRITE set_p2pBool NOTIFY p2pBoolChanged)
Q_PROPERTY(bool coll_show READ coll_show WRITE set_collBool NOTIFY collBoolChanged)
Q_PROPERTY(QString combobox MEMBER m_combobox NOTIFY combobox_optionChanged)
Q_PROPERTY(bool components_build READ components_build WRITE setComponents_build NOTIFY components_buildChanged)
Q_PROPERTY(Cluster_Architecture* nodes MEMBER m_nodes NOTIFY nodesChanged)
Q_PROPERTY(Cluster_Node* instanceRanks READ instanceRanks WRITE setInstanceRanks NOTIFY instanceRanksChanged)
Q_PROPERTY(QByteArray instanceData READ instanceData NOTIFY instanceDataChanged)
QML_ELEMENT
public:
explicit Ranks_Instances(QQuick3DObject *parent = nullptr);
~Ranks_Instances() override;
int instanceCount() const;
int outerCubeLength() const;
int innerCubeCount() const;
double innerCubeSpacing() const;
int rowsColumns() const;
double innerCubeScale() const;
//QByteArray outerInstanceData();
//QVector<Cluster_Rank *> instanceRanks();
Cluster_Node* instanceRanks();
void timerRanksChanged();
long send_datasize();
bool p2p_show();
bool coll_show();
bool components_build();
QByteArray instanceData();
public slots:
void setInstanceCount(int count);
void setOuterCubeLength(int length);
void setInnerCubeCount(int count);
void setInnerCubeSpacing(double spacing);
void setRowsColumns(int rowsColums);
void setInnerCubeScale(double scale);
//void setInstanceRanks(QVector<Cluster_Rank *> ranks);
void setInstanceRanks(Cluster_Node* ranks);
void set_sendDatasize(long ds);
//void setOuterInstanceData(QByteArray arr);
void set_p2pBool(bool show);
void set_collBool(bool show);
void setComponents_build(bool comp);
signals:
void instanceCountChanged();
void outerCubeLengthChanged();
void innerCubeCountChanged();
void innerCubeSpacingChanged();
void rowsColumnsChanged();
void innerCubeScaleChanged();
void instanceRanksChanged();
void send_datasizeChanged();
void nodesChanged();
//void outerInstanceDataChanged();
void p2pBoolChanged();
void collBoolChanged();
void combobox_optionChanged();
void components_buildChanged();
void instanceDataChanged();
protected:
QByteArray getInstanceBuffer(int *instanceCount) override;
private:
long m_send_datasize = 0;
int m_instanceCount = 0;
QByteArray m_outerInstanceData;
QByteArray m_instanceData;
int m_outerCubeLength = 0;
int m_innerCubeCount = 0;
double m_innerCubeSpacing = 0.0;
int m_rowsColumns = 0;
double m_innerCubeScale = 0.0; // Berechnung der Skalierung des inneren Würfel
//QVector<Cluster_Rank *> m_instanceRanks;
Cluster_Node* m_instanceRanks;
Cluster_Architecture* m_nodes;
bool m_p2p_show;
bool m_coll_show;
QString m_combobox;
bool m_components_build;
};