29#ifndef __AR_AUTOPLACER_H 
   30#define __AR_AUTOPLACER_H 
   64                                   bool aPlaceOffboardModules = 
false );
 
   69    void SetOverlay( std::shared_ptr<KIGFX::VIEW_OVERLAY> aOverlay )
 
 
  120    void addPad( 
PAD* aPad, 
int aClearance );
 
 
std::function< int(FOOTPRINT *aFootprint)> m_refreshCallback
 
std::unique_ptr< CONNECTIVITY_DATA > m_connectivity
 
void drawPlacementRoutingMatrix()
 
int getOptimalFPPlacement(FOOTPRINT *aFootprint)
 
AR_RESULT AutoplaceFootprints(std::vector< FOOTPRINT * > &aFootprints, BOARD_COMMIT *aCommit, bool aPlaceOffboardModules=false)
 
int testRectangle(const BOX2I &aRect, int side)
 
void SetOverlay(std::shared_ptr< KIGFX::VIEW_OVERLAY > aOverlay)
Set a VIEW overlay to draw items during a autoplace session.
 
SHAPE_POLY_SET m_fpAreaTop
 
bool fillMatrix()
Fill m_matrix cells from m_boardShape.
 
AR_AUTOPLACER(BOARD *aBoard)
 
PROGRESS_REPORTER * m_progressReporter
 
const PAD * nearestPad(FOOTPRINT *aRefFP, PAD *aRefPad, const VECTOR2I &aOffset)
 
void buildFpAreas(FOOTPRINT *aFootprint, int aFpClearance)
 
unsigned int calculateKeepOutArea(const BOX2I &aRect, int side)
 
void placeFootprint(FOOTPRINT *aFootprint, bool aDoNotRecreateRatsnest, const VECTOR2I &aPos)
 
FOOTPRINT * pickFootprint()
Find the "best" footprint place.
 
void genModuleOnRoutingMatrix(FOOTPRINT *aFootprint)
 
SHAPE_POLY_SET m_topFreeArea
 
void addPad(PAD *aPad, int aClearance)
 
void addFpBody(const VECTOR2I &aStart, const VECTOR2I &aEnd, const LSET &aLayerMask)
 
void SetRefreshCallback(std::function< int(FOOTPRINT *aFootprint)> aCallback)
Callback to redraw on screen the view after changes, for instance after moving a footprint.
 
int testFootprintOnBoard(FOOTPRINT *aFootprint, bool TstOtherSide, const VECTOR2I &aOffset)
 
SHAPE_POLY_SET m_fpAreaBottom
 
double computePlacementRatsnestCost(FOOTPRINT *aFootprint, const VECTOR2I &aOffset)
 
std::shared_ptr< KIGFX::VIEW_OVERLAY > m_overlay
 
SHAPE_POLY_SET m_boardShape
 
void SetProgressReporter(PROGRESS_REPORTER *aReporter)
 
int genPlacementRoutingMatrix()
 
SHAPE_POLY_SET m_bottomFreeArea
 
Handle the matrix routing that describes the actual board.
 
Information pertinent to a Pcbnew printed circuit board.
 
LSET is a set of PCB_LAYER_IDs.
 
A progress reporter interface for use in multi-threaded environments.
 
Represent a set of closed polygons.
 
VECTOR2< int32_t > VECTOR2I