22 #ifndef __PNS_PLACEMENT_ALGO_H
23 #define __PNS_PLACEMENT_ALGO_H
25 #include <math/vector2d.h>
27 #include "pns_algo_base.h"
28 #include "pns_sizes_settings.h"
29 #include "pns_itemset.h"
45 class PLACEMENT_ALGO :
public ALGO_BASE
48 PLACEMENT_ALGO( ROUTER* aRouter ) :
49 ALGO_BASE( aRouter ) {};
51 virtual ~PLACEMENT_ALGO () {};
virtual bool Start(const VECTOR2I &aP, ITEM *aStartItem)=0
Function Start()
virtual bool Move(const VECTOR2I &aP, ITEM *aEndItem)=0
Function Move()
virtual NODE * CurrentNode(bool aLoopsRemoved=false) const =0
Function CurrentNode()
virtual const VECTOR2I & CurrentEnd() const =0
Function CurrentEnd()
Definition: pns_sizes_settings.h:37
virtual void UpdateSizes(const SIZES_SETTINGS &aSizes)
Function UpdateSizes()
Definition: pns_placement_algo.h:163
virtual bool SetLayer(int aLayer)
Function SetLayer()
Definition: pns_placement_algo.h:106
virtual void FlipPosture()
Function FlipPosture()
Definition: pns_placement_algo.h:152
virtual bool FixRoute(const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish=false)=0
Function FixRoute()
virtual const ITEM_SET Traces()=0
Function Traces()
virtual const std::vector< int > CurrentNets() const =0
Function CurrentNets()
virtual void SetOrthoMode(bool aOrthoMode)
Function SetOrthoMode()
Definition: pns_placement_algo.h:174
virtual void GetModifiedNets(std::vector< int > &aNets) const
Function GetModifiedNets.
Definition: pns_placement_algo.h:183
Definition: pns_itemset.h:40
Class ITEM.
Definition: pns_item.h:55
virtual bool ToggleVia(bool aEnabled)
Function ToggleVia()
Definition: pns_placement_algo.h:86
Class NODE.
Definition: pns_node.h:138
virtual int CurrentLayer() const =0
Function CurrentLayer()
virtual bool IsPlacingVia() const
Function IsPlacingVia()
Definition: pns_placement_algo.h:96