22 #ifndef __PNS_DP_MEANDER_PLACER_H
23 #define __PNS_DP_MEANDER_PLACER_H
25 #include <math/vector2d.h>
27 #include <geometry/shape.h>
28 #include <geometry/shape_line_chain.h>
33 #include "pns_placement_algo.h"
34 #include "pns_meander.h"
35 #include "pns_meander_placer_base.h"
36 #include "pns_diff_pair.h"
37 #include "pns_debug_decorator.h"
83 const LINE Trace()
const;
97 const std::vector<int>
CurrentNets()
const override;
103 const std::string
TuningInfo()
const override;
112 void meanderSegment(
const SEG& aBase );
120 void setWorld(
NODE* aWorld );
123 int origPathLength()
const;
135 DIFF_PAIR::COUPLED_SEGMENTS_VEC m_coupledSegments;
137 LINE m_currentTraceN, m_currentTraceP;
138 ITEM_SET m_tunedPath, m_tunedPathP, m_tunedPathN;
Class DIFF_PAIR.
Definition: pns_diff_pair.h:265
Class DP_MEANDER_PLACER.
Definition: pns_dp_meander_placer.h:50
bool Start(const VECTOR2I &aP, ITEM *aStartItem) override
Function Start()
Definition: pns_dp_meander_placer.cpp:70
bool CheckFit(MEANDER_SHAPE *aShape) override
Function CheckFit()
Definition: pns_dp_meander_placer.cpp:318
const ITEM_SET Traces() override
Function Traces()
Definition: pns_dp_meander_placer.cpp:336
const std::string TuningInfo() const override
Function TuningInfo()
Definition: pns_dp_meander_placer.cpp:362
const std::vector< int > CurrentNets() const override
Function CurrentNets()
Definition: pns_dp_meander_placer.cpp:397
bool FixRoute(const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish=false) override
Function FixRoute()
Definition: pns_dp_meander_placer.cpp:304
int CurrentLayer() const override
Function CurrentLayer()
Definition: pns_dp_meander_placer.cpp:356
TUNING_STATUS TuningStatus() const override
Function TuningStatus()
Definition: pns_dp_meander_placer.cpp:392
bool Move(const VECTOR2I &aP, ITEM *aEndItem) override
Function Move()
Definition: pns_dp_meander_placer.cpp:164
const VECTOR2I & CurrentEnd() const override
Function CurrentEnd()
Definition: pns_dp_meander_placer.cpp:350
NODE * CurrentNode(bool aLoopsRemoved=false) const override
Function CurrentNode()
Definition: pns_dp_meander_placer.cpp:61
Definition: pns_itemset.h:40
Class ITEM.
Definition: pns_item.h:55
Definition: pns_line.h:61
Class MEANDERED_LINE.
Definition: pns_meander.h:396
Class MEANDER_PLACER_BASE.
Definition: pns_meander_placer_base.h:49
TUNING_STATUS
Result of the length tuning operation
Definition: pns_meander_placer_base.h:52
Class MEANDER_SETTINGS.
Definition: pns_meander.h:105
Class NODE.
Definition: pns_node.h:138
Definition: pns_router.h:113
Definition: pns_segment.h:39
Class SHAPE_LINE_CHAIN.
Definition: shape_line_chain.h:50
Definition: pns_diff_pair.h:268