23#ifndef __PNS_DP_MEANDER_PLACER_H
24#define __PNS_DP_MEANDER_PLACER_H
105 const std::vector<NET_HANDLE>
CurrentNets()
const override;
Basic class for a differential pair.
std::vector< COUPLED_SEGMENTS > COUPLED_SEGMENTS_VEC
Differential Pair length-matching/meandering tool.
bool Start(const VECTOR2I &aP, ITEM *aStartItem) override
Start routing a single track at point aP, taking item aStartItem as anchor (unless NULL).
bool CheckFit(MEANDER_SHAPE *aShape) override
Checks if it's OK to place the shape aShape (i.e.
void meanderSegment(const SEG &aBase)
const ITEM_SET Traces() override
Function Traces()
SHAPE_LINE_CHAIN m_finalShapeP
bool AbortPlacement() override
bool pairOrientation(const DIFF_PAIR::COUPLED_SEGMENTS &aPair)
void setWorld(NODE *aWorld)
long long int TuningResult() const override
Return the resultant length or skew of the tuned traces.
SHAPE_LINE_CHAIN m_finalShapeN
VECTOR2I m_currentStart
Current world state.
bool FixRoute(const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish=false) override
Commit the currently routed track to the parent node, taking aP as the final end point and aEndItem a...
long long int totalLength()
int CurrentLayer() const override
Function CurrentLayer()
TUNING_STATUS TuningStatus() const override
Return the tuning status (too short, too long, etc.) of the trace(s) being tuned.
const SEG baselineSegment(const DIFF_PAIR::COUPLED_SEGMENTS &aCoupledSegs)
TUNING_STATUS m_lastStatus
const DIFF_PAIR & GetOriginPair()
const ITEM_SET TunedPath() override
bool HasPlacedAnything() const override
bool CommitPlacement() override
bool Move(const VECTOR2I &aP, ITEM *aEndItem) override
Move the end of the currently routed trace to the point aP, taking aEndItem as anchor (if not NULL).
const VECTOR2I & CurrentEnd() const override
Function CurrentEnd()
long long int m_lastLength
DIFF_PAIR::COUPLED_SEGMENTS_VEC m_coupledSegments
const VECTOR2I & CurrentStart() const override
Function CurrentStart()
LINKED_ITEM * m_initialSegment
long long int origPathLength() const
Current routing start point (end of tail, beginning of head).
const std::vector< NET_HANDLE > CurrentNets() const override
Function CurrentNets()
NODE * CurrentNode(bool aLoopsRemoved=false) const override
Return the most recent world state.
Base class for PNS router board items.
Represents a track on a PCB, connecting two non-trivial joints (that is, vias, pads,...
Represent a set of meanders fitted over a single or two lines.
Base class for Single trace & Differential pair meandering tools, as both of them share a lot of code...
TUNING_STATUS
< Result of the length tuning operation
The geometry of a single meander.
Keep the router "world" - i.e.
Represent a polyline containing arcs as well as line segments: A chain of connected line and/or arc s...
Push and Shove diff pair dimensions (gap) settings dialog.