23 #ifndef __PNS_ALGO_BASE_H
24 #define __PNS_ALGO_BASE_H
26 #include <math/box2.h>
28 #include "pns_routing_settings.h"
34 class DEBUG_DECORATOR;
46 m_debugDecorator(
nullptr ),
65 void SetLogger(
LOGGER* aLogger )
75 m_debugDecorator = aDecorator;
80 return m_debugDecorator;
83 const BOX2I& VisibleViewArea()
const;
86 DEBUG_DECORATOR *m_debugDecorator;
Base class for all P&S algorithms (shoving, walkaround, line placement, dragging, etc....
Definition: pns_algo_base.h:43
virtual ~ALGO_BASE()
Return the instance of our router.
Definition: pns_algo_base.h:51
void SetDebugDecorator(DEBUG_DECORATOR *aDecorator)
Assign a debug decorator allowing this algo to draw extra graphics for visual debugging.
Definition: pns_algo_base.h:73
ROUTER * Router() const
Return current router settings.
Definition: pns_algo_base.h:54
ROUTING_SETTINGS & Settings() const
Return the logger object, allowing to dump geometry to a file.
Definition: pns_algo_base.cpp:28
Definition: pns_debug_decorator.h:35
Definition: pns_logger.h:42
Definition: pns_router.h:116
Contain all persistent settings of the router, such as the mode, optimization effort,...
Definition: pns_routing_settings.h:58