20#ifndef LIBREPCB_CORE_SCHEMATICNETSEGMENTSPLITTER_H
21#define LIBREPCB_CORE_SCHEMATICNETSEGMENTSPLITTER_H
26#include "../../geometry/junction.h"
27#include "../../geometry/netlabel.h"
28#include "../../geometry/netline.h"
62 bool replaceByJunction = false) noexcept;
80 QList<
Segment>& segments) const noexcept;
The Junction class represents the connection point between netlines or traces.
Definition junction.h:47
The Length class is used to represent a length (for example 12.75 millimeters)
Definition length.h:82
The NetLabel class represents a net text label of a schematic.
Definition netlabel.h:47
The NetLineAnchor class.
Definition netline.h:43
The NetLine class represents a net line within a schematic.
Definition netline.h:108
The Point class is used to represent a point/coordinate/vector, for example (1.2mm; 5....
Definition point.h:78
The SchematicNetSegmentSplitter class.
Definition schematicnetsegmentsplitter.h:45
NetLineList mNetLines
Definition schematicnetsegmentsplitter.h:87
SchematicNetSegmentSplitter() noexcept
Definition schematicnetsegmentsplitter.cpp:39
Length getDistanceBetweenNetLabelAndNetSegment(const NetLabel &netlabel, const Segment &netsegment) const noexcept
Definition schematicnetsegmentsplitter.cpp:159
QHash< NetLineAnchor, Point > mPinPositions
Definition schematicnetsegmentsplitter.h:91
JunctionList mJunctions
Definition schematicnetsegmentsplitter.h:86
void findConnectedLinesAndPoints(const NetLineAnchor &anchor, QList< std::shared_ptr< NetLine > > &availableNetLines, Segment &segment) noexcept
Definition schematicnetsegmentsplitter.cpp:114
Point getAnchorPosition(const NetLineAnchor &anchor) const noexcept
Definition schematicnetsegmentsplitter.cpp:175
NetLabelList mNetLabels
Definition schematicnetsegmentsplitter.h:88
QList< Segment > split() noexcept
Definition schematicnetsegmentsplitter.cpp:82
NetLineAnchor replacePinAnchor(const NetLineAnchor &anchor) noexcept
Definition schematicnetsegmentsplitter.cpp:109
void addSymbolPin(const NetLineAnchor &anchor, const Point &pos, bool replaceByJunction=false) noexcept
Definition schematicnetsegmentsplitter.cpp:50
void addNetLabelToNearestNetSegment(const NetLabel &netlabel, QList< Segment > &segments) const noexcept
Definition schematicnetsegmentsplitter.cpp:141
QHash< NetLineAnchor, NetLineAnchor > mPinAnchorsToReplace
Definition schematicnetsegmentsplitter.h:90
void addNetLabel(const NetLabel &netlabel) noexcept
Definition schematicnetsegmentsplitter.cpp:76
void addNetLine(const NetLine &netline) noexcept
Definition schematicnetsegmentsplitter.cpp:69
void addJunction(const Junction &junction) noexcept
Definition schematicnetsegmentsplitter.cpp:64
Definition occmodel.cpp:76
Definition schematicnetsegmentsplitter.h:48
JunctionList junctions
Definition schematicnetsegmentsplitter.h:49
NetLineList netlines
Definition schematicnetsegmentsplitter.h:50
NetLabelList netlabels
Definition schematicnetsegmentsplitter.h:51