20#ifndef LIBREPCB_CORE_SI_BUSSEGMENT_H
21#define LIBREPCB_CORE_SI_BUSSEGMENT_H
26#include "../../../types/point.h"
27#include "../../../types/uuid.h"
65 bool isUsed() const noexcept;
80 const QList<SI_BusLine*>& lines);
82 const QList<SI_BusLine*>& lines);
103 bool operator==(const
SI_BusSegment& rhs) noexcept {
return (
this == &rhs); }
108 const QList<SI_BusLine*>& lines);
110 const QList<SI_BusLine*>& lines);
119 QSet<const
SI_BusLine*>& lines) const noexcept;
The Bus class.
Definition bus.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_BusLabel class.
Definition si_buslabel.h:48
The SI_BusLine class.
Definition si_busline.h:47
The SI_BusSegment class.
Definition si_bussegment.h:52
void updateAllLabelAnchors() noexcept
Definition si_bussegment.cpp:255
bool operator!=(const SI_BusSegment &rhs) noexcept
Definition si_bussegment.h:104
void labelAdded(SI_BusLabel &label)
Bus * mBus
Definition si_bussegment.h:123
const QMap< Uuid, SI_BusLabel * > & getLabels() const noexcept
Definition si_bussegment.h:85
const QMap< Uuid, SI_BusJunction * > & getJunctions() const noexcept
Definition si_bussegment.h:73
void addLabel(SI_BusLabel &label)
Definition si_bussegment.cpp:227
QMap< Uuid, SI_BusLabel * > mLabels
Definition si_bussegment.h:128
~SI_BusSegment() noexcept
Definition si_bussegment.cpp:50
SI_BusSegment(const SI_BusSegment &other)=delete
Uuid mUuid
Definition si_bussegment.h:122
bool isUsed() const noexcept
Definition si_bussegment.cpp:64
QMap< Uuid, SI_BusLine * > mLines
Definition si_bussegment.h:127
bool areAllJunctionsConnectedTogether() const noexcept
Definition si_bussegment.cpp:349
void removeLabel(SI_BusLabel &label)
Definition si_bussegment.cpp:244
void labelRemoved(SI_BusLabel &label)
QMap< Uuid, SI_BusJunction * > mJunctions
Definition si_bussegment.h:126
bool checkAttributesValidity() const noexcept
Definition si_bussegment.cpp:343
void removeJunctionsAndLines(const QList< SI_BusJunction * > &junctions, const QList< SI_BusLine * > &lines)
Definition si_bussegment.cpp:179
void removeFromSchematic() override
Definition si_bussegment.cpp:290
void junctionsAndLinesRemoved(const QList< SI_BusJunction * > &junctions, const QList< SI_BusLine * > &lines)
void addToSchematic() override
Definition si_bussegment.cpp:265
void addJunctionsAndLines(const QList< SI_BusJunction * > &junctions, const QList< SI_BusLine * > &lines)
Definition si_bussegment.cpp:119
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition si_bussegment.cpp:315
Bus & getBus() const noexcept
Definition si_bussegment.h:64
const Uuid & getUuid() const noexcept
Definition si_bussegment.h:63
void setBus(Bus &bus)
Definition si_bussegment.cpp:99
Point calcNearestPoint(const Point &p) const noexcept
Definition si_bussegment.cpp:69
void findAllConnectedJunctions(const SI_BusJunction &np, QSet< const SI_BusJunction * > &points, QSet< const SI_BusLine * > &lines) const noexcept
Definition si_bussegment.cpp:366
const QMap< Uuid, SI_BusLine * > & getLines() const noexcept
Definition si_bussegment.h:76
QSet< SI_NetSegment * > getAttachedNetSegments() const noexcept
Definition si_bussegment.cpp:85
void junctionsAndLinesAdded(const QList< SI_BusJunction * > &junctions, const QList< SI_BusLine * > &lines)
The SI_NetSegment class.
Definition si_netsegment.h:55
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