20#ifndef LIBREPCB_CORE_SI_NETSEGMENT_H
21#define LIBREPCB_CORE_SI_NETSEGMENT_H
26#include "../../../types/point.h"
27#include "../../../types/uuid.h"
42class SI_NetLineAnchor;
68 bool isUsed() const noexcept;
89 const QList<SI_NetLine*>& netlines);
91 const QList<SI_NetLine*>& netlines);
114 bool operator==(const
SI_NetSegment& rhs) noexcept {
return (
this == &rhs); }
119 const QList<SI_NetLine*>& netLines);
121 const QList<SI_NetLine*>& netLines);
132 QSet<const
SI_NetLine*>& lines) const noexcept;
The NetSignal class.
Definition netsignal.h:50
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
The SExpression class.
Definition sexpression.h:69
The Schematic Item Base (SI_Base) class.
Definition si_base.h:45
The SI_BusJunction class.
Definition si_busjunction.h:45
The SI_BusSegment class.
Definition si_bussegment.h:52
The SI_NetLabel class.
Definition si_netlabel.h:48
Definition si_netline.h:43
The SI_NetLine class.
Definition si_netline.h:64
The SI_NetPoint class.
Definition si_netpoint.h:44
The SI_NetSegment class.
Definition si_netsegment.h:55
QSet< SI_SymbolPin * > getAllConnectedPins() const noexcept
Definition si_netsegment.cpp:116
bool areAllNetPointsConnectedTogether() const noexcept
Definition si_netsegment.cpp:424
QSet< SI_BusSegment * > getAllConnectedBusSegments() const noexcept
Definition si_netsegment.cpp:147
void addNetPointsAndNetLines(const QList< SI_NetPoint * > &netpoints, const QList< SI_NetLine * > &netlines)
Definition si_netsegment.cpp:187
NetSignal & getNetSignal() const noexcept
Definition si_netsegment.h:67
void findAllConnectedNetPoints(const SI_NetLineAnchor &p, QSet< const SI_SymbolPin * > &pins, QSet< const SI_BusJunction * > &buses, QSet< const SI_NetPoint * > &points, QSet< const SI_NetLine * > &lines) const noexcept
Definition si_netsegment.cpp:443
QSet< SI_BusJunction * > getAllConnectedBusJunctions() const noexcept
Definition si_netsegment.cpp:132
QSet< QString > getForcedNetNames() const noexcept
Definition si_netsegment.cpp:74
const QMap< Uuid, SI_NetPoint * > & getNetPoints() const noexcept
Definition si_netsegment.h:80
const QMap< Uuid, SI_NetLabel * > & getNetLabels() const noexcept
Definition si_netsegment.h:94
NetSignal * mNetSignal
Definition si_netsegment.h:136
Uuid mUuid
Definition si_netsegment.h:135
bool isUsed() const noexcept
Definition si_netsegment.cpp:69
void removeNetPointsAndNetLines(const QList< SI_NetPoint * > &netpoints, const QList< SI_NetLine * > &netlines)
Definition si_netsegment.cpp:251
SI_NetSegment(const SI_NetSegment &other)=delete
bool checkAttributesValidity() const noexcept
Definition si_netsegment.cpp:418
void removeFromSchematic() override
Definition si_netsegment.cpp:364
void netLabelAdded(SI_NetLabel &netLabel)
void addNetLabel(SI_NetLabel &netlabel)
Definition si_netsegment.cpp:299
void removeNetLabel(SI_NetLabel &netlabel)
Definition si_netsegment.cpp:317
QMap< Uuid, SI_NetLine * > mNetLines
Definition si_netsegment.h:140
void setNetSignal(NetSignal &netsignal)
Definition si_netsegment.cpp:166
void addToSchematic() override
Definition si_netsegment.cpp:338
void netPointsAndNetLinesRemoved(const QList< SI_NetPoint * > &netPoints, const QList< SI_NetLine * > &netLines)
~SI_NetSegment() noexcept
Definition si_netsegment.cpp:55
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition si_netsegment.cpp:390
const Uuid & getUuid() const noexcept
Definition si_netsegment.h:66
const QMap< Uuid, SI_NetLine * > & getNetLines() const noexcept
Definition si_netsegment.h:83
QString getForcedNetName() const noexcept
Definition si_netsegment.cpp:91
Point calcNearestPoint(const Point &p) const noexcept
Definition si_netsegment.cpp:100
bool operator!=(const SI_NetSegment &rhs) noexcept
Definition si_netsegment.h:115
QMap< Uuid, SI_NetPoint * > mNetPoints
Definition si_netsegment.h:139
QMap< Uuid, SI_NetLabel * > mNetLabels
Definition si_netsegment.h:141
void netLabelRemoved(SI_NetLabel &netLabel)
void netPointsAndNetLinesAdded(const QList< SI_NetPoint * > &netPoints, const QList< SI_NetLine * > &netLines)
void updateAllNetLabelAnchors() noexcept
Definition si_netsegment.cpp:328
The SI_SymbolPin class.
Definition si_symbolpin.h:53
The Schematic class represents one schematic page of a project and is always part of a circuit.
Definition schematic.h:81
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
Definition occmodel.cpp:77