20#ifndef LIBREPCB_CORE_BUS_H
21#define LIBREPCB_CORE_BUS_H
26#include "../../types/busname.h"
27#include "../../types/length.h"
28#include "../../types/uuid.h"
50class Bus final :
public QObject {
58 bool autoName,
bool prefixNetNames,
59 const std::optional<UnsignedLength>& maxTraceLengthDifference);
78 bool isUsed() const noexcept;
85 const std::optional<UnsignedLength>& diff)
noexcept;
The Bus class.
Definition bus.h:50
bool mHasAutoName
Definition bus.h:116
bool isAddedToCircuit() const noexcept
Definition bus.h:79
Circuit & mCircuit
Definition bus.h:110
QSet< NetSignal * > getConnectedNetSignals() const noexcept
Definition bus.cpp:63
bool operator==(const Bus &rhs) const noexcept
Definition bus.h:102
void nameChanged(const BusName &newName)
Uuid mUuid
Definition bus.h:114
void setPrefixNetNames(bool prefix) noexcept
Definition bus.cpp:90
bool isUsed() const noexcept
Definition bus.cpp:73
void unregisterSchematicBusSegment(SI_BusSegment &s)
Definition bus.cpp:136
const QList< SI_BusSegment * > & getSchematicBusSegments() const noexcept
Definition bus.h:74
BusName mName
Definition bus.h:115
const BusName & getName() const noexcept
Definition bus.h:64
bool operator!=(const Bus &rhs) const noexcept
Definition bus.h:103
QList< SI_BusSegment * > mRegisteredSchematicBusSegments
Definition bus.h:121
void registerSchematicBusSegment(SI_BusSegment &s)
Definition bus.cpp:123
Bus & operator=(const Bus &rhs)=delete
bool mPrefixNetNames
Definition bus.h:117
std::optional< UnsignedLength > mMaxTraceLengthDifference
Definition bus.h:118
void serialize(SExpression &root) const
Serialize into librepcb::SExpression node.
Definition bus.cpp:143
bool hasAutoName() const noexcept
Definition bus.h:65
const Uuid & getUuid() const noexcept
Definition bus.h:63
void removeFromCircuit()
Definition bus.cpp:110
Circuit & getCircuit() const noexcept
Definition bus.h:73
bool getPrefixNetNames() const noexcept
Definition bus.h:66
~Bus() noexcept
Definition bus.cpp:54
Bus(const Bus &other)=delete
void setMaxTraceLengthDifference(const std::optional< UnsignedLength > &diff) noexcept
Definition bus.cpp:94
bool mIsAddedToCircuit
Definition bus.h:111
const std::optional< UnsignedLength > & getMaxTraceLengthDifference() const noexcept
Definition bus.h:67
void addToCircuit()
Definition bus.cpp:103
void setName(const BusName &name, bool isAutoName) noexcept
Definition bus.cpp:81
The Circuit class represents all electrical connections in a project (drawn in the schematics)
Definition circuit.h:72
The SExpression class.
Definition sexpression.h:69
The SI_BusSegment class.
Definition si_bussegment.h:52
The Uuid class is a replacement for QUuid to get UUID strings without {} braces.
Definition uuid.h:56
Definition occmodel.cpp:77
type_safe::constrained_type< QString, BusNameConstraint, BusNameVerifier > BusName
Definition busname.h:82