23#ifndef __PNS_DP_MEANDER_PLACER_H
24#define __PNS_DP_MEANDER_PLACER_H
105 const std::vector<NET_HANDLE>
CurrentNets()
const override;
A collection of nets and the parameters used to route or test these nets.
Basic class for a differential pair.
std::vector< COUPLED_SEGMENTS > COUPLED_SEGMENTS_VEC
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
Return all routed/tuned traces.
SHAPE_LINE_CHAIN m_finalShapeP
bool AbortPlacement() override
friend class MEANDER_SHAPE
bool pairOrientation(const DIFF_PAIR::COUPLED_SEGMENTS &aPair)
void setWorld(NODE *aWorld)
DP_MEANDER_PLACER(ROUTER *aRouter)
SHAPE_LINE_CHAIN m_finalShapeN
void calculateTimeDomainTargets()
VECTOR2I m_currentStart
Current routing start point (end of tail, beginning of head).
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
Return the layer of currently routed track.
TUNING_STATUS TuningStatus() const override
Return the tuning status (too short, too long, etc.) of the trace(s) being tuned.
long long int TuningLengthResult() const override
Return the resultant length or skew of the tuned traces.
const SEG baselineSegment(const DIFF_PAIR::COUPLED_SEGMENTS &aCoupledSegs)
TUNING_STATUS m_lastStatus
const DIFF_PAIR & GetOriginPair()
int64_t origPathDelay() const
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
Return the current end of the line(s) being placed/tuned.
long long int m_lastLength
DIFF_PAIR::COUPLED_SEGMENTS_VEC m_coupledSegments
const VECTOR2I & CurrentStart() const override
Return the current start of the line(s) being placed/tuned.
LINKED_ITEM * m_initialSegment
NODE * m_currentNode
Current world state.
int64_t TuningDelayResult() const override
Return the resultant delay or skew of the tuned traces.
long long int origPathLength() const
const std::vector< NET_HANDLE > CurrentNets() const override
Returns the net(s) of currently routed track(s).
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.
TUNING_STATUS
Result of the length tuning operation.
MEANDER_PLACER_BASE(ROUTER *aRouter)
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.
VECTOR2< int32_t > VECTOR2I