22 #ifndef __PNS_MEANDER_PLACER_H
23 #define __PNS_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"
48 class MEANDER_PLACER :
public MEANDER_PLACER_BASE
52 MEANDER_PLACER( ROUTER* aRouter );
53 virtual ~MEANDER_PLACER();
76 return std::vector<int> (1, m_originLine.
Net() );
93 bool doMove(
const VECTOR2I& aP,
ITEM* aEndItem,
int aTargetLength );
95 void setWorld(
NODE* aWorld );
97 virtual int origPathLength()
const;
122 #endif // __PNS_MEANDER_PLACER_H
Definition: pns_line.h:61
Class MEANDER_SETTINGS.
Definition: pns_meander.h:105
Class MEANDERED_LINE.
Definition: pns_meander.h:396
NODE * m_currentNode
Current world state
Definition: pns_meander_placer.h:106
const VECTOR2I & CurrentEnd() const override
Function CurrentEnd()
Definition: pns_segment.h:39
TUNING_STATUS
Result of the length tuning operation
Definition: pns_meander_placer_base.h:52
int CurrentLayer() const override
Function CurrentLayer()
int Net() const
Function Net()
Definition: pns_item.h:180
virtual const std::string TuningInfo() const override
Function TuningInfo()
NODE * CurrentNode(bool aLoopsRemoved=false) const override
Function CurrentNode()
bool CheckFit(MEANDER_SHAPE *aShape) override
Function CheckFit()
virtual bool FixRoute(const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish=false) override
Function FixRoute()
VECTOR2I m_currentStart
current routing start point (end of tail, beginning of head)
Definition: pns_meander_placer.h:103
NODE * m_world
pointer to world to search colliding items
Definition: pns_meander_placer.h:100
virtual TUNING_STATUS TuningStatus() const override
Function TuningStatus()
const std::vector< int > CurrentNets() const override
Function CurrentNets()
Definition: pns_meander_placer.h:74
Definition: pns_itemset.h:40
const ITEM_SET Traces() override
Function Traces()
Class ITEM.
Definition: pns_item.h:55
virtual bool Start(const VECTOR2I &aP, ITEM *aStartItem) override
Function Start()
Class NODE.
Definition: pns_node.h:138
Class SHAPE_LINE_CHAIN.
Definition: shape_line_chain.h:50
virtual bool Move(const VECTOR2I &aP, ITEM *aEndItem) override
Function Move()