20#ifndef LIBREPCB_CORE_SI_NETSEGMENT_H
21#define LIBREPCB_CORE_SI_NETSEGMENT_H
26#include "../../../types/point.h"
27#include "../../../types/uuid.h"
40class SI_NetLineAnchor;
66 bool isUsed() const noexcept;
85 const QList<SI_NetLine*>& netlines);
87 const QList<SI_NetLine*>& netlines);
110 bool operator==(const
SI_NetSegment& rhs) noexcept {
return (
this == &rhs); }
115 const QList<SI_NetLine*>& netLines);
117 const QList<SI_NetLine*>& netLines);
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:79
The SExpression class.
Definition: sexpression.h:69
The Schematic Item Base (SI_Base) class.
Definition: si_base.h:45
The SI_NetLabel class.
Definition: si_netlabel.h:49
Definition: si_netline.h:44
The SI_NetLine class.
Definition: si_netline.h:65
The SI_NetPoint class.
Definition: si_netpoint.h:44
The SI_NetSegment class.
Definition: si_netsegment.h:53
QSet< SI_SymbolPin * > getAllConnectedPins() const noexcept
Definition: si_netsegment.cpp:115
bool areAllNetPointsConnectedTogether() const noexcept
Definition: si_netsegment.cpp:387
void addNetPointsAndNetLines(const QList< SI_NetPoint * > &netpoints, const QList< SI_NetLine * > &netlines)
Definition: si_netsegment.cpp:159
NetSignal & getNetSignal() const noexcept
Definition: si_netsegment.h:65
void findAllConnectedNetPoints(const SI_NetLineAnchor &p, QSet< const SI_SymbolPin * > &pins, QSet< const SI_NetPoint * > &points) const noexcept
Definition: si_netsegment.cpp:400
QSet< QString > getForcedNetNames() const noexcept
Definition: si_netsegment.cpp:73
const QMap< Uuid, SI_NetPoint * > & getNetPoints() const noexcept
Definition: si_netsegment.h:76
const QMap< Uuid, SI_NetLabel * > & getNetLabels() const noexcept
Definition: si_netsegment.h:90
NetSignal * mNetSignal
Definition: si_netsegment.h:130
Uuid mUuid
Definition: si_netsegment.h:129
bool isUsed() const noexcept
Definition: si_netsegment.cpp:68
void removeNetPointsAndNetLines(const QList< SI_NetPoint * > &netpoints, const QList< SI_NetLine * > &netlines)
Definition: si_netsegment.cpp:217
SI_NetSegment(const SI_NetSegment &other)=delete
bool checkAttributesValidity() const noexcept
Definition: si_netsegment.cpp:381
void removeFromSchematic() override
Definition: si_netsegment.cpp:327
void netLabelAdded(SI_NetLabel &netLabel)
void addNetLabel(SI_NetLabel &netlabel)
Definition: si_netsegment.cpp:265
void removeNetLabel(SI_NetLabel &netlabel)
Definition: si_netsegment.cpp:281
QMap< Uuid, SI_NetLine * > mNetLines
Definition: si_netsegment.h:134
void setNetSignal(NetSignal &netsignal)
Definition: si_netsegment.cpp:138
void addToSchematic() override
Definition: si_netsegment.cpp:301
void netPointsAndNetLinesRemoved(const QList< SI_NetPoint * > &netPoints, const QList< SI_NetLine * > &netLines)
~SI_NetSegment() noexcept
Definition: si_netsegment.cpp:54
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition: si_netsegment.cpp:353
const Uuid & getUuid() const noexcept
Definition: si_netsegment.h:64
const QMap< Uuid, SI_NetLine * > & getNetLines() const noexcept
Definition: si_netsegment.h:79
QString getForcedNetName() const noexcept
Definition: si_netsegment.cpp:90
Point calcNearestPoint(const Point &p) const noexcept
Definition: si_netsegment.cpp:99
bool operator!=(const SI_NetSegment &rhs) noexcept
Definition: si_netsegment.h:111
QMap< Uuid, SI_NetPoint * > mNetPoints
Definition: si_netsegment.h:133
QMap< Uuid, SI_NetLabel * > mNetLabels
Definition: si_netsegment.h:135
void netLabelRemoved(SI_NetLabel &netLabel)
void netPointsAndNetLinesAdded(const QList< SI_NetPoint * > &netPoints, const QList< SI_NetLine * > &netLines)
void updateAllNetLabelAnchors() noexcept
Definition: si_netsegment.cpp:291
The SI_SymbolPin class.
Definition: si_symbolpin.h:52
The Schematic class represents one schematic page of a project and is always part of a circuit.
Definition: schematic.h:74
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition: uuid.h:58
Definition: occmodel.cpp:77