KiCad PCB EDA Suite
PNS::ALGO_BASE Class Reference

Class ALGO_BASE. More...

#include <pns_algo_base.h>

Inheritance diagram for PNS::ALGO_BASE:
PNS::DRAGGER PNS::PLACEMENT_ALGO PNS::SHOVE PNS::WALKAROUND 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 ()
 
ROUTERRouter () const
 

Returns the instance of our router

More...
 
ROUTING_SETTINGSSettings () const
 

Returns current router settings

More...
 
virtual LOGGERLogger ()
 

Returns the logger object, allowing to dump geometry to a file.

More...
 
void SetDebugDecorator (DEBUG_DECORATOR *aDecorator)
 Function SetDebugDecorator. More...
 
DEBUG_DECORATORDbg () const
 

Private Attributes

DEBUG_DECORATORm_debugDecorator
 
ROUTERm_router
 

Detailed Description

Class ALGO_BASE.

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)

Definition at line 39 of file pns_algo_base.h.

Constructor & Destructor Documentation

PNS::ALGO_BASE::ALGO_BASE ( ROUTER aRouter)
inline

Definition at line 42 of file pns_algo_base.h.

42  :
43  m_debugDecorator( nullptr ), m_router( aRouter )
44  {}
ROUTER * m_router
Definition: pns_algo_base.h:77
DEBUG_DECORATOR * m_debugDecorator
Definition: pns_algo_base.h:76
virtual PNS::ALGO_BASE::~ALGO_BASE ( )
inlinevirtual

Definition at line 46 of file pns_algo_base.h.

46 {}

Member Function Documentation

LOGGER * PNS::ALGO_BASE::Logger ( )
virtual

Returns the logger object, allowing to dump geometry to a file.

Reimplemented in PNS::LINE_PLACER, PNS::WALKAROUND, PNS::DRAGGER, and PNS::SHOVE.

Definition at line 34 of file pns_algo_base.cpp.

35 {
36  return NULL;
37 }
void PNS::ALGO_BASE::SetDebugDecorator ( DEBUG_DECORATOR aDecorator)
inline

Function SetDebugDecorator.

Assign a debug decorator allowing this algo to draw extra graphics for visual debugging

Definition at line 65 of file pns_algo_base.h.

References m_debugDecorator.

66  {
67  m_debugDecorator = aDecorator;
68  }
DEBUG_DECORATOR * m_debugDecorator
Definition: pns_algo_base.h:76

Member Data Documentation

DEBUG_DECORATOR* PNS::ALGO_BASE::m_debugDecorator
private

Definition at line 76 of file pns_algo_base.h.

Referenced by Dbg(), and SetDebugDecorator().

ROUTER* PNS::ALGO_BASE::m_router
private

Definition at line 77 of file pns_algo_base.h.

Referenced by Router(), and Settings().


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