Horizon
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
PNS::ALGO_BASE Class Reference

Base class for all P&S algorithms (shoving, walkaround, line placement, dragging, etc.). More...

#include <pns_algo_base.h>

Inheritance diagram for PNS::ALGO_BASE:
PNS::DRAG_ALGO PNS::PLACEMENT_ALGO PNS::SHOVE PNS::WALKAROUND PNS::COMPONENT_DRAGGER PNS::DRAGGER PNS::DIFF_PAIR_PLACER PNS::LINE_PLACER PNS::MEANDER_PLACER_BASE PNS::DP_MEANDER_PLACER PNS::MEANDER_PLACER PNS::MEANDER_SKEW_PLACER

Public Member Functions

 ALGO_BASE (ROUTER *aRouter)
 
virtual ~ALGO_BASE ()
 Return the instance of our router.
 
ROUTERRouter () const
 Return current router settings.
 
ROUTING_SETTINGSSettings () const
 Return the logger object, allowing to dump geometry to a file.
 
virtual LOGGERLogger ()
 
void SetLogger (LOGGER *aLogger)
 
void SetDebugDecorator (DEBUG_DECORATOR *aDecorator)
 Assign a debug decorator allowing this algo to draw extra graphics for visual debugging.
 
DEBUG_DECORATORDbg () const
 
const BOX2IVisibleViewArea () const
 

Protected Attributes

DEBUG_DECORATORm_debugDecorator
 
ROUTERm_router
 
LOGGERm_logger
 

Detailed Description

Base class for all P&S algorithms (shoving, walkaround, line placement, dragging, etc.).

Holds a bunch of objects commonly used by all algorithms (P&S settings, parent router instance, logging).


The documentation for this class was generated from the following files: