23#ifndef __PNS_MEANDER_PLACER_H
24#define __PNS_MEANDER_PLACER_H
107 long long int aTargetMin,
long long int aTargetMax );
A collection of nets and the parameters used to route or test these nets.
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)
NODE * m_currentNode
Current world state.
virtual bool FixRoute(const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish=false) override
Commit the currently routed items to the parent node, taking aP as the final end point and aEndItem a...
bool doMove(const VECTOR2I &aP, ITEM *aEndItem, long long int aTargetLength, long long int aTargetMin, long long int aTargetMax)
TUNING_STATUS m_lastStatus
virtual bool Move(const VECTOR2I &aP, ITEM *aEndItem) override
Move the end of the currently routed primtive(s) to the point aP, taking aEndItem as the anchor (if n...
virtual long long int origPathLength() const
int CurrentLayer() const override
Return the layer of currently routed track.
virtual void calculateTimeDomainTargets()
int m_padToDieDelay
Total length added by pad to die size.
const VECTOR2I & CurrentEnd() const override
Return the current end of the line(s) being placed/tuned.
const VECTOR2I & CurrentStart() const override
Return the current start of the line(s) being placed/tuned.
long long int TuningLengthResult() const override
Return the resultant length or skew of the tuned traces.
bool AbortPlacement() override
int64_t TuningDelayResult() const override
Return the resultant delay or skew of the tuned traces.
bool HasPlacedAnything() const override
NODE * CurrentNode(bool aLoopsRemoved=false) const override
Return the most recent board state.
LINKED_ITEM * m_initialSegment
const std::vector< NET_HANDLE > CurrentNets() const override
Returns the net(s) of currently routed track(s).
virtual ~MEANDER_PLACER()
SHAPE_LINE_CHAIN m_finalShape
const ITEM_SET TunedPath() override
const ITEM_SET Traces() override
Return all routed/tuned traces.
MEANDER_PLACER(ROUTER *aRouter)
virtual int64_t origPathDelay() const
bool CheckFit(MEANDER_SHAPE *aShape) override
Checks if it's OK to place the shape aShape (i.e.
VECTOR2I m_currentStart
current routing start point (end of tail, beginning of head)
TUNING_STATUS TuningStatus() const override
Return the tuning status (too short, too long, etc.) of the trace(s) being tuned.
virtual bool Start(const VECTOR2I &aP, ITEM *aStartItem) override
Start placement/drag operation at point aP, taking item aStartItem as anchor (unless NULL).
int m_padToDieLength
Total length added by pad to die size.
bool CommitPlacement() override
NETCLASS * m_netClass
The netclass for the placed segments.
long long int m_lastLength
The geometry of a single meander.
Keep the router "world" - i.e.
Perform various optimizations of the lines being routed, attempting to make the lines shorter and les...
The actual Push and Shove algorithm.
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