Horizon
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
PNS::OPTIMIZER Class Reference

Class OPTIMIZER. More...

#include <pns_optimizer.h>

Classes

struct  CACHE_VISITOR
 

Public Types

enum  OptimizationEffort { MERGE_SEGMENTS = 0x01 , SMART_PADS = 0x02 , MERGE_OBTUSE = 0x04 , FANOUT_CLEANUP = 0x08 }
 

Public Member Functions

 OPTIMIZER (NODE *aWorld)
 Optimizer.
 
bool Optimize (LINE *aLine, LINE *aResult=NULL)
 
bool Optimize (DIFF_PAIR *aPair)
 
void SetWorld (NODE *aNode)
 
void CacheStaticItem (ITEM *aItem)
 
void CacheRemove (ITEM *aItem)
 
void ClearCache (bool aStaticOnly=false)
 
void SetCollisionMask (int aMask)
 
void SetEffortLevel (int aEffort)
 
void SetRestrictArea (const BOX2I &aArea)
 

Static Public Member Functions

static bool Optimize (LINE *aLine, int aEffortLevel, NODE *aWorld)
 

a quick shortcut to optmize a line without creating and setting up an optimizer


 

Detailed Description

Class OPTIMIZER.

Performs various optimizations of the lines being routed, attempting to make the lines shorter and less cornery. There are 3 kinds of optimizations so far:


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