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"
81 virtual bool UnfixRoute() {
return false; };
83 virtual bool CommitPlacement() {
return false; };
85 virtual bool AbortPlacement() {
return false; };
87 virtual bool HasPlacedAnything()
const {
return false; }
Base class for all P&S algorithms (shoving, walkaround, line placement, dragging, etc....
Definition pns_algo_base.h:43
Definition pns_itemset.h:37
Base class for PNS router board items.
Definition pns_item.h:57
Keep the router "world" - i.e.
Definition pns_node.h:148
PLACEMENT_ALGO.
Definition pns_placement_algo.h:46
virtual NODE * CurrentNode(bool aLoopsRemoved=false) const =0
Function CurrentNode()
virtual bool IsPlacingVia() const
Function IsPlacingVia()
Definition pns_placement_algo.h:104
virtual const std::vector< int > CurrentNets() const =0
Function CurrentNets()
virtual void FlipPosture()
Function FlipPosture()
Definition pns_placement_algo.h:160
virtual const VECTOR2I & CurrentEnd() const =0
Function CurrentEnd()
virtual const ITEM_SET Traces()=0
Function Traces()
virtual bool Start(const VECTOR2I &aP, ITEM *aStartItem)=0
Function Start()
virtual bool Move(const VECTOR2I &aP, ITEM *aEndItem)=0
Function Move()
virtual int CurrentLayer() const =0
Function CurrentLayer()
virtual void SetOrthoMode(bool aOrthoMode)
Function SetOrthoMode()
Definition pns_placement_algo.h:182
virtual void GetModifiedNets(std::vector< int > &aNets) const
Function GetModifiedNets.
Definition pns_placement_algo.h:191
virtual bool ToggleVia(bool aEnabled)
Function ToggleVia()
Definition pns_placement_algo.h:94
virtual bool SetLayer(int aLayer)
Function SetLayer()
Definition pns_placement_algo.h:114
virtual void UpdateSizes(const SIZES_SETTINGS &aSizes)
Function UpdateSizes()
Definition pns_placement_algo.h:171
virtual bool FixRoute(const VECTOR2I &aP, ITEM *aEndItem, bool aForceFinish=false)=0
Function FixRoute()
Definition pns_router.h:116
Definition pns_sizes_settings.h:42