Qucs-S S-parameter Viewer & RF Synthesis Tools
Loading...
Searching...
No Matches
infoclasses.h
Go to the documentation of this file.
1
7
8#ifndef INFOCLASSES_H
9#define INFOCLASSES_H
10#include "Schematic/structures.h"
11#include <QColor>
12#include <QFont>
13#include <QMap>
14#include <QPointF>
15
19public:
24
33 ComponentInfo(QString ID_, ComponentType Type_, double rot_, double x,
34 double y)
35 : ID(ID_), Type(Type_), Rotation(rot_), Coordinates(2) {
36 Coordinates[0] = x;
37 Coordinates[1] = y;
38 }
39
47 ComponentInfo(QString ID_, ComponentType Type_, double rot_, QPoint P)
48 : ID(ID_), Type(Type_), Rotation(rot_), Coordinates(2) {
49 Coordinates[0] = P.x();
50 Coordinates[1] = P.y();
51 }
52
59 ComponentInfo(QString ID_, ComponentType Type_, QPoint P)
60 : ID(ID_), Type(Type_), Coordinates(2) {
61 Coordinates[0] = P.x();
62 Coordinates[1] = P.y();
63 Rotation = 0;
64 }
65
70
71 QString ID;
72 ComponentType Type;
73 double Rotation;
74 QString Net1, Net2;
75 std::vector<double> Coordinates;
76 QMap<QString, QString> val;
77
82 int getNumberOfPorts() const {
83 switch (Type) {
84 case MicrostripCoupledLines:
85 case CoupledLines:
86 case Coupler:
87 return 4;
88 default:
89 return 2;
90 }
91 }
92
101 void setParams(QString ID_, ComponentType Type_, double Rotation_, double x,
102 double y // Coordinates
103 ) {
104 ID = ID_;
105 Type = Type_;
106 Rotation = Rotation_;
107 Coordinates[0] = x;
108 Coordinates[1] = y;
109 }
110
118 void setParams(QString ID_, ComponentType Type_, double Rotation_, QPoint P) // Coordinates
119 {
120 ID = ID_;
121 Type = Type_;
122 Rotation = Rotation_;
123 Coordinates[0] = P.x();
124 Coordinates[1] = P.y();
125 }
126
133 void setParams(QString ID_, ComponentType Type_, QPoint P) // Coordinates
134 {
135 ID = ID_;
136 Type = Type_;
137 Rotation = 0; // Default rotation = 0
138 Coordinates[0] = P.x();
139 Coordinates[1] = P.y();
140 }
141
147 double getVal(const QString &);
148};
149
153class WireInfo {
154public:
155
160
165
173 WireInfo(QString O, int OP, QString D, int DP)
175
183 void setParams(QString O, int OP, QString D, int DP) {
184 OriginID = O, DestinationID = D;
185 PortOrigin = OP, PortDestination = DP;
186 WireColor = Qt::black;
187 }
188
197 void setParams(QString O, int OP, QString D, int DP, QColor Color) {
198 OriginID = O, DestinationID = D;
199 PortOrigin = OP, PortDestination = DP;
200 WireColor = Color;
201 }
202
207 void setID(QString id) { ID = id; }
208
213 QString getID() { return ID; }
214
219 void setNet(QString net) { Net = net; }
220
225 QString getNet() { return Net; }
226
227 QString OriginID;
231 QColor WireColor;
232 QString ID;
233
234private:
235 QString Net;
236};
237
241class NodeInfo {
242public:
247
252
259 NodeInfo(QString ID_, double x, double y) : ID(ID_), Coordinates(2) {
260 Coordinates[0] = x;
261 Coordinates[1] = y;
262 }
263
269 NodeInfo(QString ID_, QPoint P) : ID(ID_), Coordinates(2) {
270 Coordinates[0] = P.x();
271 Coordinates[1] = P.y();
272 }
273
280 void setParams(QString ID_, double x, double y) {
281 ID = ID_;
282 Coordinates[0] = x;
283 Coordinates[1] = y;
284 }
285
291 void setParams(QString ID_, QPoint P) {
292 ID = ID_;
293 Coordinates[0] = P.x();
294 Coordinates[1] = P.y();
295 }
296
297 QString ID;
298 QString Net;
299 std::vector<double> Coordinates;
300 bool visible = true;
301};
302
304class TextInfo {
305public:
309 TextInfo() : position(0, 0) {}
310
319 TextInfo(QString ID_, QString text_, QFont font_ = QFont(),
320 QColor color_ = Qt::black, QPointF position_ = QPointF())
321 : ID(ID_), text(text_), font(font_), color(color_), position(position_) {}
322
331 void setParams(QString ID_, QString text_, QFont font_ = QFont(),
332 QColor color_ = Qt::black, QPointF position_ = QPointF()) {
333 ID = ID_;
334 text = text_;
335 font = font_;
336 color = color_;
337 position = position_;
338 }
339
340 QString ID;
341 QString text;
342 QFont font;
343 QColor color;
344 QPointF position;
345};
346
347#endif // INFOCLASSES_H
Component information container.
Definition infoclasses.h:18
void setParams(QString ID_, ComponentType Type_, double Rotation_, double x, double y)
Set component parameters with coordinates.
Definition infoclasses.h:101
int getNumberOfPorts() const
Get number of ports for component type.
Definition infoclasses.h:82
~ComponentInfo()
Class destructor.
Definition infoclasses.h:69
std::vector< double > Coordinates
Position coordinates [x, y].
Definition infoclasses.h:75
ComponentInfo(QString ID_, ComponentType Type_, double rot_, double x, double y)
Construct with ID, type, rotation and coordinates.
Definition infoclasses.h:33
double Rotation
Rotation angle in degrees.
Definition infoclasses.h:73
QString ID
Component identifier.
Definition infoclasses.h:71
void setParams(QString ID_, ComponentType Type_, double Rotation_, QPoint P)
Set component parameters with point and rotation.
Definition infoclasses.h:118
ComponentInfo(QString ID_, ComponentType Type_, QPoint P)
Construct with ID, type and point (zero rotation)
Definition infoclasses.h:59
ComponentInfo(QString ID_, ComponentType Type_, double rot_, QPoint P)
Construct with ID, type, rotation and point.
Definition infoclasses.h:47
QString Net2
Connected node IDs.
Definition infoclasses.h:74
ComponentInfo()
Default constructor.
Definition infoclasses.h:23
double getVal(const QString &)
Parse parameter value with SI suffix.
Definition component.cpp:340
ComponentType Type
Component type.
Definition infoclasses.h:72
void setParams(QString ID_, ComponentType Type_, QPoint P)
Set component parameters with point (zero rotation)
Definition infoclasses.h:133
QMap< QString, QString > val
Component parameters (e.g., freq, L1.L, C1.C)
Definition infoclasses.h:76
Wiring node information class.
Definition infoclasses.h:241
~NodeInfo()
Class destructor.
Definition infoclasses.h:251
QString Net
Net identifier.
Definition infoclasses.h:298
bool visible
Node visibility flag.
Definition infoclasses.h:300
NodeInfo(QString ID_, QPoint P)
Construct with ID and point.
Definition infoclasses.h:269
void setParams(QString ID_, double x, double y)
Set node parameters with coordinates.
Definition infoclasses.h:280
QString ID
Node identifier.
Definition infoclasses.h:297
void setParams(QString ID_, QPoint P)
Set node parameters with point.
Definition infoclasses.h:291
NodeInfo(QString ID_, double x, double y)
Construct with ID and coordinates.
Definition infoclasses.h:259
std::vector< double > Coordinates
Position coordinates [x, y].
Definition infoclasses.h:299
NodeInfo()
Default constructor.
Definition infoclasses.h:246
Text annotation information.
Definition infoclasses.h:304
void setParams(QString ID_, QString text_, QFont font_=QFont(), QColor color_=Qt::black, QPointF position_=QPointF())
Set text parameters.
Definition infoclasses.h:331
QColor color
Text color.
Definition infoclasses.h:343
QFont font
Text font.
Definition infoclasses.h:342
TextInfo(QString ID_, QString text_, QFont font_=QFont(), QColor color_=Qt::black, QPointF position_=QPointF())
Construct with full parameters.
Definition infoclasses.h:319
QString ID
Text identifier.
Definition infoclasses.h:340
QString text
Display text content.
Definition infoclasses.h:341
TextInfo()
Default constructor.
Definition infoclasses.h:309
QPointF position
Text position.
Definition infoclasses.h:344
Wire connection information.
Definition infoclasses.h:153
QColor WireColor
Wire display color.
Definition infoclasses.h:231
QString OriginID
Origin component/node ID.
Definition infoclasses.h:227
void setParams(QString O, int OP, QString D, int DP)
Set wire parameters.
Definition infoclasses.h:183
QString getNet()
Get net name.
Definition infoclasses.h:225
void setParams(QString O, int OP, QString D, int DP, QColor Color)
Set wire parameters with color.
Definition infoclasses.h:197
WireInfo()
Class constructor.
Definition infoclasses.h:159
void setID(QString id)
Set wire identifier.
Definition infoclasses.h:207
QString getID()
Get wire identifier.
Definition infoclasses.h:213
QString DestinationID
Destination component/node ID.
Definition infoclasses.h:229
QString ID
Wire identifier.
Definition infoclasses.h:232
void setNet(QString net)
Set net name.
Definition infoclasses.h:219
~WireInfo()
Class destructor.
Definition infoclasses.h:164
WireInfo(QString O, int OP, QString D, int DP)
Construct wire with endpoints.
Definition infoclasses.h:173
int PortOrigin
Origin port number.
Definition infoclasses.h:228
int PortDestination
Destination port number.
Definition infoclasses.h:230